9789152355411

Page 1

Räkna med kod

Programmering i matematik

Liten ordlista i programmering Ord

Förklaring

algoritm

en följd av instruktioner som berättar hur man löser ett givet problem

avlusa

att hitta fel i koden

bugg

fel i koden

editor

en applikation där man kan skriva och redigera kod

Kommando

Räkna med kod

exekvera

att köra programmet

flyttal

ett sätt att spara tal som inte är heltal. När datorn lagrar flyttal sparas de inte ­alltid exakt.

float()

funktion

ett antal rader kod som man vill kunna anropa senare

def funktion:

indentering

ett tomt utrymme i början av en rad, ett indrag. På engelska indentation.

input

inmatning

kod

instruktioner i ett programspråk som kan tolkas av en dator

kompilator

en applikation som tolkar och utför instruktionerna i ett program

loop

se slinga

for, while

operator

en symbol för ett räknesätt eller en logisk operation

+, −, *, /, %, and, or

output

utmatning

print()

program

en följd av instruktioner i ett programspråk

programspråk

ett språk som används för att skriva instruktioner till en dator. Varje programspråk har sina egna kommandon (ord) och sin egen syntax (grammatik).

sats

den minsta enheten i ett programspråk, ofta en enskild rad i programmet

sekvens

en följd av instruktioner som ska utföras efter varandra

slinga

en bit kod som upprepas ett visst antal gånger

for, while

sträng

ett antal tecken i följd, t.ex. ett ord eller en mening

str()

syntax

regler för hur man skriver satser i program­språket, till exempel att man använder kolon efter for-kommandot eller parenteser efter print

variabel

minnesplats där ett värde sparas

villkorssats

en instruktion som innebär att programmet utför en bit kod bara om ett visst ­villkor är uppfyllt, annars utför programmet en annan bit kod

input()

Programmering i matematik

I Räkna med kod – programmering i matematik får eleverna lära sig grunderna i p ­ rogramspråket Python samtidigt som de löser matematiska problem. Häftet består av 12 lektioner i programmering och riktar sig till elever på högstadiet och gymnasiet. Häftet kan användas fristående men också som ett komplement till läromedlen Matte Direkt, Prio Matematik och Matematik Origo. Räkna med kod – programmering i matematik består av ett elevhäfte och en lärarguide. Läro­ medlet finns även som digital bok med instruktionsfilmer och ledtrådar till utvalda uppgifter.

ISBN 978-91-523-5541-1

if, else, elif

import turtle as t for x in range (60): t.forward(100) t.left(45) t.forward(150) t.left(110) t.forward(120) t.left(83) t.forward(185) t.left(6)


Till läsaren Välkommen till Räkna med kod! I det här häftet får du lära dig grunderna i programspråket Python 3 samtidigt som du arbetar med matematik. Häftet är indelat i 12 lektioner, där varje lektion introducerar ett nytt programmeringskommando. Lektionerna bygger för det mesta på varandra, så det är bra att arbeta med dem i ordning. I häftet finns också några aktiviteter. I aktiviteterna får du använda dig av kommandon från de föregående lektionerna. När du har arbetat med häftet kan du lösa många matematikuppgifter med hjälp av programmering. För att kunna lösa uppgifterna i Räkna med kod behöver du ha tillgång till ett program där du kan skriva och köra kod i programspråket Python 3. Ett sådant program kan du ladda ner till din dator, men du kan också använda dig av en onlinetjänst.

Du kan t.ex. ladda ner programmet från www.python.org eller använda onlinetjänsten repl.it.

När vi skriver kod i häftet ser det ut så här:

print("Välkommen till Räkna med kod!") Och när vi kör programmet ser det ut så här: SANOMA UTBILDNING Postadress: Box 30091, 104 25 Stockholm Besöksadress: Alströmergatan 12, Stockholm Hemsida: www.sanomautbildning.se E-post: info@sanomautbildning.se

Välkommen till Räkna med kod! Med det här häftet vill vi visa att man har nytta av matematik när man ­programmerar, men också att programmering är användbart när man ­arbetar med matematik.

Order/Läromedelsinformation Telefon: 08-587 642 10 Telefax: 08-587 642 02 Manus och redaktion: Emelie Reuterswärd och Kenneth Lovén Grafisk form och produktion: Typoform Illustrationer: Typoform, Jakob Robertsson Foton: s 5 Transportstyrelsen, s 8 goir/iStock/Getty Images Plus, s 10 zizi_mentos/Shutterstock, s 11 SvetaVo/iStock/Getty Images Plus, s 15 Wichaiwish/Shutterstock, s 20 Floortje/iStock/Getty Images Plus, s 23 liliboas/Shutterstock, s 24 chengyuzheng/iStock/Getty Images Plus, s 28 VectorPlotnikoff/Shutterstock, s 30 Viktor Fedorenko/Shutterstock, s 37 Artur Tavares/EyeEm/Getty Images Räkna med kod – Programmering i matematik ISBN 978-91-523-5541-1 © 2018 Sanoma Utbildning AB, Stockholm

