JavaScriptbibliotek. Introduksjon MVVC. Informasjonsteknologi 2. Gløer Olav Langslet Sandvika VGS

Størrelse: px
Begynne med side:

Download "JavaScriptbibliotek. Introduksjon MVVC. Informasjonsteknologi 2. Gløer Olav Langslet Sandvika VGS"

Transkript

1 MVVC JavaScriptbibliotek Gløer Olav Langslet Sandvika VGS Knockout.js Informasjonsteknologi 2 Introduksjon I dag skal vi se nærmere på et JavaScriptbibliotek som heter Knockout. Knockout og andre biblioteker, som Backbone og Ember kan hjelpe oss med å løsrive koden fra dokument-objektmodellen. Vanligvis skriver vi mye document.getelementbyid for å få tak i elementer, og jobber mye med å oppdatere verdier i lister og lignende. Med knockout.js holder vi styr på verdiene i en datamodell, og kan bruke dem der de trengs. Vi kan enkelt sørge for at verdiene oppdaterer seg med såkalt data-binding, som er en 2-veis metode for å knytte gui-elementer til datamodellen.

2 sdsd Bilregister med knockout.js Informasjonsteknologi 2 Vi forsøker å lage et bilregister Vi skal i denne leksjonen lage et lite bilregister. Det første vi må gjøre, er å laste ned knockout-biblioteket. Det finner dere på knockoutjs.com Legg inn skriptet Sett inn en referanse til knockout-filen i head-elementet på siden din: Vanligvis legger vi vårt eget skript i en egen fil, men for enkle eksempler, går det også utmerket å skrive koden i html-dokumentet. 2

3 Bilregister med knockout.js Informasjonsteknologi 2 Et bil-objekt Kodingen med knockout skiller seg ikke i noen særlig grad fra vanlig JavaScript-programmering. Hvis vi skal lage et register for biler, kan det være lurt å ha et objekt for en bil, en liten klump med kode som kan lagre den informasjonen vi trenger om en bil. Vi starter med å lage et helt enkelt JavaScript-objekt: Vi kan legge koden i body-elementet for dette eksempelet. Det knockout kan hjelpe oss med, er å vise frem verdiene fra bil-objektet i HTML-koden vår. Men vi må da først si at attributtene i objektet skal være såkalte observables. Det vil si at de kan vises frem ved å referere til dem, og det vil også si at de kan oppdateres fra det grafiske brukergrensesnittet (GUI). Vi setter alle attributtene til å være observables: Vi må også huske på å si at bil-objektet vårt skal kunne bruke bindings, det er det som skaper en sammenheng mellom verdiene, og de grensesnittet, og som gjør at vi kan få tak i verdiene for bilens attributter. Vi har nå laget en datamodell for programmet vårt. La oss forsøke å sette opp en tabell som viser frem informasjon om bilen. 3

4 sdsd Bilregister med knockout.js Informasjonsteknologi 2 data-bind Mye av vitsen med knockout er at vi slipper å skrive så mye kode for å holde grensesnittet og datamodellen oppdatert. Med data-bindings kan vi knytte verdiene i datamodellen (bilen) og grensesnittet sammen. I HTML-koden rett over script-taggen skriver vi: Det er nå magien viser seg. Vi kan hente ut verdier fra bil-objektet vårt ved å skrive data-bind = text:merke inni en html-tagg. Dette kan vi for så vidt gjøre alle de stedene vi vil vise frem denne verdien. Siden vi skal lage et bilregister, legger vi allerede nå inn resultatet i en tabell. Så blir det lett å utvide når vi skal lage flere biler. Når vi jobber med objekter, kan vi også knytte beregnede verdier til objektet. For eksempel kunne vi være interessert i å få vite prisen på bilen med og uten moms. La oss knytte en liten funksjon til bilen, som viser den beregnede prisen med moms. 4

5 Bilregister med knockout.js Informasjonsteknologi 2 Beregning av moms Vi lager en liten funksjon som regner ut pris med moms (linje 36-38): Vi knytter en funksjon til bilen. Legg merke til at funksjonen er pakket inn i en ko.computed. Når vi gjør beregninger på andre verdier i modellen, sørger ko.computed for at også denne verdien oppdaterer seg hver gang noen av de underliggende data i modellen oppdaterer seg. I dette tilfellet vil det si at når prisen oppdateres i modellen, så vil også prismedmoms oppdatere seg. Vi legger inn en ekstra celle i tabellen (linje 14 og 22): 5

6 sdsd Bilregister med knockout.js Informasjonsteknologi 2 Endring av verdier Til nå har vi kun hentet verdier ut av modellen. Styrken til knockout viser seg først når vi ser hvor enkelt det er å endre verdier i modellen vår. Vi legger inn 3 input-felter over tabellen. Også her skal vi hente ut verdier fra modellen, men vi skal også sørge for at modellen oppdaterer seg når vi endrer verdiene i input-feltene. Forskjellen nå, er at vi henter ut verdiene med data-bind= value:merke i stedet for data-bind= text:merke. Når vi bruker value, vil endringer føre til at modellen oppdaterer seg når input-feltet oppdaterer seg. Med text kan vi kun hente ut verdien. Nå kan vi skrive inn Chevrolet, og vips ser vi at innholdet i tabellen endrer seg i det vi trykker på Enter-tasten. Men det skal være et bilregister. Vi er da nødt til å ta høyde for at det skal kunne være mer enn bare én bil i registeret vårt. Grovt sett kan vi si at variabelen bil, som vi har laget er et objekt, men vi trenger det vi i for eksempel Java kaller en klass, eller class. Det er en modell for hvordan alle biler (objekter av klassen) skal se ut, dvs. hvilke attributter og egenskaper de skal ha. I JavaScript bruker vi i kke klasse-begrepet på samme måte, men prinsippene er de samme. 6

7 Bilregister med knockout.js Informasjonsteknologi 2 Vi skriver om objektet til en klasse Klasser i JavaScript kan beskrives med en spesiell type funksjoner.i funksjonen beskriver vi hvordan objektene (de konkrete bilene) skal se ut: I Java skriver vi navnet til klassene med stor forbokstav. Det er god skikk å overføre denne praksisen til JavaScript, slik at funksjonen Bil har stor forbokstav. Den konkrete bilen, altså varabelen, eller objektet, bør ha liten forbokstav. Vi må også sørge for at attributtene er såkalte ko.observables: Nå kan vi for så vidt lage flere biler, men for at systemet vårt skal virke, må vi sette inn prismedmoms. Dette kan vi legge inn som en funksjon inne i Bil-klassen: 7

