algoritmer
TRANSCRIPT
Algoritmer
Instruktioner, kontrollstrukturer och pseudokodMarcus WeiderstålProgrammering I
Tullinge Gymnasium
Algoritm
En algoritm består av ett begränsat antal instruktioner som ska utföras för
att lösa ett problem
Vad är en algoritm?
En algoritm är en beskrivning av hur man löser ett visst (del)problem.
En algoritm ska uppfylla följande kriterier:
• Lösa det givna problemet.• Vara entydig.• Avslutas om problemet har ett
slutmål (vilket inte alltid är fallet)
Kontrollstrukturer• Sekvens• Selektion• Iteration
Kallas även för ”Strukturteoremet”
Sekvens
Består av en serie instruktioner som utförs i tur och ordning.
Tar oss från punkt A till punkt B.
Sats Sats Sats
Selektion
Hjälper oss att styra hur en programkörning ska fortsätta då det finns olika vägra att välja
VilkorSats SatsSats Sats
Sant
Falskt
iteration
När något upprepas av diverse anledningar
Vilkor Sats Sats
Falsk
Sant
Några exempel…Algoritmer på ICA
Sekvens
1. Gå till affären2. Ta två liter mjölk
3. Ta fem paket nudlar4. Gå till kassan
5. Betala
Selektion
Om nudlar är billigare än spagettiKöp nudlar
AnnarsKöp spagetti
Iteration
Upprepa tills inköpslistan är tom:Hämta nästa vara på listan
Stryk varan på listan
Pseudokod
En mix av vanligt skriven text och programmeringskod.
VARFöR
KLART
Två olika skolor
• De som vill skriva helt på ”vanligt språk”
• De som vill kasta in lite programmering i pseudokod.
If nudlar billigare än spagettiHämta nudlarelseHämta spagettiHämta ketchup
Intendering
• Rättar till pseudokoden så att den blir mer läslig.
• Vi arbetar med ”tab” för att ha koll på vilka steg och instruktioner som hör till ett speciellt utryck.
If nudlar billigare än spagettiHämta nudlar
elseHämta spagetti
Hämta ketchup
If nudlar billigare än spagettiHämta nudlar
elseHämta spagetti
Hämta ketchup
If nudlar billigare än spagettiHämta nudlarelseHämta spagettiHämta ketchup
”Ska vi ha ketchup bara om vi köper spagetti eller vad menar dem?”
”Jaha, vi ska alltid köpa ketchup även om vi handlar nudlar”
Gör själva:Pseudokod om AIK-programmet.
If poäng är mer än 76AIK går till slutspel
If poäng är mindre än 68AIK får spela kvalserien
else AIK har klarat elitseriekontraktet men
har spelat färdig för säsongen.
Om poäng är mer än 76Skriv ut: AIK går till slutspel
Om poäng är mindre än 68Skriv ut: AIK får spela kvalserien
AnnarsSkriv ut: AIK har klarat elitseriekontraktet
men har spelat färdig för säsongen.
Några slutord