Oppgave 1 - Kodeforståelse
a) Les Les igjennom denne koden og svar på spørsmålene nedenfor. Det er ikke lov å bruke pcen PC-en til hjelp.
Code Block | ||
---|---|---|
| ||
def sum_even_numbers_until(number): result = 0 numbers = range(0,number+1) for number in numbers: if number % 2 == 0: result += number return result # i)1. Hva gjør koden overmetoden sum_even_numbers_until? # ii)2. Hva skjer om vi kjører koden: print (sum_even_numbers_until(10+1)) def a(n,f,l): b = 0 for i in range(0,n): if(i % f == 0 or i % l == 0): b += i return b # i)3. Hva gjør dennemetoden metodena? # ii)4. Hva gjør denne koden vanskeligere å forstå enn den øverste? # iii)5. Hva skjer om vi kjører koden: print (a(10,3,5)) |
b) Les Les over koden nedenfor og svar på spørsmålene under. Det er ikke lov å bruke datamaskin som hjelp.
Code Block | ||
---|---|---|
| ||
def tell(liste): antall = 0 while antall < len(liste)-1 and liste[antall+1] > liste[antall]: antall += 1 return antall |
- Hva blir blir
tell([0])
?
a. 0 0 b. 1 c1 c. 2 - Hva blir blir
tell([0, 1, 4])
?
a. 1 b. 2 1 b. 2 c. 3 - Hva blir blir
tell([0, 3, 4, 2, 1])
?
a. 1 b. 2 c1 b. 2 c. 3 - Hva blir blir
tell([2, 5, 6, 7, 67, 7, 8, 9, 11, 24])
?
a. 4 3 b. 6 c6 c. 10
Oppgave 2 - Skrive større program
Nasjonalt Geografisk InformasjonsSenter (NGIS) har laget en 2-dimensjonal matrise hoydetabell
, hoydetabell, med med heltallsverdier som angir høyder over havet for et “firkantet” område i terrenget. Et utdrag fra tabellen kan være:
...
Du har blitt bedt om å lage et Python-program for å søke igjennom denne tabellen med høydedata og skrive ut en beskjed på skjermen dersom høyden i en celle er 2000 meter eller høyere. Denne beskjeden skal bestå av radnummer, kolonnenummer og tallverdien til cellen. Du kan anta at dataene er lagt inn i variabelen hoydetabell
allerede før ditt program skal starte. Du vet foreløpig ikke hvor mange rader/kolonner matrisen inneholder, og det er forventet at programmet ditt skal fungere for alle matriser av denne formen.
a) Lag Lag et Pythonprogram som løser oppgaven. Du trenger ikke bekymre deg for input enda. Gjør gjerne antagelser der du føler det mangler i oppgaveteksten.
b) Vis Vis hvordan du vil utvide programmet slik at det helt til slutt skriver ut “Maks høyde var:” etterfulgt av verdien til den maksimale høyden, og deretter “Koordinatene med maks høyde:” etterfulgt av koordinatene for det eller de punktene som har denne høydeverdien.
Hvis det er flere punkter som har den samme høyeste verdien, skal alle disse koordinatene skrives ut, men selve høyden skal bare skrives én gang
c) Dere Dere skal nå teste programmet deres. Skriv kode for å lese inn en fil (hint, se forrige øving eller spør undass.) ) og test programmet deres med innholdet fra denne. En fil dere kan teste på finnes her: Tabell.txt