Oppgaver uke 1: Løsningsforslag

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

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

IN uke 1. Komme i gang med programmering

TDT4110 IT Grunnkurs Høst 2016

Øvingsforelesning 1 Python (TDT4110)

TDT4110 IT Grunnkurs Høst 2016

IN uke 1. Komme i gang med programmering

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

TDT4110 Informasjonsteknologi, grunnkurs Uke 35 Introduksjon til programmering i Python

Repetisjon Novice Videregående Python PDF

INF uke 2. Inputt, beslutninger, kontrollflyt og prosedyrer

Hangman. Level. Introduksjon

IN uke 1. Komme i gang med programmering

I denne oppgaven skal vi repetere litt Python-syntaks, det er en god blanding av alle tingene du har lært i Python til nå.

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

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

TDT4110 IT Grunnkurs Høst 2015

Hvordan løse problemer med programmering?

For å sjekke at Python virker som det skal begynner vi med å lage et kjempeenkelt program. Vi vil bare skrive en enkel hilsen på skjermen.

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

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

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?

INF Ekstrainnlevering

INF109 - Uke 1a

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

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

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

Øvingsforelesning i Python (TDT4110)

Øvingsforelesning 5 Python (TDT4110)

I dag skal vi ved hjelp av ganske enkel Python-kode finne ut om det er mulig å tjene penger på å selge og kjøpe en aksje.

Utførelse av programmer, metoder og synlighet av variabler i JSP

Hash-funksjoner. Introduksjon. Steg 1: Strekkoder. Eksempel. Skrevet av: Martin Strand

Øvingsforelesning 5 Python (TDT4110)

Oppsummering fra sist

Et lite oppdrag i bakgrunnen

Mattespill Nybegynner Python PDF

MAT-INF 1100: Obligatorisk oppgave 1

Forkurs i informatikk Python. Andreas Færøvig Olsen

Hvordan angripe en større oppgave? (og hva skal jeg gjøre i oblig 7!?)

Oppsummering Assemblerkode Hopp Multiplikasjon Kode og data Array Oppsummering

MAT-INF 1100: Obligatorisk oppgave 1

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

Læringsmål og pensum. v=nkiu9yen5nc

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

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

I denne oppgaven skal vi gjøre enkle operasjoner på tekst, som å endre størrelsen på bokstavene og telle ord.

Øvingsforelesning i Python (TDT4110)

Øvingsforelesning 3 Python (TDT4110)

IN uke 2. Presis forståelse av programmering

Utførelse av programmer, funksjoner og synlighet av variabler (Matl.)

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

INF Obligatorisk innlevering 7

MAT1030 Plenumsregning 1

TDT4110 IT Grunnkurs Høst 2014

MAT1030 Diskret Matematikk

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

INF Obligatorisk innlevering 5

INF Obligatorisk innlevering 7

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

Løkker og arrayer. Løse problemer med programmering. INF1000, uke3 Geir Kjetil Sandve

INF1000 undervisningen INF 1000 høsten 2011 Uke september

INF 1000 høsten 2011 Uke september

Steg 0: Installere Pygame Zero

Eksamensoppgaver 2014

Verden. Steg 1: Vinduet. Introduksjon

Løse reelle problemer

Kodetime for Nordstrand barneskole

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

MAT1030 Diskret matematikk

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

OPPGAVE 1 OBLIGATORISKE OPPGAVER (OBLIG 1) (1) Uten å selv implementere og kjøre koden under, hva skriver koden ut til konsollen?

UNIVERSITETET I OSLO

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.

Noen innebygde funksjoner - Vektorisering

IN Seminaroppgaver til uke 11

Håndtere mange verdier

Noen innebygde funksjoner - Vektorisering

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

Verden. Introduksjon. Skrevet av: Kine Gjerstad Eide og Ruben Gjerstad Eide

IN uke 2. Presis forståelse av programmering

JS: Grunnleggende JavaScript Nybegynner

Innhold uke 7. Objektorientert programmering i Python: Introduksjon. Lite tilbakeblikk: Programflyt og skop. Lite tilbakeblikk: Funksjoner er uttrykk

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

Oppgaver til kodegenerering etc. INF-5110, 12. mai, 2015

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

MAT-INF1100 Oblig 1. Teodor Spæren, brukernavn teodors. September 16, 2015

JS: Grunnleggende JavaScript

1. Rullende navn, s 3 2. Smilefjes, s 5 3. Skritteller, s 7 4. Orakel, s 9 5. Stein, saks og papir, s Kompass, s 14

AlgDat - Øvingsforelesning 1 Introduksjon til Python, lenkede lister og øving 1

Øvingsforelesning i Python (TDT4110)

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

INF109 - Uke 1b

Obligatorisk oppgavesett 1 MAT1120 H16

Hemmelige koder. Kodeklubb-koden. Steg 1: Alfabetet. Sjekkliste. Introduksjon

Oblig2 - obligatorisk oppgave nr. 2 (av 4) i INF1000

MAT-INF 1100: Obligatorisk oppgave 1

Matematikk Øvingsoppgaver i numerikk leksjon 5 Skript

Oblig2 - obligatorisk oppgave nr. 2 (av 4) i INF1000

