Forbrytelse og straff

Størrelse: px
Begynne med side:

Download "Forbrytelse og straff"

Transkript

1 Forbrytelse og straff Læringsmål: Kodeforståelse, hvordan tenke om oppsett av if-setninger Kunne forstå og rette typiske feil med if-setninger Starting Out with Python: Kap I denne oppgaven skal vi rette kodefeil og lære hvordan man tenker om strukturen av både enkle og komplekse if-setninger. Noen typiske syntaksfeil som nybegynnere gjerne gjør i bruk av if-setninger: Glemme kolon bakerst i linjer med if, else og elif. Det må være kolon : disse stedene Feil med logiske operatorer, f.eks. bruke tilordning = når man egentlig mener sammenligning ==. Eller unødig mellomrom i operatorer som skrives med to symboler, som > =, disse må stå helt inntil hverandre Feil med parenteser som ikke matcher i sammensatte logiske uttrykk med and, or, not Feil med marg / innrykk - alle setninger som hører til en if må stå med eksakt ett tabulator-innrykk, en else må stå på eksakt samme marg som den if den hører sammen med, etc. Bare ett mellomrom i forskjell vil være nok til at koden feiler. a) Syntaksfeil: Kopier koden i boksen inn i editoren din og prøv å kjøre den. Som du vil se, inneholder den syntaksfeil i de nederste linjene (if-elsesetningen). Rett alle syntaksfeilene, slik at koden kjører og gir en konklusjon ut på skjermen (om det var promillekjøring eller ikke) for denne deloppgaven behøver ikke konklusjonen være riktig, det er nok å få programmet til å kjøre. NB! Du skal ikke slette noen kodelinjer eller betingelser! Kodesnutt 1 # leser inn data motor = input("var farkosten en motorvogn? (j/n) ") f = input("var personen fører av vognen? (j/n) ") leds = input("var personen ledsager ved øvekjøring? (j/n) ") n = input("var det nødrett? (j/n) ") # vurderer straffbarhet if prom < 0.2 and motor = "j" and f = "j" or leds = = "j" and n == "n": print("det var straffbar promillekjøring.") else print("ikke straffbart, ingen bot.") Vi går nå videre med enkle logiske feil, som vil føre til at if-setninger kommer til feil konklusjon. Typiske eksempler på slike feil: (I) Bruk av feil sammenligningsoperator, f.eks. < i stedet for >, eller > i stedet for >=. Koden under viser ett eksempel på dette: eksempel på feil operator if alder > 18: Her vil kunden måtte være 19 eller mer for en positiv konklusjon, mens det skulle holdt med 18. Dvs., operatoren skulle vært >=, ikke > (II) Bruk av feil operator (typisk forveksle and og or) i sammensatte betingelser, eller feil / manglende parentesbruk i sammensatte betingelser. Koden under viser to feilaktige forsøk på å beslutte om en kunde kan kjøpe vin eller ikke (forrige feil med >= rettet):

2 Feil bruk av and / or / parenteser # FORSØK 1: if alder >= 18 or ruset == "N" or um == "N": # FORSØK 2: if alder >= 18 and not ruset == "J" or um == "J": Forsøk 1 feiler her fordi man har brukt or der man skulle brukt and. Alle de tre betingelsene må være tilfredsstilt, siden Polet ikke selger vin til noen som er synlig ruset, eller som man vet er umyndiggjort. En korrekt løsning ville være: korrekt løsning, variant 1 # VARIANT 1: if alder >= 18 and ruset == "N" and um == "N": Forsøk 2 feiler fordi or har lavere presedens enn not og and. Python vil derfor først sjekke betingelsen alder>=18 and not ruset=="j", deretter vil den sette hele dette sammen med or um == "J". Dette vil føre til at en person som er umyndiggjort vil få lov til å kjøpe vin uansett, også om man er under 18 og ruset. For at denne betingelsen skal evalueres korrekt må man sette parentes rundt de to betingelsene som har or mellom seg som vist nedenfor. Da vil disse to bli sammenholdt først, og begge disse vil bli berørt av det foregående not, altså at man ikke må være umyndiggjort. korrekt løsning, variant 2 # VARIANT 2: if alder >= 18 and not (ruset == "J" or um == "J"): VARIANT 1 og 2 gir eksakt samme resultat - det vil ofte være flere mulige måter å skrive sammensatte betingelser på. I dette tilfellet kan man vel si at Variant 1 er å foretrekke, siden den slipper å bruke not og parentes, og dermed blir litt lettere å lese. b) Enkle logiske feil: Jobb videre med koden fra oppgave (a) hvor du korrigerte syntaksfeilene. Prøv ut programmet med følgende input: promille 0.1, motor "j", fører "j", ledsager "n", nødrett "n". Du vil da se at programmet feilaktig sier at det var promillekjøring selv om promillen var for liten. Rett denne feilen (men ikke noe annet), kjør programmet med samme input og se at det nå konkluderer rett, test også med promille 0.3 men ellers samme input og se at det gjør rett med dette også. Kjør deretter programmet med følgende input: promille 0.1, motor "j", fører "n", ledsager "j", nødrett "n". Du vil se at programmet igjen feilaktig konkluderer med promillekjøring, til tross for rettingen du gjorde i sted. Dette skyldes en litt mer komplisert feil i betingelsen. Rett denne feilen og test deretter at koden nå virker som den skal med litt ulike kombinasjoner av verdier. Ved bruk av if-elif-else er det avgjørende at betingelsene kommer i riktig rekkefølge. I Eksempel 1 under skal vi regne ut karakter fra poengscore på en eksamen (hvor toppscore er 100 og blank besvarelse gir 0 poeng). På grunn av feil rekkefølge på testene vil programmet ikke funke som det skal. Problemet er at den første testen, score >= 0, vil slå til for absolutt alle eksamenskandidater - og de andre betingelse etter elif vil dermed aldri bli evaluert. Alle kandidatene ender da med F. Eks 1

3 Feil rekkefølge # EKSEMPEL HVOR VI MED VILJE HAR GJORT FEIL score = int(input("antall poeng: ")) if score >= 0: karakter = "F" elif score >= 41: karakter = "E" elif score >= 53: karakter = "D" elif score >= 65: karakter = "C" elif score >= 77: karakter = "B" elif score >= 89: karakter = "A" print("du fikk",karakter) Setter vi derimot testene motsatt rekkefølge, som i Eks 2, vil det funke. Generelt er det viktig å sørge for at alle alternativene i en if-elif-else kan nås gitt en passende verdi. Her vil studenter med score >= 89 få A mens de med lavere score vil bli fordelt videre nedover i if-elif-strukturen. Eks 2 Korrigert rekkefølge score = int(input("antall poeng: ")) if score >= 89: karakter = "A" elif score >= 77: karakter = "B" elif score >= 65: karakter = "C" elif score >= 53: karakter = "D" elif score >= 41: karakter = "E" karakter = "F" print("du fikk",karakter) c) Feil i rekkefølge på if-elif-setninger. Nedenfor er en ny variant av promilleprogrammet. For kjappere testing ser vi nå bort fra spørsmålene om det var motorvogn, om vedkommende førte kjøretøyet, og eventuell nødrett - dvs. vi antar at alt dette i boks fra før, og spørsmål dermed bare er størrelse på promillen og resulterende straff. Kopier programmet nedenfor og kjør det et par ganger med ulike verdier, f.eks. med promille 0.1 deretter 0.3 deretter 0.9. Som du vil se, vil man aldri få større forelegg enn 6000,- med dette programmet, uansett hvor høy promillen var. Hvis promillen var over 0.4, f.eks. 0.45, skulle man hatt 10000,- i forelegg, og med promille høyere enn 0.5 skulle man hatt bot basert på månedslønn, samt fengselsstraff. Korriger programmet så det gjør riktige beslutninger på straffenivå for alle mulige verdier av promille.