Lycka till! Sanoma Utbildning

Innehåll Lektion 1 Print — att skriva text och de fyra räknesätten

4

Lektion 2 Variabler — att spara värden

Första upplagan Första tryckningen

Lektion 3

Kopieringsförbud! Detta verk är skyddat av upphovsrättslagen! Kopiering, utöver lärares rätt att kopiera för undervisningsbruk enligt Bonus Copyright Access avtal, är förbjuden. Sådant avtal tecknas mellan upphovsrättsorganisationer och huvudman för utbildningsanordnare t.ex. kommuner/universitet. För information om avtalet hänvisas till utbildningsanordnarens huvudman eller Bonus Copyright Access. Den som bryter mot lagen om upphovsrätt kan åtalas av allmän åklagare och dömas till böter eller fängelse i upp till två år samt bli skyldig att erlägga ersättning till upphovsman/rättsinnehavare.

Aktivitet 1

Tryck: Balto print, Litauen 2018

Aktivitet 2

Input — att mata in text och tal Enhetsomvandlaren

6

8

11

12

Lektion 5 If — att skriva villkor

17

Lektion 6 If, and och or — att kombinera villkor While — ett sätt att upprepa kod

18

14

21

29

24

26

30

Lektion 11 32

Lektion 12 Nästlade satser — att skriva en sats i en sats

Lektion 9 Listor — att spara flera värden

Random — att slumpa tal Turtle — att rita med kod

Lektion 8 Räknare — att räkna upprepningar

Mönster med mynt

Lektion 10

Lektion 7

Lektion 4 For — att upprepa kod

Djurparken

Aktivitet 3

Facit Verktygslådan

35 38 48


Till läsaren Välkommen till Räkna med kod! I det här häftet får du lära dig grunderna i programspråket Python 3 samtidigt som du arbetar med matematik. Häftet är indelat i 12 lektioner, där varje lektion introducerar ett nytt programmeringskommando. Lektionerna bygger för det mesta på varandra, så det är bra att arbeta med dem i ordning. I häftet finns också några aktiviteter. I aktiviteterna får du använda dig av kommandon från de föregående lektionerna. När du har arbetat med häftet kan du lösa många matematikuppgifter med hjälp av programmering. För att kunna lösa uppgifterna i Räkna med kod behöver du ha tillgång till ett program där du kan skriva och köra kod i programspråket Python 3. Ett sådant program kan du ladda ner till din dator, men du kan också använda dig av en onlinetjänst.

Du kan t.ex. ladda ner programmet från www.python.org eller använda onlinetjänsten repl.it.

När vi skriver kod i häftet ser det ut så här:

print("Välkommen till Räkna med kod!") Och när vi kör programmet ser det ut så här: SANOMA UTBILDNING Postadress: Box 30091, 104 25 Stockholm Besöksadress: Alströmergatan 12, Stockholm Hemsida: www.sanomautbildning.se E-post: info@sanomautbildning.se

Välkommen till Räkna med kod! Med det här häftet vill vi visa att man har nytta av matematik när man ­programmerar, men också att programmering är användbart när man ­arbetar med matematik.

Order/Läromedelsinformation Telefon: 08-587 642 10 Telefax: 08-587 642 02 Manus och redaktion: Emelie Reuterswärd och Kenneth Lovén Grafisk form och produktion: Typoform Illustrationer: Typoform, Jakob Robertsson Foton: s 5 Transportstyrelsen, s 8 goir/iStock/Getty Images Plus, s 10 zizi_mentos/Shutterstock, s 11 SvetaVo/iStock/Getty Images Plus, s 15 Wichaiwish/Shutterstock, s 20 Floortje/iStock/Getty Images Plus, s 23 liliboas/Shutterstock, s 24 chengyuzheng/iStock/Getty Images Plus, s 28 VectorPlotnikoff/Shutterstock, s 30 Viktor Fedorenko/Shutterstock, s 37 Artur Tavares/EyeEm/Getty Images Räkna med kod – Programmering i matematik ISBN 978-91-523-5541-1 © 2018 Sanoma Utbildning AB, Stockholm

Lycka till! Sanoma Utbildning

Innehåll Lektion 1 Print — att skriva text och de fyra räknesätten

4

Lektion 2 Variabler — att spara värden

