7060 slingor - while
Slingor används för att upprepa kod. Här ska vi gå igenom while-slingor. Det finns även for-slingor men dessa tar vi en annan gång.
Nedanstående kod visar en while-slinga.
i = 0
while i < 3:
print(i)
i = i + 1
print("klar")
När koden körs fås utskriften:
0
1
2
klar
Följande händer i koden ovan
# variabeln i får värdet 0, i kallas för räknare
i = 0
# så länge som i < 3 så körs raderna print(i) och i = i +1
while i < 3:
# skriv ut i:s värde
print(i)
# öka i med ett
# lätt att glömma, ger då evighetsslinga
i = i + 1
Indenteringen, det vill säga hur koden är inskjuten, avgör var while-slingan slutar.
flödesdiagram
Uppgift
1
Skriv while-slingor som ger följande utskrifter:
A. utskrift: 3, 4, 5, 6, 7, 8, 9, 10
B. utskrift: 2, 4, 6, 8, 10, 12
C. utskrift: 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0
D. utskrift: 11, 8, 5, 2
E. utskrift: 1, 4, 9, 16, 25 (tips: 12, 22, 32, 42, 52)
2
Läs in hur många heltal som ska skrivas ut.
Läs in hur stort det minsta talet ska vara.
Programmet skriver ut de önskade heltalen.
Exempel på programkörning:
Hur många heltal vill du ha? 5
Vilket är det minsta talet i serien? 3
Svar: 3, 4, 5, 6, 7
3 Fibonacci (svårare)
Fibonacci-talföljden börjar med följande tal:
1, 1, 2, 3, 5, 8, 13, ...
Nästa tal är summan av de två föregående.
A
Skriv ut de 30 första fibonacci-talen.
Skriv även ut kvoten av två på varandra följande fibonacci-tal.
B
Fråga användaren hur många fibonacci-tal som ska skrivas ut.
Programmet skriver ut dessa.
C
Alla fibonacci-tal under en viss gräns ska skrivas ut.
Fråga efter denna gräns.
Programmet skriver ut talen.
Exempel på programkörning:
Ange övre gräns för fibonacci-talen: 20
Svar: 1, 1, 2, 3, 5, 8, 13
D - svårare
Skriv ut kvoten mellan två på varandra följande fibonacci-tal.
Gör det för var 20:e par.
Gör det för de 1000 första fibonacci-talen.