4 Kodesnutt 2 if prom < 0.2: print("ikke straffbart, ingen bot.") elif prom > 0.2: print("forelegg: 6000,-") elif prom > 0.4: print("forelegg: 10000,-") elif prom > 0.5: print("bot: en halv brutto månedslønn, samt fengsel.") Ofte skal vi ikke treffe bare én beslutning men flere forskjellige beslutninger i samme program. Dette tilsier bruk av flere if-setninger, og det er viktig å finne fram til en korrekt struktur for if-setningene. Her skal vi se på forskjellen mellom tre ulike situasjoner: 1. beslutning med alternative handlinger som er gjensidig utelukkende: Bruk if-else (hvis 2 alternativer) eller if-elif-else (hvis 3 eller flere alternativer). flere beslutninger som er uavhengige av hverandre: Bruk frittstående if-setninger beslutninger som er avhengig av andre beslutninger, dvs. bare relevant å vurdere gitt et visst utfall av en tidligere beslutning: Kan løses ved nøstede if-setninger. Hvis man velger feil struktur på if-setningene, vil man få programmer som tar feil beslutninger. Eksempel 1: Gjensidig utelukkende alternativer Omregning fra poengscore til karakter på en eksamen er eksempel på en beslutning med diverse gjensidig utelukkende konklusjoner - det skal gis A, B, C, D, E eller F ut fra poeng. Som vist i hint før oppgave c, løses dette typisk med en if-elif-struktur. Om man i stedet velger frittstående if-setninger, vil dette bli feil: feilaktig bruk av frittstående if-setninger # EKSEMPEL HVOR VI MED VILJE HAR GJORT FEIL score = int(input("antall poeng: ")) if score >= 89: karakter = "A" if score >= 77: karakter = "B" if score >= 65: karakter = "C" if score >= 53: karakter = "D" if score >= 41: karakter = "E" karakter = "F" print("du fikk",karakter) Studenter med høy poengscore, f.eks. tilsvarende A eller B, vil i første omgang få tilordnet en riktig verdi for karakter ved at den tilsvarende if-setningen slår til. MEN: Siden hver setning begynner med if, er den uavhengig av forrige if-setning, så alle disse blir utført uavhengig av utfallet av forrige if-setning. Alle med høy score, vil jo også ha nok poeng til en dårligere karakter. TIl slutt vil derfor alle studenter enten ende opp med E (hvis >=41 poeng) eller F (hvis < 41 poeng). Korreksjonen her er å bytte ut alle if unntatt den øverste med elif; da blir alle de påfølgende testene kun utført hvis foregående tester har feilet, så en student som allerede har fått A vil ikke få denne overskrevet av en dårligere karakter. (Eksemplet kunne ha funket med frittstående if-setninger hvis testene inneholdt både øvre og nedre grense for score, f.eks. 89 > score >= 77 for B, 77 > score >= 65 for C, osv. Dette ville imidlertid ha vært en klart dårligere løsning enn if-elif-... både fordi betingelsene blir mer kompliserte å skrive, og fordi programmet kaster bort tid med å evaluere ekstra if-setninger hvis en av de tidlige betingelsene har slått til. En if-elif...-elif-else-struktur er vanligvis lettere å forstå fordi den klart får fram at det dreier seg om gjensidig ekskluderende alternativ.) Eksempel 2: To uavhengige beslutninger Det neste eksemplet viser derimot et tilfelle hvor det er riktig å bruke frittstående if-setninger. Skal vi ta paraply eller ikke? Skal vi ta brodder eller ikke? Dette er to uavhengige beslutninger, den ene avhenger av regn, den andre om det er glatt. Hadde vi i stedet brukt ifelif her, ville programmet ikke ha virket som det skulle, da det kun ville ha vært i stand til å anbefale brodder i oppholdsvær (mens det jo kan være minst like glatt om det regner).

5 uavhengige beslutninger glatt = int(input("hvor glatt er det, fra 0 (ikke) til 10 (blank is)? ")) if glatt > 8: Hvis vi her hadde skrevet elif glatt > 8: ville programmet kun ha vært i stand til å anbefale brodder hvis det ikke regnet, mens isen jo vil være minst like glatt hvis den i tillegg er våt. Et tvilstilfelle på hvilken struktur man bør velge, inntreffer hvis man har beslutninger som er delvis avhengige av hverandre, men også delvis uavhengige. La oss si at kriteriet for brodder var enten glatt > 8 eller hvis det regner, glatt > 7 (fordi man antar at det da vil kunne bli glattere underveis på spaserturen fordi isen blir våtere). Nedenstående viser to mulige løsninger på dette: # ALTERNATIV 1: frittstående if-setninger glatt = int(input("hvor glatt er det, fra 0 (ikke) til 10 (blank is)? ")) if glatt > 8 or regn > 0.2 and glatt > 7: # ALTERNATIV 2: nøstede if-setninger glatt = int(input("hvor glatt er det, fra 0 (ikke) til 10 (blank is)? ")) if glatt > 7: elif glatt > 8: Her vil begge alternativer funke, hver har sine fordeler og ulemper. Ulempen med alt. 1 er at den gjentar betingelsen regn > 0.2 to steder, som dermed tilsier at den også må evalueres to ganger i enkelte kjøringer av programmet. Forskjellen dette innebærer i tidsforbruk er imidlertid marginal. Ulempen med alternativ 2 er derimot at print-setningen om brodder forekommer to steder... det blir dermed litt vanskeligere å forstå programmet, mens det i alt. 1 fremgår klarere eksakt hvilken kombinasjon av betingelser som utløser hver konsekvens. I andre tilfeller kan en beslutning være avhengig av en annen, f.eks. kun være aktuell ved et visst utfall av en foregående if-setning: vind = float(input("hvor mange m/s vind er det meldt? ")) if vind < 7.0: print("anbefaler regntøy, for mye vind for paraply.") Her ville...elif vind < 7.0 ha blitt feil. Programmet ville da ha gjort vurderinger av vinden kun hvis det ikke regnet, og dermed ha vært ute av stand til å fraråde paraply hvis det regner og samtidig blåser kraftig. Oppsummert: flere helt uavhengige beslutninger: bruk frittstående if-setninger beslutning med gjensidig utelukkende handlingsalternativer: bruk if-else (2 alternativer) eller if-elif-else (3 eller flere alternativer) beslutninger relatert på annen måte, f.eks. at en betingelse (som vind < 7.0 ovenfor) kun er aktuell gitt et visst utfall av en annen beting kan løses ved å nøste flere if-setninger inni hverandre d) Feil i valg av overordnet struktur på if-setninger. I den neste kodesnutten ser vi på et relatert problem, nemlig hvor lenge førerkortet skal inndras. Alt i alt er reglene som følger: Førerkort skal inndras på livstid dersom det er gjentatt promillekjøring (dømt for det også tidligere), eller hvis man slo seg vrang og nektet og samarbeide ved legetesten, og dette skjer mindre enn 5 år etter en tidligere dom for promillekjøring. (Dvs., hvis man slår seg vrang ved legetesten, kan man få inndratt førerkortet selv om blodprøven deretter viser at promillen var under 0.2.) For personer som ikke er tidligere dømt for promillekjøring, gjelder følgende: Hvis promillen var over 1.2, inndras førerkort for minst 2 år. Inndragelse for 2 år gis også hvis man slår seg vrang under legetesten - da uavhengig av hva promillen var.