Första upplagan Första tryckningen

Lektion 3

Kopieringsförbud! Detta verk är skyddat av upphovsrättslagen! Kopiering, utöver lärares rätt att kopiera för undervisningsbruk enligt Bonus Copyright Access avtal, är förbjuden. Sådant avtal tecknas mellan upphovsrättsorganisationer och huvudman för utbildningsanordnare t.ex. kommuner/universitet. För information om avtalet hänvisas till utbildningsanordnarens huvudman eller Bonus Copyright Access. Den som bryter mot lagen om upphovsrätt kan åtalas av allmän åklagare och dömas till böter eller fängelse i upp till två år samt bli skyldig att erlägga ersättning till upphovsman/rättsinnehavare.

Aktivitet 1

Tryck: Balto print, Litauen 2018

Aktivitet 2

Input — att mata in text och tal Enhetsomvandlaren

6

8

11

12

Lektion 5 If — att skriva villkor

17

Lektion 6 If, and och or — att kombinera villkor While — ett sätt att upprepa kod

18

14

21

29

24

26

30

Lektion 11 32

Lektion 12 Nästlade satser — att skriva en sats i en sats

Lektion 9 Listor — att spara flera värden

Random — att slumpa tal Turtle — att rita med kod

Lektion 8 Räknare — att räkna upprepningar

Mönster med mynt

Lektion 10

Lektion 7

Lektion 4 For — att upprepa kod

Djurparken

Aktivitet 3

Facit Verktygslådan

35 38 48


Lektion 1

NIVÅ 1

NIVÅ 2

1 Skriv ett program som visar resultatet av beräk­

6 Titta på programmet här nedanför.

ningen

1 15 kr

29 kr

a) 12 – 7

24 b) ​ ___ ​ + 9 3

Print — att skriva text och använda de fyra räknesätten

2 Skriv ett program som visar texten: Hej! Hur mår

På hamburgerrestaurangen beställer Meja i automaten. Hon beställer en hamburgare, en läsk och en påse morötter. Hur mycket ska hon betala?

3 Skriv ett program som

du?

19 kr

Skriva tal

Vi löser problemet genom att skriva ett program som beräknar summan av 29 kr, 15 kr och 12 kr och skriver ut resultatet. Vi använder kommandot print.

print(29 + 15 + 12)

Skriva text

Vi kan lägga till text i programmet. Då använder vi citattecken.

Hjälp Adam att rätta till koden, så att ­programmet visar resultatet av beräkningen.

Vi kan också skriva text och beräkning på en och samma rad. Då använder vi kommatecken för att skilja mellan text och beräkning.

print("Du ska betala", 29 + 15 + 12, "kr.")

a) Vad kommer programmet att visa när det körs?

stället för med kommatecken.

b) Skriv programmet på en rad. Så här ska det se ut när programmet körs.

Om du kör med hastigheten 70 km/h i 1,5 timmar, så hinner du 105.0 km.

De fyra räknesätten

Lektion 1

219 * 45 + 8

print("Om du kör med hastigheten 70 km/h i 1,5 timmar, så hinner du") print(70 * 1.5) I programmering skriver man decimaltecken med punkt i print("km.")

Du ska betala 56 kr.

4

4 Adam vill skriva ett program som visar resultatet

5 Här nedanför ser du ett program.

Du ska betala: 56 Skriva tal och text

19 kr

print("219 * 45 + 8")

print("Du ska betala:") print(29 + 15 + 12)

12 kr

29 kr

av beräkningen  219 ∙ 45 + 8. Han gör så här:

56

c) tre läsk, tre hamburgare och tre pommes frites

print(4 + 2)

visar summan 6

print(4 - 2)

visar differensen 2

print(4 * 2)

visar produkten 8

print(6/2)

visar kvoten 3

a) Vad tror du att programmet visar när det körs? b) Kör programmet. Vad visar det?

7 Para ihop varje program med rätt resultat. 15 kr

b) två läsk och en hamburgare

print("hej" + "hej") print(3 * "hej")

c) Skriv ett program som skriver ut ordet hej tio gånger.

beräknar och skriver ut kostnaden för a) två läsk

12 kr

c) 3 ∙ 43 – 2

1 print("1" + "1")

A

11

2 print(3 * "1")

B

3

3 print(1 + 1)

C

2

4 print(1 * 3)

D

111

8 I rutan ser du två uttryck. a) Utför beräkningarna med huvudräkning. b) Skriv ett program som utför beräk­ ningarna. c) Tar programmet hänsyn till priori­ teringsreglerna?

3 + 2 ∙ 10 5 ∙ (8 – 7)

