«

»

Apr 13

En lektion om Primtal & delbarhet – med programmering

Jag har konstruerat en lektion innehållande programmering för Matematik 1. Jag vill genom detta blogginlägg dela lektionen. (Inläggets utvalda bild på Eratosthenes har Wikimedia som källa)

Centralt innehåll

  • Egenskaper hos mängden av heltal, olika talbaser samt begreppen primtal och delbarhet.
  • Strategier för matematisk problemlösning inklusive modellering av olika situationer, såväl med som utan digitala verktyg och programmering.  
  • Matematiska problem med anknytning till matematikens kulturhistoria.

Lektionsmål

  • Att veta vad primtal, sammansatta tal, delare och faktorer är.
  • Att kunna faktorisera ett heltal.
  • Att använda programmering som verktyg vid problemlösning.

Svårighetsgrad (1-5)

2

Lektionslängd

80 min

Programmeringsbegrepp

Iteration, selektion, modulo-operatorn, (listor)

Genomgång i helklass (10 minuter)

Förevisa tre högar med stenar (kan vara prickar på tavlan). Högarna har 4,5, och 6 stenar. Visa att man kan bygga olika rektanglar med stenarna i varje hög.

Dock kan vi med högen med 5 stenar bara göra en typ av rektangel, en rad med stenar. De tal som bara kan bli en rad med stenar kallas primtal. De tal som inte är primtal kallas för sammansatta tal och är uppbyggda av primtal. Kommer talet 1 111 111 ligga i en enda lång rad eller kommer det finns flera möjliga rektanglar? Hur kan man avgöra hur många möjliga rektanglar det finns?

Ett sätt att hitta primtal är att använda Eratosthenes såll som har algoritmen:

  1. Gör en lista över alla tal från 2 till något valbart största tal n.
  2. Talet 2 är det första primtalet.
  3. Stryk alla tal i listan som är större än 2 och en multipel av 2.
  4. Listans nästa tal som inte är struket är ett nytt primtal.
  5. Stryk alla tal i listan som är både större än det primtalet du hittade i föregående steget och en multipel av det.
  6. Upprepa steg 4 och 5 tills det inte finns fler tal att stryka.
  7. Alla kvarstående tal i listan är primtal.

 

EPA: (10 minuter)

Genomför en övning i form av en EPA (Enskilt-par alla). Eleverna tänker först enskilt 2 minuter, diskuterar sedan i par i 4 minuter och deras tankar sammanfattas sedan i en lärarledd helklassdiskussion under 4 minuter. Diskutera kring följande frågeställning:

Hur vet vi att programmet motsvarar algoritmen för Eratosthenes såll? (Dela filen t ex med hjälp av Google Classroom så att varje elev får en kopia av filen, programmet är skrivet i Google Colaboratory).

Genomgång i helklass (5 minuter)

Ett sätt att avgöra om ett tal kan vara en sidlängd i en rektangel är att kontrollera om antalet stenar är det är delbart med talet. För att testa delbarhet med hjälp av programmering kan man studera resten vid division.

Exempel: Division med fyra

5 = 4·1 + 1

6 = 4·1 + 2

7 = 4·1 + 3

8 = 4·2 + 0

9 = 4·2 + 1

När resten blir 0 så har divisionen gått jämnt upp. I Python 3 görs det med hjälp av %.

Exempel:

5 % 4 = 1

6 % 4 = 2

7 % 4 = 3

8 % 4 = 0

9 % 4 = 1

Grupparbete/Helklass: (10 minuter)

  1. För elever som kan programmera. Grupper om 2-3 elever
    Konstruera ett program som testar ett tals delbarhet med givet tal, tex 7 och därefter med godtyckligt tal.
  2. För elever som inte kan programmera.
    Eleverna och läraren skapar t ex varsin Pythonfil, t ex ett Google Colaboratory – dokument. Läraren visar sitt med hjälp av projektor. I en lärarledd helklassdiskussion diskuterar man fram hur man konstruerar ett program som testar ett tals delbarhet med givet tal och därefter med godtyckligt tal.

Dokument med lösningsförslag.

Genomgång (10 minuter)

En delare till ett givet tal är ett tal som ger resten 0 vid division. Detta leder till en definition av vad som avses med ett primtal.

Definition

Ett positivt heltal som är större än 1 och som bara har de positiva delarna 1 och sig självt är ett primtal. Ett tal som har fler än två positiva delare kallas för ett sammansatta tal.

Exempel

12 har delarna 1,2,3,4,6 och 12, talet är ett sammansatt tal.

13 har delarna 1 och 13, talet är ett primtal.

Delarna kan användas för att faktorisera ett tal. Faktorn 1 brukar inte skrivas ut.

Exempel

12 = 2·6 = 3·4

75 = 3·25 = 5·15

24 = 2·3·4 = 3·8

De två delare som multiplicerat med varandra bildar talet motsvarar också en möjlig rektangel.

Om talet faktoriseras så att alla faktorer är primtal så har man primtalsfaktoriserat talet.

Exempel

12 = 2·6 = 2·2·3

75 = 3·25 = 2·5·5

24 = 2·2·2·3

Om man har ett stort tal blir det för jobbigt att primtalsfaktorisera det för hand. Därför brukar datorprogram få göra jobbet.

Exempel

1 111 111 = ?

Fortsatt grupparbete (25 minuter)

Eleverna ska i grupper om 2-3 göra program för att hitta ett givet tals samtliga delare genom att utnyttja koden de redan skrivit. Använd programmet för att hitta delarna till 1 111 111.

Därefter ska de som har tid göra ett program som primtalsfaktoriserar ett givet tal (*svårare). Primtalsfaktorisera talet 2 131 117.

Dokument med lösningsförslag.

Helklassdiskussion (10 minuter)

Sammanfatta lektionen. Låt någon elevgrupp visa sin lösning.

Elevutvärdering i form av en exit ticket (5 minuter)

Elever svarar enskilt på frågorna t ex med hjälp av ett Google formulär:

  • Detta lärde jag mig idag:
  • Detta vill jag lära mig mer om:
  • Detta saknade jag på lektionen idag:
  • Jag tycker att jag uppfyllde lektionsmålen idag:
    Instämmer helt, Instämmer delvis, Instämmer inte alls.
  • Jag tycker att programmering är ett lämpligt verktyg för lösning av uppgiften
    Instämmer helt, Instämmer delvis, Instämmer inte alls.

Kommentera

E-postadressen publiceras inte. Obligatoriska fält är märkta *

Du kan använda följande HTML etiketter och attribut: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>