• utvikle og bruke ulike strategiar for rekning med positive tal og brøk og forklare tenkjemåtane sine
  • formulere og løyse problem frå eigen kvardag som har med brøk å gjere

Oppgave 1:


Lag et program der du har en :

  • variabel a for et positivt heltall
  • Variabel b for en brøk

Finn summen (+), differansen (-), produktet (*) og kvotienten (/) av a og b

Tips:
from fractions import Fraction
a = 2
b = Fraction(1,2)

from fractions import Fraction
# a er en variabel for et positivet heltall
# b er en variabel for en brøk
a = 2
b = Fraction(1,2)
print(a + b)
print(a - b)
print(a * b)
print(a / b)

Lag en regel for hvordan man regner med et heltall og en brøk.

Prøv  deg med følgende stykker og sjekk svaret i Python etterpå:

  • 3 + \frac{3}{5}
  • 5 – \frac{2}{4}
  • 3  \cdot  \frac{3}{9}
  • \frac{3}{9} : 2
  • 2 : \frac{3}{9}

Oppgave 2.

Lag et Python-program som gir deg tilfeldige brøker med teller mellom 1-10, og en nevner som hele tiden er større enn telleren. 
La programmet skrive ut de tilfeldige brøkene.
Gjør brøkene om til desimaltall.

Tips:
from fractions import Fraction
from random import randint
t = randint(1,10)
n = t + (randint(1,10))

from fractions import Fraction
from random import randint
# t = teller
# n = nevner
t = randint(1,10)
n = t + (randint(1,10))
print(Fraction(t/n).limit_denominator())
print(round(t/n,2))

Kjør programmet 5 ganger og skriv ned de 5 tilfeldige brøkene og desimaltallene.

Oppgave 3.

Bjørn og Kari skal selge saft på 17. mai. De skal lage a antall liter saft og helle det over på flasker med volum: 0,5 liter,   0,25 liter,   0,33 liter, 0,2 liter.

Lag et Python-program som hjelper dem med å finne ut hvor mange flasker de trenger avhengig av antall liter saft og volum på flaskene.

from fractions import Fraction
# a = antall liter saft
# b = brøk for str på flasker det skal fylles på ( 0.5 liter = 1/2,
# 0.25 liter = 1/4,  0.33 liter = 1/3 , 0.2 liter = 2/10)
a = 5
b = Fraction(1,3)
print("Antall flasker: " + str(a/b))

Bruk programmet til å finne antall flasker ved:

  • 10 liter saft på 0.25 liters flasker.
  • 7 liter saft på 0.2 liters flasker.
  • 34 liter saft på 0.33 liters flasker
  • 17 liter på 0.5 liters flasker

Oppgave 4.

Her er et program der du kan teste deg selv i å finne likeverdige brøker. Skriv koden i Python, og jobb med likeverdige brøker. (Dersom det er vanskelig så kan du kopiere koden.)

Prøv å forstå hva koden gjør:

from fractions import Fraction
from random import randint,random
import random
print("Prøv å lage likeverdige brøker. Du kan multiplisere og dividere teller og nevner med samme faktor: ")
while True:
  teller = randint(1,10)
  if (teller % 2) == 0:
    nevner = randint(1,10)*2
  else:
    o = [3,5,7,9]
    nevner = teller * random.choice(o)
  print(str(teller) + "/" + str(nevner))
  fasit = (Fraction(teller,nevner))
  t = int(input("teller: "))
  n = int(input("nevner: "))
  svar = (Fraction(t,n))
  print("Fasit er: " + str(fasit))
  
  if svar == fasit:
    print("Bra, du fant en likeverdig brøk, sjekk fasit om du kunne forkortet mer. ")
  else: print("Feil, du fant ikke en likeverdig brøk, se på fasit og prøv å se feilen.")

Kjør programmet 10 ganger og se hvor mange likeverdige brøker du klarer å finne.

Oppgave 5.

Vi skal lage et program som skriver ut et antall tilfeldige heltall mellom 1-100 og legger tallene inn i en liste.
Da må vi kunne:

  • Opprette tomme lister.
  • Importere bibliotek i koden.
  • Lage en løkke som genererer tilfeldige tall.
  • Legge tallene inn i lista.
  • Skrive ut lista til skjerm.
import random
liste = []
for i in range(5):
    tall = random.randint(1,100)
    liste.append(tall)
print(liste)

a)
Skriv koden og kjør programmet flere ganger. Lager den lister med nye tilfeldige tall?
b)
Hvor mange tall er det i lista og hvorfor? Kan du endre slik at det kommer 8 tall i lista?
c)
Kan du endre slik at programmet skriver ut 6 tilfeldige tall mellom 10 og 200?

Vi ønsker å få programmet til å ordne tallene i sortert rekkefølge, fra minst til størst og fra størst til minst.
Da må vi kunne:

  • Sortere lister fra minst til størst og fra størst til minst.
liste.sort()
liste.sort(reverse = True)

d)
Prøv å få disse linjene inn i koden din på riktig plass.

Forslag til kode:

import random
liste = []
for i in range(5):
    tall = random.randint(1,100)
    liste.append(tall)
print(liste)
liste.sort()
print(liste)
liste.sort(reverse = True)
print(liste)

e)
Hva blir forskjell på disse to utskriftene?

liste.sort()
liste.sort(reverse = True)
print(liste)
liste.sort()
print(liste)
liste.sort(reverse = True)
print(liste)

f)
Vi ønsker å lage en kode der elevene kan prøve å plassere tallene i stigende og synkende rekkefølge før det kommer en fasit.
Dette kan gjøre på mange måter. Her er to forslag.


Alternativ 1:

  • Vi importerer biblioteket time
  • Vi legger inn en pause: time.sleep() i koden.
import random
import time
liste = []
for i in range(5):
    tall = random.randint(1,100)
    liste.append(tall)
print(liste)
time.sleep(2)
liste.sort()
print(liste)
time.sleep(2)
liste.sort(reverse = True)
print(liste)


Hvor lang pause er det før fasiten kommer?
Kunne linje 8 og linje 11 vært en annen plass i koden?

Alternativ 2:

  • Vi legger inn en input slik at programmet venter på et tastetrykk fra brukeren før fasit skal skrives til skjerm.
import random
liste = []
for i in range(5):
    tall = random.randint(1,100)
    liste.append(tall)
print(liste)
fasit = input("Tast enter: ")
liste.sort()
print(liste)
liste.sort(reverse = True)
print(liste)

Kan vi få koden til å fungere slik at brukeren må trykke på feks «f» for at fasiten skal vises?