Prioriteringsregler 1. Parenteser 2. Multiplikation och ­division 3. Addition och ­ subtraktion

9 I koden här nedanför har vi använt symbolen **. print(2**2) print(3**2) print(4**2) a) Kör programmet. Vad visar det? b) Förklara vad symbolen ** gör.

10 a) Kör följande program och jämför resultaten. print(9/2,"och", 9//2) print(11/6,"och", 11//6) print(21/8,"och", 21//8) b) Förklara vad symbolen // gör.

Lektion 1

5

1


Lektion 1

NIVÅ 1

NIVÅ 2

1 Skriv ett program som visar resultatet av beräk­

6 Titta på programmet här nedanför.

ningen

1 15 kr

29 kr

a) 12 – 7

24 b) ​ ___ ​ + 9 3

Print — att skriva text och använda de fyra räknesätten

2 Skriv ett program som visar texten: Hej! Hur mår

På hamburgerrestaurangen beställer Meja i automaten. Hon beställer en hamburgare, en läsk och en påse morötter. Hur mycket ska hon betala?

3 Skriv ett program som

du?

19 kr

Skriva tal

Vi löser problemet genom att skriva ett program som beräknar summan av 29 kr, 15 kr och 12 kr och skriver ut resultatet. Vi använder kommandot print.

print(29 + 15 + 12)

Skriva text

Vi kan lägga till text i programmet. Då använder vi citattecken.

Hjälp Adam att rätta till koden, så att ­programmet visar resultatet av beräkningen.

Vi kan också skriva text och beräkning på en och samma rad. Då använder vi kommatecken för att skilja mellan text och beräkning.

print("Du ska betala", 29 + 15 + 12, "kr.")

a) Vad kommer programmet att visa när det körs?

stället för med kommatecken.

b) Skriv programmet på en rad. Så här ska det se ut när programmet körs.

Om du kör med hastigheten 70 km/h i 1,5 timmar, så hinner du 105.0 km.

De fyra räknesätten

Lektion 1

219 * 45 + 8

print("Om du kör med hastigheten 70 km/h i 1,5 timmar, så hinner du") print(70 * 1.5) I programmering skriver man decimaltecken med punkt i print("km.")

Du ska betala 56 kr.

4

4 Adam vill skriva ett program som visar resultatet

5 Här nedanför ser du ett program.

Du ska betala: 56 Skriva tal och text

19 kr

print("219 * 45 + 8")

print("Du ska betala:") print(29 + 15 + 12)

12 kr

29 kr

av beräkningen  219 ∙ 45 + 8. Han gör så här:

56

c) tre läsk, tre hamburgare och tre pommes frites

print(4 + 2)

visar summan 6

print(4 - 2)

visar differensen 2

print(4 * 2)

visar produkten 8

print(6/2)

visar kvoten 3

a) Vad tror du att programmet visar när det körs? b) Kör programmet. Vad visar det?

7 Para ihop varje program med rätt resultat. 15 kr

b) två läsk och en hamburgare

print("hej" + "hej") print(3 * "hej")

c) Skriv ett program som skriver ut ordet hej tio gånger.

beräknar och skriver ut kostnaden för a) två läsk

12 kr

c) 3 ∙ 43 – 2

1 print("1" + "1")

A

11

2 print(3 * "1")

B

3

3 print(1 + 1)

C

2

4 print(1 * 3)

D

111

8 I rutan ser du två uttryck. a) Utför beräkningarna med huvudräkning. b) Skriv ett program som utför beräk­ ningarna. c) Tar programmet hänsyn till priori­ teringsreglerna?

3 + 2 ∙ 10 5 ∙ (8 – 7)

Prioriteringsregler 1. Parenteser 2. Multiplikation och ­division 3. Addition och ­ subtraktion

9 I koden här nedanför har vi använt symbolen **. print(2**2) print(3**2) print(4**2) a) Kör programmet. Vad visar det? b) Förklara vad symbolen ** gör.