6 Promille i området gir inndragning i måneder. Promille gir vanligvis 18 måneder. Promille gir inntil 1 års inndragelse. Koden under skulle implementere disse reglene, men gjør feil i noen tilfeller. Hvis det svares "j" på "Tidligere dømt..." sier programmet at førerkort skal inndras på livstid uansett hva det svares på de andre spørsmålene, dvs. også om promille var 0 og man oppførte seg pent ved legetesten. Med f.eks. 1.4 eller 0.9 for promille (og "n" på tidligere dømt, "n" på nektet å samarbeide) vil programmet først skrive ut korrekt straffereaksjon, men vil deretter fortsette med å skrive ut også mildere straffereaksjoner. Rett disse feilene så programmet gir riktig konklusjon på straffereaksjonen for alle mulige kombinasjoner av input-verdier. Strukturell feil # leser inn data nekt = input("nektet å samarbeide ved legetest? (j/n) ") tidl = input("tidligere dømt for promillekjøring? (j/n) ") if tidl == "j": aar = int(input("antall år siden siste domfell ")) aar = 999 # vurderer inndragning av førerkort if tidl == "j" or nekt == "j" and aar < 5: print("førerkort inndras for alltid.") if prom > 1.2 or nekt == "j": print("førerkort inndras minst 2 år.") if prom > 0.8: print("førerkort inndras mnd.") if prom > 0.5: print("førerkort inndras vanligvis 18 mnd.") if prom > 0.2: print("førerkort inndras inntil 1 år.") print("ingen inndragning av førerkort.") e) FRIVILLIG EKSTRAOPPGAVE, ikke nødvendig å gjøre denne for å få godkjent deloppgaven "Forbrytelse og straff". Ta utgangspunkt i nedenstående kode med input-setninger. Bruk deretter det du har laget i tidligere deloppgaver a-d for å sette sammen et komplett program som både gir riktig konklusjon på bot og på inndragelse av førerkort. Husk som nevnt tidligere at det er mulig å få inndratt førerkortet selv i tilfeller hvor man ikke får noen bot for promillekjøring, nemlig hvis man slår seg vrang i forbindelse med legetesten. # leser inn data motor = input("var farkosten en motorvogn? (j/n) ") f = input("var personen fører av vognen? (j/n) ") leds = input("var personen ledsager ved øvekjøring? (j/n) ") n = input("var det nødrett? (j/n) ") nekt = input("nektet å samarbeide ved legetest? (j/n) ") tidl = input("tidligere dømt for promillekjøring? (j/n) ") if tidl == "j": aar = int(input("antall år siden siste domfell ")) # legg til din kode nedenfor her:

Python: Valg og betingelser. TDT4110 IT Grunnkurs Professor Guttorm Sindre

Python: Valg og betingelser. TDT4110 IT Grunnkurs Professor Guttorm Sindre Python: Valg og betingelser TDT4110 IT Grunnkurs Professor Guttorm Sindre Læringsmål og pensum Mål Kunne forstå og bruke if-setninger sammenlikning av strenger nøstede beslutningsstrukturer betingelser

Detaljer

TDT4110 Informasjonsteknologi grunnkurs: Tema: Betingelser og logiske uttrykk. - 3rd edition: Kapittel 3. Professor Alf Inge Wang

TDT4110 Informasjonsteknologi grunnkurs: Tema: Betingelser og logiske uttrykk. - 3rd edition: Kapittel 3. Professor Alf Inge Wang 1 TDT4110 Informasjonsteknologi grunnkurs: Tema: Betingelser og logiske uttrykk - 3rd edition: Kapittel 3 Professor Alf Inge Wang 2 if (be): else (not_to_be): 3 Læringsmål og pensum Mål Lære å bruke og

Detaljer

Læringsmål og pensum. if (be): else (not_to_be):

Læringsmål og pensum. if (be): else (not_to_be): 1 TDT4110 Informasjonsteknologi grunnkurs: Tema: Betingelser og logiske uttrykk - 3rd edition: Kapittel 3 Professor Alf Inge Wang 2 if (be): else (not_to_be): 3 Læringsmål og pensum Mål Lære å bruke og

Detaljer

TDT4110 Informasjonsteknologi grunnkurs: Tema: Betingelser og logiske uttrykk Utgave 3: Kap. 3

TDT4110 Informasjonsteknologi grunnkurs: Tema: Betingelser og logiske uttrykk Utgave 3: Kap. 3 1 Kunnskap for en bedre verden TDT4110 Informasjonsteknologi grunnkurs: Tema: Betingelser og logiske uttrykk Utgave 3: Kap. 3 Terje Rydland - IDI/NTNU 2 if (be): else (not_to_be): 3 Læringsmål og pensum

Detaljer

if (be): else (not_to_be): TDT4110 Informasjonsteknologi grunnkurs: Tema: Betingelser og logiske uttrykk Utgave 3: Kap.

if (be): else (not_to_be): TDT4110 Informasjonsteknologi grunnkurs: Tema: Betingelser og logiske uttrykk Utgave 3: Kap. 1 Kunnskap for en bedre verden TDT4110 Informasjonsteknologi grunnkurs: Tema: Betingelser og logiske uttrykk Utgave 3: Kap. 3 Terje Rydland - IDI/NTNU 2 if (be): else (not_to_be): 3 Læringsmål og pensum

Detaljer

Oppsummering fra sist

Oppsummering fra sist 1 av 34 Kunnskap for en bedre verden TDT4110 Informasjonsteknologi grunnkurs: Tema: Løkker/Sløyfer Utgave 3: Kap. 4 Terje Rydland - IDI/NTNU 2 av 34 Oppsummering fra sist Betingelser i Python: ,

Detaljer

Finne ut om en løsning er helt riktig og korrigere ved behov

Finne ut om en løsning er helt riktig og korrigere ved behov Finne ut om en løsning er helt riktig og korrigere ved behov Finurlige feil og debugging av kode IN1000, uke5 Geir Kjetil Sandve Oppgave (Lett modifisert fra eksamen 2014) Skriv en funksjon Dersom parameteren

Detaljer

Python: Løkker. TDT4110 IT Grunnkurs Professor Guttorm Sindre

Python: Løkker. TDT4110 IT Grunnkurs Professor Guttorm Sindre Python: Løkker TDT4110 IT Grunnkurs Professor Guttorm Sindre Denne uka Vi trenger å Støttes av Hente data fra bruker Vise data til bruker Lagre data i minnet for bruk videre i programmet Fra tastatur:

Detaljer

Med løkke: Læringsmål og pensum. TDT4110 Informasjonsteknologi grunnkurs: Tema: Løkker/Sløyfer Utgave 3: Kap. 4 Utgave 2: Kap. 5. Mål.

Med løkke: Læringsmål og pensum. TDT4110 Informasjonsteknologi grunnkurs: Tema: Løkker/Sløyfer Utgave 3: Kap. 4 Utgave 2: Kap. 5. Mål. 1 Kunnskap for en bedre verden TDT4110 Informasjonsteknologi grunnkurs: Tema: Løkker/Sløyfer Utgave 3: Kap. 4 Utgave 2: Kap. 5 Terje Rydland - IDI/NTNU 2 Læringsmål og pensum Mål Lære om begrepet løkker

Detaljer

Finne ut om en løsning er helt riktig og korrigere ved behov

Finne ut om en løsning er helt riktig og korrigere ved behov Finne ut om en løsning er helt riktig og korrigere ved behov Finurlige feil og debugging av kode IN1000, uke5 Henrik H. Løvold Oppgave (Lett modifisert fra eksamen 2014) Skriv en funksjon Dersom parameteren

Detaljer

TDT4110 IT Grunnkurs Høst 2016

TDT4110 IT Grunnkurs Høst 2016 TDT4110 IT Grunnkurs Høst 2016 Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap Auditorieøving 1 Vennligst fyll ut følgende informasjon i blokkbokstaver

Detaljer

Øvingsforelesning i Python (TDT4110)

