Versions Compared

Key

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

...

PlantUML Macro
start
:skriv ut 'Hvor gammel er du?';
:les inn alder (som et tall);
:skriv ut 'Neste år blir du ' + (alder + 1) + ' år!';
stop

Illustrasjon av koden med et flytskjema. Kontrollflyten går nedover fra boks til boks. Først skrives spørsmålet ut, venter programmet på input (som bør være et tall) fra brukeren og til slutt skrives en ny melding ut.

 

 


 

Code Block
languagepython
titlePython
# POPpop/sekvenssequence.py
print('Hvor gammel er du?')
age = int(input())
print('Neste år blir du ' + str(age + 1) + ' år!')
Code Block
languagejava
titleJava
// pop/sequence.jpage
Scanner scanner = new Scanner(System.in);
System.out.println("Hvor gammel er du?");
int age = scanner.nextInt();
System.out.println("Neste år blir du " + (age + 1) + " år!");


 

...

 

 

 

PlantUML Macro
start
:skriv ut 'Hvor gammel er du?';
:les inn alder (som en tekst);
if (alder er et tall) then (sann)
	:skriv ut 'Neste år blir du ' + (alder + 1) + ' år!';
else (false)
	:skriv ut alder + ' er ikke et tall!';
endif
stop

Kontrollflyten har en forgreining, hvor verdien av betingelsen (true eller false) avgjør hvilken grein som tas.

 

 

Code Block
languagepython
titlePython
# pop/ifthenelse.py
print('Hvor gammel er du?')
ageString = input()
if (ageString.isdigit()):
    print('Neste år blir du ' + str(int(ageString) + 1) + ' år!')
else:
    print(ageString + ' er ikke et tall!')
Code Block
languagejava
titleJava
// pop/ifthenelse.jpage
java.util.Scanner scanner = new java.util.Scanner(System.in);
System.out.println("Hvor gammel er du?");
String ageString = scanner.nextLine();
if (ageString.matches("[0-9]+")) {
	int age = Integer.valueOf(ageString);
	System.out.println("Neste år blir du " + (age + 1) + " år!");
}
else
	System.out.println(ageString + " er ikke et tall!");

Her brukes if-nøkkelordet for å angi at print-setningen kun skal utføres hvis betingelsen er sann. I Python brukes innrykk for å knytte setninger til true/sann- og false/usann-greinene. I Java tillates bare én setning eller gruppe med setninger i hver grein, og derfor må en gruppere setninger med { og }.

 

 

...

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
# 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!')   
Code Block
languagejava
titleJava
// 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!");

 

 

 

...

Gjør noe for hvert element i en liste

PlantUML Macro
start
:initialiser liste med navn;
while (flere navn igjen) is (sann)
	:sett navn til neste navn i lista
	:skriv ut 'Hei ' + navn;
endwhile (usann)
stop
Code Block
languagepython
titlePython
# pop/foreach.py
names = ['Chris', 'Pat', 'Sam']
for name in names:
    print 'Hei ' + name
Code Block
languagejava
titleJava
// pop/foreach.jpage
String[] names = {"Chris", "Pat", "Sam"};
for (String name : names) {
	System.out.println("Hei " + name);
}

...