Labb 3

Gör följande tre uppgifter. Kraven måste uppfyllas för att man ska få godkänt.


Uppgift 1: Nästlade slingor

Skriv ett program som frågar efter två tal mellan 1 och 9 och sedan skriver ut multiplikationstabellen för de två talen som bilden visar nedan:

Scenario:

Ange antal rader: 3
Ange antal kolumner: 7

 1  2  3  4  5  6  7
1  1  2  3  4  5  6  7
2  2  4  6  8 10 12 14
3  3  6  9 12 15 18 21

Krav: man ska använda sig av nästlade while-slingor.
Tabellen ska vara fint formaterad precis som i ovanstående exempel och alltså INTE som i nedanstående exempel, där tal med två siffror hamnat under fel kolumn (titta i föreläsning 2 formatering av strängar):

  1 2 3 4 5 6 7
1 1 2 3 4 5 6 7
2 2 4 6 8 10 12 14
3 3 6 9 12 15 18 21

Uppgift 2: Nästlade slingor och listor


Skriv ett program som använder nästlade slingor för att samla in data och beräkna genomsnitt av temperaturer över ett antal år. Programmet ska fråga vilka år det gäller. Den yttre slingan ska iterera över antalet år. Den inre slingan ska gå runt tolv gånger, en gång för varje månad. I varje iteration av den inre slingan ska programmet be användaren om högsta temperatur för den månaden. Efter all inmatning visar programmet en tabell med alla inmatade temperaturer för varje år, där absolut högsta temperatur (taget över alla år) ska markeras med AHT och högsta temperatur för varje år ska markeras med HTÅ. Den genomsnittliga temperaturen för varje år ska också presenteras. En exempelkörning av programmet skulle kunna se ut som nedan:

Hur många år vill du mata in? 2

Vilket år är 1:a året? 2007
månad 1: 7
månad 2: 10
månad 3: 14
månad 4: 18
osv...t.o.m månad 12.

Vilket år är 2:a året? 2009
månad 1: 6
månad 2: 11
månad 3: 13
månad 4: 17
osv...t.o.m månad 12.

Sammanställning:
År 2007:
månad 1: 7
månad 2: 10
...
månad 7: 36 (AHT)(HTÅ)
...osv
genomsnittlig temperatur år 2007: 15.4

År 2009:
månad 1: 6
månad 2: 11
...
månad 6: 30 (HTÅ)
månad 7: 30 (HTÅ)
...osv
genomsnittlig temperatur år 2009: 17.3


Krav: Den yttre slingan ska vara en while-slinga och inre slingan ska vara en for-slinga. Man ska använda listor för att lagra alla värden. Med avseende på det vi har lärt oss hittills ska man så mycket som möjligt undvika kodupprepningar.

Uppgift 3: Funktioner och slingor

Ett primtal är ett positiv tal som bara är jämnt delbart med sig självt och 1. Exempel: Talet 7 är ett primtal eftersom det endast kan divideras med 1 och 7. Talet 4 är dock inte ett primtal eftersom talet 4 är jämnt delbart med 1, 2 och 4. Skriv en boolesk funktion is_prime som tar ett heltal som parameter och returnerar True om parametern är ett primtal och Falskt annars. Använd sedan funktionen i ett program som frågar användaren efter två olika positiva tal. Programmet presenterar sedan en lista över alla primtal mellan de två positiva talen. Observera att det finns ett undantag och det är att talet 1 är inte ett primtal.

Scenario:
Från vilket tal: 3
Till vilket tal: 13

Primtalen från 3 till 13 är:
3
5
7
11

Krav: Programmet ska bestå av en slinga och en funktion med en parameter. Inga inläsningar (t.ex input ) eller utskrifter (t.ex print()) ska finnas i funktionens definition.

Feedback News