Øvingsforelesning i Python (TDT4110) Øvingsforelesning i Python (TDT4110) Tema: Øving 2, Betingelser, if/elif/else Kristoffer Hagen Oversikt Praktisk informasjon Gjennomgang av Øving 1 Oppgaver for Øving 2 2 Praktisk Bruke andre studasser

Detaljer

TDT4110 Informasjonsteknologi grunnkurs: Tema: Løkker. - 3rd edition: Kapittel 4. Professor Alf Inge Wang

TDT4110 Informasjonsteknologi grunnkurs: Tema: Løkker. - 3rd edition: Kapittel 4. Professor Alf Inge Wang 1 TDT4110 Informasjonsteknologi grunnkurs: Tema: Løkker - 3rd edition: Kapittel 4 Professor Alf Inge Wang 2 Læringsmål og pensum Mål Lære om begrepet løkker Lære om bruk av while-løkke Lære om bruk av

Detaljer

TDT4110 Informasjonsteknologi, grunnkurs Uke 35 Introduksjon til programmering i Python

TDT4110 Informasjonsteknologi, grunnkurs Uke 35 Introduksjon til programmering i Python TDT4110 Informasjonsteknologi, grunnkurs Uke 35 Introduksjon til programmering i Python Professor Guttorm Sindre Institutt for datateknikk og informasjonsvitenskap Læringsmål og pensum Mål Vite hva et

Detaljer

Læringsmål og pensum. Intro løkker. Mål Lære om begrepet løkker Lære om bruk av while-løkke Lære om bruk av for-løkke Pensum. Kapittel 4.

Læringsmål og pensum. Intro løkker. Mål Lære om begrepet løkker Lære om bruk av while-løkke Lære om bruk av for-løkke Pensum. Kapittel 4. 1 TDT4110 Informasjonsteknologi grunnkurs: Tema: Løkker - 3rd edition: Kapittel 4 Professor Alf Inge Wang 2 Læringsmål og pensum Mål Lære om begrepet løkker Lære om bruk av while-løkke Lære om bruk av

Detaljer

print("hurra!") som ikke har innrykk, er ikke del av løkka, og vil derfor bare bli utført en gang, etter at løkka er ferdig.

print(hurra!) som ikke har innrykk, er ikke del av løkka, og vil derfor bare bli utført en gang, etter at løkka er ferdig. Intro til løkker Læringsmål: Løkker Velge egnet løkkekonstruksjon (for eller while) etter behov Starting Out with Python: Kap. 4.1-4.3 I denne oppgaven skal du lære å skrive kode hvor handlinger repeteres

Detaljer

TDT4110 IT Grunnkurs Høst 2015

TDT4110 IT Grunnkurs Høst 2015 TDT4110 IT Grunnkurs Høst 2015 Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap Løsningsforlag Auditorieøving 1 1 Teori Løsning er skrevet med uthevet tekst

Detaljer

Oppgaver uke 1: Løsningsforslag

Oppgaver uke 1: Løsningsforslag Oppgaver uke 1: Løsningsforslag Oppgave 1 Hva tror du følgende program skriver ut til terminalen? Diskuter med gruppen. alder = 30 print("din alder er", alder) alder = 15 Din alder er 30 Når print() kalles

Detaljer

Python: Løkker. TDT4110 IT Grunnkurs Professor Guttorm Sindre

Python: Løkker. TDT4110 IT Grunnkurs Professor Guttorm Sindre Python: Løkker TDT4110 IT Grunnkurs Professor Guttorm Sindre Læringsmål og pensum Mål Forstå hvorfor vi trenger løkker i programmering Ha kjennskap to ulike typer løkker (while-løkke, for-løkke) Og vite

Detaljer

Python: Intro til funksjoner. TDT4110 IT Grunnkurs Professor Guttorm Sindre

Python: Intro til funksjoner. TDT4110 IT Grunnkurs Professor Guttorm Sindre Python: Intro til funksjoner TDT4110 IT Grunnkurs Professor Guttorm Sindre Snart referansegruppemøte Viktig mulighet for å gi tilbakemelding på emnet Pensumbøker Forelesninger Øvingsforelesninger Veiledning

Detaljer

YouTube-kanal ITGK. Læringsmål og pensum

