Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # kyselyn_apinaveikkaus.jl
- # Julia-ohjelma
- # Monivalintatehtävän apinaveikkaus
- # Esitetään n kysymystä
- # Kussakin kysymyksessa on m vaihtoehtoa, joista vain yksi on oikea
- # Lasketaan apinaveikkauksen todennäköisyydet oikeiden vastausten määrille
- # sekä tätä paremmille tai huonommille veikkauksille
- # Laskenta perustuu binomitodennäköisyyteen
- # Juhani Kaukoranta 3.11.2019
- using Printf
- println("Anna monivalintakysymysten lukumäärä")
- ntxt = readline()
- n = parse(UInt,ntxt)
- println("Anna yksittäisen kysymyksen vastausvaihtoehtojen lukumäärä ")
- ntxt = readline()
- m = parse(UInt,ntxt)
- # oikean todennäköisyys p,väärän todennäköisyys 1 -p
- p = 1.0/m
- # huonommin kuin k oikein
- function huonommin(k)
- if k == 0
- return 0
- end
- sum = 0
- for i = 0 : k-1
- sum += binomial(n,i)*p^i*(1-p)^(n-i)
- end
- return sum
- end
- # apinaveikkaus paremmin kuin k oikein
- function paremmin(k)
- if k == n
- return 0
- end
- sum = 0
- for i = k+1: n
- sum += binomial(n,i)*p^i*(1-p)^(n-i)
- end
- return(sum)
- end
- println()
- println("Jos apina veikkaisi, saataisiin todennäköisyystaulukko:")
- println()
- for k = 0 : n
- @printf("Tasan %2.0f oikein %1.7f paremmin = %1.7f huonommin = %1.7f\n",k,binomial(n,k)*p^k*(1-p)^(n-k),paremmin(k),huonommin(k))
- #println("Tasan %2.0f",k," oikein = %1.7f",binomial(n,k)*p^k*(1-p)^(n-k)," paremmin = ","%1.7f", paremmin(k)," huonommin = ","%1.7f",huonommin(k))
- end
- @printf("Odotusarvo apinaveikkauksen oikeiden vastausten määräksi = %2.1f\n",p*n)
Advertisement
Add Comment
Please, Sign In to add comment