Summan av två tärningar: Skillnad mellan sidversioner

Från Wikiskola
Hoppa till navigering Hoppa till sök
(Skapade sidan med 'Kategori:Python Kategori:Ma2c Kategori:Statistik Kategori:Sannolikhetslära {{python|Python-hjälp och [https://wikiskola.se/index.php?title{{=}}K...')
 
 
(6 mellanliggande sidversioner av samma användare visas inte)
Rad 8: Rad 8:
Målet är inte att du ska lära dig programmering på matematiklektionen men det är oundvikligt att du ändå lär dig lite Python-kod.  
Målet är inte att du ska lära dig programmering på matematiklektionen men det är oundvikligt att du ändå lär dig lite Python-kod.  
}}
}}
== Tärningskast simulerade i GeoGebra ==
Klicka på Roll och fundera över fördelningens utseende.
<html>
<iframe scrolling="no" title="" src="https://www.geogebra.org/material/iframe/id/aya35gXH/width/800/height/450/border/888888/sfsb/true/smb/false/stb/false/stbh/false/ai/false/asb/false/sri/false/rc/false/ld/false/sdz/false/ctl/false" width="800px" height="450px" style="border:0px;"> </iframe>
</html>


== Kast med två tärningar ==
== Kast med två tärningar ==
När du tröttnat på att klicka kör du detta program för att få fram frekvensen av summorna. Nu får du använda GeoGebra för att visualisera utfallet.


{{uppgruta|'''Hur fördelar sig summan av två tärningar?'''
{{uppgruta|'''Hur fördelar sig summan av två tärningar?'''
Rad 16: Rad 26:


# Kör programmet så att du får en frekvenstabell
# Kör programmet så att du får en frekvenstabell
# Skriv in dina data i lämpligt kalkylprogram och rita ett stapeldiagram
# Skriv in dina data i lämpligt kalkylprogram och rita en graf
# Rita in en normalfördelningskurva
# Rita in en normalfördelningskurva
# Ser dina data ut att vara normalfördelade?
# Ser dina data ut att vara normalfördelade?
# Vad är medelvärdet och standardavvikelsen?
# Vad är medelvärdet och standardavvikelsen?
# Använd dina kunskaper i sannolikhetslära och förklara hur fördelningen borde se ut
# Modifera programmet till att addera tre, fyra och många tärningar. Finner du någon normalfördelning nu?
}}
}}


Rad 40: Rad 52:


for k in rolls:
for k in rolls:
         print('%d - %d %f%%' %(k, rolls[k], float(rolls[k])/float(num)*100))
         print('%d , %d ' %(k, rolls[k] ))
</pre>
</pre>
En kod som även printar procentandelar finns på diskussionssidan.


== Tack! ==
== Tack! ==
Uppgiften är skapad av Håkan Elderstig med kod från [https://stackoverflow.com/questions/23598952/rolling-two-dice-and-tabulating-outcomes Stack overflow].
Uppgiften är skapad av Håkan Elderstig med kod från [https://stackoverflow.com/questions/23598952/rolling-two-dice-and-tabulating-outcomes Stack overflow].

Nuvarande version från 25 april 2019 kl. 22.12

Programmeringsuppgift

Python-hjälp och Fler uppgifter

Mål för undervisningen Kom igång med programmering i matematiken.

Målet är att du ska köra ditt första program för att utföra matematiska beräkningar. Du bör testa att modifiera algoritmen så att dina beräkningar blir mer effektiva.

Målet är inte att du ska lära dig programmering på matematiklektionen men det är oundvikligt att du ändå lär dig lite Python-kod.


Tärningskast simulerade i GeoGebra

Klicka på Roll och fundera över fördelningens utseende.

Kast med två tärningar

När du tröttnat på att klicka kör du detta program för att få fram frekvensen av summorna. Nu får du använda GeoGebra för att visualisera utfallet.

Uppgift
Hur fördelar sig summan av två tärningar?

Följande program slumpar fram kast med två tärningar. Detta upprepas så många gånger som du anger och frekvensen av varje utfall (tärningssumma) anges i utskriften.

  1. Kör programmet så att du får en frekvenstabell
  2. Skriv in dina data i lämpligt kalkylprogram och rita en graf
  3. Rita in en normalfördelningskurva
  4. Ser dina data ut att vara normalfördelade?
  5. Vad är medelvärdet och standardavvikelsen?
  6. Använd dina kunskaper i sannolikhetslära och förklara hur fördelningen borde se ut
  7. Modifera programmet till att addera tre, fyra och många tärningar. Finner du någon normalfördelning nu?


Koden

import random

num = int(input('How many rolls do you want to simulate? '))

rolls = {}
for k in range(2, 13):
        rolls[k] = 0


for k in range(num):
        first = random.randint(1, 6)
        second = random.randint(1, 6)
        rolls[first+second]+=1

for k in rolls:
        print('%d , %d ' %(k, rolls[k] ))

En kod som även printar procentandelar finns på diskussionssidan.

Tack!

Uppgiften är skapad av Håkan Elderstig med kod från Stack overflow.