10 a) Kör följande program och jämför resultaten. print(9/2,"och", 9//2) print(11/6,"och", 11//6) print(21/8,"och", 21//8) b) Förklara vad symbolen // gör.

Lektion 1

5

1


Lektion 5

If, else och elif Ibland vill man att en bit kod ska utföras endast om ett visst villkor är uppfyllt. Då använder man kommandona if, else och elif.

svar = input("Är patienten ett barn? Ja/Nej") if svar == "Ja":

If — att skriva villkor Vuxen

Barn

750 mg

500 mg

Hur mycket medicin man ska få när man är sjuk, beror på om man är barn eller vuxen.

if och else

5

print("Patienten ska ha 500 mg per dag") else:   print("Patienten ska ha 750 mg per dag")

Med det här programmet kan man ta reda på rätt dos. För att ta hänsyn till om patienten är barn eller vuxen, använder vi kommandona if och else.

svar = input("Är patienten ett barn? Ja/Nej")

#Användaren får ange om patienten är ett barn.

if svar == "Ja":   print("Patienten ska ha 500 mg per dag.")

#Om svaret är "Ja" ­skriver programmet att patienten ska ha 500 mg per dag.

else:   print("Patienten ska ha 750 mg per dag.")

#Annars skriver pro­ grammet att patienten ska ha 750 mg per dag.

Två likhetstecken

elif Vikt

Dos

Mindre än 20 kg

500 mg per dag

När vi ställer upp villkor använder vi operatorer. Tecken i matematiken

20–40 kg

750 mg per dag

Mer än 40 kg

1 000 mg per dag

På den andra raden i programmet kontrollerar vi om variabeln svar är lika med "Ja". Då använder vi två likhetstecken. På den första raden i programmet tilldelar vi variabeln svar ett värde. Då använder vi bara ett likhetstecken. Ibland beror dosen på hur mycket patienten väger.

NIVÅ 1

Då kan programmet se ut så här:

1 Vad gör programmet?

vikt = float(input("Hur mycket väger patienten? Svara i kg.")) if vikt < 20:   print("Patienten ska ges 500 mg per dag.") elif 20 <= vikt <= 40:   print("Patienten ska ges 750 mg per dag.") else:   print("Patienten ska ges 1000 mg per dag.") Så här ser det ut när vi kör programmet.

Hur mycket väger patienten? Svara i kg. 32 Patienten ska ges 750 mg per dag. Eftersom det finns fler än två alternativ, använder vi kommandot elif. Man kan skriva flera elif-kommandon efter varandra.

14

Lektion 5

#Det som ska ut­ föras hamnar på en inskjuten rad.

Operatorer

Är patienten ett barn? Ja/Nej Ja Patienten ska ha 500 mg per dag.

#Efter komman­ dona skriver man alltid ett kolon.

Tecken i programmering

Mindre än

<

<

Mindre än eller lika med

<=

Lika med

=

==

Större än eller lika med

>=

Större än

>

>

Inte lika med

!=

5

3 Marko och Refai försöker hitta vad som är fel i det här programmet:

ålder = int(input("Skriv din ålder:"))

svar = float(input("Vad är produkten av 12 och 13?"))

if ålder < 15:

if svar = 156:

print("Du får inte köra moped.") else: print("Du får köra moped.")

2 Skriv ett program som avgör om ett inmatat tal är större än 40. Så här ska programmet se ut när det körs.

Skriv ett tal: 39.5 Talet är inte större än 40.

print("Rätt.") else print("Fel.") – Det ska vara == på rad 2, säger Marko. – Det ska vara kolon efter else, säger Refai. Har någon av dem rätt? Motivera.

4 Skriv ett program som avgör om ett inmatat tal är a) mellan 0 och 1 b) är en lösning till ekvationen 35x + 19 = 264 Lektion 5

15


Lektion 5

If, else och elif Ibland vill man att en bit kod ska utföras endast om ett visst villkor är uppfyllt. Då använder man kommandona if, else och elif.

svar = input("Är patienten ett barn? Ja/Nej") if svar == "Ja":

If — att skriva villkor Vuxen

Barn

750 mg

500 mg

Hur mycket medicin man ska få när man är sjuk, beror på om man är barn eller vuxen.

if och else

5

print("Patienten ska ha 500 mg per dag") else:   print("Patienten ska ha 750 mg per dag")

Med det här programmet kan man ta reda på rätt dos. För att ta hänsyn till om patienten är barn eller vuxen, använder vi kommandona if och else.

svar = input("Är patienten ett barn? Ja/Nej")

#Användaren får ange om patienten är ett barn.

if svar == "Ja":   print("Patienten ska ha 500 mg per dag.")

#Om svaret är "Ja" ­skriver programmet att patienten ska ha 500 mg per dag.

else:   print("Patienten ska ha 750 mg per dag.")

#Annars skriver pro­ grammet att patienten ska ha 750 mg per dag.

Två likhetstecken

elif Vikt

Dos

Mindre än 20 kg

500 mg per dag

När vi ställer upp villkor använder vi operatorer. Tecken i matematiken

20–40 kg

750 mg per dag

Mer än 40 kg

1 000 mg per dag

På den andra raden i programmet kontrollerar vi om variabeln svar är lika med "Ja". Då använder vi två likhetstecken. På den första raden i programmet tilldelar vi variabeln svar ett värde. Då använder vi bara ett likhetstecken. Ibland beror dosen på hur mycket patienten väger.