Transkript:

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 er verdien til variabelen alder 30. Programmet kjøres linje for linje, og derfor blir utskriften som den blir. Siden verdien til variabelen alder blir endret etter print(), vil ikke denne endringen vises. Oppgave 2 Skriv et program med penn og papir som gjør følgende: 1. Lag to variabler med verdiene 4 og 5. 2. Skriv ut summen av tallene. Her kan vi se for oss to løsninger: Forslag 1: tall1 = 4 tall2 = 5 print(tall1 + tall2) Forslag 2: tall1 = 4 tall2 = 5 sum = tall1 + tall2 print(sum) Begge programmene gir samme utskrift: 9 Forslag 2 har den fordelen at man kan bruke variabelen sum senere også, mens i forslag 1 har vi ikke en egen variabel til å holde på summen. Husk at når vi skriver sum = tall1 + tall2 så legges først tall1 og tall2 sammen, og så gis den verdien til sum. Oppgave 3 Hva tror du følgende program skriver ut til terminalen? Diskuter med gruppen. Skriv det som skrives ut som kommentarer i programkoden. print("39 + 3") print(39 + 3)

Selve utskriften fra programmet blir: "39 + 3" 42 I oppgaven ble dere bedt om å skrive svaret som kommentarer i programkode, altså: print("39 + 3") #"39 + 3" print(39 + 3) #42 I Python brukes # for å markere kommentarer. Man kan også bruke tre anførselstegn etter hverandre("""kommentar""") for å kommentere lengre avsnitt. Bruk disse for å gi informasjon til dere selv eller andre som skal lese koden deres. Det kan blant annet være nyttig for å huske hva dere holdt på med hvis dere skal se på koden seinere, eller for å forklare en løsning som ikke er lett å forstå med en gang. Oppgave 4 Hva blir variabelen a til i de ulike uttrykkene? Skriv som kommentar 1. a = 4 + 5 2. a = 6-2 3. a = 4 * 2 4. a = 11 / 2 5. a = 11 // 2 Her skal dere også svare med kommentarer, som om det skulle være kode: a = 4 + 5 #gir 9 a = 6-2 #gir 4 a = 4 * 2 #gir 8 a = 11 / 2 #gir 5.5 a = 11 // 2 #gir 5 Dere kan gjøre alle de matematiske operasjonene dere er kjente med i Python. Det nyeste er kanskje heltallsdivisjon (//) og modulo (%). Dere kan lese mer om disse i seksjon 2.2 i Python-boka. + og er som vanlig, * er gange, / er dele, og ** er potens. Eksempel på potens: a = 2**3 #gir 8 Oppgave 5 Hva tror du følgende program skriver ut til terminalen? Diskuter med gruppen, og skriv ned den nøyaktige teksten. tall1 = "120" tall2 = "3" tall3 = tall1 + tall2 print("tall 1: ", tall1, "og tall 2: ", tall2, "blir til sammen: ", tall3)

Utskrift: Tall 1: 120 og tall 2: blir til sammen: 1203 Grunnen til at det er doble mellomrom, er fordi i oppgaven dere fikk utdelt var det mellomrom etter kolon i utskriften. Siden kommaer skrives ut som mellomrom i print() får vi noen doble mellomrom. Tenk derfor på når dere kan trenge mellomrom, og når dere ikke trenger det hvis dere har kommaer i print(). Oppgave 6 Skriv et lite program som tar navn og alder til en person som input og deretter skriver ut Hei! <navn> er <alder> ar gammel!. Husk å gi tydelige beskjeder om hva som forventes som input av brukeren. navn = input("hva heter du?") alder = input("hvor gammel er du?") print("hei,",navn,", du er",alder,"år gammel.") Eksempelkjøring: Oppgave 7 Hva tror du skrives ut her? Utfordring: hva tror du skrives ut dersom a = 4 og b = 4? a = 4 b = 6 Utskrift hvis a = 4 og b = 6: 6 er større enn 4 Utskrift hvis a = 4 og b = 4: 4 er større enn 4

Dette er altså «b er større enn a». Grunnen til dette er fordi programmet bare sjekker om a er mindre enn b, og siden det ikke er riktig, kjøres «else». Programmet kan forbedres ved å legge til en ekstra test: a = 4 b = 6 elif b > a: else: Oppgave 8 Diskuter forskjellen på disse to: elif b > a: if b > a: Tenk på; hva blir utskriften hvis 1. a = 4, b = 3 2. a = 5, b = 7 3. a = 3, b = 3 Første alternativ gir utskriften: 1. 4 er storre enn 3 2. 7 er storre enn 5 3. 3 er lik 3 Andre alternativ gir utskriften: 1. 4 er storre enn 3 OG 4 er lik 3 2. 7 er storre enn 5 3. 3 er lik 3 Grunnen til at det blir sånn er at med if elif else vil programmet sjekke både if og elif før den går videre til else. Else i dette programmet kjører derfor for alle tilfeller som ikke oppfyller a > b (etter if) eller b > a (etter elif). I det andre programmet derimot er det if if else. To if etter hverandre vil bare gjøre at den første if tester, og så vil den begynne på den neste if uavhengig av hva resultatet av den første if-testen var.

Else i dette programmet vil derfor kjøre alle tilfeller som ikke oppfyller b > a, men bryr seg ikke om a > b, fordi den første if-testen ikke er knyttet til else her.