You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

Løkker er kode som utføres flere ganger. Det er vanlig å skille mellom while-løkker og for-løkker.

while-løkke

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:

skriv ut 'Hvor gammel er du?'les inn alder (som en tekst)skriv ut alder + ' er ikke et tall, skriv det inn på nytt!'les inn alder (som en tekst)usannalder er et tallsannskriv ut 'Neste år blir du ' + (alder + 1) + ' år!'
Python
# pop/while.py
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!')   
Java
// pop/while.jpage
java.util.Scanner scanner = new java.util.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

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.

Det finnes også mekanismer som fanger opp unntak og behandler disse. Dette kan ses på som en spesiell betingelse: hvis et unntak oppstår, så kjør denne koden. Unntak kan også nøstes, slik at man har en blokk tilhørende ethvert unntak som kan oppstå. 

  • No labels