Uke 1 — Installering, Python REPL

Velkommen til INF100! Denne uken har vi ikke så mye Python-innhold, men vi skal få alle verktøy på plass.

Installering

Eksempler

Hver uke skal vi gå gjennom noen eksempler i gruppetimene. Her finnes en mulighet å diskutere med hverandre, og spørre gruppeledere.

Les gjennom kapittel 0 av Automate the boring stuff. I steden for mu-editoren som er nevnt i boken, skal vi bruke VSCodes Python-REPL som vi så før i «Installering». Der kan du prøve de ulike eksemplene fra kapittelet.

Advarsel

Bruk litt tid på eksemplene hver uke. Tiden du bruker der hjelper mye med oppgavene. Ikke gå videre for fort!

Oppgaver

Prøv å løse oppgavene hjemme, vanligvis til det neste gruppemøtet. Dere har mulighet å få hjelp digitalt.

Meld deg på i Discord: https://discord.gg/ytmgQdB3Pn og bli med i gruppen din.

Oppgavene leveres på mitt.uib under «Oppgaver».

Advarsel

Du kan lage både .py og .txt filer i VSCode. Ikke bruk Word-filer!

Oppgave 1

I denne oppgaven skal dere skrive trinnvise instruksjoner for et romvesen fra en fjern galakse. Romvesenet skal åpne en dør, men forstår ikke hva en dør er! Tenk nøye igjennom hvordan du bryter ned oppgaven, og unngå antakelser så mye som mulig. Instruksjonene bør være enkle og presise. Hent gjerne inspirasjon i denne videoen. Prøv instruksene med en venn.

Last opp en fil door.txt med instruksene dine (som vanlig tekst, ikke et python program) og svarene på følgende spørsmål:

  1. Hvor mange trinn måtte du bruke for å skrive instruksjonene? Var det flere enn du forventet?

  2. Hvilke antakelser gjorde du som var for kompliserte i begynnelsen? Hvordan tror du dette sammenlignes med oppgavene vi gir datamaskiner?

Valgfri ekstraoppgave: Velg en annen oppgave å skrive trinnvis. Var det lettere andre gang?

Oppgave 2

Nå skal vi gjøre det motsatte. Du får en liste med instruksjoner som skal følges. Start på linje 1.

For eksempel:

1. Fortsett til line 3. (følg denne instruksjonen og gå til linje 3)
2. 1 2 3
3. Ta det første tallet fra linje 2. (det første tallet fra linje 2 er 1)
4. Legge til 5. (1 + 5 = 6)
5. Stopp her. (Det siste nummeret at du har er 6. Dette er svaren fra denne listen.)

Hva er resultatet når du får «stopp her»? Last opp en fil programs.txt som inneholder kun de to tallene som er svar til del a) og b).

1. Fortsett på linje 3.
2. 4 7 3
3. Ta det andre tallet fra linje 2 og trekk fra 1. Fortsett på den linjen.
4. Resultatet er 101, stopp her.
5. Resultatet er 100, stopp her.
6. Fortsett på linje 4.
1. Resultatet er 1. Fortsett på linje 3.
2. Hvis resultatet er 1, stopp her. Hvis ikke, gå til linje 4
3. Legg til 1 til resultatet. Fortsett på linje 2.
4. Legg til 1 til resultatet. Stopp her.

Oppgave 3

Last opp en fil hello.py med innholdet print("Hello, World!").

Her kan du prøve å laste opp en fil som ikke helt stemmer, og se på den automatiske tilbakemeldingen du får i CodeGrade. Du kan laste opp så mange ganger du vil helt frem til fristen. Kun den siste innleveringen teller.