Eksempel 1: Bestemmer om tallet som skrives inn er et partall eller et oddetall side 12

Størrelse: px
Begynne med side:

Download "Eksempel 1: Bestemmer om tallet som skrives inn er et partall eller et oddetall side 12"

Transkript

1 1

2 INNHOLD PROGRAMMERING I MATEMATIKK side 3 MINIKURS I PROGRAMMERING side 4 TRINKET side 5 LØKKER side 6 ARRAYER side 8 GRAFTEGNING MED PYTHON side 10 Eksempel 1: Bestemmer om tallet som skrives inn er et partall eller et oddetall side 12 Eksempel 2: Bestemmer om tallet har 2 eller 3 som faktor side 13 Eksempel 3: Formelregning: Fra celsiusgrader til fahrenheitgrader side 14 Eksempel 4: Formelregning: Prosent side 15 Eksempel 5: Formelregning: Prosent med en enkel if-setning side 16 Eksempel 6: Tegning av graf fra x- og y-verdier side 17 Eksempel 7: Tegning av grafen til et funksjonsuttrykk side 18 Eksempel 8: Beregning av lengden på hypotenusen ved hjelp av pytagorassetningen side 19 Eksempel 9a: Enkel løkke side 20 Eksempel 9b: Løkke med input side 21 Eksempel 9c: Løkke med input og summering side 22 Eksempel 10: Oppgave med array side 23 Eksempel 11: Simulering av terningkast side 24 Forsideillustrasjon: Lars Fiske Vi tar forbehold om trykkfeil Aschehoug Undervisning. Design og sats: Blomqvist Design. Trykk: RK Grafisk. Papir: Edixion Offset 120 g. 2

3 PROGRAMMERING PROGRAMMERING I MATEMATIKK gir muligheter! I dette heftet vil du finne eksempler på hvordan programmering kan brukes i matematikkfaget på trinn. Her finner du også en kort gjennomgang av noen viktige kommandoer. Eksemplene er laget i programmeringsspråket Python. Innholdet er tilpasset deler av dagens læreplan, og kan derfor brukes allerede i dag. Hvordan programmering skal implementeres i matematikk på ungdomsskolen, blir først klart etter at de endelige læreplanene til fagfornyelsen foreligger. Vi siterer her kjerneelementgruppen for matematikk: «For at opplæringen i programmering og algoritmisk tenking skal lykkes og bidra til læring, forståelse og mestring, må temaet integreres i hele skoleløpet og flettes inn i matematikkfaget på matematikkfagets premisser.» PROGRAMMERING PÅ LOKUS På Lokus.no/programmering presenterer vi en løsning som gjør at du kan programmere rett inn i en nettleser. Det betyr at du ikke trenger å installere programvare på maskinen din for å kunne programmere. På dette nettstedet vil du også finne mer informasjon om programmering i matematikk og naturfag. Med eksemplene i dette heftet håper vi å vise deg som ikke har så mye erfaring med å programmere hvilke muligheter tekstbasert programmering kan gi. Vi håper også at du vil få inspirasjon til å lage dine egne oppgaver. Kodene som er brukt i eksemplene etterfølges av en kort forklaring. Forklaringer starter med #, som betyr at den er ment for leseren og ignoreres av Python. Lykke til med programmeringen! 3

4 MINIKURS MINIKURS I PROGRAMMERING Målet med dette heftet er å vise hvordan programmering kan brukes i matematikkfaget. Heftet er ikke ment som en fullstendig grunnopplæring i programmering, men vi starter likevel med en gjennomgang av noen av de viktigste kommandoene. HVOR SKRIVER VI KODEN? For å slippe å installere programvare kan vi bruke den nettbaserte kodeeditoren Trinket (se neste side). Du finner kodeeditoren på nettstedet lokus.no/programmering. UTSKRIFT For å få skrevet ut tekst eller tall i Python kan vi bruke print()-funksjonen: print("hei, verden!") Denne koden vil føre til at teksten «Hei, verden!» vises på skjermen. 4

5 KODEEDITOR Trinket Trinket er et nettbasert verktøy som gjør det lett å komme i gang med programmering. Den lar oss skrive og kjøre Python-kode direkte i nettleseren. Du finner kodeeditoren til Trinket på lokus.no/programmering. Når du velger tekstbasert kodeeditor, kommer du til nettsiden der du skal programmere: Her skriver vi kode Knappen «Run» lar oss kjøre koden Resultatet vil dukke opp her Fra kodeeditoren på lokus.no/programmering 5

6 LØKKER OG FEILMELDINGER Løkker Ved å bruke løkker kan vi få datamaskinen til å gjenta en prosess så mange ganger vi ønsker. For å gjenta en prosess bruker vi noe som kalles en løkke. Det finnes flere varianter av løkker, men vi skal bare se på de som kalles for-løkker. En typisk for-løkke ser slik ut: Vi kan også angi et start-tall med range()-funksjonen. Da starter vi å telle med tallet vi angir (i stedet for 0), og teller opp til, men ikke med, det andre tallet vi angir: for i in range(5): print(i) for i in range(2, 6): print(i) Legg merke til at vi har et innrykk foran print(i). Vi gjør det for å vise hvilke linjer i programmet som hører til løkken. Lengden på innrykket har ingenting å si, men her har vi brukt to mellomrom. For å forklare denne løkken må vi først se på hva range(5) betyr. Funksjonen range() gir oss en liste med heltall. Hvis vi bare skriver ett tall i parentesen, så starter vi på 0, og teller opp til, men ikke med, tallet som vi angir. Det betyr at range(5) gir oss tallene 0, 1, 2, 3 og 4. Resultatet ser slik ut: Det er vanlig å bruke bokstavene i, j og k som variabelnavn i løkker, men vi kunne like gjerne ha skrevet koden vår slik (og fått samme resultat): I løkken vår vil variabelen i ta verdiene 0, 1, 2, 3 og 4, én etter én, slik at vi får følgende utskrift: for langtvariabelnavn in range(5): print(langtvariabelnavn) Se eksempel 9a c og 11. 6

7 FEILMELDINGER Når du programmerer, vil du møte mange ulike feilmeldinger. Du bør lese dem grundig, slik at du etter hvert kan kjenne dem igjen. De fleste feilmeldingene skyldes enkle skrivefeil eller manglende tegn. Hvis vi for eksempel skriver print("hallo), vil vi få en slik feilmelding: File "/tmp/sessions/bcd8e5504c7a35ff/main.py", line 1 print("hallo) ^ SyntaxError: EOL while scanning string literal Her får vi vite hvilken linje og hvilken kode som forårsaker feilen. Denne feilen skyldes at Python ikke fant slutten på teksten, fordi vi manglet et avsluttende anførselstegn. Vi får en annen feilmelding hvis vi i stedet skriver print"hallo"): File "/tmp/sessions/d60cf021c327391f/main.py", line 1 print"hallo") ^ SyntaxError: invalid syntax Her er det den første parentesen som mangler. Feilmeldingen forteller oss at det dreier seg om en skrivefeil (en syntaksfeil). 7

