Positive heltall og brøk
- 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 +

5 –

3

: 22 :

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?