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

Størrelse: px
Begynne med side:

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

Transkript

1 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 mellom globale og lokale variabler kommentere funksjoner slik at de kan brukes av andre pssst Du finner videoer og andre ressurser på nettstedet på Lokus. Vi har allerede sett flere eksempler på funksjoner i denne boka: Math.random() gir oss et tilfeldig tall, Math.floor() runder ned et tall til nærmeste heltall, og console.log() lar oss skrive noe til konsollen. Vi kan tenke på en funksjon som et lite program, som kan brukes i større programmer. Vanligvis har de konkrete oppgaver, som å runde ned et tall, eller finne et gjennomsnitt. Funksjoner kan brukes mange ganger, og de kan brukes på ulike tidspunkter. Funksjoner gjør det også lettere for oss å organisere kode, fordi vi kan samle funksjoner ett sted i koden vår, og bruke dem andre steder. 4.1 Enkle funksjoner Vi lager 1 en funksjon i JavaScript ved å bruke nøkkelordet function: function funksjonsnavn() { /* kode */ Etter nøkkelordet function, angir vi funksjonens navn etterfulgt av parenteser. Deretter angis funksjonens kode i en kodeblokk. En enkel funksjon kan se slik ut: 1 som med variabler, heter det formelt å deklarere en funksjon

2 Funksjoner 43 function sihei() { console.log("hei"); Funksjonen ovenfor heter sihei(), og skriver ordet "Hei" til konsollen. For å bruke denne funksjonen 2, skriver vi sihei() der vi ønsker at den skal brukes. Det vil si at koden inni funksjonen ikke vil brukes, med mindre vi skriver sihei() et annet sted. I kode 4.1 nedenfor kan du se et fullstendig eksempel på en kode som bruker denne funksjonen. Her kan det se ut som om vi må bruke semikolon hver gang vi bruker en funksjon, men husk at vi bruker semikolon for å avslutte setninger, og her består setningen bare av funksjonen. I figur 4.1 på neste side vises resultatet av denne koden i konsollen. Legg merke til at det bare står "Hei" én gang, selv om vi brukte funksjonen fire ganger. Konsollen i Google Chrome viser ikke like utskrifter flere ganger, men den antyder antallet like utskrifter med et tall (her 4-tallet til venstre for teksten «Hei»). Senere i boka skal vi se på hvordan vi kan skrive HTML med JavaScript. Hvis vi skriver til HTML vil teksten «Hei» bli skrevet fire ganger. 1 <! doctype html > 2 < html > 3 < head > 4 < title > En funksjon som sier hei </ title > 5 < meta charset= " UTF-8 "> 6 </ head > 7 <b ody > 8 9 <s cript > 10 // Funksjonen sihei () skriver " Hei " til konsollen 11 function sihei () { 12 console. log (" Hei "); // For å bruke funksjonen, skriver vi funksjonsnavnet 16 sihei (); // Vi kan bruke den samme funksjonen mange ganger 19 sihei (); 20 sihei (); 21 sihei (); 22 </s cript > 23 </b ody > 24 </ html > Kode 4.1: Eksempel på bruk av en enkel funksjon. 2 å bruke en funksjon, kalles formelt å «kalle» en funksjon

3 44 Funksjoner Figur 4.1: Resultatet av å bruke funksjonen sihei() fire ganger. Så lenge vi lager funksjoner på den måten vi nå har sett på, kan vi plassere funksjoner hvor vi vil i koden vår. Det er nemlig slik at nettleseren behandler alle funksjoner før den behandler resten av koden. Vi kunne derfor ha brukt funksjonen sihei() før vi laget den i eksemplet ovenfor. Det gjør at vi kan samle alle funksjonene våre nederst i koden om vi ønsker det. En annen skrivemåte I denne boka har vi valgt å angi funksjoner direkte med nøkkelordet function. Et annet alternativ er å lage en variabel som inneholder en funksjon: var sihei = function() { ; console.log("hei"); Her lages variabelen sihei med en funksjon som verdi. Legg merke til semikolonet på slutten. Det må være med fordi koden ovenfor utgjør en setning, og alle setninger avsluttes med et semikolon. Selve funksjonen brukes på akkurat samme måte som med den andre skrivemåten. I begge tilfellene blir funksjonen lagret i en variabel, men i det siste eksemplet bruker vi nøkkelordet var for å synliggjøre det. En annen forskjell er at vi ikke kan bruke funksjoner med den siste skrivemåten, før vi har laget dem i koden vår. Det vil si at vi må lage funksjonen tidlig i koden, for så å bruke den senere.

4 Funksjoner 45 Oppgaver 4.1 Kopier kode 4.1 ovenfor og lagre den i et HTML-dokument. Åpne dokumentet og skriv «sihei» (uten parentesene) i konsollen. Hva skrives ut? Hvorfor tror du det er slik? 4.2 Lag en funksjon med navnet tilfeldighilsen() som sier «Hei», «Hallo» eller «God dag». Hilsenen skal velges tilfeldig. 4.3 I forrige kapittel laget du en «Magic 8-ball». Lag en funksjon med navnet magic8ball() som fungerer på samme måten. 4.2 Gi informasjon til funksjoner (argumenter) Funksjonen sihei() som vi laget tidligere i kapitlet, gir det samme resultatet hver gang vi bruker den. Ofte ønsker vi at en funksjon skal gi forskjellige resultater i ulike situasjoner. For å få til det kan vi «gi» en verdi til en funksjon. Denne verdien kalles et argument 3 : function siheitil(navn) { console.log("hei " + navn + "!"); Her har vi gjort om funksjonen sihei(), slik at den kan si hei til en navngitt person. Her er navn et eksempel på et argument. Inni funksjonen fungerer navn på samme måte som en variabel, og navn kan bare brukes i funksjonen, ikke utenfor. Når en funksjon har med argumenter, kan vi sende med verdier når vi bruker funksjonen. For at funksjonen skal fungere på riktig måte, må verdiene bruke den datatypen funksjonen forventer: siheitil("ola"); Her bruker vi funksjonen som vi ville ha gjort tidligere, men vi sender med tekstbiten "Ola" inni parentesene. Hvis vi ikke sender med verdier når en funksjon forventer argumenter, eller hvis vi sender verdier med feil datatype, vil argumentene få verdien undefined. Det vil si at vi får skrevet ut «Hei undefined!» hvis vi skriver siheitil() uten å angi et navn. I forrige kapittel brukte vi også argumenter da vi brukte metoden Math.floor() på tilfeldige tall. Da var det de tilfeldige tallene som var argumenter. En funksjon kan også bruke flere argumenter: function funksjonsnavn(argument1, argument2, argument3,...) { kode 3 Egentlig kalles denne verdien en parameter, mens verdien vi har med når vi bruker funksjonen kalles et argument. Vi har valgt å ikke skille mellom parametre og argumenter i denne boka, og bare bruke ordet argument.

5 46 Funksjoner Vi kan for eksempel lage en funksjon som regner ut arealet av et rektangel: function arealrektangel(lengde, bredde) { var areal = lengde * bredde; console.log("arealet av rektanglet er " + areal); Funksjon eller metode? Så langt i denne boka har ordene funksjon og metode begge blitt brukt om noe som tilsynelatende er det samme. Metoder er funksjoner, men de hører til objekter (for eksempel string-objektet, som vi så på i kapittel 2). For å bruke en metode skriver vi objektnavn.metode(). Vi må altså ta med navnet på objektet som har metoden. Oppgaver 4.4 Lag funksjonen siheitil() som vist ovenfor, og bruk den til å «si hei» til ulike navn. 4.5 Lag en funksjon som regner ut arealet av en sirkel. Funksjonen skal ta ett tall som argument, og skrive ut setninger som "Arealet av en sirkel med radius 2 er 12.56" i konsollen. 4.6 Vi kan «tegne» en katt i konsollen med koden console.log("=^.^=");. Lag en funksjon som tegner en katt i konsollen. 4.7 Utvid funksjonen du laget i forrige oppgave slik at funksjonen kan tegne flere katter. Antall katter skal angis som et argument i funksjonen. 4.8 Lag funksjonen navneskilt(navn) som tar et navn som argument og lager en boks med stjerner rundt navnet. Da vil for eksempel navneskilt("lise") gi denne utskriften: ******** * Lise * ********

6 Funksjoner 47 Kaniner og escape I oppgavene ovenfor tegnet vi katter ("=^.^="). En annen morsom figur vi kan tegne, er en kanin: (\ (\ ( -.-) o_(")(") Hvis vi prøver å skrive ut denne figuren med console.log(), får vi en feilmelding. Det skyldes at gåseøynene (") avslutter tekstbiten vi prøver å skrive ut. For å få vist fram gåseøynene som et symbol, må vi bruke JavaScripts «escape»-symbol, bakovervendt skråstrek (\), slik: console.log("o_(\")(\")"); Vi vil fremdeles få en feilmelding, fordi de bakovervendte skråstrekene i ørene forsøker å «escape» det som kommer etter. Vi må derfor gjøre det samme med dem, nemlig å «escape» dem: console.log("(\\ (\\"); 4.3 Få verdier fra en funksjon (returverdier) Så langt i dette kapitlet har vi bare sett på funksjoner som skriver ut noe til konsollen. I mange tilfeller vil vi bruke funksjoner til å gjøre en oppgave, uten at resultatet blir synlig. Det skjer for eksempel med metoden Math.floor(), som tar et desimaltall som argument, og runder det ned til nærmeste heltall. For å få resultatet skrevet til konsollen, må vi gjøre det selv: console.log(math.floor(3.23)); // skriver ut 3 Det betyr at setningen Math.floor(3.23); gir oss verdien 3, og ingenting annet. Denne verdien kaller vi en returverdi, og vi kan for eksempel lagre den i en variabel, eller bruke den direkte i annen kode: var tall = 17.29; var avrundet = Math.floor(tall); console.log("vi får " + avrundet + " hvis vi runder ned " + tall); // skriver ut: Vi får 17 hvis vi runder ned For å få en returverdi fra en funksjon, bruker vi nøkkelordet return i JavaScript. Vi kan for eksempel lage en ny variant av funksjonen som regner ut arealet av et rektangel:

7 48 Funksjoner function arealrektangel(lengde, bredde) { var areal = lengde * bredde; return areal; Her lager vi variabelen areal inni funksjonen, for så å returnere den. Alternativt kan vi droppe variabelen og bare returnere verdien vi får fra utregningen: function arealrektangel(lengde, bredde) { return lengde * bredde; For å bruke denne funksjonen til å regne ut arealet av et rektangel med lengde 8 og bredde 4, skriver vi arealrektangel(8,4). Da får vi returverdien 32, som betyr at arealrektangel(8,4) erstattes av tallet 32 i koden vår. Avslutte funksjoner med return I tillegg til å returnere verdier, blir funksjoner umiddelbart avsluttet med nøkkelordet return: function sjekkmyndig(alder) { if (alder >= 18) { return "myndig"; else { return "ikke myndig"; Denne funksjonen starter med å undersøke om alder er større enn eller lik 18. Hvis det er tilfellet, vil funksjonen umiddelbart bli avsluttet med returverdien "myndig" (return "myndig";). Det vil si at all kode som befinner seg etter return "myndig";, ikke vil få noen effekt. Vi kan derfor skrive om funksjonen ovenfor: function sjekkmyndig(alder) { if (alder >= 18) { return "myndig"; return "ikke myndig"; Her kan det se ut som om denne funksjonen alltid vil returnere verdien "ikke myndig", men fordi return avslutter en funksjon, vil vi få returverdien "myndig" så lenge alder er større enn eller lik 18.

8 Funksjoner 49 En terningfunksjon Vi skal nå se på et eksempel der vi lager en terningfunksjon. En vanlig terning har seks sider, så vi ønsker en funksjon som gir oss et tilfeldig heltall fra og med 1, til og med 6. Husk at funksjonen Math.random() gir oss (returnerer) et tilfeldig tall som er større enn eller lik 0 og mindre enn 1: console.log(math.random()); // console.log(math.random()); // console.log(math.random()); // Et naturlig sted å starte, når vi vil lage en terning, er å multiplisere denne returverdien med 6. La oss se hva slags tall vi får: console.log(math.random() * 6); // console.log(math.random() * 6); // console.log(math.random() * 6); // Math.random() (større enn eller lik 0 og mindre enn 1) Math.random() * 6 (større enn eller lik 0 og mindre enn 6) Math.floor(Math.random() * 6) (Math.random() * 6) + 1 (0, 1, 2, 3, 4 eller 5) (større enn eller lik 1 og mindre enn 7) Math.floor((Math.random() * 6)) + 1 (1, 2, 3, 4, 5 eller 6) Figur 4.2: Illustrasjon av utregningene for å lage en terning. Vi vet at Math.random() kan gi oss 0, derfor vet vi at det minste mulige resultatet av Math.random() * 6 er 0. Samtidig vet vi at Math.random() kan gi oss tall opp mot 1, men alltid mindre enn 1, derfor vet vi at det høyeste mulige resultatet av Math.random() * 6, er Hvis vi runder ned resultatet av Math.random() * 6, kan vi altså få tallene 0, 1, 2, 3, 4 eller 5. Det betyr at vi kan få tallene 1, 2, 3, 4, 5 eller 6, altså en terning, hvis vi til slutt legger til én. Dette er illustrert i figur 4.2 ovenfor. Nå kan vi lage en terningfunksjon: function terning() { return Math.floor(Math.random() * 6) + 1; Her starter vi med Math.random() * 6, deretter runder vi resultatet ned til nærmeste hele tall med Math.floor(), og til slutt legger vi til én. Med denne funksjonen kan vi «trille» noen terninger i konsollen:

9 50 Funksjoner console.log(terning()); // skriver ut 2 console.log(terning()); // skriver ut 6 console.log(terning()); // skriver ut 3 Denne terningen kan vi bruke til å lage alle tenkelige terningspill. Vi kan for eksempel lage en enkel app som teller antall forsøk den trenger for å få to like: 1 var tolike = false; // settes til true når vi får to like 2 var antallforsok = 0; // lar oss telle antall fors øk 3 4 // Så lenge vi ikke har få tt to like 5 while (! tolike ) { 6 // Ø ker antall fors øk med 1 7 antallforsok ++; 8 9 // triller to terninger 10 var terning1 = terning (); 11 var terning2 = terning (); console. log (" Fikk " + terning1 + ", " + terning2 ); // Unders ø ker om de to terningene er like 16 if ( terning1 === terning2 ) { 17 tolike = true; 18 console. log (" Fikk to like på " + antallforsok + " fors øk"); Kode 4.2: En terningapp som holder på til den har fått to like. Her lager vi først variabelen tolike som skal ha verdien true hvis vi har fått to like, og false så lenge vi ikke har fått to like. Vi lager også variabelen antallforsok, som skal telle antall forsøk vi bruker på å få to like. Deretter bruker vi en while-løkke, som skal holde på så lenge vi ikke har fått to like. Husk at utropstegnet gir oss det omvendte, slik at false blir true og true blir false.

10 Funksjoner 51 Inni while-løkken starter vi med å øke antall forsøk, før vi «triller» to terninger. Resultatet av de to terningene skrives til konsollen. Vi bruker så en if-setning for å sammenligne de to terningene, og hvis de er like, setter vi variabelen tolike til true. Vi skriver også ut antall forsøk når vi har fått to like. Oppgaver 4.9 Lag funksjonen tolike() som gjør det samme som kode 4.2 ovenfor Simuler ett kast med to terninger og gi brukeren beskjed hvis du får to like verdier (et par) eller om summen av terningene blir Lag en ny terningfunksjon, der «terningen» bare har tre sider. Altså at returverdien er 1, 2 eller Bruk «terningen» du laget i forrige oppgave og simuler kast med tre terninger. Skriv ut summen av terningene for hvert kast, og gjenta kastene til du får tre like Lag funksjonen yatzy() som lar oss «trille» flere terninger på én gang. Det skal være mulig å «trille» ulike antall terninger, og resultatet skal skrives til konsollen. Du kan bruke denne funksjonen til å spille en enkel versjon av yatzy, ved å først kaste fem terninger, for så å kaste færre terninger hvis du vil spare på noen av de første terningene. 4.4 Variabler og rekkevidde (scope) I JavaScript kan vi lage variabler med ulik rekkevide (eng. scope). Det vil si at vi kan begrense hvor variablene vil være tilgjengelige i koden vår. Vi kan lage globale variabler som kan brukes og endres i hele koden, og vi kan lage lokale variabler som bare kan brukes og endres i deler av koden. En lokal variabel er en variabel som lages i en funksjon. La oss først se på et eksempel på en global variabel: var areal; // en global variabel /* her kan vi bruke variabelen areal */ function funksjonsnavn() { /* her kan vi bruke variabelen areal */ En global variabel er altså en variabel som lages utenfor en funksjon, og som kan brukes hvor som helst i koden. En lokal variabel er en variabel som lages inni en funksjon:

11 52 Funksjoner function funksjonsnavn() { var areal; // en lokal variabel /* her kan vi bruke variabelen areal */ /* her kan vi _ikke_ bruke variabelen areal */ Her kan vi altså bare bruke variabelen areal inni funksjonen. Hvis vi lager en lokal variabel inni en funksjon med samme navn som en global variabel, vil den lokale variabelen fungere som en egen variabel: var eksempel = "utenfor funksjon"; // en global variabel function funksjon1() { var eksempel = "inni funksjon1"; // en lokal variabel console.log(eksempel); // skriver ut: inni funksjon1 console.log(eksempel); // skriver ut: utenfor funksjon Når vi i funksjonen lager den lokale variabelen eksempel, vil ikke den globale variabelen eksempel forandre seg, fordi variabelen inni funksjon1 fungerer som en ny variabel.dette skillet mellom globale og lokale variabler gjør at vi unngår å overskrive viktige variabler om vi bruker det samme navnet inni funksjonen. Det er likevel ikke å anbefale å bruke det samme navnet på en global og en lokal variabel, da det fort skaper forvirring. Hvis man ønsker å bruke det samme variabelnavnet, bør for eksempel navnet til den lokale variabelen starte med lokal: var navn; function funksjon1() { var lokalnavn; Oppgaver 4.14 Hvordan lager vi en lokal variabel? 4.15 Forklar forskjellen mellom lokale og globale variabler.

12 Funksjoner Kommentering av kode Vi har allerede sett en del kommentarer så langt i denne boka. God kommentering av kode gjør at den blir mye lettere å lese, både for oss selv, og for andre som skal lese koden. Når vi lager funksjoner blir kommentarer ekstra viktige. En av hensiktene med en funksjon, er at den kan leve sitt eget liv. Vi kan bruke funksjoner laget av andre, uten å tenke på selve koden i funksjonen, men vi må vite hvordan den brukes. Se for deg at du har fått følgende funksjon av en annen person: function skrivmangeganger(tekst, antall) { for (var i = 0; i < antall; i++) { console.log(tekst); Det er ikke så lett å vite hvordan denne funksjonen brukes, uten å lese gjennom koden. Med kommentarer blir funksjonen enkel å bruke: /* * Skriver ut en tekst mange ganger * * Argument (String) tekst - teksten som skal skrives ut * Argument (Number) antall - antall ganger teksten skal skrives */ function skrivmangeganger(tekst, antall) { for (var i = 0; i < antall; i++) { console.log(tekst); Denne skrivemåten er inspirert av den som brukes i jsdoc ( men den er noe forenklet. Hvis en funksjon har en eller flere returverdier, må disse også nevnes i kommentaren. På denne måten blir det lett å lage kode sammen med andre. Oppgaver 4.16 Lag en funksjon som bruker Math.random(), for eksempel en funksjon som returnerer et eller flere tilfeldige tall mellom x og y. Hint: vi kan endre terningfunksjonen vi laget tidligere til å gi oss et tall mellom 3 og 8 i stedet for mellom 1 og Kommenter funksjonen slik at den blir lett å bruke for andre.

13 54 Funksjoner Sammendrag Vi lager en funksjon med nøkkelordet function etterfulgt av funksjonens navn: function funksjonsnavn() { /* kode */ Vi bruker (kaller) en funksjon ved å skrive funksjonens navn etterfulgt av parenteser: funksjonsnavn(). En funksjon kan motta verdier i form av argumenter: function funksjonsnavn(argument1, argument2,...) { /* kode */ En funksjon kan gi en returverdi: function mindreennti(tall) { if (tall < 10) { return true; else { return false; En lokal variabel er en variabel som lages inni en funksjon, og den kan bare brukes i funksjonen den er laget i. En global variabel er en variabel som er laget utenfor funksjonene i en kode, og den kan brukes alle steder i koden. Det er viktig å bruke kommentarer for å forklare hvilke argumenter en funksjon kan motta, og hva den returnerer.

Kontrollstrukturer (valg og løkker)

Kontrollstrukturer (valg og løkker) Kapittel 3 Kontrollstrukturer (valg og løkker) 25 Kontrollstrukturer (valg og løkker) Etter dette kapitlet skal du kunne sammenligne verdier med sammenligningsoperatorer gjennomføre valg med if-setninger

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

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

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

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

Variabler, datatyper og operatorer

Variabler, datatyper og operatorer 12 Variabler, datatyper og operatorer Kapittel 2 Variabler, datatyper og operatorer Etter dette kapitlet skal du kunne forklare hva variabler er, og hvordan vi lager dem kjenne til regler for navngiving

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. Hei JavaScript! Introduksjon Web Introduksjon I denne oppgaven blir du introdusert for programmeringsspråket JavaScript. Du skal gjøre den klassiske oppgaven Hei verden, med en katt. Steg 1: Bruke JS Bin

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! Introduksjon Web Introduksjon I denne oppgaven blir du introdusert for programmeringsspråket JavaScript. Du skal gjøre den klassiske oppgaven Hei verden, med en katt. Steg 1: Bruke

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

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

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

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

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

INF1000 EKSTRATILBUD. Stoff fra uke 1-5 (6) 3. oktober 2012 Siri Moe Jensen

INF1000 EKSTRATILBUD. Stoff fra uke 1-5 (6) 3. oktober 2012 Siri Moe Jensen INF1000 EKSTRATILBUD Stoff fra uke 1-5 (6) 3. oktober 2012 Siri Moe Jensen PLAN FOR DAGEN gjennomgå stoff fra uke 1-5(6), men med en litt annen tilnærming kun gjennomgått stoff, men vekt på konsepter og

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

Oppsummering - Til nå... (1/ )

Oppsummering - Til nå... (1/ ) Oppsummering - Til nå... (1/10-2015) Grunnleggende HTML... 1 Basic JavaScript... 1 Variabler:... 2 Operatorer:... 3 Klikkhendelser... 4 Kontrollstrukturer... 5 Valgsetninger... 5 Betingelser/påstander...

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

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

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

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

Innhold uke 4. INF 1000 høsten 2011 Uke 4: 13. september. Deklarasjon av peker og opprettelse av arrayobjektet. Representasjon av array i Java

Innhold uke 4. INF 1000 høsten 2011 Uke 4: 13. september. Deklarasjon av peker og opprettelse av arrayobjektet. Representasjon av array i Java INF høsten 2 Uke 4: 3. september Grunnkurs i Objektorientert Programmering Institutt for Informatikk Universitetet i Oslo Siri Moe Jensen og Arne Maus Mål for uke 4: Innhold uke 4 Repetisjon m/ utvidelser:

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

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

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

Utførelse av programmer, metoder og synlighet av variabler i JSP Utførelse av programmer, metoder og synlighet av variabler i JSP Av Alf Inge Wang 1. Utførelse av programmer Et dataprogram består oftest av en rekke programlinjer som gir instruksjoner til datamaskinen

Detaljer

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL Kandidatnr: Eksamensdato: 12. desember 2002 Varighet: Fagnummer: Fagnavn: Klasse(r): 3 timer LO116D Programmering i Visual Basic FU

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 2 Frist: 2016-01-29 Mål for denne øvingen:

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

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

Løse reelle problemer

Løse reelle problemer Løse reelle problemer Litt mer om løkker, metoder med returverdier, innlesing fra fil og strenger INF1000, uke5 Ragnhild Kobro Runde MER OM LØKKER Repetisjon fra forrige uke: while Syntaks: while (condition)

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

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL Kandidatnr: Eksamensdato: 15. mai 2003 Varighet: Fagnummer: Fagnavn: Klasse(r): 3 timer LO116D Programmering i Visual Basic FU Studiepoeng:

Detaljer

Programmeringsspråket C

Programmeringsspråket C Programmeringsspråket C Bakgrunn Implementasjon av Unix ved AT&Ts laboratorium i Palo Alto 1960 75. Navnet kommer fra BCPL B C. Opphavsmannnen heter Dennis Ritchie. ANSI standard i 1988; omtrent alle følger

Detaljer

JS: Grunnleggjande JavaScript

JS: Grunnleggjande JavaScript JS: Grunnleggjande JavaScript Skrevet av: Lars Klingenberg Oversatt av: Stein Olav Romslo Kurs: Web Tema: Tekstbasert, Nettside Fag: Matematikk, Programmering, Teknologi Klassetrinn: 5.-7. klasse, 8.-10.

Detaljer

INF1000 (Uke 5) Mer om løkker, arrayer og metoder

INF1000 (Uke 5) Mer om løkker, arrayer og metoder INF1000 (Uke 5) Mer om løkker, arrayer og metoder Grunnkurs i programmering Institutt for Informatikk Universitetet i Oslo Anja Bråthen Kristoffersen og Are Magnus Bruaset Praktisk informasjon Når disse

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

INF1000 : Forelesning 4

INF1000 : Forelesning 4 INF1000 : Forelesning 4 Kort repetisjon av doble (nestede) løkker Mer om 1D-arrayer Introduksjon til 2D-arrayer Metoder Ole Christian Lingjærde Biomedisinsk forskningsgruppe Institutt for informatikk Universitetet

Detaljer

i=0 i=1 Repetisjon: nesting av løkker INF1000 : Forelesning 4 Repetisjon: nesting av løkker Repetisjon: nesting av løkker j=0 j=1 j=2 j=3 j=4

i=0 i=1 Repetisjon: nesting av løkker INF1000 : Forelesning 4 Repetisjon: nesting av løkker Repetisjon: nesting av løkker j=0 j=1 j=2 j=3 j=4 Repetisjon: nesting av løkker Kort repetisjon av doble (nestede) løkker Mer om D-arrayer Introduksjon til D-arrayer Metoder Ole Christian Lingjærde Biomedisinsk forskningsgruppe Institutt for informatikk

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

i=0 Repetisjon: arrayer Forelesning inf Java 4 Repetisjon: nesting av løkker Repetisjon: nesting av løkker 0*0 0*2 0*3 0*1 0*4

i=0 Repetisjon: arrayer Forelesning inf Java 4 Repetisjon: nesting av løkker Repetisjon: nesting av løkker 0*0 0*2 0*3 0*1 0*4 Forelesning inf - Java 4 Repetisjon: arrayer Tema: Løkker Arrayer Metoder Ole Christian Lingjærde,. september Deklarere og opprette array - eksempler: int[] a = new int[]; String[] a = new String[]; I

Detaljer

Forelesning inf Java 4

Forelesning inf Java 4 Forelesning inf1000 - Java 4 Tema: Løkker Arrayer Metoder Ole Christian Lingjærde, 12. september 2012 Ole Chr. Lingjærde Institutt for informatikk, 29. august 2012 1 Repetisjon: arrayer Deklarere og opprette

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

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 - Til nå... (1/ )

Oppsummering - Til nå... (1/ ) Oppsummering - Til nå... (1/10-2015) Grunnleggende HTML... 1 Basic JavaScript... 2 Variabler:... 3 Operatorer:... 4 Klikkhendelser... 5 Kontrollstrukturer... 5 Valgsetninger... 5 Betingelser/påstander...

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

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

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

Steg 1: Lag bildedeklarasjon

Steg 1: Lag bildedeklarasjon Bildepresentasjon Skrevet av: Ruben Gjerstad Eide og Kine Gjerstad Eide Kurs: Processing Tema: Tekstbasert, Animasjon Fag: Programmering, Kunst og håndverk Klassetrinn: 8.-10. klasse, Videregående skole

Detaljer

Objektorientert programmering i Python

Objektorientert programmering i Python Objektorientert programmering i Python IN1000 Høst 2019 uke 8 Siri Moe Jensen Læringsmål uke 8 Repetisjon fra forrige uke Definere en klasse, opprette og arbeide med objekter: How-to

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

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

MER OM ARRAYER. INF1000: Forelesning 4. Anta at vi ønsker å lagre en liste med navnene på alle INF1000-studentene:

MER OM ARRAYER. INF1000: Forelesning 4. Anta at vi ønsker å lagre en liste med navnene på alle INF1000-studentene: INF1000: Forelesning 4 Mer om arrayer Metoder MER OM ARRAYER 2 Array som en samling verdier Anta at vi ønsker å lagre en liste med navnene på alle INF1000-studentene: String[] studenter = new String[500];

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

Oblig 4 Undervisningshefte i grunnleggende JavaScript programmering

Oblig 4 Undervisningshefte i grunnleggende JavaScript programmering Oblig 4 Undervisningshefte i grunnleggende JavaScript programmering Innhold: Variabler Boolske verdier Kontrollstrukturer Datastrukturer Løkker Funksjoner Events DOM behandling av Christine Skjønhaug Færø

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

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

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL Eksamensdato: 15.des 2011 Studiepoeng: 6 Varighet: 4 timer. Start kl 09:00 og skal leveres inn senest kl 13:00 Emnekode: Emnenavn:

Detaljer

INF1000: Forelesning 4. Mer om arrayer Metoder

INF1000: Forelesning 4. Mer om arrayer Metoder INF1000: Forelesning 4 Mer om arrayer Metoder MER OM ARRAYER 2 Array som en samling verdier Anta at vi ønsker å lagre en liste med navnene på alle INF1000-studentene: String[] studenter = new String[500];

Detaljer

Hjelpemidler: 4 A4-sider (2 to-sidige ark eller 4 en-sidige ark) med egenproduserte notater (håndskrevne/maskinskrevne)

Hjelpemidler: 4 A4-sider (2 to-sidige ark eller 4 en-sidige ark) med egenproduserte notater (håndskrevne/maskinskrevne) Informasjon om eksamen EKSAMEN Emnekode: ITF10213 Emnenavn: Innføring i programmering Dato: 05/12-2017 Eksamenstid: 09.00-13.00, 4 timer Hjelpemidler: 4 A4-sider (2 to-sidige ark eller 4 en-sidige ark)

Detaljer

Metoder med parametre, løkker og arrayer

Metoder med parametre, løkker og arrayer Metoder med parametre, løkker og arrayer Løse problemer med programmering INF1000, uke3 Ragnhild Kobro Runde METODER MED PARAMETRE Statiske void-metoder med parametre Den typen metoder vi så på forrige

Detaljer

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

Løkker og arrayer. Løse problemer med programmering. INF1000, uke3 Geir Kjetil Sandve Løkker og arrayer Løse problemer med programmering INF1000, uke3 Geir Kjetil Sandve Hva vi har lært så langt Variabler og uttrykk Beslutninger Kontrollflyt og feilmeldinger Metoder og parametre Fokus i

Detaljer

INF2810: Funksjonell Programmering

INF2810: Funksjonell Programmering INF2810: Funksjonell Programmering Høyereordens prosedyrer, lambda og lokale variabler Stephan Oepen Universitetet i Oslo 9. februar 2015 Tema 2 Forrige uke Lister og listerekursjon quote Høyereordens

Detaljer

Øvingsforelesning i Python (TDT4110)

Øvingsforelesning i Python (TDT4110) Øvingsforelesning i Python (TDT4110) Tema: Øving 1, PyCharm, Print, Input, (funksjoner og globale variabler) Gå til https://www.jetbrains.com/pycharm/ og sett PyCharm på nedlasting NÅ Kristoffer Hagen

Detaljer

Oppsummering - Kurset (10/11-2015)

Oppsummering - Kurset (10/11-2015) Oppsummering - Kurset (10/11-2015) Grunnleggende HTML... 1 Basic JavaScript... 2 Variabler:... 3 Operatorer:... 4 Klikkhendelser... 5 Kontrollstrukturer... 5 Valgsetninger... 5 Betingelser/påstander...

Detaljer

13.09.2012 LITT OM OPPLEGGET. INF1000 EKSTRATILBUD Stoff fra uke 1-3 12. September 2012 Siri Moe Jensen EKSEMPLER

13.09.2012 LITT OM OPPLEGGET. INF1000 EKSTRATILBUD Stoff fra uke 1-3 12. September 2012 Siri Moe Jensen EKSEMPLER .9.22 LITT OM OPPLEGGET INF EKSTRATILBUD Stoff fra uke - 2. September 22 Siri Moe Jensen Målgruppe: De som mangler forståelse for konseptene gjennomgått så langt. Trening får du ved å jobbe med oppgaver,

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

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

Ø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

Øvingsforelesning i Matlab (TDT4105)

Øvingsforelesning i Matlab (TDT4105) Øvingsforelesning i Matlab (TDT4105) Øving 1. Frist: 11.09. Tema: matematiske uttrykk, variabler, vektorer, funksjoner. Benjamin A. Bjørnseth 1. september 2015 2 Oversikt Praktisk informasjon Om øvingsforelesninger

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

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

Oversikt. INF1000 Uke 1 time 2. Repetisjon - Introduksjon. Repetisjon - Program

Oversikt. INF1000 Uke 1 time 2. Repetisjon - Introduksjon. Repetisjon - Program Oversikt INF1000 Uke 1 time 2 Variable, enkle datatyper og tilordning Litt repetisjon Datamaskinen Programmeringsspråk Kompilering og kjøring av programmer Variabler, deklarasjoner og typer Tilordning

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

INF2810: Funksjonell Programmering

INF2810: Funksjonell Programmering INF2810: Funksjonell Programmering Høyereordens prosedyrer, lambda og lokale variabler Stephan Oepen Universitetet i Oslo 9. februar 2015 Tema 2 Forrige uke Lister og listerekursjon quote Høyereordens

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

Forelesning inf Java 5

Forelesning inf Java 5 Ole Chr. Lingjærde 1 Forelesning inf1000 - Java 5 Tema: Mer om metoder 2D-arrayer String Ole Christian Lingjærde, 26. september 2013 Ole Chr. Lingjærde Institutt for informatikk, 26. september 2013 1 Strukturen

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

Dagens tema. C-programmering. Nøkkelen til å forstå C-programmering ligger i å forstå hvordan minnet brukes.

Dagens tema. C-programmering. Nøkkelen til å forstå C-programmering ligger i å forstå hvordan minnet brukes. Dagens tema Dagens tema C-programmering Nøkkelen til å forstå C-programmering ligger i å forstå hvordan minnet brukes. Adresser og pekere Parametre Vektorer (array-er) Tekster (string-er) Hvordan ser minnet

Detaljer

Forelesning inf Java 5

Forelesning inf Java 5 Forelesning inf1000 - Java 5 Tema: Mer om metoder 2D-arrayer String Ole Christian Lingjærde, 26. september 2013 Ole Chr. Lingjærde Institutt for informatikk, 26. september 2013 1 Strukturen til et Java-program

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

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

Algoritmer og datastrukturer Kapittel 2 - Delkapittel 2.1

Algoritmer og datastrukturer Kapittel 2 - Delkapittel 2.1 Delkapittel 2.1 Plangeometriske algoritmer Side 1 av 7 Algoritmer og datastrukturer Kapittel 2 - Delkapittel 2.1 2.1 Punkter, linjesegmenter og polygoner 2.1.1 Polygoner og internett HTML-sider kan ha

Detaljer

Øvingsforelesning 6 i Python (TDT4110)

Øvingsforelesning 6 i Python (TDT4110) Øvingsforelesning 6 i Python (TDT4110) Lister Ole-Magnus Pedersen Oversikt Praktisk Info Gjennomgang av Øving 3 Programmering til Øving 6 2 Praktisk info Prosjekter i PyCharm må startes med Python 3.x

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF1010 Objektorientert programmering Eksamensdag: 6. juni 2013 Tid for eksamen: 09.00 15.00 Oppgavesettet er på 5 sider. Vedlegg:

Detaljer

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL Kandidatnr: Eksamensdato: 25. mai 2005 Varighet: 4 timer (9:00 13:00) Fagnummer: LO182D Fagnavn: Programmering i C++ Klasse(r): FU

Detaljer

Verden - Del 2. Intro. Skrevet av: Kine Gjerstad Eide

Verden - Del 2. Intro. Skrevet av: Kine Gjerstad Eide Verden - Del 2 Skrevet av: Kine Gjerstad Eide Kurs: Processing Tema: Tekstbasert Fag: Matematikk, Programmering, Samfunnsfag Klassetrinn: 8.-10. klasse, Videregående skole Intro Denne oppgaven bygger på

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

Ø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

Endret litt som ukeoppgave i INF1010 våren 2004

Endret litt som ukeoppgave i INF1010 våren 2004 Endret litt som ukeoppgave i INF1010 våren 2004!!!" # # $# ##!!%# # &##!'! Kontroller at oppgavesettet er komplett før du begynner å besvare det. Les gjerne gjennom hele oppgavesettet før du begynner med

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

Kort om meg. INF1000 Uke 2. Oversikt. Repetisjon - Introduksjon

Kort om meg. INF1000 Uke 2. Oversikt. Repetisjon - Introduksjon Kort om meg INF1000 Uke 2 Variable, enkle datatyper og tilordning Fredrik Sørensen Kontor: Rom 4311-NR, Informatikkbygget Brukernavn/e-post: fredrso@ifi.uio.no Utdanning: Dataingeniør, 2000 Cand.Scient,

Detaljer

Oversikt. INF1000 Uke 2. Repetisjon - Program. Repetisjon - Introduksjon

Oversikt. INF1000 Uke 2. Repetisjon - Program. Repetisjon - Introduksjon Oversikt INF1000 Uke 2 Variable, enkle datatyper og tilordning Litt repetisjon Datamaskinen Programmeringsspråk Kompilering og kjøring av programmer Variabler, deklarasjoner og typer Tilordning Uttrykk

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

MAT-INF 1100: Obligatorisk oppgave 1

MAT-INF 1100: Obligatorisk oppgave 1 3. september, 2004 MAT-INF 1100: Obligatorisk oppgave 1 Innleveringsfrist: 17/9-2004, kl. 14:30 Informasjon Den skriftlige besvarelsen skal leveres på ekspedisjonskontoret i 7. etg. i Niels Henrik Abels

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

Kapittel Oktober Institutt for geofag Universitetet i Oslo. GEO En Introduksjon til MatLab. Kapittel 14.

Kapittel Oktober Institutt for geofag Universitetet i Oslo. GEO En Introduksjon til MatLab. Kapittel 14. og Institutt for geofag Universitetet i Oslo 17. Oktober 2012 i MatLab En funksjon vil bruke et gitt antall argumenter og produsere et gitt antall resultater og : Hvorfor Først og fremst bruker vi når

Detaljer

INF1000 - Uke 10. Ukesoppgaver 10 24. oktober 2012

INF1000 - Uke 10. Ukesoppgaver 10 24. oktober 2012 INF1000 - Uke 10 Ukesoppgaver 10 24. oktober 2012 Vanlige ukesoppgaver De første 4 oppgavene (Oppgave 1-4) handler om HashMap og bør absolutt gjøres før du starter på Oblig 4. Deretter er det en del repetisjonsoppgaver

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

løsningsforslag-uke5.txt

løsningsforslag-uke5.txt INF 1000 LØSNINGSFORSLAG TIL UKEOPPGAVER FOR UKE 5 1) Setningen er kompakt skrivemåte for int[] a; a = new int[50]; hvor den første setningen deklarerer arrayen a, og den andre setningen oppretter et array-objekt

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

TDT4110 Informasjonsteknologi grunnkurs: Tema: Funksjoner med retur og moduler Utgave 3: Kap

TDT4110 Informasjonsteknologi grunnkurs: Tema: Funksjoner med retur og moduler Utgave 3: Kap 1 av 44 Kunnskap for en bedre verden TDT4110 Informasjonsteknologi grunnkurs: Tema: Funksjoner med retur og moduler Utgave 3: Kap. 5.7-5.10 Terje Rydland - IDI/NTNU 2 av 44 Læringsmål og pensum Mål Beherske

Detaljer