8 ARRAY Arrayer 4 Vi kan tenke på en array som en samling med verdier, der verdienes rekkefølge er bestemt. Når vi ønsker å lagre mange verdier, kan vi bruke en array. Vi kan tenke på en array som en samling med verdier, der verdienes rekkefølge er bestemt. For å bruke arrayer i Python må vi importere kode som er skrevet av andre, fordi Python i seg selv ikke har støtte for arrayer. Koden vi ønsker å bruke, finnes i en pakke / et bibliotek som heter pylab. Den importerer vi slik (vi skriver dette helt øverst i koden): from pylab import * Denne linjen betyr at vi importerer alt (*) fra pakken pylab. Vi skal her lage en array på to forskjellige måter. Den første måten lar oss lage en array som inneholder et bestemt antall nuller, og den lager vi med funk sjonen zeros(), slik: minarray = zeros(10) Her har vi laget en array med navnet «minarray» som inneholder 10 nuller. Vi kan skrive ut innholdet av denne for å se hva den inneholder: print(minarray) Resultatet vil da se slik ut: [ ] Her har vi en array med 10 verdier. De kan vi forandre på senere. Punktumene illustrerer at vi har med desimaltall å gjøre, og «0.» er en forkortelse for «0.0». Den andre varianten vi skal se på, lar oss lage en array som inneholder en sekvens av tall. Vi angir sekvensens første tall, sekvensens siste tall og antall tall vi ønsker. Til det bruker vi funksjonen linspace(), slik: enannenarray = linspace(1, 5, 9) Denne koden gir oss følgende array: [ ] Vi har ni jevnt fordelte tall som starter på 1 og slutter på 5. Alle verdiene i en array har sin faste posisjon, og hver posisjon er assosiert med et tall (en indeks). Den første verdien har indeks 0, den andre har indeks 1, osv. Hvis vi ønsker å skrive ut tallet 3 fra arrayen ovenfor, så kan vi skrive: print(enannenarray[4]) 8

9 Posisjoner (indekser) Denne koden gir oss følgende utskrift: 3.0 Verdier Vi bruker altså hakeparenteser for å hente spesifikke verdier. Her har vi hentet ut verdien med indeks 4, altså det femte tallet i arrayen (fordi vi starter å telle på 0). På samme måte kan vi gjøre om en verdi: enannenarray[2] = 9 Nå vil arrayen se slik ut (verdien med indeks 2 er forandret): [ ] Se eksempel 10 og 11. 9

10 GRAFTEGNING Graftegning med Python La oss for eksempel si at vi skal tegne grafen til funksjonen y = x2. Hvis vi skal tegne denne grafen på papir, så må vi først bestemme oss for hvilke x-verdier vi vil bruke, og så må vi beregne de tilhørende y-verdiene. Hvis vi velger x-verdiene 0, 2, 4, 6, 8 og 10, vil vi få en slik verditabell: x y Hvis vi markerer disse seks punktene i en graf, og trekker rette linjer mellom dem, får vi noe som likner på dette: (8, 64) y X Alle som har sett grafen til y = x2, vet at den er mye glattere enn grafen vi har vist ovenfor. Det kan vi også få til, men da må vi bruke flere punkter. La oss øke antallet x-verdier til 100. Vi lager en array med 100 x-verdier slik: x = linspace(0, 10, 100) En fordel med å bruke arrayer er at vi kan bruke dem direkte i beregninger. Så når vi nå vil beregne y-verdier, kan vi gjøre det slik (i Python betyr ** det samme som «opphøyd i»): y = x**2 Her blir y en ny array, og verdiene blir alle verdiene i x opphøyd i andre. 10

11 Vi har nå to arrayer, hver med 100 verdier. Arrayen x tilsvarer den første raden i verditabellen, og arrayen y tilsvarer den andre raden. Hvis vi tegner disse 100 punktene og trekker rette linjer mellom dem, så får vi et resultat som minner mer om det vi forventer: VARIABLER I PROGRAMMERING y X Vi har allerede nevnt at vi må importere pylab for å lage arrayer. I den samme pakken finner vi det vi trenger for å tegne grafer. Den fullstendige koden for å lage grafen ovenfor ser slik ut (prøv gjerne å variere antall punkter): from pylab import * # importerer pylab Fra matematikken er vi vant til å bruke x og y som variabler. Vi definerer da gjerne y som en funksjon som avhenger av x. Når vi programmerer, er det ikke alltid at vi løser det slik. Alt vi trenger for å tegne en graf er to serier med like mange verdier (slik som våre arrayer i eksemplet). Deretter må vi bestemme hva som skal plasseres langs førsteaksen og hva som skal plasseres langs andreaksen. x = linspace(0, 10, 40) y = x**2 plot(x, y) # tegner opp grafen xlabel("x") # skriver på en tittel langs x-aksen ylabel("y") # skriver på en tittel langs y-aksen grid() # tegner rutenett show() # gjør grafen synlig I eksemplet kunne vi fint ha skrevet plot(y, x) i stedet for plot(x, y), og vi ville likevel ha fått en graf. Prøv selv! Se eksempel 6 og 7. 11

12 EKSEMPEL 1 Bestemmer om tallet som skrives inn er et partall eller et oddetall print("dette programmet bestemmer om tallet du skriver inn er et partall eller oddetall.") # Programmet skriver det som står etter print. # Husk også parentes og anførselstegn. a = int(input("skriv inn et tall etterfulgt av Enter: ")) # Vi ønsker at brukeren skal skrive inn et tall som vi har kalt a. # Til dette bruker vi kommandoen input. # int vil gi oss et heltall. # Her starter vi en if-løkke: if a%2 == 0: # Operasjonen % heter modulus som gir oss resten når vi deler a på 2. # == betyr er lik # Dersom resten er lik null, har vi et partall. # Det vi ønsker at programmet skal gjøre, er skrevet med innrykk. print("dette er et partall.") # Hvis det som står etter if ikke slår til. else: print("dette er et oddetall.") Resultatet kan se slik ut: Dette programmet bestemmer om tallet du skriver inn er et partall eller oddetall. Skriv inn et tall etterfulgt av Enter: 35 Dette er et oddetall. 12

