Betingelse (spørgsmål) " svar "
er en == B? Ingen
Er B> A? Ja
Er K
Er SALES> = $ 5000,00? Ja
Med hvert spørgsmål, computeren kan programmeres til at tage en anden fremgangsmåde, afhængigt af svaret. Et skridt i en algoritme, der fører til mere end én mulig fortsættelse kaldes en beslutning.
I flydediagram er diamant-formede symbol, der anvendes til at angive en beslutning.
Spørgsmålet er placeret inde i symbolet, og hver alternative svar på spørgsmålet anvendes til at mærke exit pil, der fører til det relevante næste trin i algoritmen. Beslutningen symbol er den eneste symbol, der kan have mere end én udgang
Nedenstående eksempel viser flowdiagrammet for et program, der læser to tal og viser tallene læst i faldende orden:.
tilsvarende Pseudokode er vist nedenfor.
Bemærk, at med pseudokode, der indrykning bruges til at vise de forskellige trin, der gælder for en beslutning:
Læs A, B
Hvis A er mindre end B
BIG = B
LILLE = A
andet
BIG = En
SMALL = B
Write (Display) BIG, SMALL
Loops
De fleste programmer involverer gentage en række instruktioner igen og igen, indtil nogle begivenhed indtræffer. For eksempel, hvis vi ønsker at læse ti numre, og beregne gennemsnit, vi har brug for en løkke til at tælle antallet af numre, vi har læst.
Tæl loops er loops hvor programmet skal tælle det antal gange operationer er afsluttet. Nedenstående rutediagram illustrerer en løkke, der tæller fra 1 til 10:
Tæl loop flowchart
vist til venstre
flowchart
kan forenkles til formularen
< p> vist til højre.
Mens tæller sløjfer virker det nøjagtige antal gange, der er nødvendige i mange tilfælde, vi ikke ved, hvor mange gange vi ønsker at gøre noget. Det er ofte afhængig af de data, til programmet. Forestil vi ændre vores problem at læse og beregne gennemsnittet af et antal numre.
Vi vil ikke vide, hvor mange numre der er, men vil læse tallene, indtil der ikke er flere
To alternative løsninger (ved hjælp af pseudokode) er vist nedenfor:.
pre-test loop: post test loop:
sat gennemsnit på nul sæt gennemsnit på nul
indstillet tæller til nul sæt tælle til nul
sat alt til nul sæt alt til nul
læs nummer gøre
mens (ikke end-of-data) læst en række
tilvækst tæller med 1 trin tæller med 1