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.