13 EKSEMPEL 2 Bestemmer om tallet har 2 eller 3 som faktor print("dette programmet bestemmer om tallet du skriver inn har 2 eller 3 som faktor.") # Programmet skriver det som står etter print. # Husk også parentes og anførselstegn. a = int(input("skriv inn et tall etterfulgt av Enter: ")) # Kommandoen int vil gi oss et heltall. # Kommandoen input gjør at vi kan skrive inn et tall. if a%2 == 0: # Her har vi startet en if-løkke. # Operasjonen % gir oss resten når vi deler tallet a med 2. # Dersom resten er lik 0, utføres det som er rykket inn nedenfor. # == betyr er lik print("tallet har 2 som faktor.") else: print("tallet har ikke 2 som faktor.") # Skrives dersom resten ikke er lik 0. if a%3 == 0: # Tilsvarende gir a%3 oss resten når vi deler tallet a med 3. print("tallet har 3 som faktor.") # Skrives dersom resten er lik 0. else: print("tallet har ikke 3 som faktor.") # Skrives dersom resten ikke er lik 0. Resultatet kan se slik ut: Dette programmet bestemmer og tallet du skriver inn har 2 eller 3 som faktor. Skriv inn et tall etterfulgt av Enter: 15 Tallet har ikke 2 som faktor. Tallet har 3 som faktor. 13

14 EKSEMPEL 3 Formelregning: Fra celsiusgrader til fahrenheitgrader print("dette programmet gjør om celsiusgrader til fahrenheitgrader.") # print betyr at programmet skriver ut det som står i etterfølgende parentes, og # det som skal skrives ut må stå i anførselstegn. graderc = float(input("hva er temperaturen i celsiusgrader? ")) # Ved å skrive float gir du brukeren mulighet til å skrive inn # enten et desimaltall eller heltall. # Her er omgjøringsformelen fra celsiusgrader til fahrenheitgrader graderf = graderc * (9/5) + 32 # Resultatet skrives ut print("temperaturen i fahrenheitgrader er", graderf) Dersom man skriver inn 20 celsiusgrader, ser resultatet slik ut: Dette programmet gjør om celsiusgrader til fahrenheitgrader. Hva er temperaturen i celsiusgrader? 20 Temperaturen i fahrenheitgrader er

15 EKSEMPEL 4 Formelregning: Prosent print("dette programmet beregner hvor mye en verdi endres i prosent.") print("skriv inn startverdien etterfulgt av Enter, deretter sluttverdien etterfulgt av Enter: ") startverdi = float(input("startverdi = ")) sluttverdi = float(input("sluttverdi = ")) # Kommandoen input gir brukeren mulighet til å skrive inn et tall. # Ved å skrive float kan tallet være et desimaltall eller et heltall. # Her er formelen endring = (sluttverdi - startverdi)/startverdi*100 # Resultatet skrives ut print("prosentvis endring er: ", endring) Resultatet kan se slik ut: Dette programmet beregner hvor mye en verdi endres i prosent. Skriv inn startverdien etterfulgt av Enter, deretter sluttverdien etterfulgt av Enter: startverdi = 200 sluttverdi = 230 Prosentvis endring er:

16 EKSEMPEL 5 Formelregning: Prosent med en enkel if-setning # Dersom vi ikke ønsker et negativt svar, # kan vi utvide programmet med en if-setning som tar hensyn til # om veksten er positiv eller negativ. print("dette programmet beregner hvor mye en verdi endres i prosent.") print("skriv inn startverdien etterfulgt av Enter, deretter sluttverdien etterfulgt av Enter:") startverdi = float(input("startverdi = ")) sluttverdi = float(input("sluttverdi = ")) endring = (sluttverdi - startverdi)/startverdi*100 # Hvis endringen er positiv, har vi en økning. if endring > 0: # Det som skal gjøres, må rykkes inn. print("sluttverdien har økt med", endring, "prosent i forhold til startverdien.") # Hvis endringen er negativ, har vi en nedgang. else: print("sluttverdien har sunket med", -endring, "prosent i forhold til startverdien.") Resultatet kan se slik ut: Dette programmet beregner hvor mye en verdi endres i prosent. Skriv inn startverdien etterfulgt av Enter, deretter sluttverdien etterfulgt av Enter: startverdi = 200 sluttverdi = 150 Sluttverdien har sunket med 25.0 prosent i forhold til startverdien. 16

17 EKSEMPEL 6 Tegning av graf fra x- og y-verdier # Vi importerer biblioteket pylab for å kunne bruke funksjonen plot. from pylab import * # Dette er x-verdiene for tid. tid = [0, 20, 40, 60, 80, 100] # Dette er y-verdiene for en populasjonsstørrelse. populasjon = [200, 300, 500, 900, 1500, 2400] # Lager grafen plot(tid, populasjon) # Navn på x-aksen xlabel("år") # Navn på y-aksen ylabel("populasjon") # Viser grafen show() Resultatet ser slik ut: Populasjon År 17

18 EKSEMPEL 7 Tegning av grafen til et funksjonsuttrykk # Vi importerer biblioteket pylab for å kunne bruke funksjonen linspace. from pylab import * x = linspace(-3, 3) # linspace(-3, 3) gir x-verdiene, det første tallet er startverdien (-3) og # det andre tallet er sluttverdien (3). # Man kan også legge inn et tredje tall, det vil angi antall punkter på grafen. # (Prøv å legge inn 3 som det siste tallet og se hva slags kurve du får.) # Vi skriver inn funksjonsuttrykket. # Her har vi valgt en andregradsfunksjon, prøv med en hvilken som helst annen funksjon! # ** betyr «opphøyd i» y = x**2 # Tegner grafen plot(x, y) # Navn på x-aksen xlabel("x") # Navn på y-aksen ylabel("y") # Vi kan gi grafen vår et navn. title("eksempel på en andregradsfunksjon") # Viser grafen show() Eksempel på en andregradsfunksjon y X 18

19 EKSEMPEL 8 Beregning av lengden på hypotenusen ved hjelp av pytagorassetningen # Vi importerer biblioteket pylab for å kunne bruke funksjonen sqrt from pylab import * print("dette programmet beregner lengden av hypotenusen.") print("skriv lengden på katet1 i cm etterfulgt av Enter, deretter lengden på katet2 i cm etterfulgt av Enter.") katet1 = float(input("hva er lengden av katet1? ")) # Kommandoen input gir brukeren mulighet til å skrive inn et tall. # Ved å skrive float kan tallet være et desimaltall eller et heltall. katet2 = float(input("hva er lengden av katet2? ")) hypotenus = sqrt(katet1**2 + katet2**2) # Regner ut lengden av hypotenusen. print("lengden på hypotenusen er: ",round(hypotenus, 2), "cm.") # Skriver ut svaret og runder det av til to desimaler Resultatet kan se slik ut: Dette programmet beregner lengden av hypotenusen Skriv lengden på katet1 i cm etterfulgt av Enter, deretter lengden på katet2 i cm etterfulgt av Enter. Hva er lengden av katet1? 5.2 Hva er lengden av katet2? 4.8 Lengden på hypotenusen er: 7.08 cm. 19