YouTube-kanal ITGK.  Læringsmål og pensum 1 TDT4110 Informasjonsteknologi grunnkurs: Tema: Enkle funksjoner - 3rd edition: Kapittel 5.1-5.6 Professor Alf Inge Wang 2 YouTube-kanal ITGK Professor Guttorm Sindre (foreleser den andre Python-parallellen

Detaljer

IN uke 1. Komme i gang med programmering

IN uke 1. Komme i gang med programmering IN1000 - uke 1 Komme i gang med programmering Plan for forelesingen Hva er programmering? Skrive og kjøre våre første program Variabler Feilmeldinger Innlesing fra tastatur Beslutninger (if) Plan for forelesingen

Detaljer

TDT4110 Informasjonsteknologi grunnkurs: Tema: Enkle funksjoner. - 3rd edition: Kapittel Professor Alf Inge Wang

TDT4110 Informasjonsteknologi grunnkurs: Tema: Enkle funksjoner. - 3rd edition: Kapittel Professor Alf Inge Wang 1 TDT4110 Informasjonsteknologi grunnkurs: Tema: Enkle funksjoner - 3rd edition: Kapittel 5.1-5.6 Professor Alf Inge Wang 2 YouTube-kanal ITGK Professor Guttorm Sindre (foreleser den andre Python-parallellen

Detaljer

Utvikling av dynamiske nettsteder med PHP og databaser, høsten 2006

Utvikling av dynamiske nettsteder med PHP og databaser, høsten 2006 Page 1 Page 2 [Kurssidene] [ JBI] [ ] Utvikling av dynamiske nettsteder med PHP og databaser, høsten 2006 Introduksjon til kontrollstrukturer Michael Preminger (michaelp@hio.no) 07/09-06 I denne forelesningen

Detaljer

IN uke 1. Komme i gang med programmering

IN uke 1. Komme i gang med programmering IN1000 - uke 1 Komme i gang med programmering Et lite oppdrag i bakgrunnen Under pultene på bakerste rad er det klistret post-it lapper med to tall skrevet på Regn ut summen av to nederste tall, skriv

Detaljer

Excited. Hvordan komme i gang med tekstbasert programmering? Centre for Excellent IT Education. Guttorm Sindre

Excited. Hvordan komme i gang med tekstbasert programmering? Centre for Excellent IT Education. Guttorm Sindre Excited Centre for Excellent IT Education Hvordan komme i gang med tekstbasert programmering? Guttorm Sindre Disposisjon Utfordringer med tekstbasert programmering Ideer til løsning Små kodeeksempler med

Detaljer

PXT: Det regner mat! Introduksjon. Steg 1: Grunnlag. Sjekkliste. Skrevet av: Helene Isnes

PXT: Det regner mat! Introduksjon. Steg 1: Grunnlag. Sjekkliste. Skrevet av: Helene Isnes PXT: Det regner mat! Skrevet av: Helene Isnes Kurs: Microbit Tema: Elektronikk, Blokkbasert, Spill Fag: Matematikk, Programmering Klassetrinn: 5.-7. klasse, 8.-10. klasse, Videregående skole Introduksjon

Detaljer

Repetisjon, del 1. TDT 4110 IT Grunnkurs Professor Guttorm Sindre

Repetisjon, del 1. TDT 4110 IT Grunnkurs Professor Guttorm Sindre Repetisjon, del 1 TDT 4110 IT Grunnkurs Professor Guttorm Sindre Resultat av Kahoot! Følgende temaer hadde størst behov på en skala fra 1 lite behov til 3 stort behov: Binærfiler 2,5 Rekursjon 2,3 2D-lister

Detaljer

MAT1030 Diskret Matematikk

MAT1030 Diskret Matematikk MAT1030 Diskret Matematikk Plenumsregning 1: Kapittel 1 Mathias Barra Matematisk institutt, Universitetet i Oslo 16. januar 2009 (Sist oppdatert: 2009-02-02 14:21) Plenumsregning 1 MAT1030 Diskret Matematikk

Detaljer

Øvingsforelesning 1 Python (TDT4110)

Øvingsforelesning 1 Python (TDT4110) Øvingsforelesning 1 Python (TDT4110) Introduksjon, Kalkulasjoner Ole-Magnus Pedersen Oversikt Praktisk Info Repetisjon fra sist Oppgaver for øving 2 2 Praktisk Info Last opp øvinger på Blackboard før godkjenning

Detaljer

TDT4110 IT Grunnkurs Høst 2016

TDT4110 IT Grunnkurs Høst 2016 TDT4110 IT Grunnkurs Høst 2016 Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap Løsningsforslag til Auditorieøving 1 1 Teori 1. Hvilket tall kan IKKE lagres

Detaljer

INF uke 2. Inputt, beslutninger, kontrollflyt og prosedyrer

INF uke 2. Inputt, beslutninger, kontrollflyt og prosedyrer INF1001 - uke 2 Inputt, beslutninger, kontrollflyt og prosedyrer Repetisjon fra forrige uke Lese inn fra tastaturet Beslutninger Kontrollflyt Prosedyrer Outline: Repetisjon fra forrige uke Lese inn fra

Detaljer

Når en bruker skriver sitt navn ("Ole") i et form-element med name="fornavn" som attributt. klikker på submit-knappen

Når en bruker skriver sitt navn (Ole) i et form-element med name=fornavn som attributt. klikker på submit-knappen Når en bruker skriver sitt navn ("Ole") i et form-element med name="fornavn" som attributt klikker på submit-knappen [Kurssidene] [ ABI - fagsider bibin ] Michael Preminger (michaelp@hio.no) 09/09-16...

Detaljer

Plenumsregning 1. Kapittel 1. Roger Antonsen januar Velkommen til plenumsregning for MAT1030. Repetisjon: Algoritmer og pseudokode

Plenumsregning 1. Kapittel 1. Roger Antonsen januar Velkommen til plenumsregning for MAT1030. Repetisjon: Algoritmer og pseudokode Plenumsregning 1 Kapittel 1 Roger Antonsen - 17. januar 2008 Velkommen til plenumsregning for MAT1030 Torsdager 10:15 12:00 Gjennomgang av ukeoppgaver Gjennomgang av eksempler fra boka Litt repetisjon

Detaljer

Verden - Del 2. Steg 0: Oppsummering fra introduksjonsoppgaven. Intro

Verden - Del 2. Steg 0: Oppsummering fra introduksjonsoppgaven. Intro Verden - Del 2 Nybegynner Processing Intro Denne oppgaven bygger på oppgaven med samme navn som ligger på introduksjonsnivå her i Processingoppgavene. Klikk her for å gå til introduksjonsoppgaven av verden.

Detaljer

MAT1030 Plenumsregning 1

MAT1030 Plenumsregning 1 MAT1030 Plenumsregning 1 Kapittel 1 Mathias Barra - 16. januar 2009 (Sist oppdatert: 2009-02-02 14:21) Plenumsregning 1 Velkommen til plenumsregning for MAT1030 Fredager 12:15 14:00 Vi vil gjennomgå utvalgte

Detaljer

Python: Variable og beregninger, input og utskrift. TDT4110 IT Grunnkurs Professor Guttorm Sindre

Python: Variable og beregninger, input og utskrift. TDT4110 IT Grunnkurs Professor Guttorm Sindre Python: Variable og beregninger, input og utskrift TDT4110 IT Grunnkurs Professor Guttorm Sindre Læringsmål og pensum Mål for denne uka: Vite litt om design av programmer (2.1, 2.2, 2.4) Kunne skrive ut

Detaljer

Øvingsforelesning 5 Python (TDT4110)

Øvingsforelesning 5 Python (TDT4110) Øvingsforelesning 5 Python (TDT4110) Repetisjon av løkker og funksjoner Ole-Magnus Pedersen Oversikt Praktisk Info Gjennomgang av Øving 3 Repetisjon 2 Praktisk info Prosjekter i PyCharm må startes med

Detaljer

Hangman. Steg 1: Velg et ord. Steg 2: Gjett en bokstav. Sjekkliste. Sjekkliste. Introduksjon

Hangman. Steg 1: Velg et ord. Steg 2: Gjett en bokstav. Sjekkliste. Sjekkliste. Introduksjon Hangman Erfaren Python Introduksjon La oss lage et spill: Hangman! Datamaskinen vil velge et ord og du kan gjette det bokstav for bokstav. Dersom du gjetter feil for mange ganger taper du. Steg 1: Velg

Detaljer

Øvingsforelesning 5 Python (TDT4110)

Øvingsforelesning 5 Python (TDT4110) Øvingsforelesning 5 Python (TDT4110) Repetisjon av løkker og funksjoner Ole-Magnus Pedersen Oversikt Praktisk Info Gjennomgang av Øving 3 Repetisjon 2 Praktisk info Prosjekter i PyCharm må startes med

Detaljer

Hangman. Level. Introduksjon

Hangman. Level. Introduksjon Level 2 Hangman All Code Clubs must be registered. Registered clubs appear on the map at codeclubworld.org - if your club is not on the map then visit jumpto.cc/ccwreg to register your club. Introduksjon

Detaljer

Bygg et Hus. Steg 1: Prøv selv først. Sjekkliste. Introduksjon. Prøv selv

Bygg et Hus. Steg 1: Prøv selv først. Sjekkliste. Introduksjon. Prøv selv Bygg et Hus Introduksjon I denne leksjonen vil vi se litt på hvordan vi kan få en robot til å bygge et hus for oss. Underveis vil vi lære hvordan vi kan bruke løkker og funksjoner for å gjenta ting som

Detaljer

INF109 - Uke 1a

INF109 - Uke 1a INF109 - Uke 1a 19.01.16 NOTE: Download the latest version of python: 3.5.1. 1 Introduksjon 1.1 Goodbye world! For å komme i gang, start IDLE fra Start Programs Python3.5.1 IDLE. (Varierer litt fra datamaskin

Detaljer

Oppgave 1 Hva tror du følgende program skriver ut til terminalen? Diskuter med gruppen.

Oppgave 1 Hva tror du følgende program skriver ut til terminalen? Diskuter med gruppen. IN1000 - Seminaroppgaver til uke 1 Nyttig å vite: PEP 8 -- Style Guide for Python Code. Dersom det som undervises i IN1000 ikke samstemmer med PEP, så skal dere følge den stilen som undervises og ikke

Detaljer

Betinget eksekvering og logiske tester i shell

Betinget eksekvering og logiske tester i shell Betinget eksekvering og logiske tester i shell Betinget eksekvering *? Programmet utfører operasjon(er) bare hvis en logisk betingelse er sann Bash tilbyr to kontrollstrukturer for å kunne gjøre betinget

Detaljer

Hvor gammel er du? Hvor gammel er du? Del 1: Skrive ut til skjerm. Gjøre selv. Skrevet av: Sindre O. Rasmussen, Kodeklubben Trondheim

Hvor gammel er du? Hvor gammel er du? Del 1: Skrive ut til skjerm. Gjøre selv. Skrevet av: Sindre O. Rasmussen, Kodeklubben Trondheim Hvor gammel er du? Skrevet av: Sindre O. Rasmussen, Kodeklubben Trondheim Kurs: Python Tema: Tekstbasert Fag: Programmering Klassetrinn: 5.-7. klasse, 8.-10. klasse Hvor gammel er du? I dette oppgavesettet

Detaljer

Mål. Pensum. TDT4110 Informasjonsteknologi grunnkurs: Tema: Unntak (exceptions) (Kap 6) Dictionaries (Kap. 9) Terje Rydland - IDI/NTNU

Mål. Pensum. TDT4110 Informasjonsteknologi grunnkurs: Tema: Unntak (exceptions) (Kap 6) Dictionaries (Kap. 9) Terje Rydland - IDI/NTNU 1 Kunnskap for en bedre verden TDT4110 Informasjonsteknologi grunnkurs: Tema: Unntak (exceptions) (Kap 6) Dictionaries (Kap. 9) Terje Rydland - IDI/NTNU 2 Læringsmål og pensum Mål Lære å bruke unntak (Exceptions)

Detaljer

Forklaring til programmet AbstraktKontoTest.java med tilhørende filer Konto.java, KredittKonto.java, SpareKonto.java

Forklaring til programmet AbstraktKontoTest.java med tilhørende filer Konto.java, KredittKonto.java, SpareKonto.java 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 Forklaring til programmet AbstraktKontoTest.java med tilhørende

Detaljer

Hvordan løse problemer med programmering?

Hvordan løse problemer med programmering? Start screencast!! (tidlig..) Ha klar glass med linser Lukk programmer, untatt Atom, Keynote, Terminal Hvordan løse problemer med programmering? Problemløsning, løkker, og funksjoner med parametre IN1000,

Detaljer

Læringsmål og pensum. https://www.youtube.com/watch? v=nkiu9yen5nc

Læringsmål og pensum. https://www.youtube.com/watch? v=nkiu9yen5nc 1 TDT4110 Informasjonsteknologi grunnkurs: Kapittel 1 Introduksjon til Programmering og Python Professor Alf Inge Wang 2 https://www.youtube.com/watch? v=nkiu9yen5nc 3 Læringsmål og pensum Mål Lære om

Detaljer

Mattespill Nybegynner Python PDF

Mattespill Nybegynner Python PDF Mattespill Nybegynner Python PDF Introduksjon I denne leksjonen vil vi se litt nærmere på hvordan Python jobber med tall, og vi vil lage et enkelt mattespill. Vi vil også se hvordan vi kan gjøre ting tilfeldige.

Detaljer

Bygg et Hus. Introduksjon. Steg 1: Prøv selv først. Skrevet av: Geir Arne Hjelle

Bygg et Hus. Introduksjon. Steg 1: Prøv selv først. Skrevet av: Geir Arne Hjelle Bygg et Hus Skrevet av: Geir Arne Hjelle Kurs: Computercraft Tema: Tekstbasert, Minecraft Fag: Programmering, Teknologi Klassetrinn: 5.-7. klasse, 8.-10. klasse, Videregåe skole Introduksjon I denne leksjonen

Detaljer

Først må vi få datamaskinen til å velge et tilfeldig ord, så la oss begynne. Lagre programmet ditt og kjør det. Hvilket ord skrives ut?

Først må vi få datamaskinen til å velge et tilfeldig ord, så la oss begynne. Lagre programmet ditt og kjør det. Hvilket ord skrives ut? Hangman Skrevet av: Oversatt fra Code Club UK (//codeclub.org.uk) Oversatt av: Geir Arne Hjelle Kurs: Python Tema: Tekstbasert, Spill Fag: Programmering Klassetrinn: 5.-7. klasse, 8.-10. klasse Introduksjon

Detaljer

En enkel while-løkke. 1 of 12 15.09.2015 15:28. 2 of 12 15.09.2015 15:28. while-løkker gjentar instruksjonene så lenge en betingelse er oppfylt

En enkel while-løkke. 1 of 12 15.09.2015 15:28. 2 of 12 15.09.2015 15:28. while-løkker gjentar instruksjonene så lenge en betingelse er oppfylt while-løkker gjentar instruksjonene så lenge en betingelse er oppfylt [Kurssidene] [ ABI - fagsider bibin ] Michael Preminger (michaelp@hioa.no) 15/09-15 En liten repetisjon Løkker Arrayer (tabeller) Løkker

Detaljer

Repetisjon, del 2. TDT 4110 IT Grunnkurs Professor Guttorm Sindre

Repetisjon, del 2. TDT 4110 IT Grunnkurs Professor Guttorm Sindre Repetisjon, del 2 TDT 4110 IT Grunnkurs Professor Guttorm Sindre Premieutdeling Kahoot Vinnere av enkeltrunder: Datamaskinens historie: mr.oyster (7311) Variable, aritmetiske op., etc.: Sha-ra (6155) if-setn.,

Detaljer

Utplukk og sortering. Innhold

Utplukk og sortering. Innhold Innhold Utplukk og sortering... 2 Definering av utplukk... 2 Velge felter for utplukket... 2 Filtrering og søk på tilgjengelige databasefelter... 3 Endre databasekobling etter at felt er valgt... 7 Valg

Detaljer

TDT4110 IT Grunnkurs Høst 2014

TDT4110 IT Grunnkurs Høst 2014 TDT4110 IT Grunnkurs Høst 2014 Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap Auditorieøving 1 Navn: Linje: Brukernavn (blokkbokstaver): Oppgavesettet

Detaljer

Ta kontakt i pausen. Viktig at vi kommer i gang med dette arbeidet!

Ta kontakt i pausen. Viktig at vi kommer i gang med dette arbeidet! 1 Kunnskap for en bedre verden TDT4105 Informasjonsteknologi, grunnkurs Mer om funksjoner. Logiske betingelser og betinget programutførelse (valg). Amanuensis Terje Rydland Kontor: ITV-021 i IT-bygget

Detaljer

Løse reelle problemer

Løse reelle problemer Løse reelle problemer Løse problemer med data fra fil, samt litt mer om funksjoner IN1000, uke6 Geir Kjetil Sandve Mål for uken Få enda mer trening i hvordan bruke løkker, samlinger og beslutninger for

Detaljer

TDT4110 Informasjonsteknologi grunnkurs: Kapittel 1 Introduksjon til Programmering og Python. Professor Alf Inge Wang

TDT4110 Informasjonsteknologi grunnkurs: Kapittel 1 Introduksjon til Programmering og Python. Professor Alf Inge Wang 2 TDT4110 Informasjonsteknologi grunnkurs: Kapittel 1 Introduksjon til Programmering og Python Professor Alf Inge Wang 3 https://www.youtube.com/watch? v=nkiu9yen5nc 4 Læringsmål og pensum Mål Lære om

Detaljer

Python: Rekursjon (og programmering av algoritmer) Python-bok: Kapittel 12 + teoribok om Algoritmer

Python: Rekursjon (og programmering av algoritmer) Python-bok: Kapittel 12 + teoribok om Algoritmer Python: Rekursjon (og programmering av algoritmer) Python-bok: Kapittel 12 + teoribok om Algoritmer TDT4110 IT Grunnkurs Professor Guttorm Sindre Læringsmål og pensum Mål Forstå, og kunne bruke, algoritmer

Detaljer

Kap. 5, Del 3: INF5110, fra 1/3-2011

Kap. 5, Del 3: INF5110, fra 1/3-2011 Kap. 5, Del 3: LR(1)- og LALR(1)-grammatikker INF5110, fra 1/3-2011 Bakerst: Oppgaver til kap 5 (svar kommer til gjennomgåelsen) gåe Nytt 2/3: Nå også oppgave 2 fra eksamen 2006 Stein Krogdahl, Ifi, UiO

Detaljer

Løse reelle problemer

Løse reelle problemer Løse reelle problemer Litt mer om løkker, prosedyrer, funksjoner, tekst og innlesing fra fil INF1000, uke4 Geir Kjetil Sandve 1 Tilbakeblikk Dere bør nå beherske det sentrale fra uke 1 og 2: Uttrykk, typer,

Detaljer

Eksamensoppgaver 2014

Eksamensoppgaver 2014 Eksamensoppgaver 2014 Først kommer alle de relevante små-oppgavene og deretter den store oppgaven. Oppgave 1 (4 p) a) Hva er verdien til tall etter at følgende kode er utført? tall = (5+3)*2 tall = tall+2

Detaljer

Plenumsregning 1. MAT1030 Diskret Matematikk. Repetisjon: Algoritmer og pseudokode. Velkommen til plenumsregning for MAT1030

Plenumsregning 1. MAT1030 Diskret Matematikk. Repetisjon: Algoritmer og pseudokode. Velkommen til plenumsregning for MAT1030 MAT1030 Diskret Matematikk Plenumsregning 1: Kapittel 1 Mathias Barra Matematisk institutt, Universitetet i Oslo Plenumsregning 1 16. januar 2009 (Sist oppdatert: 2009-02-02 14:21) MAT1030 Diskret Matematikk

Detaljer

Objektorientert programmering i Python. Resten av semesteret. Innhold uke 9 Mer komplekse strukturer. Referanser og objekter, inkl Mentimeter spørsmål

Objektorientert programmering i Python. Resten av semesteret. Innhold uke 9 Mer komplekse strukturer. Referanser og objekter, inkl Mentimeter spørsmål Innhold uke 9 Mer komplekse strukturer Objektorientert programmering i Python IN1000 Høst 2018 uke 9 Siri Moe Jensen Referanser versus objekter (repetisjon) "Dot-notasjon" Spesielle metoder i egendefinerte

Detaljer

IN1010. Fra Python til Java. En introduksjon til programmeringsspråkenes verden Dag Langmyhr

IN1010. Fra Python til Java. En introduksjon til programmeringsspråkenes verden Dag Langmyhr IN1010 Fra Python til Java En introduksjon til programmeringsspråkenes verden dag@ifi.uio.no Oversikt Introduksjon Python Java Noe er likt Noe bare ser anderledes ut Noe er helt forskjellig Et par eksempler

Detaljer

TDT4102 Prosedyre og Objektorientert programmering Vår 2014

TDT4102 Prosedyre og Objektorientert programmering Vår 2014 Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap TDT4102 Prosedyre og Objektorientert programmering Vår 2014 Øving 10 Frist: 2014-04-11 Mål for denne øvinga:

Detaljer

TDT4102 Prosedyre og Objektorientert programmering Vår 2015

TDT4102 Prosedyre og Objektorientert programmering Vår 2015 Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap TDT4102 Prosedyre og Objektorientert programmering Vår 2015 Øving 3 Frist: 2014-02-07 Mål for denne øvinga:

Detaljer

Løkker og lister. Løse problemer med programmering. INF1001, uke3 Geir Kjetil Sandve

Løkker og lister. Løse problemer med programmering. INF1001, uke3 Geir Kjetil Sandve Løkker og lister Løse problemer med programmering INF1001, uke3 Geir Kjetil Sandve Hva vi har lært så langt Variabler og uttrykk Beslutninger Kontrollflyt Prosedyrer Fokus i dag Repetert kjøring (løkker)

Detaljer

IN1010. Fra Python til Java. En introduksjon til programmeringsspråkenes verden Dag Langmyhr

IN1010. Fra Python til Java. En introduksjon til programmeringsspråkenes verden Dag Langmyhr IN1010 Fra Python til Java En introduksjon til programmeringsspråkenes verden dag@ifi.uio.no Oversikt Introduksjon Python Java Noe er likt Noe bare ser anderledes ut Noe er helt forskjellig Et par eksempler

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO BOKMÅL Det matematisk-naturvitenskapelige fakultet Eksamen i : Eksamensdag : Torsdag 2. desember 2004 Tid for eksamen : 09.00 12.00 Oppgavesettet er på : Vedlegg : Tillatte hjelpemidler

Detaljer

Matematikk 1000. Øvingsoppgaver i numerikk leksjon 5 Skript

Matematikk 1000. Øvingsoppgaver i numerikk leksjon 5 Skript Matematikk 1000 Øvingsoppgaver i numerikk leksjon 5 Skript I denne øvinga skal vi lære oss mer om skript. Et skript kan vi se på som et lite program altså en sekvens av kommandoer. Til sist skal vi se

Detaljer

Introduksjon til beslutningsstrukturer

Introduksjon til beslutningsstrukturer [Kurssidene] [ ABI - fagsider bibin ] Utvikling av dynamiske nettsteder med PHP og databaser, våren 2014 Introduksjon til beslutningsstrukturer Michael Preminger (michaelp@hio.no) 24/01-14 Repitisjon fra

Detaljer

Steg 0: Installere Pygame Zero

Steg 0: Installere Pygame Zero PGZ - Sprettball Skrevet av: Ole Kristian Pedersen, Kodeklubben Trondheim Kurs: Python Tema: Tekstbasert, Spill Fag: Matematikk, Programmering Klassetrinn: 5.-7. klasse, 8.-10. klasse Introduksjon I denne

Detaljer

Programmering Høst 2017

Programmering Høst 2017 Programmering Høst 2017 Tommy Abelsen Ingeniørfag - Data Innledning Dette er et dokument med litt informasjon og eksempler om kontrollstrukturer, samt oppgaver til forskjellige kontrollstrukturer. Spør

Detaljer

Innhold uke 8. Objekter: Bruk og intern organisering. Beskjeder: Oblig 1 6. Beskjeder: Oblig 7 (og 8)

Innhold uke 8. Objekter: Bruk og intern organisering. Beskjeder: Oblig 1 6. Beskjeder: Oblig 7 (og 8) Innhold uke 8 Objekter: Bruk og intern organisering IN1000 Høst 2017 uke 8 Siri Moe Jensen Repetisjon fra forrige uke Definere en klasse, opprette og arbeide med objekter: How to Forstå (mer av) hva som

Detaljer

INF1000 Eksamen 2014 (modifisert)

INF1000 Eksamen 2014 (modifisert) INF1000 Eksamen 2014 (modifisert) Oppgave 1 (4 poeng) a) Hva er verdien til tall etter at følgende kode er utført? tall = (5+3)*2 tall = tall+2 18. b) Anta at følgende programsetninger utføres. Hva skrives

Detaljer

Norsk informatikkolympiade runde

Norsk informatikkolympiade runde Norsk informatikkolympiade 2015 2016 1. runde Sponset av Uke 46, 2015 Tid: 90 minutter Tillatte hjelpemidler: Kun skrivesaker. Det er ikke tillatt med kalkulator eller trykte eller håndskrevne hjelpemidler.

Detaljer

Det du skal gjøre i denne oppgava er først å sette opp bakgrunnen til spillet og så rett og slett å få firkanter til å falle over skjermen.

Det du skal gjøre i denne oppgava er først å sette opp bakgrunnen til spillet og så rett og slett å få firkanter til å falle over skjermen. Tetris Introduksjon Processing Introduksjon Lag starten på ditt eget tetris spill! Det du skal gjøre i denne oppgava er først å sette opp bakgrunnen til spillet og så rett og slett å få firkanter til å

Detaljer

INF1000 Eksamen 2014 (modifisert)

INF1000 Eksamen 2014 (modifisert) INF1000 Eksamen 2014 (modifisert) Oppgave 1 (4 poeng) a) Hva er verdien til tall etter at følgende kode er utført? tall = (5+3)*2 tall = tall+2 b) Anta at følgende programsetninger utføres. Hva skrives

