2. Övningar
Programmeringsteknik
Rad 11: | Rad 11: | ||
'''Vad får a för värde om inmatningen från tangentbordet är 22 <retur> 42 <retur>? | '''Vad får a för värde om inmatningen från tangentbordet är 22 <retur> 42 <retur>? | ||
- | <pre>a = float(input())</pre> | + | <pre>a = float(input())</pre>{{#NAVCONTENT: Svar|Svar 2.1}} |
- | + | ||
- | + | ||
'''Vad får a för värde om inmatningen från tangentbordet är 17 <retur> 12 <retur>? | '''Vad får a för värde om inmatningen från tangentbordet är 17 <retur> 12 <retur>? | ||
<pre>a = float(input()) | <pre>a = float(input()) | ||
- | a = float(input())</pre> | + | a = float(input())</pre>{{#NAVCONTENT: Svar|Svar 2.1b}} |
- | + | ||
- | + | ||
'''Vad får a för värde om inmatningen från tangentbordet är 22 <retur> 35 <retur>? | '''Vad får a för värde om inmatningen från tangentbordet är 22 <retur> 35 <retur>? | ||
<pre>a = float(input()) | <pre>a = float(input()) | ||
- | b = float(input())</pre> | + | b = float(input())</pre>{{#NAVCONTENT: Svar|Svar 2.1c}} |
- | + | ||
- | + | ||
'''Vad får a för värde om inmatningen från tangentbordet är 19 <retur> 67 <retur>? | '''Vad får a för värde om inmatningen från tangentbordet är 19 <retur> 67 <retur>? | ||
<pre>b = float(input()) | <pre>b = float(input()) | ||
- | a = float(input())</pre> | + | a = float(input())</pre>{{#NAVCONTENT: Svar|Svar 2.1d}} |
- | + | ||
Rad 38: | Rad 31: | ||
<pre>if a < b: | <pre>if a < b: | ||
print("X", end=" ") | print("X", end=" ") | ||
- | print("Y")</pre> | + | print("Y")</pre>{{#NAVCONTENT: Svar|Svar 2.2a}} |
- | + | ||
- | + | ||
'''Vad kommer att skrivas ut av följande program om a = 4 och b = 4?''' | '''Vad kommer att skrivas ut av följande program om a = 4 och b = 4?''' | ||
<pre>if a <= b: | <pre>if a <= b: | ||
print("X", end=" ") | print("X", end=" ") | ||
- | print("Y")</pre> | + | print("Y")</pre>{{#NAVCONTENT: Svar|Svar 2.2b}} |
- | + | ||
- | + | ||
'''Vad kommer att skrivas ut av följande program om a = 12 och b = 17?''' | '''Vad kommer att skrivas ut av följande program om a = 12 och b = 17?''' | ||
Rad 53: | Rad 42: | ||
print("X", end=" ") | print("X", end=" ") | ||
print("Y", end=" ") | print("Y", end=" ") | ||
- | print("Z")</pre> | + | print("Z")</pre>{{#NAVCONTENT: Svar|Svar 2.2c}} |
- | + | ||
- | + | ||
'''Vad kommer att skrivas ut av följande program om a = 8 och b = 6?''' | '''Vad kommer att skrivas ut av följande program om a = 8 och b = 6?''' | ||
Rad 61: | Rad 48: | ||
print("X", end = " ") | print("X", end = " ") | ||
print("Y", end = " ") | print("Y", end = " ") | ||
- | print("Z")</pre> | + | print("Z")</pre>{{#NAVCONTENT: Svar|Svar 2.2d}} |
- | + | ||
Rad 73: | Rad 59: | ||
else: | else: | ||
print("C", end=" ") | print("C", end=" ") | ||
- | print("D")</pre> | + | print("D")</pre>{{#NAVCONTENT: Svar|Svar 2.3a}} |
- | + | ||
- | + | ||
'''Vad kommer att skrivas ut av följande program om a = 36?''' | '''Vad kommer att skrivas ut av följande program om a = 36?''' | ||
Rad 84: | Rad 68: | ||
else: | else: | ||
print("C", end=" ") | print("C", end=" ") | ||
- | print("D")</pre> | + | print("D")</pre>{{#NAVCONTENT: Svar|Svar 2.3b}} |
- | + | ||
Rad 100: | Rad 83: | ||
max = a | max = a | ||
else: | else: | ||
- | b += 1</pre> | + | b += 1</pre>{{#NAVCONTENT: Svar|Svar 2.3c}} |
- | + | ||
Rad 115: | Rad 97: | ||
print("röd") | print("röd") | ||
else: | else: | ||
- | print("grön")</pre> | + | print("grön")</pre>{{#NAVCONTENT: Svar|Svar 2.4a}} |
- | + | ||
Rad 127: | Rad 108: | ||
v = i * v | v = i * v | ||
print(v) | print(v) | ||
- | i += 1</pre> | + | i += 1</pre>{{#NAVCONTENT: Svar|Svar 2.5a}} |
- | + | ||
Rad 150: | Rad 130: | ||
# ABCBCBCD | # ABCBCBCD | ||
# ABCBCBCBD | # ABCBCBCBD | ||
- | # ABCABCABCD | + | # ABCABCABCD{{#NAVCONTENT: Svar|Svar 2.6a}} |
- | + | ||
- | + | ||
Rad 162: | Rad 140: | ||
print("hej") | print("hej") | ||
v += 1 | v += 1 | ||
- | print("hej")</pre> | + | print("hej")</pre>{{#NAVCONTENT: Svar|Svar 2.7a}} |
- | + | ||
- | + | ||
'''Kommer följande program skriva ut texten "hej då"? Om inte, varför?''' | '''Kommer följande program skriva ut texten "hej då"? Om inte, varför?''' | ||
Rad 170: | Rad 146: | ||
while i < 10: | while i < 10: | ||
print("hej") | print("hej") | ||
- | print("hej då")</pre> | + | print("hej då")</pre>{{#NAVCONTENT: Svar|Svar 2.7b}} |
- | + | ||
Rad 184: | Rad 159: | ||
# i = 1 ska tas bort. | # i = 1 ska tas bort. | ||
# i < 10 ska ändras till i == 1. | # i < 10 ska ändras till i == 1. | ||
- | # Ordet 'WHILE' ska stå med små bokstäver. | + | # Ordet 'WHILE' ska stå med små bokstäver.{{#NAVCONTENT: Svar|Svar 2.8a}} |
- | + | ||
- | + | ||
- | + | ||
Rad 195: | Rad 167: | ||
# När man vill att programmet ska skriva ut samma text flera gånger efter varandra. | # 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 skriva ut alla tal mellan 5 och 95. | ||
- | # När man vill utföra en sak 10 gånger. | + | # När man vill utföra en sak 10 gånger.{{#NAVCONTENT: Svar|Svar 2.9a}} |
- | + |
Versionen från 5 april 2012 kl. 09.34
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())
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.
- ABCD
- ACCCD
- ABCCCD
- ABCBCBCD
- ABCBCBCBD
- 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")
- '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.
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.