20 EKSEMPEL 9a Løkker a) Enkel løkke: print("dette programmet printer ut de 10 første kvadrattallene.") for i in range(1, 10+1): # Betyr "kjør denne løkken for alle tall fra 1 til 10". # Den siste verdien i løkken inkluderes ikke, derfor # Tellevariabelen i er en heltallsvariabel som # øker med 1 for hver runde i løkken. k = i**2 print(k) # Her er det som skal kjøres i løkken for hver verdi av i. # Koden som skal kjøres er markert ved at den er rykket inn # ** betyr "opphøyd i" Resultatet ser slik ut: Dette programmet printer ut de 10 første kvadrattallene

21 EKSEMPEL 9b b) Løkke med input: print("dette programmet printer ut de første kvadrattallene.") # int betyr at man må skrive inn et heltall. n = int(input("hvor mange kvadrattall vil du printe ut? ")) # betyr kjør denne løkken for alle tall fra 1 til n. for i in range(1, n+1): k = i**2 print(k) Resultatet kan se slik ut: Dette programmet printer ut de første kvadrattallene. Hvor mange kvadrattall vil du printe ut?

22 EKSEMPEL 9c c) Løkke med input og summering: # Vi kan også summere kvadrattallene. print("dette programmet printer ut de første kvadrattallene og summerer dem.") n = int(input("hvor mange kvadrattall vil du printe ut og summere? ")) sum = 0 for i in range(1, n+1): k = i**2 print(k) sum = sum + i**2 print("summen av de", n, "første kvadrattallene er", sum) # Denne siste print-kommandoen er ikke med i innrykket fordi vi kun ønsker sluttsummen. # Hva skjer hvis vi rykker inn den også? Resultatet kan se slik ut: Dette programmet printer ut de første kvadrattallene og summerer dem. Hvor mange kvadrattall vil du printe ut og summere? Summen av de 15 første kvadrattallene er

23 EKSEMPEL 10 Oppgave med array # Vi importerer biblioteket pylab for å kunne bruke array. # Array er en samling med tall med fast posisjon. from pylab import * # Dette er en array med temperaturer. temperatur = array([6,-4,7,-2,8,-3,9]) # Bruker kommandoen max som finner den høyeste temperaturen. print("den største temperaturen var", max(temperatur), "celsiusgrader") # Bruker kommandoen min, som finner den laveste temperaturen. print("den laveste temperaturen var", min(temperatur), "celsiusgrader") # Kommandoen len gir lengden av listen, dvs. her antall temperaturer. print ("Antall målinger vi gjorde var", len(temperatur)) # 0 er første tall i listen. print("temperaturen de 3 første dagene var", temperatur[0:3]) # Begynner på tall nr. 3 og slutter på tall nr. 5. print("temperaturen de 3 midterste dagene var", temperatur[2:5]) Resultatet ser slik ut: Den største temperaturen var 9 celsiusgrader Den laveste temperaturen var -4 celsiusgrader Antall målinger vi gjorde var 7 Temperaturen de 3 første dagene var [ 6-4 7] Temperaturen de 3 midterste dagene var [ 7-2 8] 23

24 EKSEMPEL 11 Simulering av terningkast # Vi importerer biblioteket pylab for å kunne bruke randint. # randint er en kommando som vil velge et tilfeldig tall. from pylab import * # Bruker int for heltall print("dette programmet simulerer terningkast og viser hvor mange seksere du får.") antallkast = int(input("hvor mange ganger vil du kaste terningen? ")) # Her setter vi inn en array med plass til antall kast. # I utgangspunktet er alle verdiene i arrayen lik 0. terning = zeros(antallkast) antallseksere = 0 # Her starter vi løkken som skal kjøres for alle terningkastene. for i in range(0, antallkast): terning[i] = randint(1, 7) # Bytter ut nullene med posisjon i # i arrayen med et tilfeldig tall fra og med 1 til og med 6. # Oppdaterer antall seksere if terning[i] == 6: # == betyr er lik antallseksere += 1 # += betyr antall seksere = antall seksere + 1 print("her er resultatet av terningkastene:", terning) if antallseksere == 1: print("du fikk én sekser.") else: print("du fikk", antallseksere, "seksere.") 24

25 Resultatet kan se slik ut: Dette programmet simulerer terningkast og viser hvor mange seksere du får. Hvor mange ganger vil du kaste terningen? 20 Her er resultatet av terningkastene: [ ] Du fikk 5 seksere. 25

26 26 NOTATER

27 27

28 KONTAKT OSS Vi setter pris på alle til bakemeldinger om heftet, både om innholdet og erfaringer ved utprøving: Kurskveld ONSDAG 27. MARS Programmering 2019 i matematikk og naturfag for trinn Aschehoug Undervisning har gleden av å invitere til kurskveld på Thon hotell, Universitetsgata i Oslo. Vi byr på faglig påfyll, kollegialt samvær og selvfølgelig god mat og kake. Arrangementet er gratis. KARI KLEIVDAL Forlagsredaktør REALFAG tlf kari.kleivdal@aschehoug.no Invitasjon med detaljert program kommer, men hold av datoen allerede nå! Bli med Aschehoug Undervisning inn i fagfornyelsen! LIV BERIT NORMANN Kommunikasjonskonsulent REALFAG tlf liv.berit.normann@aschehoug.no KUNDESERVICE Telefon: marked.u@aschehoug.no 28

Lærebokforfattere INNHOLD. REALFAGLIG PROGRAMMERING side 3. MINIKURS I PROGRAMMERING side 4. TRINKET side 6. LØKKER side 8

Lærebokforfattere INNHOLD. REALFAGLIG PROGRAMMERING side 3. MINIKURS I PROGRAMMERING side 4. TRINKET side 6. LØKKER side 8 1 INNHOLD Lærebokforfattere CATHRINE WAHLSTRØM TELLEFSEN er førstelektor ved Det matematisknaturvitenskapelige fakultet ved Universitetet i Oslo, der hun blant annet leder arbeidet med etter utdanning

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

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

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

MAT-INF 1100: Obligatorisk oppgave 1

MAT-INF 1100: Obligatorisk oppgave 1 13. september, 2018 MAT-INF 1100: Obligatorisk oppgave 1 Innleveringsfrist: 27/9-2018, kl. 14:30 i Devilry Obligatoriske oppgaver («obliger») er en sentral del av MAT-INF1100 og er utmerket trening i å

