Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Les mer om dette her: if-kontrollstrukturen
Løkker med

while-løkke

Løkker er kode som utføres flere ganger. Det er vanlig å skille mellom while-løkker og for-løkker. En while-løkke sjekker en betingelse, og gjennomfører koden inni løkka så lenge denne betingelsen er sann. Man må være forsiktig når man skriver while-løkker; dersom ikke betingelsen er formulert riktig kan man ende opp med det som kalles en "uendelig løkke". Hvis man vil stille spørsmålet om alder helt til man får et ordentlig svar, så vil det se slik slik ut:

PlantUML Macro
start
:skriv ut 'Hvor gammel er du?';
:les inn alder (som en tekst);
while (alder er et tall) is (usann)
	:skriv ut alder + ' er ikke et tall, skriv det inn på nytt!';
	:les inn alder (som en tekst);
endwhile (sann)
:skriv ut 'Neste år blir du ' + (alder + 1) + ' år!';
stop
Code Block
languagepython
titlePython
print('Hvor gammel er du?')
ageString = input()
while (! ageString.isdigit()):
	print(ageString + ' er ikke et tall, skriv det inn på nytt!')
	ageString = input()
print('Neste år blir du ' + str(int(ageString) + 1) + ' år!')   

 

 

 
Code Block
languagejava
titleJava
Scanner scanner = new Scanner(System.in);
System.out.println("Hvor gammel er du?");
String ageString = scanner.nextLine();
while (! ageString.matches("[0-9]+")) {
	System.out.println(ageString + " er ikke et tall!");
	ageString = scanner.nextLine();
}
int age = Integer.valueOf(ageString);
System.out.println("Neste år blir du " + (age + 1) + " år!");

 

 

 

Det finnes varianter hvor man ikke tester løkke-betingelsen på forhånd, men etterpå, og hvor betingelsen snus på. Noen språk har også muligheten til å hoppe ut av løkka fra innsiden.

Les mer om dette her: while-kontrollstrukturen

For-each-løkker

I en del løkker er poenget å behandle et sett med data, så betingelsen koker ned til om det er mere data igjen. Istedenfor å gjøre det manuelt med en teller som øker og sjekkes mot antall data-elementer, så har en del språk en egen kontrollstruktur som gjerne kalles for-each, for å gå gjennom alle data-elementer i en samling:

 

Unntakshåndtering

Unntak er hendelser i et program som helst ikke skal skje. Dersom man har en liste med 4 elementer,  og man spør om hva som er det 5. elementet vil det i de fleste programmeringsspråk oppstå et unntak. Det er god programmering å skrive kode slik at man i høyest mulig grad unngår unntak. I eksempelet over betyr det å sjekke om listen inneholder 5 elementer før man spør etter det 5. elementet.

...