NIVÅ 1

Då kan programmet se ut så här:

1 Vad gör programmet?

vikt = float(input("Hur mycket väger patienten? Svara i kg.")) if vikt < 20:   print("Patienten ska ges 500 mg per dag.") elif 20 <= vikt <= 40:   print("Patienten ska ges 750 mg per dag.") else:   print("Patienten ska ges 1000 mg per dag.") Så här ser det ut när vi kör programmet.

Hur mycket väger patienten? Svara i kg. 32 Patienten ska ges 750 mg per dag. Eftersom det finns fler än två alternativ, använder vi kommandot elif. Man kan skriva flera elif-kommandon efter varandra.

14

Lektion 5

#Det som ska ut­ föras hamnar på en inskjuten rad.

Operatorer

Är patienten ett barn? Ja/Nej Ja Patienten ska ha 500 mg per dag.

#Efter komman­ dona skriver man alltid ett kolon.

Tecken i programmering

Mindre än

<

<

Mindre än eller lika med

<=

Lika med

=

==

Större än eller lika med

>=

Större än

>

>

Inte lika med

!=

5

3 Marko och Refai försöker hitta vad som är fel i det här programmet:

ålder = int(input("Skriv din ålder:"))

svar = float(input("Vad är produkten av 12 och 13?"))

if ålder < 15:

if svar = 156:

print("Du får inte köra moped.") else: print("Du får köra moped.")

2 Skriv ett program som avgör om ett inmatat tal är större än 40. Så här ska programmet se ut när det körs.

Skriv ett tal: 39.5 Talet är inte större än 40.

print("Rätt.") else print("Fel.") – Det ska vara == på rad 2, säger Marko. – Det ska vara kolon efter else, säger Refai. Har någon av dem rätt? Motivera.

4 Skriv ett program som avgör om ett inmatat tal är a) mellan 0 och 1 b) är en lösning till ekvationen 35x + 19 = 264 Lektion 5

15


5 a) Skriv ett program som frågar efter två tal och skriver ut det tal som är störst.

Aktivitet 2

11 Med följande formler kan man uppskatta hur långt ett barn kommer att bli:

b) Vad svarar programmet om talen är lika? Flicka: barnets längd =

6 Vad gör programmet?

pappans längd + mammans längd – 13 __________________________________  ​         ​  Pojke: barnets längd =

if 2 * x + 4 == 14: print("x =", x, "är en lösning till ekvationen.")

7 Ekvationen ​ ___7x  ​+ 4x + 121 = 208  har en

heltalslösning. Skriv ett program som hittar den.

8 Jimmy har påbörjat ett program som frågar efter två personers ålder och beräknar deras ålders­ skillnad.

ålder1 = int(input("Skriv den första personens ålder:")) ålder2 = int(input("Skriv den andra personens ålder:"))

5

a) Skriv klart programmet och beräkna ­åldersskillnaden mellan Lisa, 32 år, och Ahmed, 43 år. b) Spelar det någon roll i vilken ordning du ­skriver åldrarna? c) Ändra programmet så att det aldrig ger ­negativa svar.

NIVÅ 2 9 Tabellen visar kostnaden för en tågbiljett. Ålder

Biljett

Barn (0–17 år)

200 kr

Vuxen (18–64 år)

350 kr

Pensionär (65 år och äldre)

250 kr

Skriv ett program där resenären kan mata in sin ålder, och få reda på rätt pris.

10 Skriv ett program som frågar efter en vinkel

och avgör om den är spetsig, rät eller trubbig.

16

Lektion 5

Djurparken

2

for x in range(1, 11):

pappans längd + mammans längd + 13 ___________________________________  ​ ​          2

Alla längder är i centimeter.

Skriv ett program där man kan mata in barnets kön och föräldrarnas längd och få veta ungefär hur långt barnet kommer att bli.

12 Här ser du betygs-

Betyg

gränserna på ett prov. Skriv ett program där man kan mata in sitt namn och sin provpoäng och få reda på sitt betyg.

Barn 200 kr

Elliott och Saida äger en djurpark. Till vänster ser du biljettpriserna.

1 Skriv ett program där man kan mata in antalet vuxna och antalet barn och få reda på det totala biljettpriset.

Vuxen 300 kr

2 En regnig dag säljer de 8 biljetter för totalt 2 200 kr. Hur många vuxna och hur många barn besökte djurparken denna dag? Lös uppgiften genom att fylla i en tabell liknande den här nedanför.

Poänggräns

Antal vuxna

A

50 poäng

B

42 poäng

C

34 poäng

D

26 poäng

3

E

19 poäng