Detaljer

Husk at du skal ha to vinduer åpne. Det ene er 'Python Shell' og det andre er for å skrive kode i.

Husk at du skal ha to vinduer åpne. Det ene er 'Python Shell' og det andre er for å skrive kode i. Skilpaddeskolen Skrevet av: Oversatt fra Code Club UK (//codeclub.org.uk) Oversatt av: Bjørn Einar Bjartnes Kurs: Python Tema: Tekstbasert Fag: Programmering, Kunst og håndverk Klassetrinn: 8.-10. klasse

Detaljer

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

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 Kom i gang med 2 I dette heftet skal vi gjøre oss kjent med micro:bit og lære å programmere med blokk-kode. Heftet inneholder seks ulike prosjektoppgaver med differensiert innhold og tema. 1. Rullende

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

JS: Grunnleggende JavaScript

JS: Grunnleggende JavaScript JS: Grunnleggende JavaScript Skrevet av: Lars Klingenberg Kurs: Web Tema: Tekstbasert, Nettside Fag: Matematikk, Programmering, Teknologi Klassetrinn: 5.-7. klasse, 8.-10. klasse, Videregående skole Introduksjon

Detaljer

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å.

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å. Repetisjon Skrevet av: Ole Kristian Pedersen, Kodeklubben Trondheim Kurs: Python Tema: Tekstbasert Fag: Programmering Klassetrinn: 8.-10. klasse Introduksjon I denne oppgaven skal vi repetere litt Python-syntaks,

Detaljer

Kanter, kanter, mange mangekanter. Introduksjon: Steg 1: Enkle firkanter. Sjekkliste. Skrevet av: Sigmund Hansen

Kanter, kanter, mange mangekanter. Introduksjon: Steg 1: Enkle firkanter. Sjekkliste. Skrevet av: Sigmund Hansen Kanter, kanter, mange mangekanter Skrevet av: Sigmund Hansen Kurs: Processing Tema: Tekstbasert, Animasjon Fag: Matematikk, Programmering, Kunst og håndverk Klassetrinn: 8.-10. klasse, Videregående skole

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

MAT-INF 1100: Obligatorisk oppgave 1

MAT-INF 1100: Obligatorisk oppgave 1 22. september, 2016 MAT-INF 1100: Obligatorisk oppgave 1 Innleveringsfrist: 6/10-2016, kl. 14:30 i Devilry Obligatoriske oppgaver («obliger») er en sentral del av MAT-INF1100 og er utmerket trening i å

Detaljer

Kan micro:biten vår brukes som en terning? Ja, det er faktisk ganske enkelt!

Kan micro:biten vår brukes som en terning? Ja, det er faktisk ganske enkelt! Microbit PXT: Terning Skrevet av: Geir Arne Hjelle Kurs: Microbit Språk: Norsk bokmål Introduksjon Kan micro:biten vår brukes som en terning? Ja, det er faktisk ganske enkelt! Steg 1: Vi rister løs Vi

Detaljer

TDT4105 Informasjonsteknologi, grunnkurs (ITGK)

TDT4105 Informasjonsteknologi, grunnkurs (ITGK) 1 TDT4105 Informasjonsteknologi, grunnkurs (ITGK) Introduksjon til programmering i Matlab Rune Sætre satre@idi.ntnu.no 2 Læringsmål og pensum Mål Lære om programmering og hva et program er Lære å designe

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

Sprettende ball. Introduksjon: Steg 1: Vindu. Sjekkliste. Skrevet av: Sigmund Hansen

Sprettende ball. Introduksjon: Steg 1: Vindu. Sjekkliste. Skrevet av: Sigmund Hansen Sprettende ball Skrevet av: Sigmund Hansen Kurs: Processing Tema: Tekstbasert, Animasjon Fag: Matematikk, Naturfag, Programmering, Kunst og håndverk Klassetrinn: 8.-10. klasse, Videregående skole Introduksjon:

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

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

For å sjekke at Python virker som det skal begynner vi med å lage et kjempeenkelt program. Vi vil bare skrive en enkel hilsen på skjermen. Kuprat Skrevet av: Geir Arne Hjelle Kurs: Python Tema: Tekstbasert Fag: Norsk Klassetrinn: 5.-7. klasse, 8.-10. klasse Introduksjon I dette kurset skal vi introdusere programmeringsspråket Python. Dette

Detaljer

Øvingsforelesning 3 Python (TDT4110)

Øvingsforelesning 3 Python (TDT4110) Øvingsforelesning 3 Python (TDT4110) For og While-løkker Ole-Magnus Pedersen Oversikt Praktisk Info Gjennomgang av øving 1 Programmering for Øving 3 2 Studasser og Piazza Studasser er der for å hjelpe

Detaljer

Hver ting i en liste kalles et element. En liste lages ved å skrive elementer inni [], med, mellom elementene:

Hver ting i en liste kalles et element. En liste lages ved å skrive elementer inni [], med, mellom elementene: Lister og indekser Skrevet av: Ole Kristian Pedersen, Kodeklubben Trondheim Kurs: Python Tema: Tekstbasert Fag: Programmering Klassetrinn: 5.-7. klasse, 8.-10. klasse Introduksjon Denne oppgaven handler

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

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

EKSAMENSFORSIDE Skriftlig eksamen med tilsyn

EKSAMENSFORSIDE Skriftlig eksamen med tilsyn BOKMÅL EKSAMENSFORSIDE Skriftlig eksamen med tilsyn Emnekode: 108 + 108N Dato: 19.12.201 Ansv. faglærer: Roy M. Istad Campus: Bø Antall oppgaver: 5 Tillatte hjelpemidler (jfr. emnebeskrivelse): Alt trykt

Detaljer

Kom i gang med Python

Kom i gang med Python Kom i gang med Python Instruksjon for lærere Pål Hellesnes SYSTEMUTVIKLER paal@firstpoint.no www.bedreinnsikt.no Dette dokumentet er en del av skolematerialet for undervisning i programmering. «Alle barn

Detaljer

EKSAMEN 6108/6108N PROGRAMMERING I JAVA Alt trykt og skriftlig materiale.

EKSAMEN 6108/6108N PROGRAMMERING I JAVA Alt trykt og skriftlig materiale. Høgskolen i Telemark Fakultet for allmennvitenskapelige fag EKSAMEN I 6108/6108N PROGRAMMERING I JAVA 21. 12. 2015 Tid: 4 timer Sidetall: Hjelpemiddel: Merknader: Framside + 5 sider Alt trykt og skriftlig

Detaljer

Øgrim Bakken Pettersen Skrindo Thorstensen Thorstensen. Digitalt verktøy for Sigma 1P. Geogebra

Øgrim Bakken Pettersen Skrindo Thorstensen Thorstensen. Digitalt verktøy for Sigma 1P. Geogebra Øgrim Bakken Pettersen Skrindo Thorstensen Thorstensen Digitalt verktøy for Geogebra Innhold 1 Om Geogebra 4 1.1 Innstillinger................................... 5 2 Regning 5 2.1 Tallregning...................................

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

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

ITGK - H2010, Matlab. Repetisjon

ITGK - H2010, Matlab. Repetisjon 1 ITGK - H2010, Matlab Repetisjon 2 Variabler og tabeller Variabler brukes til å ta vare på/lagre resultater Datamaskinen setter av plass i minne for hver variabel En flyttallsvariabel tar 8 bytes i minne

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

JS: Grunnleggende JavaScript Nybegynner

JS: Grunnleggende JavaScript Nybegynner JS: Grunnleggende JavaScript Nybegynner Web Introduksjon I denne oppgaven skal du lære helt enkle og grunnleggende elementer av JavaScript. Du vil lære om variabler, if-setninger, funksjoner og løkker.

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

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

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

Repetisjon Novice Videregående Python PDF

Repetisjon Novice Videregående Python PDF Repetisjon Novice Videregående Python PDF Introduksjon I denne oppgaven skal vi repetere litt Python-syntaks. Hele dette kurset er for de som har programmert Python før. Dersom ikke har mye erfaring med

Detaljer

Det matematisk-naturvitenskapelige fakultet Økt forståelse for matematikk ved bruk av programmering Sinusseminar 2019

Det matematisk-naturvitenskapelige fakultet Økt forståelse for matematikk ved bruk av programmering Sinusseminar 2019 Det matematisk-naturvitenskapelige fakultet Økt forståelse for matematikk ved bruk av programmering Sinusseminar 2019 Henrik Hillestad Løvold Institutt for Informatikk, UiO Program 1. Hva er programmering?

Detaljer

lage og bruke funksjoner som tar argumenter lage og bruke funksjoner med returverdier forklare forskjellen mellom globale og lokale variabler

lage og bruke funksjoner som tar argumenter lage og bruke funksjoner med returverdier forklare forskjellen mellom globale og lokale variabler 42 Funksjoner Kapittel 4 Funksjoner Etter dette kapitlet skal du kunne lage og bruke enkle funksjoner lage og bruke funksjoner som tar argumenter lage og bruke funksjoner med returverdier forklare forskjellen

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

KONTROLLSTRUKTURER. MAT1030 Diskret matematikk. Kontrollstrukturer. Kontrollstrukturer. Eksempel (Ubegrenset while-løkke)

KONTROLLSTRUKTURER. MAT1030 Diskret matematikk. Kontrollstrukturer. Kontrollstrukturer. Eksempel (Ubegrenset while-løkke) KONTROLLSTRUKTURER MAT1030 Diskret matematikk Forelesning 2: Flere pseudokoder. Representasjoner av tall. Dag Normann Matematisk Institutt, Universitetet i Oslo 16. januar 2008 Mandag innførte vi pseudokoder

Detaljer

Forelesning 2. Flere pseudokoder. Representasjoner av tall. Dag Normann januar 2008 KONTROLLSTRUKTURER. Kontrollstrukturer. Kontrollstrukturer

Forelesning 2. Flere pseudokoder. Representasjoner av tall. Dag Normann januar 2008 KONTROLLSTRUKTURER. Kontrollstrukturer. Kontrollstrukturer Forelesning 2 Flere pseudokoder. Representasjoner av tall. Dag Normann - 16. januar 2008 KONTROLLSTRUKTURER Mandag innførte vi pseudokoder og kontrollstrukturer. Vi hadde tre typer grunn-instruksjoner:

Detaljer

Kapittel 1 En oversikt over C-språket

Kapittel 1 En oversikt over C-språket Kapittel 1 En oversikt over C-språket RR 2015 1 Skal se på hvordan man En innføring i C Skriver data til skjermen Lese data fra tastaturet Benytter de grunnleggende datatypene Foretar enkle matematiske

Detaljer

Norsk informatikkolympiade runde

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

Detaljer

GeoGebra 6 for Sinus 1P

GeoGebra 6 for Sinus 1P SIGBJØRN HALS TORE OLDERVOLL GeoGebra 6 for Sinus 1P SINUS 1P ble skrevet med utgangspunkt i GeoGebra 5. I boka er det også lagt opp til at elevene har en enkel lommeregner i tillegg til datamaskin. I

Detaljer

Her skal du lære å programmere micro:biten slik at du kan spille stein, saks, papir med den eller mot den.

Her skal du lære å programmere micro:biten slik at du kan spille stein, saks, papir med den eller mot den. PXT: Stein, saks, papir Skrevet av: Bjørn Hamre Kurs: Microbit Introduksjon Her skal du lære å programmere micro:biten slik at du kan spille stein, saks, papir med den eller mot den. Steg 1: Velge tilfeldig

Detaljer

Norsk informatikkolympiade runde

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

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

Kanter, kanter, mange mangekanter

Kanter, kanter, mange mangekanter Kanter, kanter, mange mangekanter Nybegynner Processing PDF Introduksjon: Her skal vi se på litt mer avansert opptegning og bevegelse. Vi skal ta utgangspunkt i oppgaven om den sprettende ballen, men bytte

Detaljer

Del 1 En oversikt over C-programmering

Del 1 En oversikt over C-programmering Del 1 En oversikt over C-programmering 1 RR 2016 Starten C ble utviklet mellom 1969 og 1973 for å re-implementere Unix operativsystemet. Er et strukturert programmeringsspråk, hvor program bygges opp av

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

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

Forkurs i informatikk Python. Andreas Færøvig Olsen Andreas Færøvig Olsen andrefol@ifi.uio.no Mål Hvorfor Python? Gi en mykere start på INF1100 Komme i gang med programmering 2 3 Hva er Python? Hva er programmering? 4 Hva er Python? Hva er programmering?

Detaljer

TDT4105 Informasjonsteknologi, grunnkurs (ITGK)

TDT4105 Informasjonsteknologi, grunnkurs (ITGK) 1 TDT4105 Informasjonsteknologi, grunnkurs (ITGK) Introduksjon til programmering i Matlab Rune Sætre satre@idi.ntnu.no 3 Læringsmål og pensum Mål Lære om programmering og hva et program er Lære om hvordan

Detaljer

Kodetime for Nordstrand barneskole

Kodetime for Nordstrand barneskole Kodetime for Nordstrand barneskole av Veronika Heimsbakk og Lars Erik Realfsen 1 Hva er Processing? Processing er et programmeringsspråk som er gratis, og tilgjengelig for alle! Man kan programmere i Processing

Detaljer

Kap 2: Løkker og lister

Kap 2: Løkker og lister Kap 2: Løkker og lister Ole Christian Lingjærde, Inst for Informatikk, UiO 26-30 August, 2019 (Del 2 av 2) Forrige forelesning på en foil Formatert utskrift: %-operator og f-strings To typer løkker: while-løkker

Detaljer

INF109 - Uke 1b 20.01.2016

INF109 - Uke 1b 20.01.2016 INF109 - Uke 1b 20.01.2016 1 Variabler Et program er ikke til stor hjelp hvis det er statisk. Statisk betyr at programmet bare bearbeider faste data som er lagt inn i programkoden. For å gjøre programmer

Detaljer

Sprettende ball Introduksjon Processing PDF

Sprettende ball Introduksjon Processing PDF Sprettende ball Introduksjon Processing PDF Introduksjon: I denne modulen skal vi lære et programmeringsspråk som heter Processing. Det ble laget for å gjøre programmering lett for designere og andre som

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 tre tall skrevet på Regn ut summen av to nederste tall, skriv

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

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

TDT4110 Informasjonsteknologi grunnkurs: Kapittel 7 Filer og unntak ( exceptions ) Professor Alf Inge Wang Stipendiat Lars Bungum

TDT4110 Informasjonsteknologi grunnkurs: Kapittel 7 Filer og unntak ( exceptions ) Professor Alf Inge Wang Stipendiat Lars Bungum 1 TDT4110 Informasjonsteknologi grunnkurs: Kapittel 7 Filer og unntak ( exceptions ) Professor Alf Inge Wang Stipendiat Lars Bungum 2 Læringsmål Mål Introduksjon til filer (som inndata og utdata) Å bruke

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

Et lite oppdrag i bakgrunnen

Et lite oppdrag i bakgrunnen 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 denne summen under de andre tallene, og send lappen

Detaljer

Husk at du skal ha to vinduer åpne. Det ene er 'Python Shell' og det andre er for å skrive kode i.

Husk at du skal ha to vinduer åpne. Det ene er 'Python Shell' og det andre er for å skrive kode i. Skilpaddeskolen Steg 1: Flere firkanter Nybegynner Python Åpne IDLE-editoren, og åpne en ny fil ved å trykke File > New File, og la oss begynne. Husk at du skal ha to vinduer åpne. Det ene er 'Python Shell'

Detaljer

datatyper Hva er programmering? Variabler og Informasjonsteknologi 2 Kompetansesemål

datatyper Hva er programmering? Variabler og Informasjonsteknologi 2 Kompetansesemål Variabler og datatyper Gløer Olav Langslet Sandvika VGS Høst 2012 Informasjonsteknologi 2 Hva er programmering? Når du skal bake en kake følger du gjerne en oppskrift. Først er det beskrevet hva kaken

Detaljer

2 Om statiske variable/konstanter og statiske metoder.

2 Om statiske variable/konstanter og statiske metoder. Litt om datastrukturer i Java Av Stein Gjessing, Institutt for informatikk, Universitetet i Oslo 1 Innledning Dette notatet beskriver noe av det som foregår i primærlageret når et Javaprogram utføres.

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

TDT4105 Informasjonsteknologi, grunnkurs. Introduksjon til programmering i Matlab. Rune Sætre / Anders Christensen {satre,

TDT4105 Informasjonsteknologi, grunnkurs. Introduksjon til programmering i Matlab. Rune Sætre / Anders Christensen {satre, 1 TDT4105 Informasjonsteknologi, grunnkurs Introduksjon til programmering i Matlab Rune Sætre / Anders Christensen {satre, anders}@idi.ntnu.no 2 Frist for øving 1: Fredag 16. Sept. Noen oppstartsproblemer

Detaljer

Om plotting. Knut Mørken. 31. oktober 2003

Om plotting. Knut Mørken. 31. oktober 2003 Om plotting Knut Mørken 31. oktober 2003 1 Innledning Dette lille notatet tar for seg primitiv plotting av funksjoner og visualisering av Newtons metode ved hjelp av Java-klassen PlotDisplayer. Merk at

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ø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

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

ToPlayer. Introduksjon: Skrevet av: Ruben Gjerstad Eide og Kine Gjerstad Eide ToPlayer Skrevet av: Ruben Gjerstad Eide og Kine Gjerstad Eide Kurs: Processing Tema: Tekstbasert Fag: Matematikk, Programmering Klassetrinn: 8.-10. klasse, Videregående skole Introduksjon: Nå skal vi

Detaljer

<?php. count tar en array som argument, og returnerer et tall som uttrykker antallet innførsler i arrayen.

<?php. count tar en array som argument, og returnerer et tall som uttrykker antallet innførsler i arrayen. Hver gang funksjonen printhallo kalles utføres instruksjonene spesifisert i den. [Kurssidene] [ ABI - fagsider bibin ] Webprogrammering høsten 2015 //funksjonskall printhallo(); //enda en gang printhallo();

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

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

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

Øgrim Bakken Pettersen Skrindo Thorstensen Thorstensen. Digitalt verktøy for Sigma 1P TI-84

Øgrim Bakken Pettersen Skrindo Thorstensen Thorstensen. Digitalt verktøy for Sigma 1P TI-84 Øgrim Bakken Pettersen Skrindo Thorstensen Thorstensen Digitalt verktøy for TI-84 Innhold 1 Innstillinger 4 2 Regning 5 2.1 Regnerekkefølge................................ 5 2.2 Kvadratrot....................................

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

INF Ekstrainnlevering

INF Ekstrainnlevering INF000 - Ekstrainnlevering Temaer på innleveringen: Hele pensum fram til nå. Oppgave E.) Tema: Beslutninger (if/else) Filnavn: Rekkefolge.java a) Lag et program som leser inn tre tall fra brukeren. b)

