Tid
- formulere og løyse problem frå eigen kvardag som har med tid å gjere
Oppgave 1
Klasse 5c jobber med sekunder og minutter. Kari og Ali vil lage en kode som gjør om mellom sekunder og minutter. De starter med å lage en funksjon som gjør om fra sekunder til minutter.
s = float(input("Antall sekunder: ")) # s er variabel av typen float(desimaltall) for antall sekunder
min = (s/60) # min er antall sekunder delt på 60
print(min) # printer ut min som gir antall minuttera)
Tast inn ulike antall sekunder og sjekk hvor mange minutter det er:
60 sek – 120 sek – 30 sek – 20 sek – 10 sek
Ali og Kari ser at når de taster inn mindre enn 30 sekunder så får de mange desimaler i utskriften.
Antall sekunder: 20 0.3333333333333333
De får hjelp av læreren slik at de kan runde av svarene til to desimaler.
s = float(input("Antall sekunder: ")) # s er variabel av typen float(desimaltall) for antall sekunder
min = round(s/60,2) # min er antall sekunder delt på 60
print(min) # printer ut min som gir antall minutterNå gir 20 sekunder denne utskriften:
Antall sekunder: 20 0.33
b)
Kan du forklare hva i koden på linje 2 som gjør at svaret blir rundet av til to desimaler?
c)
Nå lager de en kode som gjør om fra minutter til sekunder.
m = float(input("Antall minutter: ")) # m er variabel av typen float(desimaltall) for antall minutter
sek = (m * 60) # sek er antall minutter multiplisert med 60
print(sek) # printer ut sek som gir antall sekunderTast inn ulike antall minutter og sjekk hvor mange sekunder det er:
1 min – 2 min – 10 min – 0.5 min – 0.1 min
Hvorfor trenger vi ikke å runde av til to desimaler i linje 2 nå?
d)
Sammen med læreren skriver de en kode med to funksjoner som gjør om mellom sekunder og minutter:
while True:
def sek_min(s):
m = (round(s/60,2))
print(str(s)+ " sekunder er: " + str(m) + " minutter.")
def min_sek(m):
s = m * 60
print(str(m) + " minutter er: " + str(s) + " sekunder.")
if input("m = sek to min, s = min to sek:") == "m":
sek_min(float(input("antall sekunder: ")))
else:
min_sek(float(input("antall minutter: ")))While True: i linje 1 gjør at programmet fortsetter å kjøre.
Linje 2 til 8 ligner på koden vi jobbet med tidligere.
I linje 10 spør vi brukeren om en input.
Hva skjer om brukeren taster inn «m» og hva skjer dersom brukeren taster inn»s»?
Kjør programmet og prøv å forstå hvordan det fungerer.
Oppgave 2
Her er et program som gjør mellom timer og minutter.
def min_hour(m):
h = (round(m/60,2))
print(str(m)+ " minutter er: " + str(h) + " timer.")
def hour_min(h):
m = h * 60
print(str(h) + " timer er: " + str(m)+ " minutter.")
if input("h = hour to min, m = min to hour:") == "m":
min_hour(float(input("antall minutter: ")))
else:
hour_min(float(input("antall timer: ")))a)
Kjør programmet og gjør om fra timer til minutter.
1t – 2t – 2.5t – 0.5t – 0.1t
b)
Kjør programmet og gjør om fra minutter til timer.
60 min – 120 min – 150 min – 30 min – 6 min
c)
Gjør om koden og lag et program som gjør om mellom døgn og timer (1 døgn er 24 timer).
while True:
def hour_day(t):
d = (round(t/24,2))
print(str(t)+ " timer er: " + str(d) + " døgn.")
def day_hour(d):
t = d * 24
print(str(d) + " døgn er: " + str(t)+ " timer.")
if input("t = timer to døgn, d = døgn to timer:") == "t":
hour_day(float(input("antall timer: ")))
else:
day_hour(float(input("antall døgn: ")))