Programmering nivå 2
Kap 1.8 – Miniuppgift: struktur och funktioner
Planera och bygg ett enklare menyprogram med funktioner, villkor och loopar.
Mål med lektionen
När du har arbetat klart med denna lektion ska du:
- Ha planerat och genomfört ett enklare Pythonprogram.
- Ha tränat på att använda funktioner, villkor, loopar och inmatning.
- Ha strukturerat koden i en tydlig huvudfunktion och minst två egna funktioner.
- Kunna följa en arbetsgång från pseudokod till fungerande program.
Så här lär du dig bäst
Denna lektion är en möjlighet att visa vad du lärt dig under Modul 1. Försök arbeta självständigt, men våga använda AI för att få tips, kontrollera logik eller få förslag på förbättringar. Gå gärna tillbaka till tidigare lektioner och använd strukturer därifrån som mall.
Uppgift: Interaktivt valprogram
Skapa ett program som fungerar som en enkel meny där användaren kan:
- Ange namn och ålder.
- Få ett personligt meddelande som visar när hen fyller 100 år.
- Upprepa eller avsluta.
Programkrav
- Programmet ska ha en huvudfunktion
main(). - Du ska skapa minst två egna funktioner med in- och utdata.
- Använd loop för att hålla igång programmet tills användaren väljer att avsluta.
- Använd villkor för att hantera val i menyn.
- Använd
input()för att hämta information ochprint()för att visa resultat. - Strukturera koden så den är läsbar, uppdelad och återanvändbar.
Förslag på arbetsgång
- Pseudokod: Beskriv först i ord vad programmet ska göra. Dela upp det i steg: vilka beslut ska tas och vad ska upprepas?
- Funktioner: Skapa en funktion som hämtar namn och ålder, och en funktion som räknar ut vilket år användaren fyller 100.
-
Struktur: Använd en
while-loop för menyn och avsluta medbreakeller en logisk kontroll.
Exempel på meny
1. Enter name and age
2. Calculate 100-year message
3. Exit
Kodmall
Kopiera mallen till din editor och fyll i delarna som saknas. Använd det nuvarande året i beräkningen.
def hamta_namn():
# Fråga efter namn och returnera svaret.
pass
def hamta_alder():
# Fråga efter ålder och returnera ett heltal.
pass
def berakna_ar_for_100(alder):
nuvarande_ar = 2026
# Beräkna och returnera året då personen fyller 100.
pass
def main():
namn = ""
alder = 0
while True:
print("1. Ange namn och ålder")
print("2. Beräkna när du fyller 100 år")
print("3. Avsluta")
val = input("Välj ett alternativ: ")
# Hantera menyvalen med if, elif och else.
# Anropa funktionerna ovan där de behövs.
# Avsluta loopen när användaren väljer 3.
pass
main()
Interaktivt exempel: valprogram steg för steg
Testa samma programflöde direkt på sidan. Välj ett alternativ, kör valet och titta på resultatet innan du väljer nästa steg.
Prova till exempel att:
- välja
2innan du har angett namn och ålder - välja
1, fylla i namn och ålder, och sedan välja2 - välja
3för att avsluta programmet
Programmering 2-koppling: exemplet binder ihop funktioner, returvärden, menyval, villkor och en loop som håller programmet igång.
Bedömningsfokus i denna uppgift
- Har du använt funktioner på ett tydligt och meningsfullt sätt?
- Är koden uppdelad, läsbar och kommenterad där det behövs?
- Hanterar programmet upprepning och val korrekt?
- Visar du förståelse för programflöde och logik?
När du har försökt själv: visa lösningsförslaget på GitHub.
Reflektion
- Vilka delar gick lätt? Vad blev du osäker på?
- Hur kan du förbättra programmets struktur eller användarvänlighet?
- Vad är nästa steg du vill kunna i programmering?