8 sdsd Bilregister med knockout.js Informasjonsteknologi 2 Setter inn en funksjon for å beregne moms Momsen skal oppdateres i HTML-koden når prisen endres. Vi bør derfor bruke en ko.computed: ko.computed kan ta 2 parametre, det ene er funksjonen som returnerer en verdi, og det andre er på en måte hvem eller hva som skal få denne verdien. I dette tilfellet skal det være selve bilen, altså den vi har referert til som this i hele klassen. Problemet er at this også kunne ha vært selve prismedmoms, men vi kan sørge for at det blir bilen som får det ved å sette inn this som en parameter etter funksjonen. Dette virker noen ganger litt tungvindt, og vi kan omgå dette ved å døpe om bilens this til self. Da behøver vi ikke ha med den andre parameteren. La oss gjøre dette, og fortsette den praksisen i vårt videre arbeid med bilregisteret. 8

9 Bilregister med knockout.js Informasjonsteknologi 2 En modell for hele registeret La oss forsøke å lage en modell som skal hjelpe oss å holde styr på alle bilene i registeret vårt. Vi kan kalle den Bilregister, og den skal i første omgang inneholde en liste (array) med biler. Etter funksjonen/klassen Bil, lager vi nå en klasse for Bilregister. Deretter opretter vi et bilregister-objekt, og knytter det til konockout i stedet for bilen: Umiddelbart vil det se ut som om vi går ett skritt tilbake. Nettsiden vår slutter å virke. Det er fordi vi forsøker å vise frem verdiene til merke, modell, pris og prismedmoms. Men disse finnes jo ikke i Bilregister. Derimot er det én av dem for hver bil i registeret. Hvis vi legger et par biler inn i bilregisteret, vil vi nærme oss: Legg merke til at biler er et såkalt observablearray. Dette virker på samme måte som en observable, men det er altså et array, eller en liste. Vi kan bruke vanlige JavaScriptpush for å legge til elementer i listen. 9

10 sdsd Bilregister med knockout.js Informasjonsteknologi 2 Vi må oppdatere grensesnittet Da vi lagde html-koden, hadde vi kun én bil å forholde oss til. Nå må vi sørge for at vi viser alle bilene. Bilene våre ligger lagret i arrayet i bilregisteret; biler. Vi må altså gå gjennom hvert element i arrayet for å kunne vise frem alle bilene. Dette skjer med en liten endring i html-koden. Først fjerner vi data-bindingene i input-feltene. Disse skal vi endre på senere. Deretter må vi i tabellen si at vi nå for hver bil skal vise frem dataene våre: For hver bil, lager vi nå en rad i tabellen, og fyller den opp med merke, modell osv. Da er vi tilbake på sporet: 10

11 Bilregister med knockout.js Informasjonsteknologi 2 Registrere flere biler Hensikten med registeret er vel at vi ønsker å registrere flere biler Vi kan ikke knytte verdiene i input-feltene til bilene, siden vi da ikke vil vite hvilken bil de hører til. Vi må dermed lage 3 attributter som tar vare på de nye verdiene som skal legges inn når vi registrerer en ny bil. Dette gjør vi i bilregisteret: Nå kan vi knytte disse verdiene til input-feltene i grensesnittet vårt. Vi lager også en knapp som setter i gang en funksjon som registrerer en ny bil. (Vi har ikke laget denne funksjonen ennå. Følg med, så kommer det) Funksjonen legger vi også inn i bilregisteret. Den skal ikke returnere noen verdi, så det er en helt vanlig funksjon. Legger denne på slutten inne i function Bilregister(). Se hele koden frem til nå på neste side. 11

12 sdsd Bilregister med knockout.js Informasjonsteknologi 2 Fortsetter på neste side 12

13 Bilregister med knockout.js Informasjonsteknologi 2 13

14 sdsd Bilregister med knockout.js Informasjonsteknologi 2 Endre på biler som er registrert Hva om vi registrerer feil. Da kan det være praktisk å kunne endre på informasjonen vi har lagt inn. La oss først legge inn verdiene for bilene både i et input-felt og i et span-element: Hva gjør vi egentlig her. Jo, i stedet for å kun vise frem verdien med databind= text:merke, legger vi inn et input-felt ved siden av, som gir oss mulighet til å endre verdiene for de bilene vi ønsker. Oppdateringen skjer i det vi skriver inn en ny verdi og trykker enter: Men det ser kanskje ikke så elegant ut. Hva om vi lager oss en liten knapp som gjør input-feltene synlige når vi skal redigere innhold, og ellers kun viser frem informasjonen. 14

15 Bilregister med knockout.js Informasjonsteknologi 2 Vi kan lage en liten veriabel som heter redigerbar. Den settes til true hvis det skal være lov å redigere tabellen. Eller settes den til false. Knappen kan styre dette. Først oppretter vi variabelen: Hva skal være synlig? Så setter vi hva som skal være synlig i HTML-koden vår: Så når bilregisterets attributt redigerbar er true, vil input-feltene være synlige. Vi refererer til bilregisteret som $root, altså moderskipet som alle bilene ligger innunder. Vi kan på lignende måte sette alle span-elementene til synlige hvis redigerbar er false: Gjør dette for alle de 3 span-elementene. Til slutt må vi lage en liten funksjon som veksler på å sette redigerbar til true og false: 15

16 sdsd Bilregister med knockout.js Informasjonsteknologi 2 Og så en liten knapp En liten knapp kan styre det hele Denne legger vi inn rett etter tabellen i html-koden. Vi kan gjøre det litt mer snedig, ved å endre teksten til Lager endringer, når vi er ferdige med redigeringen: Da må vi opprette en liten variabel som heter for eksempel knappetekst: Til slutt binder vi verdien av knappetekst til knappen vår: Eksempelet finner du her: Vi går nå videre og ser på hvordan vi kan forbedre løsningen ytterligere. 16

