Læringsmål:

  • Tilfeldige tall
  • FOR-løkker
  • While-løkker
  • Betingelser

Pensum:

  • 3.3 - Input and Output
  • 3.7 - User-Defined Functions That Return a Single Value
  • 4.1 - The if statement
  • 4.2 - The if-else statement
  • 4.3 - Nested if-else statements
  • 5.1 - The for loop
  • 5.3 - While loops
  • 5.4 - Loops with Vectors and Matrices

 

Du skal i denne oppgaven lage en lottosimulator. 

Reglene er som følger:

  • Det trekkes ut 7 hovedtall + 3 tilleggstall fra og med 1 til og med 34. Alle tallene som trekkes skal være unike.
  • Premier deles ut basert på følgende tabell:
PremiegruppePremie (kr)
7 rette2 749 455
6 rette + 1 tilleggstall102 110
6 rette3 385
5 rette95
4 rette + 1 tilleggstall45

 

 

a) Lag listen pool som inneholder alle heltall fra og med 1 til og med 34.

 

 

b) Du har lest uttallige medieoppslag om folk som har spilt samme lottorekke i mange år, gjerne bestående av 1,2,3,4,5,6,7 eller lignende. Siden du går på NTNU, vet du at dette ikke er en rasjonell måte å spille lotto på. Du vil derfor lage en funksjon som returnerer en tilfeldig lottorekke. Lag funksjonen getTicket(pool, N) som returnerer en liste med N tilfeldige tall trukket fra pool. Husk at tallene må være unike.

Eksempel på kjøring:
 >> getTicket(pool, 7)
ans =
       28  23  11  33  2  15  13

    

 

c) Lag funksjonen compareLists(list1, list2) som sammenligner to lister med tall. Antall like tall i listene skal returneres. Det trengs ikke å ta stilling til hvorvidt et tall forekommer flere ganger.

Eksempel på kjøring:
>> compareLists([1,2], [2,3,4])
ans =
        1



d) Lag funksjonen prizeSize(correctNumbers, correctAdditionalNumbers) som tar inn antall riktige tall og tilleggstall og returnerer størrelsen på premien som er vunnet.

Eksempel på kjøring:
>> priseSize(0, 3)
ans =
        0
>> priseSize(4, 1)
ans =
        45

 

 

e) Funksjonene skal settes sammen slik at dette blir en fullverdig lottosimulator for en lottorekke. Tallene som skal trekkes ut, både hoved- og tilleggstallene, kan legges i samme liste. Deretter skal du bruke funksjonene du har laget til å bestemme hvor mye premien blir. Husk at en lottokupong inneholder 10 lottorekker.

Hint: For at lottosimulatoren skal være spennende, kan du bruke funksjonen pause()

Eksempel på kjøring:
>> lottoSimulator
    Din kupong:
    Rekke 1: 4 8 12 14 30 31 32 
    Rekke 2: 3 4 7 8 10 18 27 
    Rekke 3: 15 17 26 27 28 29 31 
    Rekke 4: 6 8 12 14 24 28 33 
    Rekke 5: 2 5 10 15 17 26 27 
    Rekke 6: 2 5 9 11 17 25 29 
    Rekke 7: 9 20 30 31 32 33 34 
    Rekke 8: 1 2 3 8 9 25 29 
    Rekke 9: 1 4 14 16 24 31 32 
    Rekke 10: 2 7 10 20 24 28 33 

    Trukne tall:
    4 31 23 24 1 25 6 
    Tilleggstall:
    14 19 12 
    Du har vunnet: 45 kroner

     

  

f) Du ønsker å finne ut hvorvidt det er lønnsomt å investere studielånet ditt på å spille Lotto. En lottorekke koster 5,-. Finn ut hvor mye du sitter igjen med dersom du bruker neste utbetaling (7400,-) på lotto.