2. Övningar

Programmeringsteknik

(Skillnad mellan versioner)
Hoppa till: navigering, sök
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}}
-
'''Svar:'''<span style="color:white"> 22</span>
+
-
 
+
'''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}}
-
'''Svar:'''<span style="color:white"> 12</span>
+
-
 
+
'''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}}
-
'''Svar:'''<span style="color:white"> 22</span>
+
-
 
+
'''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:'''<span style="color:white"> 67</span>
+
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}}
-
'''Svar:'''<span style="color:white"> "Y"</span>
+
-
 
+
'''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}}
-
'''Svar:'''<span style="color:white"> "X Y"</span>
+
-
 
+
'''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}}
-
'''Svar:'''<span style="color:white"> "X Y Z"</span>
+
-
 
+
'''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}}
-
'''Svar:'''<span style="color:white"> "Z"</span>
+
Rad 73: Rad 59:
else:
else:
print("C", end=" ")
print("C", end=" ")
-
print("D")</pre>
+
print("D")</pre>{{#NAVCONTENT: Svar|Svar 2.3a}}
-
'''Svar:'''<span style="color:white"> "C D"</span>
+
-
 
+
'''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}}
-
'''Svar:'''<span style="color:white"> "A B D"</span>
+
Rad 100: Rad 83:
max = a
max = a
else:
else:
-
b += 1</pre>
+
b += 1</pre>{{#NAVCONTENT: Svar|Svar 2.3c}}
-
'''Svar:''' min =<span style="color:white"> -2 </span>, max =<span style="color:white"> 10 </span>samt b =<span style="color:white"> 0</span>
+
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}}
-
'''Svar:'''<span style="color:white"> "röd"</span>
+
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}}
-
'''Svar:'''<span style="color:white"> 0 0 0 0 0</span>
+
Rad 150: Rad 130:
# ABCBCBCD
# ABCBCBCD
# ABCBCBCBD
# ABCBCBCBD
-
# ABCABCABCD
+
# ABCABCABCD{{#NAVCONTENT: Svar|Svar 2.6a}}
-
 
+
-
'''Svar:'''<span style="color:white"> 5. ABCBCBCBD</span>
+
Rad 162: Rad 140:
print("hej")
print("hej")
v += 1
v += 1
-
print("hej")</pre>
+
print("hej")</pre>{{#NAVCONTENT: Svar|Svar 2.7a}}
-
'''Svar:'''<span style="color:white"> En gång</span>
+
-
 
+
'''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}}
-
'''Svar:'''<span style="color:white"> Nej, eftersom while-satsen är en oändlig slinga och print "hej då" är inte en del av while-satsen.</span>
+
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}}
-
 
+
-
'''Svar:'''<span style="color:white"> 4. Ordet 'WHILE' ska stå med små bokstäver
+
-
</span>
+
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}}
-
'''Svar:'''<span style="color:white"> Vid alla tre tillfällena!</span>
+

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.


  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.