Tema denne uken er kapittel 3 i l?reboka. Kapittelet introduserer to nye og fundamentale konsepter i programmering: funksjoner og forgreninger. Begge deler kommer til ? bli brukt i oppgaver hver eneste uke gjennom h?sten. Kort forklaring:
- Funksjoner i Python kan litt enkelt sammenliknes med matematiske funksjoner. S? snart de er definert, kan vi sette inn en verdi (argumentet) og f? returnert en ny verdi som svar (funksjonsverdien). Python-funksjoner kan ha null, ett eller flere argumenter. De kan ogs? returnere null, en eller flere verdier. Hittil i kurset har vi brukt mange ulike funksjoner som er forh?ndsdefinert i Python. Eksempler er funksjonene sin(..), cos(..), tan(..) og sqrt(..) i math-modulen. Vi har ogs? sett mange eksempler p? funksjoner for ? manipulere lister (se f.eks. tabellen p? side 75-76 i l?reboka). N? skal vi ogs? l?re ? skrive egne funksjoner. Vi skal se at dette er en utrolig nyttig konstruksjon som gj?r programmene enklere og mer oversiktlige - og morsommere ? skrive!
- Forgreninger (branching) er en mekanisme som gj?r det mulig for et program ? utf?re ulike instruksjoner i ulike situasjoner. Dette er sv?rt nyttig og brukes ofte. Et (banalt) eksempel er at du ?nsker ? regne ut verdien av et uttrykk som avhenger av en verdi x, og hvor uttrykket er definert p? forskjellige m?ter om x < 0 eller x >= 0. Et annet eksempel kunne v?re at programmet leser et f?dselsnummer fra bruker (mer om dette i kapittel 4!) og avhengig av om f?dselsnummeret er lovlig eller ikke s? skal det enten lagres eller det skal skrives en feilmelding til bruker.
Kapittel 3 er et ganske krevende kapittel og det er viktig at du leser l?reboka n?ye og at du overbeviser deg om at du forst?r detaljene i de enkelte eksemplene. B?de funksjoner og forgreninger er mye enklere ? forst? med eksempler. Og bruk alle tilgjengelige metoder for ? trenge inn i stoffet: les det aktuelle stoffet i l?reboka flere ganger, diskuter med dine medstudenter, v?r aktiv p? gruppetimene, og bruk det digitale samtalerommet Piazza hvor du b?de kan stille sp?rsm?l og lese andres sp?rsm?l og svar. Og sist men ikke minst: gj?r mange oppgaver!
L?ringsm?l for uke 36: * Vite hva en funksjon er, og hvordan de brukes i Python
- Kunne implementere egne funksjoner, med riktig bruk av argumenter, innrykk og returverdi (return)
- Vite hvordan if-tester fungerer, og kunne bruke dem i egne programmer.