17 Bilregister med knockout.js Informasjonsteknologi 2 Fjerne en bil Hva om vi vil fjerne en bil vi har registrert? Det kan vi løse ved å legge inn en liten knapp i tabellen, og knytte denne til en funksjon i datamodellen vår. Først legger vi inn en tom celle i tabellen: Helt på slutten skjøter vi på en <th></th> Ser ingen grunn til å ha noen overskrift for fjerne-knappen. Deretter legger vi inn en celle ekstra hvor vi legger inn knappen: Denne legger vi inn rett etter den siste celle med momsen. Vi må skrive $root, siden funksjonen må ligge i Bilregister-klassen, og ikke inne i selve Bil-klassen. Det er jo i Bilregister vi har arrayet med alle bilene ( biler ). Husk på at vi itererer over alle bilene når vi lager tabellen, med en foreach: biler. Når vi klikker på knappen, sender vi av gårde en parameter i klikk-hendelsen, og denne parameteren er bilen selv. Så for å fjerne den, kan vi gjøre dette meget enkelt inne i Bilregister: Vi legger dette inn helt på bunnen av Bilregister-klassen, rett etter nybil-funksjonen. 17

18 sdsd Bilregister med knockout.js Informasjonsteknologi 2 Lokal lagring Det er et litt unyttig bilregister, hvis vi mister alle dataene hver gang vi oppdaterer eller lukker siden. La oss prøve å lafre dataene lokalt. Til dette kan vi bruke localstorage, som vi har sett på i en tidligere leksjon. I starten av koden, legger vi inn en sjekk på om det faktisk er noen biler i registeret fra før av. Hvis det er det, henter vi inn bilene fra localstorage, og sier at minebiler nå skal ha verdien av localstorage.minebiler. (Jeg gir dem samme nav for enkelthets skyld). Hvis det ikke er lagret noe, sier vi at minebiler skal være et tomt array. Vi gjør noen endringer der hvor vi tidligere opprettet biler-arrayet i Bilregister-klassen: Her lagde vi tidligere et tomt array, og pushet inn 2 biler. De fjerner vi nå. I stedet legger vi inn bilene fra arrayet som er lagret i localstorage. minebiler er et vanlig array, så her henter vi ut attributtene som vi gjør med vanlige objekter, altså: minebiler[i].merke, uten parentesen under. 18

19 Bilregister med knockout.js Informasjonsteknologi 2 ko.tojson Til slutt må vi sørge for at vi lagrer bilene i localstorage hver gang vi legger til eller fjerner en bil. Hver gang dette skjer bruker vi ko.tojson(self.biler()): I linje 115 og 121 lagrer vi arrayet til localstorage. Det som er verdt å merke seg, er at vi kun lagrer verdiene som objektene har i øyeblikket. ko-objektet blir detronisert, og vi sitter igjen med et vanlig array. Det er grunnen til at vi må lage nye biler med new Bil(), som vi så på forrige side, når vi oppdaterer siden. 19

20 sdsd Bilregister med knockout.js Informasjonsteknologi 2 Hva koster alle bilene til sammen? Kanskje vi ønsker å vite hva alle bilene koster til sammen? Det burde være en smal sak å regne ut. Vi kan lage et felt under tabellen som viser nettopp dette: Dette legger vi inn etter knappen for å redigere bilregisteret. Da er vi ute av loopen som viser bildene, og totalsum vil da være en verdi som ligger inni Bilregister. Det er jo også her vi har oversikt over alle bilene i arrayet biler, så det passer bra. Her kan vi gå gjennom arrayet, og summere prisene. Husk at alle verdier som er basert på andre verdier bør defineres som ko.computed. Det burde gjøre susen. Koden for den utvidede løsningen ligger her: Jeg har brukt HTML Kickstart for å pynte litt. 20

notater Gule lapper Mine Et praktisk eksempel med objekter IT2 Læreplansmål Gløer Olav Langslet Sandvika VGS

notater Gule lapper Mine Et praktisk eksempel med objekter IT2 Læreplansmål Gløer Olav Langslet Sandvika VGS Mine notater Gløer Olav Langslet Sandvika VGS Et praktisk eksempel med objekter Vi kjenner alle til korktavlen med gule lapper. Vi henger opp en lapp for at vi selv eller andre skal huske eller bli minnet

Detaljer

lagring med HTML5 Offline lagring Offline Informasjonsteknologi 2 Gløer Olav Langslet Sandvika VGS

lagring med HTML5 Offline lagring Offline Informasjonsteknologi 2 Gløer Olav Langslet Sandvika VGS Offline lagring med HTML5 Gløer Olav Langslet Sandvika VGS Leksjon 8 Informasjonsteknologi 2 Offline lagring I IT1 brukte vi databaser til å lagre data. Der kunne vi bygge tabeller og fylle dem med innhold

Detaljer

Alt er objekter. Læreplansmål. Gløer Olav Langslet Sandvika VGS

Alt er objekter. Læreplansmål. Gløer Olav Langslet Sandvika VGS Alt er objekter Gløer Olav Langslet Sandvika VGS Høst - 2012 Informasjonsteknologi 2 Alt er objekter Se for deg en bil. Den har noe som er felles for alle biler. Den har hjul, ratt, og en motor. Læreplansmål

Detaljer

praktiske eksempler DOM Document Object Model DOM og Høst 2013 Informasjonsteknologi 2 Læreplansmål Gløer Olav Langslet Sandvika VGS

praktiske eksempler DOM Document Object Model DOM og Høst 2013 Informasjonsteknologi 2 Læreplansmål Gløer Olav Langslet Sandvika VGS DOM og praktiske eksempler Gløer Olav Langslet Sandvika VGS Høst 2013 Informasjonsteknologi 2 DOM Document Object Model Læreplansmål Eleven skal kunne programmere med enkle og indekserte variabler eller

Detaljer

HTML5. Skjemaer på nettsider. Skjemaer med. Informasjonsteknologi 1 og 2. Gløer Olav Langslet Sandvika VGS

HTML5. Skjemaer på nettsider. Skjemaer med. Informasjonsteknologi 1 og 2. Gløer Olav Langslet Sandvika VGS Skjemaer med HTML5 Gløer Olav Langslet Sandvika VGS Leksjon 10 Informasjonsteknologi 1 og 2 Skjemaer på nettsider I denne leksjonen skal vi se litt nærmere på bruk av skjemaer på nettsider. Du har sett

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

med canvas Canvas Grafikk Læreplansmål Gløer Olav Langslet Sandvika VGS

med canvas Canvas Grafikk Læreplansmål Gløer Olav Langslet Sandvika VGS Grafikk med canvas Gløer Olav Langslet Sandvika VGS Høsten 2011 Informasjonsteknologi 2 Canvas Læreplansmål Eleven skal kunne bruke programmeringsspråk i multimedieapplikasjoner Med CSS3, HTML og JavaScript

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

