lese tall når (ikke end-of-data)
if (teller> 0), så hvis (teller> 0) deretter
gjennomsnitt = total /count gjennomsnittlig = totalt /count
vise gjennomsnittet skjerm gjennomsnittlig
Begge disse anta at maskinen vil fortelle programmet når det ikke er flere tall. Dette kalles en end-of-data eller end-of-file test.
Det er en viktig forskjell mellom pre-test og post-test sløyfer. Pre-test-versjonen vil fungere selv om det ikke er noen tall, antar post-testversjon kroppen av koden skal følges minst én gang.
Begge former for løkker er hensiktsmessig i ulike situasjoner.
Looping med veksling og goto sin
looping og omkoblingslogikk ovenfor følge veldefinerte regler. Faktisk kan vi implementere noen av disse konstruerer med en tilstand og en goto (ubetinget gren) instruksjon. Et eksempel på denne logikk er illustrert i sløyfen flytskjemaet vist tidligere. Tidlige programmer ble skrevet på denne måten. Som problemene ble mer komplisert ble det umulig å følge logikken når
ting går galt
Tenk deg å prøve å sortere ut kode som dette
trinn 01.
Gjøre noe
trinn 02: gå til trinn 16
trinn 03: gjøre noe
trinn 04: hvis noen hendelse har inntruffet gå til trinn 19
...
trinn 16: hvis noen hendelse har fore gå tilbake til trinn 4
punkt 17: gå til trinn 1
trinn 18: gjøre noe
trinn 19: hvis noe er større enn 10 goto trinn 1
trinn 20: gå til trinn 1
Spaghetti koden ble født! Regelen er enkel, unngår du goto uttalelser, men bruker høyere nivå konstruerer vi har innført her for å bytte logikk og looping logikk.
Selv med disse, kan sortere ut logikken i et program være ganske uutholdelig. Men det er alltid gøy når du finner til slutt feilen!
Du merker at logikken er nestet. Innenfor en løkke må vi kanskje bytte logikk og innen den omkoblingslogikken kan vi igjen har en loop, og slik fortsetter det. Programalgoritmer er vanligvis hierarkisk i naturen. Stilen på programmering vi bruker kalles prosessuell, fordi vi definere løsningen i firmaet en prosedyre som angir hva du skal gjøre. De fleste problemer krever denne tilnærmingen.
Det er programmeringsmetoder (eller paradigmer) der du uttrykker problemet algebraisk, eller så formell logikk. En kompilator som Programmet vil da løse problemet for deg. En dyktig programmerer vil bruke den riktige metoden for innholdet i proble