2. Övningar
Programmeringsteknik
| Teori | Övningar | Prat i kvadrat |
Inläsning
Vad får a för värde om inmatningen från tangentbordet är 22 <retur> 42 <retur>?
a = float(input())
Svar: 22
Vad får a för värde om inmatningen från tangentbordet är 17 <retur> 12 <retur>?
a = float(input()) a = float(input())
Svar: 12
Vad får a för värde om inmatningen från tangentbordet är 22 <retur> 35 <retur>?
a = float(input()) b = float(input())
Svar: 22
Vad får a för värde om inmatningen från tangentbordet är 19 <retur> 67 <retur>?
b = float(input()) a = float(input())
Svar: 67
Villkor
Vad kommer att skrivas ut av följande program om a = 12 och b = 12?
if a < b:
print("X", end=" ")
print("Y")
Svar: "Y"
Vad kommer att skrivas ut av följande program om a = 4 och b = 4?
if a <= b:
print("X", end=" ")
print("Y")
Svar: "X 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")
Svar: "X Y 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")
Svar: "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")
Svar: "C 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")
Svar: "A B 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
Svar: min = -2 , max = 10 samt b = 0
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")
Svar: "röd"
While-slingor
Vad skrivs ut av följande program?
i = 0 v = 1 while i < 5: v = i * v print(v) i += 1
Svar: 0 0 0 0 0
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.
- ABCD
- ACCCD
- ABCCCD
- ABCBCBCD
- ABCBCBCBD
- ABCABCABCD
Svar: 5. ABCBCBCBD
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")
Svar: En gång
Kommer följande program skriva ut texten "hej då"? Om inte, varför?
i = 0
while i < 10:
print("hej")
print("hej då")
Svar: Nej, eftersom while-satsen är en oändlig slinga och print "hej då" är inte en del av while-satsen.
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")
- 'WHILE' och 'print("hej")' måste stå rakt under varandra och ej vara förskjutna.
- i = 1 ska tas bort.
- i < 10 ska ändras till i == 1.
- Ordet 'WHILE' ska stå med små bokstäver.
Svar: 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?
- När man vill att programmet ska skriva ut samma text flera gånger efter varandra.
- När man vill skriva ut alla tal mellan 5 och 95.
- När man vill utföra en sak 10 gånger.
Svar: Vid alla tre tillfällena!
