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...)
Nuvarande version (28 januari 2015 kl. 09.42) (redigera) (ogör)
 
(4 mellanliggande versioner visas inte.)
Rad 1: Rad 1:
-
'''Vad får a för värde om inmatningen från tangentbordet är 22 <retur> 42 <retur>?
+
__NOTOC__
-
<pre>a = float(input())</pre>
+
{| border="0" cellspacing="0" cellpadding="0" height="30" width="100%"
-
'''Svar:'''<span style="color:white"> 22</span>
+
| style="border-bottom:1px solid #797979" width="5px" | &nbsp;
 +
{{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%"| &nbsp;
 +
|}
 +
==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}}
-
'''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>
+
 
 +
 
 +
==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.


  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.