Detaljer

Velkommen til plenumsregning for MAT1030. MAT1030 Diskret matematikk. Repetisjon: Algoritmer og pseudokode. Eksempel fra boka. Eksempel

Velkommen til plenumsregning for MAT1030. MAT1030 Diskret matematikk. Repetisjon: Algoritmer og pseudokode. Eksempel fra boka. Eksempel Velkommen til plenumsregning for MAT1030 MAT1030 Diskret matematikk Plenumsregning 1: Kapittel 1 Roger Antonsen Matematisk Institutt, Universitetet i Oslo 17. januar 2008 Torsdager 10:15 12:00 Gjennomgang

Detaljer

MAT1030 Diskret matematikk

MAT1030 Diskret matematikk MAT1030 Diskret matematikk Plenumsregning 1: Kapittel 1 Roger Antonsen Matematisk Institutt, Universitetet i Oslo 17. januar 2008 Velkommen til plenumsregning for MAT1030 Torsdager 10:15 12:00 Gjennomgang

Detaljer

Legg bort skilpaddene dine, i dag skal vi lære hvordan vi kan sende hemmelige beskjeder!

Legg bort skilpaddene dine, i dag skal vi lære hvordan vi kan sende hemmelige beskjeder! Level 1 Hemmelige koder All Code Clubs must be registered. Registered clubs appear on the map at codeclubworld.org - if your club is not on the map then visit jumpto.cc/ccwreg to register your club. Legg