og bevegelse funksjoner som blir aktivert av hendelser Keyboard Informasjonsteknologi 2 Læreplansmål Gløer Olav Langslet Sandvika VGS

og bevegelse funksjoner som blir aktivert av hendelser Keyboard Informasjonsteknologi 2 Læreplansmål Gløer Olav Langslet Sandvika VGS Keyboard og bevegelse Gløer Olav Langslet Sandvika VGS 12.09.2012 Informasjonsteknologi 2 funksjoner som blir aktivert av hendelser Læreplansmål Eleven skal kunne programmere med enkle og indekserte variabler

Detaljer

CSS. Animasjon med css. Animasjon med. Informasjonsteknologi 1 og 2. Gløer Olav Langslet Sandvika VGS

CSS. Animasjon med css. Animasjon med. Informasjonsteknologi 1 og 2. Gløer Olav Langslet Sandvika VGS Animasjon med CSS Gløer Olav Langslet Sandvika VGS Leksjon 11 Informasjonsteknologi 1 og 2 Animasjon med css Vi har tidligere sett at vi kan programmere bevegelse ved å bruke JavaScript, enten ved å bruke

Detaljer

Enkle generiske klasser i Java

Enkle generiske klasser i Java Enkle generiske klasser i Java Oslo, 7/1-13 Av Stein Gjessing, Institutt for informatikk, Universitetet i Oslo Del 1: Enkle pekere Før vi tar fatt på det som er nytt i dette notatet, skal vi repetere litt

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

INF1010 MVC i tekstbaserte programmer

INF1010 MVC i tekstbaserte programmer INF1010 MVC i tekstbaserte programmer Marit Nybakken marnybak@ifi.uio.no 9. februar 2004 Marit har ingen utdanning innen systemutvikling og vet antageligvis ikke hva hun prater om. Hun har dog skumlest

Detaljer

PGZ - Hangman Ekspert Python Lærerveiledning

PGZ - Hangman Ekspert Python Lærerveiledning PGZ - Hangman Ekspert Python Lærerveiledning Introduksjon I denne oppgaven skal vi lage vårt eget hangman-spill. Vi har laget litt ferdigskrevet kode for å hjelpe deg på vei. Den kan du laste ned her.

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

INF1000 Metoder. Marit Nybakken marnybak@ifi.uio.no 16. februar 2004

INF1000 Metoder. Marit Nybakken marnybak@ifi.uio.no 16. februar 2004 INF1000 Metoder Marit Nybakken marnybak@ifi.uio.no 16. februar 2004 Motivasjon Når man begynner å skrive store programmer, vil man fort oppleve at programmene blir uoversiktlige. Det blir vanskeligere

Detaljer

2 Grafisk grensesnitt 1

2 Grafisk grensesnitt 1 Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag Grafisk grensesnitt 1 Mildrid Ljosland 01.02.2011 Lærestoffet er utviklet for faget LN350D Applikasjonsutvikling for mobile enheter 2 Grafisk

Detaljer

KOMME I GANG 2. Logge på 2. I redigeringsvinduet 3 OVERSIKT OVER KNAPPENE SOM LIGGER ØVERST I REDIGERINGSVINDUET 5

