Kontrollstrukturer

Introduksjon

Denne oppgaven er i kategorien "Tolke kode".

Formålet med denne oppgaven er å bli kjent med kontrollstrukturer i Go. Oppgaven er basert på "A Tour of Go" (avsnitt "Flow control statements: for, if, else, swicht and defer").

Tidsbruk og tips

Dette avsnittet er skrevet i 2. person for å formidle budskapet bedre.

Beregn ca. 2 timer for å gå gjennom guiden og ca. 1 time for quizen. Du kan også gå raskere gjennom guiden for første gang, notere vanskeligheter og gå gjennom flere ganger på et senere tidspunkt. Bruk kun dokumentajon fra standarbiblioteket eller brukerguider til Go. Unngå å søke opp andre kilder. Da vil du bli vandt til å alltid søke hjelp i de offisielle spesifikasjonene til Go.

Du kan samarbeide med andre på denne oppgaven, men unngå å bruke andres løsninger direkte (det er juks og du lurer deg selv). Du kan bruke andre for å sjekke din forståelse av ting og ikke for å få en ferdig løsning.

Quizen vil være tilgjengelig i Canvas fredag 20. Januar 2023 10:15. Hvis du må bruke mer tid en antydet både for studier og quizen, søk hjelp.

Mer om evaluering

Husk at svarene dine som er feil, er av mye større verdi enn de som er riktig. Feil svar gir oss muligheten til å forstå hva du eventuelt har misforstått. Derfor skal vi evaluere oppgaven ved å se om du har fulgt våre anbefalinger om fremgangsmåten som beskrevet i "Tolke kode".

Tour of Go: "Flow control statements: for, if, else, switch and defer"

Du trenger ikke å installere "Tour of Go" pakken lokalt, som anbefalt på side 3 i "Welcome". Vi kommer til gå gjennom installasjonen av Go programmeringsmiljø i en senere oppgave. For denne oppgaven kan du bruke "Tour of Go" online. Legg merke til at du kan endre koden og utføre den rett i din nettleser. Gjør små endringer i kode og se resultetet ved å utføre koden med "Run" knappen. Hvis du prøver å utføre et program, som ikke klarer å avslutte på en korrekt måte (returnerer et forventet resultat eller en feilmelding), så vil "Run" knappen endre seg til "Kill" knappen, som da kan brukes for å stoppe programmet. Hvis du får utfordringer ved å bruke "Tour of Go", ta kontakt med lærerteamet.

I denne oppgaven skal du gå gjennom websidene 1-13 (legg merke til side nummer nederst i den venstre kolonnen på "Tour of Go" websiden) i avsnittet "Flow control statements: for, if, else, switch and defer".

Her er noen kommentarer for sidene i avsnittet "Flow control statements: ...".

  1. Introduserer for strukturen i Go. Med for kan man implementere alle løkker i Go. Go har ikke en while struktur , som, for eksempel, Java har. Eksperimenter med løkker som kan kun skrive ut partall eller oddetall. Prøv å telle ned med løkkevariabelen, istedenfor å telle opp. Prøv å bruke løkkevariabelen utenfor avgrensningen til for strukturen.
  2. Tenk selv ut tilfeller hvor det ikke er nødvendig med initialiserings- og post-setninger i for.
  3. Forstå hvordan kan for brukes for å uttrykke det samme som while uttrykker i JavaScript eller Java.
  4. Forstå "uendelig" løkke. Hva skjer med et program som har definert en "uendelig" løkke?
  5. Utforske if strukturen.
  6. Forstå hvordan en initiell setning kan brukes i if strukturen.
  7. Forsøk gjerne å løse oppgaven. Den illustrerer et meget viktig poeng i databehandling, - approksimasjon. Datamaskinens minne er endelig, derfor kan den ikke presentere uendelig store tall. Derfor mange matematiske problemer løses med løkker, hvor man gradvis nærmer seg en mer og mer presis løsning. I quizen vil du få mulighet til å tolke koden for denne oppgaven.
  8. Eksperimeter med Go sin switch. Prøv å forstå forskjell fra JavaScript. Prøv å tenke ut noen praktiske cases, hvor det er hensiktsmessig å bruke switch.
  9. Utforske switch.
  10. Utforske switch.
  11. Utforske defer. Denne strukturen brukes ofte for å frigjøre ressurser. For eksempel, når man jobber med filer, så det å åpne en fil innebærer allokering av minne, samt å opprette et segl (en. lock og dette er en typisk funksjon som operativssytemets programmer tar seg av) slik at andre kan ikke bruke den samme filen hvis et program har allerede åpnet den. Da er det nyttig å kunne være sikker på at man frigjør filen, når man har behandlet det ferdig i programmet. defer kan da tenkes på som å lage en huskelapp for noe som man ønsker å gjøre etter at man er ferdig med det man holder på med.
  12. Eksperimenter med flere defer setninger.

Pakkene fra standardbiblioteket som introduseres i denne oppgaven er:

Referanser

(A Tour of Go, 2022) A Tour of Go