Detaljer

Dagens tema: 12 gode råd for en kompilatorskriver

Dagens tema: 12 gode råd for en kompilatorskriver Dagens tema: 12 gode råd for en kompilatorskriver Hvordan sjekke navn? Testutskrifter 12 gode råd Hva skal gjøres med navn? Sjekking av navn En kompilator må også sjekke riktig navnebruk: Det må ikke forekomme

Detaljer

Prøveeksamen IN1000. IN Prøveeksamen. Dato november 2017 Tid 12:30-12:00 Alle trykte og skrevne hjelpemidler er tillatt.

Prøveeksamen IN1000. IN Prøveeksamen. Dato november 2017 Tid 12:30-12:00 Alle trykte og skrevne hjelpemidler er tillatt. IN000-207-Prøveeksamen Prøveeksamen IN000 Dato 3-20. november 207 Tid 2:30-2:00 Alle trykte og skrevne hjelpemidler er tillatt. Les nøye gjennom oppgavene før du løser dem. Du kan legge dine egne forutsetninger

Detaljer

På tide med et nytt spill! I dag skal vi lage tre på rad, hvor spillerne etter tur merker ruter med X eller O inntil en av spillerne får tre på rad.

På tide med et nytt spill! I dag skal vi lage tre på rad, hvor spillerne etter tur merker ruter med X eller O inntil en av spillerne får tre på rad. Tre på rad Skrevet av: Oversatt fra Code Club UK (//codeclub.org.uk Oversatt av: Geir Arne Hjelle Kurs: Python Tema: Tekstbasert, Spill Fag: Programmering Klassetrinn: 8.-10. klasse Introduksjon På tide

Detaljer

Tetris. Introduksjon. Skrevet av: Kine Gjerstad Eide. Lag starten på ditt eget tetris spill!

Tetris. Introduksjon. Skrevet av: Kine Gjerstad Eide. Lag starten på ditt eget tetris spill! Tetris Skrevet av: Kine Gjerstad Eide Kurs: Processing Introduksjon Lag starten på ditt eget tetris spill! Det du skal gjøre i denne oppgava er først å sette opp bakgrunnen til spillet og så rett og slett

Detaljer

Informasjon Eksamen i IN1000 og IN1001 høsten a) 1 poeng. 1b) 1 poeng. Tid. Oppgavene. Tillatte hjelpemidler. 30. november kl. 14.