13 När man arbetar och får lön måste man betala skatt. Här ser du en skattetabell. Lön (kr)

Skatt (%)

Mindre än 20 000

20 %

20 000­–30 000 Mer än 30 000

Antalet barn och vuxna är 8 tillsammans.

Antal barn

Total kostnad (kr)

0

8

0 ∙ 300 + 8 ∙ 200 = 1 600

1

7

1 ∙ 300 + 7 ∙ 200 = 1 700

2

6

Biljettpriset är 300 kr för en vuxen och 200 kr för ett barn.

Elliott skriver ett program som utför beräkningarna i tabellen.

for vuxna in range(0, 9):

#Vi låter antal vuxna vara 0, 1, 2… till och med 8.

barn = 8 - vuxna

#Antal barn är 8 minus antalet vuxna.

25 %

kostnad = 300 * vuxna + 200 * barn

30 %

#Det kostar 300 kr per vuxen och 200 kr per barn.

print("Om det är", vuxna, "vuxna och", barn, "barn, så är den totala kostnaden", kostnad, "kronor.")

Skriv ett program där man matar in sin lön och får veta a) sin skatt i kronor

b) sin lön efter skatt

14 Skriv ett program där man kan mata in

­ atientens vikt och få reda på hur mycket p ­medicin patienten ska ha. Vikt

Dos

Mindre än 20 kg

0,05 mg per kg

20–40 kg

0,10 mg per kg

Mer än 40 kg

0,15 mg per kg

3 Använd Elliotts program och besvara frågan. 4 Ändra i programmet så att det bara skriver ut den rätta lösningen.

Tips! Använd en if-sats.

5 En solig sommardag besökte totalt 230 personer djurparken.

De ­betalade totalt 61 600 kr i biljettintäkter. Hur många barn och vuxna besökte djurparken?

6 Efter en dag i djurparken räknar Saida hundralapparna och femhundra­ lapparna i kassan. Hon räknar till 65 sedlar värda 19 700 kr. Hur många sedlar finns det av varje valör?

aktivitet

17

A 2


5 a) Skriv ett program som frågar efter två tal och skriver ut det tal som är störst.

Aktivitet 2

11 Med följande formler kan man uppskatta hur långt ett barn kommer att bli:

b) Vad svarar programmet om talen är lika? Flicka: barnets längd =

6 Vad gör programmet?

pappans längd + mammans längd – 13 __________________________________  ​         ​  Pojke: barnets längd =

if 2 * x + 4 == 14: print("x =", x, "är en lösning till ekvationen.")

7 Ekvationen ​ ___7x  ​+ 4x + 121 = 208  har en

heltalslösning. Skriv ett program som hittar den.

8 Jimmy har påbörjat ett program som frågar efter två personers ålder och beräknar deras ålders­ skillnad.

ålder1 = int(input("Skriv den första personens ålder:")) ålder2 = int(input("Skriv den andra personens ålder:"))

5

a) Skriv klart programmet och beräkna ­åldersskillnaden mellan Lisa, 32 år, och Ahmed, 43 år. b) Spelar det någon roll i vilken ordning du ­skriver åldrarna? c) Ändra programmet så att det aldrig ger ­negativa svar.

NIVÅ 2 9 Tabellen visar kostnaden för en tågbiljett. Ålder

Biljett

Barn (0–17 år)

200 kr

Vuxen (18–64 år)

350 kr

Pensionär (65 år och äldre)

250 kr

Skriv ett program där resenären kan mata in sin ålder, och få reda på rätt pris.

10 Skriv ett program som frågar efter en vinkel

och avgör om den är spetsig, rät eller trubbig.

16

Lektion 5

Djurparken

2

for x in range(1, 11):

pappans längd + mammans längd + 13 ___________________________________  ​ ​          2

Alla längder är i centimeter.

Skriv ett program där man kan mata in barnets kön och föräldrarnas längd och få veta ungefär hur långt barnet kommer att bli.

12 Här ser du betygs-

Betyg

gränserna på ett prov. Skriv ett program där man kan mata in sitt namn och sin provpoäng och få reda på sitt betyg.

Barn 200 kr

Elliott och Saida äger en djurpark. Till vänster ser du biljettpriserna.

1 Skriv ett program där man kan mata in antalet vuxna och antalet barn och få reda på det totala biljettpriset.

Vuxen 300 kr

2 En regnig dag säljer de 8 biljetter för totalt 2 200 kr. Hur många vuxna och hur många barn besökte djurparken denna dag? Lös uppgiften genom att fylla i en tabell liknande den här nedanför.

Poänggräns

Antal vuxna

A

50 poäng

B

42 poäng

C

34 poäng

D

26 poäng

3

E

19 poäng