Detaljer

IN1000 Obligatorisk innlevering 7

IN1000 Obligatorisk innlevering 7 IN1000 Obligatorisk innlevering 7 Frist for innlevering: 23.10. kl 12:00 Introduksjon I denne innleveringen skal du lage et program som simulerer cellers liv og død. Dette skal du gjøre ved hjelp av en

Detaljer

Obligatorisk oppgave MAT-INF1100. Lars Kristian Henriksen UiO

Obligatorisk oppgave MAT-INF1100. Lars Kristian Henriksen UiO Obligatorisk oppgave MAT-INF Lars Kristian Henriksen UiO 6. september 3 Oppgave a)for å skrive fb 6 i -tallssystem, bruker vi at: Tabell : 6 -tallssystemet 6 6 9 9 a b 3 3 c 3 d 5 5 e 6 6 5 f Vi tar følgende

Detaljer

Om du allerede kjenner Scratch og har en Scratchbruker kan du gå videre til Steg 1.

Om du allerede kjenner Scratch og har en Scratchbruker kan du gå videre til Steg 1. Pingviner på tur Skrevet av: Geir Arne Hjelle Kurs: Scratch Tema: Blokkbasert, Spill Fag: Programmering Klassetrinn: 1.-4. klasse, 5.-7. klasse, 8.-10. klasse Introduksjon Velkommen til Scratch. Vi skal

