Problemløysing og flytdiagram

Dale og Bang sin problemløysar viser eit eksempel på eit såkalt flytdiagram. Dette er eit visuelt hjelpemiddel som kan vera nyttig for å få oversikt over programflyten når vi skal skriva eit program.

Men konsulenten sitt diagram er kanskje ikkje heilt i henhold til vanlige symboler. Så la oss sjå litt på kva vi kan bruka.

Lineær flyt

Det eg ofte kallar "kalkulatorar", som for eksempel omrekning frå km/h til m/s består ofte bare av innlesing av data, litt omrekning, og deretter utskrift av svaret. Då går programflyten frå toppen og nedover, linje for linje. Vi har vi ingen testar som gir forgreining av flyten og ingen løkker. Eit flytdiagram kan då sjå slik ut:

kalkulator
Merk at fasongen på input og output gjerne er litt sånn parallellogramstil, mens dei reine behandlingsboksane er rektangulære.

Forgreiningar: if - elif - else:

Men vi skal ikkje ha rare programmet før vi treng å splitta opp flyten ved å innføra ein betingelse. Då kan vi putta inn rombeliknande boksar som normalt har to (men eg har også sett fleire) utgangar. Ein  utgang for når betingelsen er oppfylt, og ein hvis ikkje. Det kan sjå slik ut:

if else diagram

Løkker: while-løkke

Men også i algoritmen over går programflyten frå toppen og nedover. Men veldig ofte har vi behov for å gå tilbake igjen (opp igjen) og gjenta deler av koden. Då treng vi å laga løkker. Ein type løkke er ei while-løkke. Den gjentar ei kodeblokk så lenge ein betingelse er oppfylt. Då kan det sjå slik ut:

while løkke

Diagramma er laga med yEd Graph Editor som skal finnast for alle plattformer. Hvis du er på Windows kan du også prøva Diagram Designer.

LENKER

introduction to planning.