KOMME I GANG 2. Logge på 2. I redigeringsvinduet 3 OVERSIKT OVER KNAPPENE SOM LIGGER ØVERST I REDIGERINGSVINDUET 5 Innhold KOMME I GANG 2 Logge på 2 I redigeringsvinduet 3 OVERSIKT OVER KNAPPENE SOM LIGGER ØVERST I REDIGERINGSVINDUET 5 Lukk 6 Ny 6 Flytt opp/ Flytt ned 6 Klipp 7 Kopier 7 Lim inn (krysspubliser, ny,

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

BOKMÅL Side 1 av 7. KONTINUASJONSEKSAMEN I FAG TDT4100 Objektorientert programmering / IT1104 Programmering, videregående kurs

BOKMÅL Side 1 av 7. KONTINUASJONSEKSAMEN I FAG TDT4100 Objektorientert programmering / IT1104 Programmering, videregående kurs BOKMÅL Side 1 av 7 NTNU Norges teknisk-naturvitenskapelige universitet Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap KONTINUASJONSEKSAMEN

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

INF Innleveringsoppgave 6

INF Innleveringsoppgave 6 INF1010 - Innleveringsoppgave 6 Frist: Onsdag 16. mars, 10:00 Maks 6 poeng Om obligatorisk oppgave 4, 6 og 7 i INF1010, våren 2016: "Leger og resepter" Du skal jobbe med en problemstilling omkring leger

Detaljer

INF1000: Forelesning 7. Konstruktører Static

INF1000: Forelesning 7. Konstruktører Static INF1000: Forelesning 7 Klasser og objekter del 2 Konstruktører Static UML REPETISJON 2 Repetisjon Verden består av objekter av ulike typer (klasser). Ofte er det mange objekter av en bestemt type. Objekter

Detaljer

Næringsregner på PC n versjon 1.1.0

Næringsregner på PC n versjon 1.1.0 Laget av Innhold: Introduksjon 2 Næringsregner på PC n 2 Næringstabell 2 Statistikk 2 Hvem passer programmet for? 2 Bruk av programmet 3 Innlogging av forskjellige brukere 3 Hovedprogramet har 3 felt 4

Detaljer

Dette er en demonstrasjonsside som vi skal bruke for å se litt nærmere på HTTP protokollen. Eksemplet vil også illustrere et par ting i PHP.

Dette er en demonstrasjonsside som vi skal bruke for å se litt nærmere på HTTP protokollen. Eksemplet vil også illustrere et par ting i PHP. 1 Dette er en demonstrasjonsside som vi skal bruke for å se litt nærmere på HTTP protokollen. Eksemplet vil også illustrere et par ting i PHP. (Læreboka kapittel 2-5) Legg merke til den første blokken,

Detaljer

Oblig 4Hybelhus litt mer tips enn i oppgaven

Oblig 4Hybelhus litt mer tips enn i oppgaven Oblig 4Hybelhus litt mer tips enn i oppgaven lørdag 19. okt 2013 Arne Maus Obligatorisk oppgave 4 Gulbrand Grås husleiesystem I denne oppgaven skal vi se på hans studenthus Utsyn. Utsyn består av 3 etasjer,

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

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO Kandidatnummer: Bokmål UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i : INF1000 Grunnkurs i objektorientert programmering Eksamensdag : Torsdag 5. desember 2013 Tid for eksamen

Detaljer

Steg 1: Opprette app-pakke, app-klasse og FXML-fil

Steg 1: Opprette app-pakke, app-klasse og FXML-fil Logo med FXML Introduksjon En viktig del av det å lage app-er er å utforme skjerminnholdet, dvs. alt app-en inneholder av grafikk, knapper, lister, osv. Formålet til denne leksjonen er å lære hvordan du

Detaljer

INF1000 Behandling av tekster

INF1000 Behandling av tekster INF1000 Behandling av tekster Marit Nybakken marnybak@ifi.uio.no 23. februar 2004 Tekster Vi kommer nesten aldri utenom å bruke tekststrenger i programmene våre, ikke minst fordi det nesten alltid skal

Detaljer

BORRENYTT. Dette er en innføringsguide om hvordan man kan legge til nye poster, og hvordan disse bør settes opp.

BORRENYTT. Dette er en innføringsguide om hvordan man kan legge til nye poster, og hvordan disse bør settes opp. Dette er en innføringsguide om hvordan man kan legge til nye poster, og hvordan disse bør settes opp. I denne guiden skal jeg ta for meg hvordan man kan legge til eller endre tekst, opprette nyheter og

Detaljer

Administrasjon Nettbutikk: www.dittdomene.com/administrasjon Bruk brukernavn og passord som er sendt på e-post.

Administrasjon Nettbutikk: www.dittdomene.com/administrasjon Bruk brukernavn og passord som er sendt på e-post. Administrasjon Nettbutikk: www.dittdomene.com/administrasjon Bruk brukernavn og passord som er sendt på e-post. - Konfigurasjon Klikk på Konfigurasjon i menyen helt til venstre, og deretter Min butikk.

Detaljer

KOMME I GANG 3. Logge på 3. I redigeringsvinduet 4 OVERSIKT OVER KNAPPENE SOM LIGGER ØVERST I REDIGERINGSVINDUET 6

KOMME I GANG 3. Logge på 3. I redigeringsvinduet 4 OVERSIKT OVER KNAPPENE SOM LIGGER ØVERST I REDIGERINGSVINDUET 6 Innhold KOMME I GANG 3 Logge på 3 I redigeringsvinduet 4 OVERSIKT OVER KNAPPENE SOM LIGGER ØVERST I REDIGERINGSVINDUET 6 Lukk 7 Ny 7 Flytt opp/ Flytt ned 7 Klipp 8 Kopier 8 Lim inn (krysspubliser, ny,

Detaljer

1. Finn klassene (hvilke objekter er det i problemet) 1. Dataene som beskriver problemet (hvilke objekter har vi og hvor mange klasser er det?

1. Finn klassene (hvilke objekter er det i problemet) 1. Dataene som beskriver problemet (hvilke objekter har vi og hvor mange klasser er det? Obligatorisk oppgave 3 Gulbrand Grås husleiesystem Oblig 3hus litt mer tips enn i oppgaven I denne oppgaven skal vi se på hans studenthus Utsyn. Utsyn består av 3 etasjer, nummerert fra -3. I hver etasje

Detaljer

SymWriter: R6 Innstillinger, preferanser og verktøylinjer

SymWriter: R6 Innstillinger, preferanser og verktøylinjer SymWriter: R6 Innstillinger, preferanser og verktøylinjer Innhold R6.1 Startinnstillinger og utseende...3 R6.2 Tekst og bilder...................................................4 R6.3 Tale og staving...5

Detaljer

Oblig 4 (av 4) INF1000, høsten 2012 Værdata, leveres innen 9. nov. kl. 23.59

Oblig 4 (av 4) INF1000, høsten 2012 Værdata, leveres innen 9. nov. kl. 23.59 Oblig 4 (av 4) INF1000, høsten 2012 Værdata, leveres innen 9. nov. kl. 23.59 Formål Formålet med denne oppgaven er å gi trening i hele pensum og i å lage et større program. Løsningen du lager skal være

Detaljer

Tegneprogram Journeyman Scratch PDF

Tegneprogram Journeyman Scratch PDF Tegneprogram Journeyman Scratch PDF Introduksjon I dette prosjektet lager vi et tegneprogram slik at du etterpå kan lage din egen kunst. Du kan tegne med forskjellige farger, bruke viskelær, lage stempler

Detaljer

Hvor i All Verden? Del 2 Erfaren Scratch PDF

Hvor i All Verden? Del 2 Erfaren Scratch PDF Hvor i All Verden? Del 2 Erfaren Scratch PDF Introduksjon Hvor i All Verden? er et reise- og geografispill hvor man raskest mulig skal fly innom reisemål spredt rundt i Europa. Dette er den andre leksjonen

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 Kandidatnr: Eksamensdato: 15. desember 2004 Varighet: Fagnummer: Fagnavn: Klasse(r): 3 timer LV197D Webprogrammering med PHP FU Studiepoeng:

Detaljer

Introduksjon til objektorientert programmering

Introduksjon til objektorientert programmering Introduksjon til objektorientert programmering Samt litt mer om strenger og variable INF1000, uke6 Ragnhild Kobro Runde Grunnkurs i objektorientert programmering Strategi: Splitt og hersk Metoder kan brukes

Detaljer

INF1000 Prøveeksamen Oppgave 7 og 9

INF1000 Prøveeksamen Oppgave 7 og 9 INF1000 Prøveeksamen Oppgave 7 og 9 Høst 2015 Siri Moe Jensen 7a) Skriv en klasse Gave med to variabler som forteller hva som er i gaven, og hvor mye den har kostet. Klassen skal ha en konstruktør med

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

9. ASP med databasekopling, del II

9. ASP med databasekopling, del II Else Lervik 23.03.2004 Opphavsrett: Forfatter og Stiftelsen TISIP Lærestoffet er utviklet for faget LV192D Web-programmering med ASP 9. Resymé: I forrige leksjon så vi hvordan ASP kunne brukes til å vise

Detaljer

Oppgavesett videregående kurs i NVivo 9

Oppgavesett videregående kurs i NVivo 9 Oppgavesett videregående kurs i NVivo 9 Oppgave 1 Alt i en mappe Når man skal kode på lyd og video er det lurt å ha disse filene i samme mappa som NVivo-prosjektfila. Opprett en mappe på skrivebordet.

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

Start et nytt Scratch-prosjekt. Slett kattefiguren, for eksempel ved å høyreklikke på den og velge slett.

Start et nytt Scratch-prosjekt. Slett kattefiguren, for eksempel ved å høyreklikke på den og velge slett. Norgestur Introduksjon Bli med på en rundreise i Norge! Vi skal lage et spill hvor du styrer et helikopter rundt omkring et kart over Norge, mens du prøver å raskest mulig finne steder og byer du blir

Detaljer

Argumenter fra kommandolinjen

Argumenter fra kommandolinjen Argumenter fra kommandolinjen Denne veiledningen er laget for å vise hvordan man kan overføre argumenter fra kommandolinjen til et program. Hvordan transportere data fra en kommandolinje slik at dataene

Detaljer

Administrering av SafariSøk

Administrering av SafariSøk Administrering av SafariSøk Administrering av SafariSøk Revisjonshistorie Revisjon $Revision: 1.6 $ $Date: 2003/08/05 12:44:02 $ Innholdsfortegnelse 1. Om programmet... 1 Generelt... 1 2. Fremgangsmåter...

Detaljer

Et større programeksempel. Hvordan løse et reelt problem med en objektorientert fremgangsmåte

Et større programeksempel. Hvordan løse et reelt problem med en objektorientert fremgangsmåte Et større programeksempel Hvordan løse et reelt problem med en objektorientert fremgangsmåte Plan for forelesingen Beskrive en større problemstilling Planlegge programmet Skrive koden, én klasse om gangen

Detaljer

JSP - 2. Fra sist. Hvordan fungerer web? Tjenerside script HTML. Installasjon av Web-tjener Et enkelt JSP-script. Ønsker dynamiske nettsider:

JSP - 2. Fra sist. Hvordan fungerer web? Tjenerside script HTML. Installasjon av Web-tjener Et enkelt JSP-script. Ønsker dynamiske nettsider: Fra sist JSP - 2 Installasjon av Web-tjener Et enkelt JSP-script HTML statisk Forms Tags Ønsker dynamiske nettsider: Klientside-script/programmering Javascript, vbscript, applets Tjenerside-script/programmering

Detaljer

Communicate SymWriter: R5. Brett og knapper

Communicate SymWriter: R5. Brett og knapper Communicate SymWriter: R5. Brett og knapper Innhold R5.1 Hva er et brett - en oversikt...2 R5.2 Lage et brett....................................................2 R5.3 Endre utseendet på et brett....6

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

the web Introduksjon Lesson

the web Introduksjon Lesson Lesson 1 the web All Code Clubs must be registered. Registered clubs appear on the map at codeclub.org.uk - if your club is not on the map then visit jumpto.cc/18cplpy to find out what to do. Introduksjon

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 - Kandidatnr: AITeL Eksamensdato: 2.desember 2009 Varighet: 0900-1300 Emnekode: Emnenavn: Klasse(r): LO191D / LC191D LO191D Videregående programmering

Detaljer

INF1000 HashMap. Marit Nybakken marnybak@ifi.uio.no 2. november 2003

INF1000 HashMap. Marit Nybakken marnybak@ifi.uio.no 2. november 2003 INF1000 HashMap Marit Nybakken marnybak@ifi.uio.no 2. november 2003 Dette dokumentet skal tas med en klype salt og forfatteren sier fra seg alt ansvar. Dere bør ikke bruke definisjonene i dette dokumentet

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

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

Ordliste. Obligatorisk oppgave 1 - Inf 1020

Ordliste. Obligatorisk oppgave 1 - Inf 1020 Ordliste. Obligatorisk oppgave 1 - Inf 1020 I denne oppgaven skal vi tenke oss at vi vil holde et register over alle norske ord (med alle bøyninger), og at vi skal lage operasjoner som kan brukes til f.

Detaljer

EKSAMEN (Konvertert fra en gammel PHP-eksamen)

EKSAMEN (Konvertert fra en gammel PHP-eksamen) EKSAMEN (Konvertert fra en gammel PHP-eksamen) Emnekode: Emne: ITF10208 Webprogrammering 1 Dato: Eksamenstid: 30/05-2012 09.00-13.00 Hjelpemidler: 2 A4 ark (4 sider) med egenproduserte notater (håndskrevne/maskinskrevne)

Detaljer

TOD063 Datastrukturer og algoritmer

TOD063 Datastrukturer og algoritmer TOD063 Datastrukturer og algoritmer Øving : 3 Utlevert : Uke 7 Innleveringsfrist : 26. februar 2010 Klasse : 1 Data og 1 Informasjonsteknologi Gruppearbeid: 2-3 personer pr. gruppe. Oppgave 1 Vi skal lage

Detaljer

TDT4110 Informasjonsteknologi grunnkurs: Uke 43: Datastrukturer (kap. 8)

TDT4110 Informasjonsteknologi grunnkurs: Uke 43: Datastrukturer (kap. 8) 1 TDT4110 Informasjonsteknologi grunnkurs: Uke 43: Datastrukturer (kap. 8) Anders Christensen anders@idi.ntnu.no Rune Sætre satre@idi.ntnu.no 2 Læringsmål og pensum Læringsmål Datastrukturer: Cell Arrays

Detaljer

Følg denne brukerveiledningen steg-for-steg:

Følg denne brukerveiledningen steg-for-steg: Brukerveiledning: Legge til et enkeltprodukt Et enkeltprodukt er produkter du har i én størrelse. Kan eksempelvis være en duk, en lue, pynt, skulptur, ullsokker du kun har i én størrelse, osv. Følg denne

Detaljer

2 Om statiske variable/konstanter og statiske metoder.

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

Detaljer

SUKKERGRIS. Anita og Silje DAT100

SUKKERGRIS. Anita og Silje DAT100 SUKKERGRIS Anita og Silje DAT100 I NNHOLD 1. Innledning... 2 2. Beskrivelse av Sukkergris... 3 2.1 Struktur og grafisk design... 3 2.1.1 Sidens oppbygning... 3 2.1.2 CSS og Grafisk design... 4 2.2 Oversikt

Detaljer

Irc-klient. Eigil Obrestad. Morten H Singstad. Kristofers Celms

Irc-klient. Eigil Obrestad. Morten H Singstad. Kristofers Celms Irc-klient Eigil Obrestad Morten H Singstad Kristofers Celms Komme i gang Når programmet starter, blir du møtt av ett ganske tomt brukergrensesnitt. Det første du må gjøre for å komme i gang, er å koble

Detaljer

HEMIT EKSTRANETT HVORDAN GJØR JEG DET? 03 Laste opp dokumenter

HEMIT EKSTRANETT HVORDAN GJØR JEG DET? 03 Laste opp dokumenter HEMIT EKSTRANETT HVORDAN GJØR JEG DET? 03 Laste opp dokumenter Introduksjon Denne brukerveiledningen er laget for Hemit Ekstranettportal. (https:\\ekstranett.helse-midt.no\) I dette dokumentet tar vi for

Detaljer

file:///c:/users/michaelp/sites/dkdm/dw6/dreamweaver6.html

file:///c:/users/michaelp/sites/dkdm/dw6/dreamweaver6.html 1 of 9 15.04.2015 14:15 Spry og behaviours Både Spry and Behaviours er basert på programmeringsspråket Javascript. Javascript kjører i nettleseren og ikke på webserver som PHP og Perl. På en lignende måte

Detaljer

Forsvunnet katt webside

Forsvunnet katt webside Lesson 3 Forsvunnet katt webside All Code Clubs must be registered. Registered clubs appear on the map at codeclubworld.org - if your club is not on the map then visit jumpto.cc/18cplpy to find out what

Detaljer

Sudokubrettet Et sudokubrett består av n n ruter. Vi bruker følgende begreper i oppgaven:

Sudokubrettet Et sudokubrett består av n n ruter. Vi bruker følgende begreper i oppgaven: INF1010 2015 Obligatorisk oppgave 9, 10 og 11 SUDOKU Versjon 26. mars. Ved behov for presiseringer i del 10 og 11, kan det komme ny versjon 16. april, men ingen endringer i selve oppgaven. Denne obligatoriske

Detaljer

23.09.2015. Introduksjon til objektorientert. programmering. Hva skjedde ~1967? Lokale (og globale) helter. Grunnkurs i objektorientert.

23.09.2015. Introduksjon til objektorientert. programmering. Hva skjedde ~1967? Lokale (og globale) helter. Grunnkurs i objektorientert. Grunnkurs i objektorientert programmering Introduksjon til objektorientert programmering INF1000 Høst 2015 Siri Moe Jensen INF1000 - Høst 2015 uke 5 1 Siri Moe Jensen INF1000 - Høst 2015 uke 5 2 Kristen

Detaljer

(X)HTML, CSS og JavaScript HTML. Det første dokumentet 26.11.2007. Grunnleggende programmering i Java Monica Strand 26.

(X)HTML, CSS og JavaScript HTML. Det første dokumentet 26.11.2007. Grunnleggende programmering i Java Monica Strand 26. (X)HTML, CSS og JavaScript Grunnleggende programmering i Java Monica Strand 26. november 2007 Gr. leggende Java 26. november 2007 1 HTML HTML = Hyper Text Markup Language Strukturerer tekstinnhold HTML

Detaljer

ONSCREENKEYS 5. Windows XP / Windows Vista / Windows 7 / Windows 8

ONSCREENKEYS 5. Windows XP / Windows Vista / Windows 7 / Windows 8 ONSCREENKEYS 5 Windows XP / Windows Vista / Windows 7 / Windows 8 [ PRODUKTBESKRIVELSE ] [ Dette smarte skjermtastaturet med virtuelle museklikkfunksjoner og maskinstemme tillater rask tasting og å jobbe

Detaljer

EndNote referansehåndteringsprogram. HiVe biblioteket

EndNote referansehåndteringsprogram. HiVe biblioteket EndNote referansehåndteringsprogram HiVe biblioteket Mappestruktur Mine dokumenter EndNote Bibliotek.enl Bibliotek.Data Styles APA 6th HiVe.ens 2 Om EndNote EndNote brukes til å holde orden på litteraturreferanser.

Detaljer

Kalkulator-leksjonen (nesten ferdig)

Kalkulator-leksjonen (nesten ferdig) Kalkulator-leksjonen (nesten ferdig) Introduksjon I denne leksjonen vil du lære hvordan du kan koble FXML-koden til Java-koden og gjøre app-en levende (interaktiv)! Steg 1: Opprette app-pakke, app-klasse,

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

Gjennomgang av eksamen H99

Gjennomgang av eksamen H99 Gjennomgang av eksamen H99 Administrasjon av kurser, studenter og påmeldinger Ole Christian Lingjærde Gruppen for bioinformatikk Institutt for Informatikk Universitetet i Oslo Oppgave 1 (15 %) (Besvares

Detaljer

Følgende «tommelfinger-regler» bør (må) følges:

Følgende «tommelfinger-regler» bør (må) følges: Notat Denne «oppskriften» er basert på erfaringer om hva som går bra når en benytter Word til å lage navigasjonsdiagrammer. Det finnes sikkert andre måter som også gir et brukbart resultat. Det er bare

Detaljer

Hvor i All Verden? Del 3 Erfaren Scratch PDF

Hvor i All Verden? Del 3 Erfaren Scratch PDF Hvor i All Verden? Del 3 Erfaren Scratch PDF Introduksjon Hvor i All Verden? er et reise- og geografispill hvor man raskest mulig skal fly innom reisemål spredt rundt i Europa. Dette er den siste av tre

Detaljer

King Kong Erfaren Scratch PDF

King Kong Erfaren Scratch PDF King Kong Erfaren Scratch PDF Introduksjon I dette spillet inspirert av historien om King Kong, skal vi se hvor lett det er å bruke grafikk som ikke allerede ligger i Scratchbiblioteket. I spillet styrer

Detaljer

TDT4105 Informasjonsteknologi grunnkurs: Uke 43: Datastrukturer (kap. 8)

TDT4105 Informasjonsteknologi grunnkurs: Uke 43: Datastrukturer (kap. 8) 1 TDT4105 Informasjonsteknologi grunnkurs: Uke 43: Datastrukturer (kap. 8) Anders Christensen anders@ntnu.no Rune Sætre satre@ntnu.no 2 Læringsmål og pensum Læringsmål Datastrukturer: Cell Arrays Structures

Detaljer

Oppgavesett for NVivo 10

Oppgavesett for NVivo 10 Oppgavesett for NVivo 10 Oppgave 1: Nytt prosjekt Det første du ser når du åpner NVivo er en liste over de siste prosjektene du har jobbet med i programmet. I dag lager vi et nytt prosjekt. Klikk på New

Detaljer

INF1000: noen avsluttende ord

INF1000: noen avsluttende ord Pensum Det som er gjennomgått på forelesningene INF1000: noen avsluttende ord Arne og Fredrik Stoff som er behandlet i oppgaver/obliger Notat om Informasjonsteknologi, vitenskap og samfunnsmessige virkninger

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

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

Løpende strekmann Erfaren Videregående Python PDF

Løpende strekmann Erfaren Videregående Python PDF Løpende strekmann Erfaren Videregående Python PDF Introduksjon I denne oppgaven skal du lage et spill der du styrer en strekmann som hopper over hindringer. Steg 1: Ny fil Begynn med å lage en fil som

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF1020 Algoritmer og datastrukturer Eksamensdag: 15. desember 2004 Tid for eksamen: 14.30 17.30 Oppgavesettet er på 6 sider.

Detaljer

Brukermanual. gostudyit.com

Brukermanual. gostudyit.com Brukermanual gostudyit.com Innhold DEL 1 03 Opprette konto DEL 2 04 Din egen startside 05 Innstillinger 05 Notat 07 Inviter venner til ditt nettverk 08 Finn din skolegård DEL 3 09 Lag en skolegård 11 Adminstrasjonspanel

Detaljer

programeksempel Et større En større problemstilling Plan for forelesingen Problemstillingen (en tekstfil) inneholdt ordet "TGA"

programeksempel Et større En større problemstilling Plan for forelesingen Problemstillingen (en tekstfil) inneholdt ordet TGA Et større programeksempel Hvordan løse et reelt problem med en objektorientert fremgangsmåte En større problemstilling I uke 4 skrev vi et program for å sjekke om et gen (en tekstfil) inneholdt ordet "TGA"

Detaljer

1. NetBeans IDE: Lage en enkel mobilapplikasjon

1. NetBeans IDE: Lage en enkel mobilapplikasjon Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag NetBeans IDE: Lage en enkel mobilapplikasjon Mildrid Ljosland/Lene Hoff 09.09.2008 Lærestoffet er utviklet for faget SO350D J2ME for programmering

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 Målform: Eksamensdato: Bokmål 9.mai 202 Varighet/eksamenstid: 0900-300 Emnekode: Emnenavn: Klasse(r): Studiepoeng: LC9D/LO9D Videregående

Detaljer

UNIVERSITETET I OSLO

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

Detaljer

Et variabelt produkt er et produkt med flere størrelser. F.eks. en lue som du har i 3 ulike størrelser.

Et variabelt produkt er et produkt med flere størrelser. F.eks. en lue som du har i 3 ulike størrelser. Brukerveiledning: Legge til et variabelt produkt Et variabelt produkt er et produkt med flere størrelser. F.eks. en lue som du har i 3 ulike størrelser. På «Nettbutikk kontrollpanel» klikker du på lenken

Detaljer

Her er et eksempel på hvordan en konteringsmal brukes, under registrering av en telefonregning fra Telenor (Innkjøp > Leverandørfaktura):

Her er et eksempel på hvordan en konteringsmal brukes, under registrering av en telefonregning fra Telenor (Innkjøp > Leverandørfaktura): Konteringsmaler Konteringsmaler kan benyttes under bilagsregistrering og under registrering av leverandørfakturaer. De brukes for å forenkle konteringen av bilagene. Når du bruker en konteringsmal trenger

Detaljer

Rekursjon. Binærsøk. Hanois tårn.

Rekursjon. Binærsøk. Hanois tårn. Rekursjon Binærsøk. Hanois tårn. Hvorfor sortering (og søking) er viktig i programmering «orden» i dataene vi blir fort lei av å lete poleksempel internett «alt» er søking og sortering alternativer til

Detaljer

2017/11/03 17:10 1/5 Legge til regler

2017/11/03 17:10 1/5 Legge til regler 2017/11/03 17:10 1/5 Legge til regler Legge til regler Det kan i noen tilfeller være behov for å legge til regler for å utfylle konverteringsregler som følger installasjonen Vi viser først en grundig gjennomgang

Detaljer

Brukermanual - Joomla. Kopiering av materiale fra denne Bonefish manualen for bruk annet sted er ikke tillatt uten avtale 2010 Bonefish.

Brukermanual - Joomla. Kopiering av materiale fra denne Bonefish manualen for bruk annet sted er ikke tillatt uten avtale 2010 Bonefish. Brukermanual - Joomla Bonefish brukermanual - Joomla Gratulerer med ny nettside fra Bonefish. Du er nå blitt eier og administrator for din egen nettside, noe som gir deg visse forpliktelser ovenfor din

Detaljer

INF1010 våren januar. Objektorientering i Java

INF1010 våren januar. Objektorientering i Java INF1010 våren 2017 25. januar Objektorientering i Java Om enhetstesting (Repetisjon av INF1000 og lær deg Java for INF1001 og INF1100) Stein Gjessing Hva er objektorientert programmering? F.eks: En sort

Detaljer

Pong. Oversikt over prosjektet. Steg 1: En sprettende ball. Plan. Sjekkliste. Introduksjon

Pong. Oversikt over prosjektet. Steg 1: En sprettende ball. Plan. Sjekkliste. Introduksjon Pong Introduksjon Pong er et av de aller første dataspillene som ble laget, og det første dataspillet som ble en kommersiell suksess. Selve spillet er en forenklet variant av tennis hvor to spillere slår

Detaljer

class Book { String title; } class Dictionary extends Book { int wordcount; } class CartoonAlbum extends Book { int stripcount; }

class Book { String title; } class Dictionary extends Book { int wordcount; } class CartoonAlbum extends Book { int stripcount; } Arv Arv (eng: inheritance) er en mekanisme for å bygge videre på eksisterende klasser og regnes ofte som varemerket til objektorientert programmering. Når arv brukes riktig, kan den gjøre koden ryddigere

Detaljer

. Ved sensur vl1 ahe bokstaverte deloppgaver (a, b, c,...) telle like mye.

. Ved sensur vl1 ahe bokstaverte deloppgaver (a, b, c,...) telle like mye. ~KSAMENSOPPGA VE Les gjennom hele oppgavesettet før du begynner A besvare deloppgavene.. Hold deg til de identifikator-navnene som er brukt i oppgaveteksten, dog med unntak av metodenes parametemavn som

Detaljer