Informasjon Eksamen i IN1000 og IN1001 høsten a) 1 poeng. 1b) 1 poeng. Tid. Oppgavene. Tillatte hjelpemidler. 30. november kl. 14. IN1000-INF1001-2018 Informasjon Eksamen i IN1000 og IN1001 høsten 2018 Tid 30. november kl. 14.30 (4 timer) Faglærere vil besøke lokalet ca kl 15-16. Oppgavene Oppgave 1a-f er kortsvarsoppgaver som rettes

Detaljer

while-økker while-løkker gjentar instruksjonene så lenge en betingelse er oppfylt Eksempel 1: en enkel while-løkke

while-økker while-løkker gjentar instruksjonene så lenge en betingelse er oppfylt Eksempel 1: en enkel while-løkke [Kurssidene] [ ABI - fagsider bibin ] Utvikling av dynamiske nettsteder med PHP og databaser, våren 2014 while-økker while-løkker gjentar instruksjonene så lenge en betingelse er oppfylt Michael Preminger

Detaljer

Skilpadder hele veien ned

Skilpadder hele veien ned Skilpadder hele veien ned Skrevet av: Oversatt fra Code Club UK (//codeclub.org.uk) Oversatt av: Bjørn Einar Bjartnes Kurs: Python Tema: Tekstbasert Fag: Matematikk, Programmering, Kunst og håndverk Klassetrinn:

Detaljer

Leksjon 3. Kontrollstrukturer

Leksjon 3. Kontrollstrukturer 6108 Programmering i Java Leksjon 3 Kontrollstrukturer Del 1: Valg Roy M. Istad 2015 Utfør av et program Programflyt så langt: start setning setning setning setning slutt Sekvensielt: Alle setninger utføres,

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Kandidatnr Eksamen i INF1000 Grunnkurs i objektorientert programmering Eksamensdag: Onsdag 1. desember 2010 Tid for eksamen: 14.00 18.00

Detaljer

Verden. Steg 1: Vinduet. Introduksjon

Verden. Steg 1: Vinduet. Introduksjon Verden Introduksjon Processing Introduksjon Velkommen til verdensspillet! Her skal vi lage begynnelsen av et spill hvor man skal gjette hvilke verdensdeler som er hvor. Så kan du utvide oppgava til å heller

Detaljer

3. Introduksjon til prosjektet Hringr. Scratch fra scratch Enkel programmering for nybegynnere

3. Introduksjon til prosjektet Hringr. Scratch fra scratch Enkel programmering for nybegynnere 3. Introduksjon til prosjektet Hringr 29 Sammenlikninger hvis og hvis-ellers Vi mennesker bruker sammenlikninger hundrevis av ganger hver eneste dag. Når vi utfører oppgaver, når vi tenker og når vi jobber.

Detaljer

Hvordan velge lov eller forskrift

Hvordan velge lov eller forskrift Hvordan velge lov eller forskrift Bokmerker Klikk på tekstene i dette vinduet for å gå tilbake til hovedmeny, forord eller innholdsfortegnelse. Valg av lov eller forskrift Du kan velge alle lovene og forskriftene

Detaljer

INF5110 V2013 Stoff som i boka står i kap 4, men som er generelt stoff om grammatikker

INF5110 V2013 Stoff som i boka står i kap 4, men som er generelt stoff om grammatikker INF5110 V2013 Stoff som i boka står i kap 4, men som er generelt stoff om grammatikker 29. januar 2013 Stein Krogdahl, Ifi, UiO NB: Ikke undervisning fredag 1. februar! Oppgaver som gjennomgås 5. februar

Detaljer

Skilpadder hele veien ned

Skilpadder hele veien ned Level 1 Skilpadder hele veien ned All Code Clubs must be registered. Registered clubs appear on the map at codeclubworld.org - if your club is not on the map then visit jumpto.cc/ccwreg to register your

Detaljer

Skilpaddetekst. Steg 1: Tekst på flere linjer. Sjekkliste. Introduksjon

Skilpaddetekst. Steg 1: Tekst på flere linjer. Sjekkliste. Introduksjon Skilpaddetekst Ekspert Python Introduksjon I denne oppgaven skal vi skrive kode, slik at vi kan skrive stor tekst ved hjelp av turtle slik som på bildet under. Steg 1: Tekst på flere linjer Vi har allerede

Detaljer