Detaljer

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

Verden. Introduksjon. Skrevet av: Kine Gjerstad Eide og Ruben Gjerstad Eide Verden Skrevet av: Kine Gjerstad Eide og Ruben Gjerstad Eide Kurs: Processing Tema: Tekstbasert Fag: Matematikk, Programmering, Samfunnsfag Klassetrinn: 8.-10. klasse, Videregående skole Introduksjon Velkommen

Detaljer

Steg 1: Vår første datamaskin

Steg 1: Vår første datamaskin Bli Kjent med Datamaskinen Skrevet av: Geir Arne Hjelle Kurs: Computercraft Tema: Tekstbasert, Minecraft Fag: Programmering, Teknologi Klassetrinn: 5.-7. klasse, 8.-10. klasse, Videregåe skole Introduksjon

Detaljer

Steg 1: Husker du skilpadden?

Steg 1: Husker du skilpadden? Skilpaddefraktaler Skrevet av: Geir Arne Hjelle Kurs: Python Tema: Tekstbasert Fag: Matematikk, Programmering, Kunst og håndverk Klassetrinn: 5.-7. klasse, 8.-10. klasse Introduksjon Vi vil nå jobbe videre

Detaljer

if-tester Funksjoner, løkker og iftester Løkker og Informasjonsteknologi 2 Læreplansmål Gløer Olav Langslet Sandvika VGS

