2. Övningar

Programmeringsteknik

Hoppa till: navigering, sök
       Teori          Övningar          Kaprekar      

Inläsning

Vad får a för värde om inmatningen från tangentbordet är 22 <retur> 42 <retur>?

a = float(input())

Vad får a för värde om inmatningen från tangentbordet är 17 <retur> 12 <retur>?

a = float(input())
a = float(input())

Vad får a för värde om inmatningen från tangentbordet är 22 <retur> 35 <retur>?

a = float(input())
b = float(input())

Vad får a för värde om inmatningen från tangentbordet är 19 <retur> 67 <retur>?

b = float(input())
a = float(input())


Villkor

Vad kommer att skrivas ut av följande program om a = 12 och b = 12?

if a < b:
    print("X", end=" ")
print("Y")

Vad kommer att skrivas ut av följande program om a = 4 och b = 4?

if a <= b:
    print("X", end=" ")
print("Y")

Vad kommer att skrivas ut av följande program om a = 12 och b = 17?

if a < b:
    print("X", end=" ")
    print("Y", end=" ")
print("Z")

Vad kommer att skrivas ut av följande program om a = 8 och b = 6?

if a <= b:
    print("X", end = " ")
    print("Y", end = " ")
print("Z")


Else-del i if-sats

Vad kommer att skrivas ut av följande program om a = 13 och b = 7?

if a <= b:
    print("A", end=" ")
    print("B", end=" ")
else:
    print("C", end=" ")
print("D")

Vad kommer att skrivas ut av följande program om a = 36?

MITTEN = 42
if a <= MITTEN:
    print("A", end=" ")
    print("B", end=" ")
else:
    print("C", end=" ")
print("D")


Flera villkor

Vad kommer min, max och b att ha för värden efter följande satser om a = -2?

min = 5
max = 10
b = 0

if a < min:
    min = a
elif a > max:
    max = a
else:
    b += 1


Likhet

Vad skrivs ut om x = 5 och y = 3?'

if x > 2:
  if y > 4:
    print("blå")
  elif x == y: 
    print("gul")
  else: 
    print("röd")
else:
  print("grön")


While-slingor

Vad skrivs ut av följande program?

i = 0
v = 1
while i < 5:
  v = i * v
  print(v)
  i += 1


Hur exekveras programmet?

I vilken ordning exekveras följande program?

A
while B:
    C
D

Vi antar följande förutsättningar:

  • Programmet går endast tre varv.
  • A är en godtycklig tilldelningssats.
  • B är en godtycklig villkorssats som är sann i tre varv.
  • C och D är godtyckliga utskriftssatser.


  1. ABCD
  2. ACCCD
  3. ABCCCD
  4. ABCBCBCD
  5. ABCBCBCBD
  6. ABCABCABCD


En oändlig while-slinga

Hur många gånger skrivs texten "hej" när man kör följande program?

v = 5
while v > 5:
  print("hej")
  v += 1
print("hej")

Kommer följande program skriva ut texten "hej då"? Om inte, varför?

i = 0
while i < 10:
  print("hej")
print("hej då")


Struktur på while-sats

Vad är det som är fel i följande while-sats? Programmet ska skriva ut "hej" oändligt antal gånger.

i = 1
WHILE i < 10:
  print("hej")
  1. 'WHILE' och 'print("hej")' måste stå rakt under varandra och ej vara förskjutna.
  2. i = 1 ska tas bort.
  3. i < 10 ska ändras till i == 1.
  4. Ordet 'WHILE' ska stå med små bokstäver.


När ska man använda en while-sats?

I vilka av följande tillfällen kan man med fördel använda sig av while-satser?

  1. När man vill att programmet ska skriva ut samma text flera gånger efter varandra.
  2. När man vill skriva ut alla tal mellan 5 och 95.
  3. När man vill utföra en sak 10 gånger.