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
(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...)
Rad 1: Rad 1:
 +
==Inläsning==
 +
'''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>
Rad 20: Rad 22:
a = float(input())</pre>
a = float(input())</pre>
'''Svar:'''<span style="color:white"> 67</span>
'''Svar:'''<span style="color:white"> 67</span>
 +
 +
 +
==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>
 +
'''Svar:'''<span style="color:white"> "Y"</span>
 +
 +
 +
'''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>
 +
'''Svar:'''<span style="color:white"> "X Y"</span>
 +
 +
 +
'''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>
 +
'''Svar:'''<span style="color:white"> "X Y Z"</span>
 +
 +
 +
'''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>
 +
'''Svar:'''<span style="color:white"> "Z"</span>
 +
 +
 +
==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>
 +
'''Svar:'''<span style="color:white"> "C D"</span>
 +
 +
 +
'''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>
 +
'''Svar:'''<span style="color:white"> "A B D"</span>
 +
 +
 +
==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>
 +
'''Svar:''' min =<span style="color:white"> -2 </span>, max =<span style="color:white"> 10 </span>samt b =<span style="color:white"> 0</span>
 +
 +
 +
==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>
 +
'''Svar:'''<span style="color:white"> "röd"</span>
 +
 +
 +
==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>
 +
'''Svar:'''<span style="color:white"> 0 0 0 0 0</span>
 +
 +
 +
==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
 +
 +
'''Svar:'''<span style="color:white"> 5. ABCBCBCBD</span>
 +
 +
 +
==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>
 +
'''Svar:'''<span style="color:white"> En gång</span>
 +
 +
 +
'''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>
 +
'''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>
 +
 +
 +
==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.
 +
 +
'''Svar:'''<span style="color:white"> 4. Ordet 'WHILE' ska stå med små bokstäver
 +
</span>
 +
 +
 +
==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:'''<span style="color:white"> Vid alla tre tillfällena!</span>

Versionen från 5 april 2012 kl. 08.08

Innehåll

[göm]

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.


  1. ABCD
  2. ACCCD
  3. ABCCCD
  4. ABCBCBCD
  5. ABCBCBCBD
  6. 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")
  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.

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?

  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.

Svar: Vid alla tre tillfällena!