Kmom: repetition
I detta kursmoment ska du repetera allt du lärt har dig i de tre första kursmomenten. Eftersom de kursmoment som inleder kursen är grunder för fortsättningen är det viktigt att du har en god förståelse för dessa.
“Repetition är kunskapens moder” är ett ordspråk som betyder att upprepad övning är nödvändig för att lära sig och behärska något. Ordspråket kommer ursprungligen från latinets “Repetitio est mater studiorum” och betonar att kunskap byggs upp och befästs genom att upprepa information, vilket skapar bestående minnen och färdigheter.
För att repetera och befästa dina kunskaper bör du gå igenom de övningar, uppgifter och seminarier som ingått i kmom01, kmom02 och kmom03. Du hittar dessutom några extra implementationsuppgifter här:
Inmatning, utmatning, beräkning, selektion, iteration
Section titled “Inmatning, utmatning, beräkning, selektion, iteration”-
Gör ett program som ber användaren mata in två heltal och avgöra vilket av dessa som är störst. Exempelvis
Mata in två heltal så ska jag presentera dem i storleksordning. Tryck enter efter respektive tal.3465ordningen är 34 65Mata in två heltal så ska jag presentera dem i storleksordning. Tryck enter efter respektive tal.7765ordningen är 65 77Mata in två heltal så ska jag presentera dem i storleksordning. Tryck enter efter respektive tal.5555ordningen är 55 55 -
Gör ett program som låter användaren mata in en sträng. Programmet ska bestämma antalet förekomster av bokstaven o.
-
Gör ett program som skriver ut multiplikationstabellen för ett heltal som användaren matar in. Exempelvis
Mata in talet: 5Här är multiplikationstabellen för 5:1 * 5 = 12 * 5 = 103 * 5 = 154 * 5 = 205 * 5 = 256 * 5 = 307 * 5 = 358 * 5 = 409 * 5 = 45 -
Utöka programmet som skriver ut multiplikationstabellen så att användaren får svara på frågan om hen vill skriva ut ytterligare en tabell, vilket ska fortgå tills dess att användaren svara “nej”.
-
Gör ett program som låter användaren tävla mot “datorn” genom att välja ett tärningsvärde [1..6] och se om detta värde förkommer fler gånger än “datorns” valda tärningsvärde på 10 kast. Använd “konstant” som håller antalet 10.
Exempelvis:
Vilket tärningsvärde [1..6] satsar du på? 4Jag satsar på 2Tryck <enter> för att slumpa de 10 kasten.4 5 1 2 1 4 6 3 6 4Det blev 3 kast med värdet 4 och 1 kast med värdet 2. Du vann! -
Lägg till kontroller så att användaren får göra om sin inmatning om det inte är ett värde inom [1..6].
Exempelvis:
Vilket tärningsvärde [1..6] satsar du på? 0Inte inom [1..6].Vilket tärningsvärde [1..6] satsar du på? 7Inte inom [1..6]Vilket tärningsvärde [1..6] satsar du på? 4Tryck <enter> för att slumpa de 10 kasten.4 5 1 2 1 4 6 3 6 4Det blev 3 kast med värdet 4 och 1 kast med värdet 2. Du vann! -
Skriv ett program som frågar hur många rundor som spelats och sedan läser in poängen för varje runda. Slutligen skrivs den totala poängen ut.
Hur många rundor? 3Poäng: 10Poäng: 7Poäng: 12Total poäng: 29 -
Skriv ett program som avgör om en spelare har tillräckligt med guldmynt eller ej. Programmet ska fråga hur många skatter som hittats och läsa in hur mycket guld varje skatt innehåller. Slutligen presenteras hur mycket guld det är total. Om det är minst 100 guld ska “Du är rik” skrivas ut och annars ska “Du behöver mer guld” skrivas ut.
Funktioner
Section titled “Funktioner”-
Skriv en funktion
invitationsom tar ett namn som parameter och skriver ut en inbjudan. Exempelvis om namnet är “Stina Larsson” så ska funktionen skriva ut :Välkommen på festen i kväll Stina Larsson!Gör ett anrop med namnet “Kalle” och ett anrop med namnet “Lisa Larsson”
-
Skriv en funktion
calculate_pricesom beräknar och returnerar 15 % rabatt om priset är mellan 100 och 500 kronor. Är priset däremot 500 eller mer ges istället 20 % rabatt. Ingen utskrift eller inmatning får utföras inom funktionen. Funktionen ska ta priset som parameter och returnera den summa som rabatten motsvarar (inte ändra priset).Anropa funktionen för de olika priserna 50, 333 och 900 och presentera resultatet med max två decimaler.
-
Skriv en funktion
ok_passwordsom kontrollerar att ett lösenord uppfyller kraven:- är minst 8 tecken långt
- innehåller minst ett av tecknen #, ?, &
- har inga blanka tecken (mellanslag)
Funktionen ska returnera sant (True) om kraven är uppfyllda och falskt (False) annars. Ingen utskrift eller inmatning får utföras inom funktionen.
Anropa funktionen och kontrollera att det blir korrekt resultat genom att testa olika varianter av fel lösenord och några varianter som är korrekta.
-
Skriv en funktion
isoceles_right_angle_trianglesom tar emot en sidlängd och presenterar en likbent rätvinklig triangel genom att skriva ut #. Några exempel:längden är här 4##########längden är här 7############################ -
Ändra funktionen så att den har ett default-argument för vilket tecken som ska användas. Defaultvärdet ska vara tecken #.
längden är här 4 och tecknet är *********** -
Skriv en funktion som slumpar och returnerar ett spelkort. Ett spelkort har en av färgerna Spader, Ruter, Hjärter och Klöver. Det finns 13 kort i varje färg och dessa 13 kort har värdena 2 till och med 14.
Anropa funktionen det antal gånger användaren matar in.
Exempel på en körning:
Hur många kort vill du slumpa? 3Spader 4Ruter 11Hjärter 6Obs: Det kan bli så att samma kort slumpas flera gånger. Det är ok.
-
Ändra så att kortens värden istället blir 2 t.o.m 10 och dessutom Knekt (tidigare värde 11), Dam (tidigare värde 12), Kung (tidigare värde 13), Ess (tidigare värde 14).
Exempel på en körning:
Hur många kort vill du slumpa? 4Spader 5Ruter KnektHjärter 6Hjärter Ess