13 När man arbetar och får lön måste man betala skatt. Här ser du en skattetabell. Lön (kr)

Skatt (%)

Mindre än 20 000

20 %

20 000­–30 000 Mer än 30 000

Antalet barn och vuxna är 8 tillsammans.

Antal barn

Total kostnad (kr)

0

8

0 ∙ 300 + 8 ∙ 200 = 1 600

1

7

1 ∙ 300 + 7 ∙ 200 = 1 700

2

6

Biljettpriset är 300 kr för en vuxen och 200 kr för ett barn.

Elliott skriver ett program som utför beräkningarna i tabellen.

for vuxna in range(0, 9):

#Vi låter antal vuxna vara 0, 1, 2… till och med 8.

barn = 8 - vuxna

#Antal barn är 8 minus antalet vuxna.

25 %

kostnad = 300 * vuxna + 200 * barn

30 %

#Det kostar 300 kr per vuxen och 200 kr per barn.

print("Om det är", vuxna, "vuxna och", barn, "barn, så är den totala kostnaden", kostnad, "kronor.")

Skriv ett program där man matar in sin lön och får veta a) sin skatt i kronor

b) sin lön efter skatt

14 Skriv ett program där man kan mata in

­ atientens vikt och få reda på hur mycket p ­medicin patienten ska ha. Vikt

Dos

Mindre än 20 kg

0,05 mg per kg

20–40 kg

0,10 mg per kg

Mer än 40 kg

0,15 mg per kg

3 Använd Elliotts program och besvara frågan. 4 Ändra i programmet så att det bara skriver ut den rätta lösningen.

Tips! Använd en if-sats.

5 En solig sommardag besökte totalt 230 personer djurparken.

De ­betalade totalt 61 600 kr i biljettintäkter. Hur många barn och vuxna besökte djurparken?

6 Efter en dag i djurparken räknar Saida hundralapparna och femhundra­ lapparna i kassan. Hon räknar till 65 sedlar värda 19 700 kr. Hur många sedlar finns det av varje valör?

aktivitet

17

A 2


Räkna med kod

Programmering i matematik

Liten ordlista i programmering Ord

Förklaring

algoritm

en följd av instruktioner som berättar hur man löser ett givet problem

avlusa

att hitta fel i koden

bugg

fel i koden

editor

en applikation där man kan skriva och redigera kod

Kommando

Räkna med kod

exekvera

att köra programmet

flyttal

ett sätt att spara tal som inte är heltal. När datorn lagrar flyttal sparas de inte ­alltid exakt.

float()

funktion

ett antal rader kod som man vill kunna anropa senare

def funktion:

indentering

ett tomt utrymme i början av en rad, ett indrag. På engelska indentation.

input

inmatning

kod

instruktioner i ett programspråk som kan tolkas av en dator

kompilator

en applikation som tolkar och utför instruktionerna i ett program

loop

se slinga

for, while

operator

en symbol för ett räknesätt eller en logisk operation

+, −, *, /, %, and, or

output

utmatning

print()

program

en följd av instruktioner i ett programspråk

programspråk

ett språk som används för att skriva instruktioner till en dator. Varje programspråk har sina egna kommandon (ord) och sin egen syntax (grammatik).

sats

den minsta enheten i ett programspråk, ofta en enskild rad i programmet

sekvens

en följd av instruktioner som ska utföras efter varandra

slinga

en bit kod som upprepas ett visst antal gånger

for, while

sträng

ett antal tecken i följd, t.ex. ett ord eller en mening

str()

syntax

regler för hur man skriver satser i program­språket, till exempel att man använder kolon efter for-kommandot eller parenteser efter print

variabel

minnesplats där ett värde sparas

villkorssats

en instruktion som innebär att programmet utför en bit kod bara om ett visst ­villkor är uppfyllt, annars utför programmet en annan bit kod

input()

Programmering i matematik

I Räkna med kod – programmering i matematik får eleverna lära sig grunderna i p ­ rogramspråket Python samtidigt som de löser matematiska problem. Häftet består av 12 lektioner i programmering och riktar sig till elever på högstadiet och gymnasiet. Häftet kan användas fristående men också som ett komplement till läromedlen Matte Direkt, Prio Matematik och Matematik Origo. Räkna med kod – programmering i matematik består av ett elevhäfte och en lärarguide. Läro­ medlet finns även som digital bok med instruktionsfilmer och ledtrådar till utvalda uppgifter.

ISBN 978-91-523-5541-1

if, else, elif

import turtle as t for x in range (60): t.forward(100) t.left(45) t.forward(150) t.left(110) t.forward(120) t.left(83) t.forward(185) t.left(6)


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.