Alt om uke 36
- Authors
Ole Christian Lingjærde (ole at ifi.uio.no) og Joakim Sundnes (sundnes at ifi.uio.no)
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.
- Funksjoner gjør det mulig å sette et navn på en gruppe av programsetninger. Hvis vi senere ønsker å få utført disse setningene, kan vi ganske enkelt oppgi navnet (i stedet for å huske alle enkeltsetningene). Dette er utrolig nyttig i mange sammenhenger: det blir enklere å programmere, programmene blir mer oversiktlige, og programmene blir ofte kortere også. Det finnes mange ferdiglagede funksjoner i Python (mange av dem ligger inni såkalte "moduler"). For eksempel finnes det (ikke overraskende) en funksjon som heter sin() og som kan brukes til å beregne sinus av en vinkel. Når vi bruker denne funksjonen, vil det utføres en lang rekke programoperasjoner som utfører beregningen av sinusverdien. Disse programoperasjonene trenger vi lykkeligvis ikke å se eller å vite om. Python-funksjoner kan ha null, ett eller flere argumenter. De kan også returnere null, en eller flere verdier. I kurset skal du også lære om og få mye erfaring med å skrive dine egne funksjoner.
- Forgreninger (branching) er en mekanisme som gjør det mulig for et program å "gå i ulike retninger" avhengig av hva som har hendt så langt under programkjøringen. 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 (11 siffer) fra bruker 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 svært sentralt 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 kan bare mestres ordentlig ved å både se mange eksempler og (viktig) lage mange eksempler selv. 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 Padlet 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.