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 minutter
a)
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 minutter
Nå 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 sekunder
Tast 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: ")))