• 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: ")))