if-tester Funksjoner, løkker og iftester Løkker og Informasjonsteknologi 2 Læreplansmål Gløer Olav Langslet Sandvika VGS Løkker og if-tester Gløer Olav Langslet Sandvika VGS 29.08.2011 Informasjonsteknologi 2 Funksjoner, løkker og iftester Læreplansmål Eleven skal kunne programmere med enkle og indekserte variabler eller

Detaljer

Norsk informatikkolympiade runde. Sponset av. Uke 46, 2017

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

Detaljer

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

Oblig2 - obligatorisk oppgave nr. 2 (av 4) i INF1000 Oblig2 - obligatorisk oppgave nr 2 (av 4) i INF1000 Leveringsfrist Oppgaven må leveres senest fredag 29 september kl 1600 Viktig: les slutten av oppgaven for detaljerte leveringskrav Formål Formålet med

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

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

Norsk informatikkolympiade runde. Sponset av. Uke 46, 2016

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

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

TDT4102 Prosedyreog objektorientert programmering Vår 2016

TDT4102 Prosedyreog objektorientert programmering Vår 2016 Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap TDT4102 Prosedyreog objektorientert programmering Vår 2016 Øving 4 Frist: 2016-02-12 Mål for denne øvingen:

Detaljer

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

Oblig2 - obligatorisk oppgave nr. 2 (av 4) i INF1000 h2006 Oblig2 - obligatorisk oppgave nr 2 (av 4) i INF1000 h2006 Leveringsfrist Oppgaven må leveres senest fredag 30 september kl 1600 Viktig: les slutten av oppgaven for detaljerte leveringskrav Formål Formålet

Detaljer

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

Oblig2 - obligatorisk oppgave nr. 2 (av 4) i INF1000 v2008 Oblig2 - obligatorisk oppgave nr. 2 (av 4) i INF1000 v2008 Leveringsfrist Oppgaven må løses individuelt og leveres senest fredag 22. februar 2008 kl 16.00 via Joly. Viktig: les slutten av oppgaven for

Detaljer

}?> <!DOCTYPE... <html xmlns="http://www.w3.org/1999/xhtml"> <head>... </head> <body> <p>nå skal vi printe hallo:</p> <?php //funksjonskall

}?> <!DOCTYPE... <html xmlns=http://www.w3.org/1999/xhtml> <head>... </head> <body> <p>nå skal vi printe hallo:</p> <?php //funksjonskall Hver gang funksjonen printhallo kalles utføres instruksjonene spesifisert i den. [Kurssidene] [ ABI - fagsider bibin ] //funksjonskall printhallo(); //enda en gang printhallo(); Michael Preminger (michaelp@hio.no)

Detaljer

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

Oblig2 - obligatorisk oppgave nr. 2 (av 4) i INF1000 v2009 Oblig2 - obligatorisk oppgave nr. 2 (av 4) i INF1000 v2009 Leveringsfrist Oppgaven må løses individuelt og leveres senest fredag 20. februar kl 16.00 via Joly. Viktig: les slutten av oppgaven for detaljerte

Detaljer

I denne oppgaven blir du introdusert for programmeringsspråket JavaScript. Du skal gjøre den klassiske oppgaven Hei verden, med en katt.

I denne oppgaven blir du introdusert for programmeringsspråket JavaScript. Du skal gjøre den klassiske oppgaven Hei verden, med en katt. JS: Hei JavaScript! Skrevet av: Arve Seljebu Kurs: Web Tema: Tekstbasert, Nettside Fag: Programmering Klassetrinn: 8.-10. klasse, Videregående skole Introduksjon I denne oppgaven blir du introdusert for

Detaljer

Øgrim Bakken Pettersen Skrindo Thorstensen Thorstensen. Digitalt verktøy for Sigma 1P. Casio fx 9860

Øgrim Bakken Pettersen Skrindo Thorstensen Thorstensen. Digitalt verktøy for Sigma 1P. Casio fx 9860 Øgrim Bakken Pettersen Skrindo Thorstensen Thorstensen Digitalt verktøy for Casio fx 9860 Innhold 1 Innstillinger 4 2 Regning 5 2.1 Regnerekkefølge................................ 5 2.2 Kvadratrot....................................

Detaljer

Sandvold Øgrim Bakken Pettersen Skrindo Thorstensen Thorstensen. Digitalt verktøy for Sigma 1P. Geogebra

Sandvold Øgrim Bakken Pettersen Skrindo Thorstensen Thorstensen. Digitalt verktøy for Sigma 1P. Geogebra Sandvold Øgrim Bakken Pettersen Skrindo Thorstensen Thorstensen Digitalt verktøy for Geogebra Geogebra for Sigma matematikk 1P Innledning Denne bruksanvisningen er ment som en beskrivelse av dataprogrammet

Detaljer