2. Övningar
Programmeringsteknik
(Ny sida: '''Vad får a för värde om inmatningen från tangentbordet är 22 <retur> 42 <retur>? <pre>a = float(input())</pre> '''Svar:'''<span style="color:white"> 22</span> '''Vad får a för v...) |
|||
| (4 mellanliggande versioner visas inte.) | |||
| Rad 1: | Rad 1: | ||
| - | + | __NOTOC__ | |
| - | + | {| border="0" cellspacing="0" cellpadding="0" height="30" width="100%" | |
| - | + | | style="border-bottom:1px solid #797979" width="5px" | | |
| + | {{Mall:Ej vald flik|[[2. Styrstrukturer|Teori]]}} | ||
| + | {{Mall:Vald flik|[[2. Övningar|Övningar]]}} | ||
| + | {{Mall:Ej vald flik|[[2. Inlämningsuppgift 1 Kaprekar|Kaprekar]]}} | ||
| + | | style="border-bottom:1px solid #797979" width="100%"| | ||
| + | |} | ||
| + | ==Inläsning== | ||
| + | |||
| + | '''Vad får a för värde om inmatningen från tangentbordet är 22 <retur> 42 <retur>? | ||
| + | <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}} |
| - | '''Svar:'''< | + | |
| + | |||
| + | ==Villkor== | ||
| + | |||
| + | '''Vad kommer att skrivas ut av följande program om a = 12 och b = 12?''' | ||
| + | <pre>if a < b: | ||
| + | print("X", end=" ") | ||
| + | print("Y")</pre>{{#NAVCONTENT: Svar|Svar 2.2a}} | ||
| + | |||
| + | '''Vad kommer att skrivas ut av följande program om a = 4 och b = 4?''' | ||
| + | <pre>if a <= b: | ||
| + | print("X", end=" ") | ||
| + | print("Y")</pre>{{#NAVCONTENT: Svar|Svar 2.2b}} | ||
| + | |||
| + | '''Vad kommer att skrivas ut av följande program om a = 12 och b = 17?''' | ||
| + | <pre>if a < b: | ||
| + | print("X", end=" ") | ||
| + | print("Y", end=" ") | ||
| + | print("Z")</pre>{{#NAVCONTENT: Svar|Svar 2.2c}} | ||
| + | |||
| + | '''Vad kommer att skrivas ut av följande program om a = 8 och b = 6?''' | ||
| + | <pre>if a <= b: | ||
| + | print("X", end = " ") | ||
| + | print("Y", end = " ") | ||
| + | print("Z")</pre>{{#NAVCONTENT: Svar|Svar 2.2d}} | ||
| + | |||
| + | |||
| + | ==Else-del i if-sats== | ||
| + | |||
| + | '''Vad kommer att skrivas ut av följande program om a = 13 och b = 7?''' | ||
| + | <pre>if a <= b: | ||
| + | print("A", end=" ") | ||
| + | print("B", end=" ") | ||
| + | else: | ||
| + | print("C", end=" ") | ||
| + | print("D")</pre>{{#NAVCONTENT: Svar|Svar 2.3a}} | ||
| + | |||
| + | '''Vad kommer att skrivas ut av följande program om a = 36?''' | ||
| + | <pre>MITTEN = 42 | ||
| + | if a <= MITTEN: | ||
| + | print("A", end=" ") | ||
| + | print("B", end=" ") | ||
| + | else: | ||
| + | print("C", end=" ") | ||
| + | print("D")</pre>{{#NAVCONTENT: Svar|Svar 2.3b}} | ||
| + | |||
| + | |||
| + | ==Flera villkor== | ||
| + | |||
| + | '''Vad kommer min, max och b att ha för värden efter följande satser om a = -2?''' | ||
| + | <pre>min = 5 | ||
| + | max = 10 | ||
| + | b = 0 | ||
| + | |||
| + | if a < min: | ||
| + | min = a | ||
| + | elif a > max: | ||
| + | max = a | ||
| + | else: | ||
| + | b += 1</pre>{{#NAVCONTENT: Svar|Svar 2.3c}} | ||
| + | |||
| + | |||
| + | ==Likhet== | ||
| + | |||
| + | ''Vad skrivs ut om x = 5 och y = 3?''' | ||
| + | <pre>if x > 2: | ||
| + | if y > 4: | ||
| + | print("blå") | ||
| + | elif x == y: | ||
| + | print("gul") | ||
| + | else: | ||
| + | print("röd") | ||
| + | else: | ||
| + | print("grön")</pre>{{#NAVCONTENT: Svar|Svar 2.4a}} | ||
| + | |||
| + | |||
| + | ==While-slingor== | ||
| + | |||
| + | '''Vad skrivs ut av följande program?''' | ||
| + | <pre>i = 0 | ||
| + | v = 1 | ||
| + | while i < 5: | ||
| + | v = i * v | ||
| + | print(v) | ||
| + | i += 1</pre>{{#NAVCONTENT: Svar|Svar 2.5a}} | ||
| + | |||
| + | |||
| + | ==Hur exekveras programmet?== | ||
| + | |||
| + | '''I vilken ordning exekveras följande program?''' | ||
| + | <pre>A | ||
| + | while B: | ||
| + | C | ||
| + | D</pre> | ||
| + | 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{{#NAVCONTENT: Svar|Svar 2.6a}} | ||
| + | |||
| + | |||
| + | ==En oändlig while-slinga== | ||
| + | |||
| + | '''Hur många gånger skrivs texten "hej" när man kör följande program?''' | ||
| + | <pre>v = 5 | ||
| + | while v > 5: | ||
| + | print("hej") | ||
| + | v += 1 | ||
| + | print("hej")</pre>{{#NAVCONTENT: Svar|Svar 2.7a}} | ||
| + | |||
| + | '''Kommer följande program skriva ut texten "hej då"? Om inte, varför?''' | ||
| + | <pre>i = 0 | ||
| + | while i < 10: | ||
| + | print("hej") | ||
| + | print("hej då")</pre>{{#NAVCONTENT: Svar|Svar 2.7b}} | ||
| + | |||
| + | |||
| + | ==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.''' | ||
| + | <pre>i = 1 | ||
| + | WHILE i < 10: | ||
| + | print("hej")</pre> | ||
| + | |||
| + | # '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.{{#NAVCONTENT: Svar|Svar 2.8a|Ledtråd|Hint 2.8a}} | ||
| + | |||
| + | |||
| + | ==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.{{#NAVCONTENT: Svar|Svar 2.9a}} | ||
Nuvarande version
| 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.
- 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.
Hämtar...