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:

  1. Ange namn och ålder.
  2. Få ett personligt meddelande som visar när hen fyller 100 år.
  3. 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 och print() för att visa resultat.
  • Strukturera koden så den är läsbar, uppdelad och återanvändbar.

Förslag på arbetsgång

  1. Pseudokod: Beskriv först i ord vad programmet ska göra. Dela upp det i steg: vilka beslut ska tas och vad ska upprepas?
  2. Funktioner: Skapa en funktion som hämtar namn och ålder, och en funktion som räknar ut vilket år användaren fyller 100.
  3. Struktur: Använd en while-loop för menyn och avsluta med break eller 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 2 innan du har angett namn och ålder
  • välja 1, fylla i namn och ålder, och sedan välja 2
  • välja 3 för att avsluta programmet
1. Ange namn och ålder 2. Beräkna när du fyller 100 år 3. Avsluta Välj ett alternativ och tryck på Kör val.

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?

Tillbaka till Kapitel 1