Processing Math: Done
To print higher-resolution math symbols, click the
Hi-Res Fonts for Printing button on the jsMath control panel.

No jsMath TeX fonts found -- using image fonts instead.
These may be slow and might not print well.
Use the jsMath control panel to get additional information.
jsMath Control PanelHide this Message


jsMath

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.