Objektorientering i VB en introduksjon

Størrelse: px
Begynne med side:

Download "Objektorientering i VB en introduksjon"

Transkript

1 Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag Objektorientering i VB en introduksjon Oppdatert av Atle Nes Objektorientering i VB en introduksjon Resymé: Visual Basic.NET er et objektorientert språk. Du vil i denne leksjonen få se hvordan du kan lage din egen klasse og objekter basert på denne klassen. Sentrale begreper innen objektorientering forklares og konkretiseres HVORFOR OBJEKTORIENTERING I DETTE KURSET? HVA ER NYTT MED OBJEKTORIENTERING? EKSEMPEL PÅ OBJEKTORIENTERT PROGRAMMERING Opprett en klasse i utviklingsmiljøet Kode for å realisere Person-klassen Hvordan lage objekter som baseres på en klasse? Grundig forklaring til koden bak Button1_Click OPPSUMMERING... 10

2 Objektorientering i VB en introduksjon side 2 av Hvorfor objektorientering i dette kurset? Tidligere (i emnet Programmering i Visual Basic) har vi kodet proseduralt (av prosedyre), det vil si at vi har laget kode for å utføre de oppgavene vi har ønsket å løse. Koden har vært bak knapper, og det er nokså rett fram å forstå en slik tilnærming til programmering: En koder rett og slett en rekke programmeringssetninger der en trenger det, og i den rekkefølgen det virker logisk. En annen, og i mange tilfeller bedre metode for å organisere koden, er å programmere objektorientert. Innenfor et slikt paradigme lager vi klasser, som består av programmerte metoder og egenskaper, og vi snakker også om begreper som arv og innkapsling. Paradigme betyr tankesett eller den måten en ser og opplever verden på. Med programmeringsparadigme, mener vi den stilen eller måten som kode formuleres på, eller kanskje heller: hvilket bilde programmereren har av det som skjer ved kjøring av et program. Til nå har vi operert innenfor et proseduralt, hendelsesbasert paradigme, og da har vi laget oppskrifter i form av mange setninger, som ved kjøring, gjør at vi oppnår en ønsket tilstand. Disse oppskriftene har startet når visse hendelser har inntruffet (klikke en knapp, mus over et tekstfelt, oppstart av program etc.). Egentlig har du hatt å gjøre med objekter allerede. En knapp, en form, en listeboks, en meldingsboks og et tekstfelt, er alle gode eksempler på objekter. Disse er veldig konkrete objekter som du kan se og oppleve. I tillegg kan du bruke mer abstrakte objekter, eller du kan lage dine egne objekter. I en objektorientert verden er all kode som kjøres, i form av objekter som kommuniserer med hverandre. I Visual Basic vil vi fortsatt bruke hendelser til å sette i gang kode, men når vi programmerer objektorientert, får vi som utviklere et litt annet verdensbilde å forholde oss til. Det er dette verdensbildet som skal presenteres i denne leksjonen. Det hele synes kanskje komplisert og litt unødvendig. Hva er motivasjonen for å utvikle objektorientert, og bli kjent med den objektorienterte verden som.net-rammeverket tilbyr oss? For å programmere større løsninger trengs det mye kode. De som programmerer mye, støter ofte på situasjoner som likner helt eller delvis på ting de har løst tidligere. Det er slitsomt å måtte skrive all kode om igjen, og det gjør det vanskeligere å rette feil og videreutvikle koden. En mulighet for å unngå å finne opp hjulet på nytt hver gang, er å bruke funksjoner. Da oppnås gjenbruk. Ofte er funksjoner akkurat det en trenger! Det kan derimot bli veldig mange funksjoner å forholde seg til i store systemer, og det er også ofte ønskelig å kunne gjenbruke eller generalisere mer enn det som tilbys gjennom en funksjon. Mer nøyaktig er det ofte ønskelig å knytte sammen data med de operasjonene vi utfører på disse dataene. Da er objektorientering løsningen. I en objektorientert verden brukes fortsatt funksjoner, men disse omtales der som metoder, og er bare en del av konseptet objektorientering. Objektorientering er mye mer enn bare en samling av funksjoner. I dette kurset skal du lære grunnleggende programmering. Visual Basic.NET er et fullverdig, objektorientert programmeringsspråk. Det er derfor riktig å introdusere objektorientering. Siden dette er et grunnleggende kurs, vil vi derimot ikke gå mye i dybden, og vi vil ikke gå inn på objektorientert analyse og design (med for eksempel UML). Det ville kreve mange leksjoner ja, kanskje et helt kurs bare om objektorientering, dersom vi skulle noe særlig i dybden. Du finner dessuten slike tema i videregående programmeringskurs. Vi forsøker derfor heller å gi en grunnleggende forståelse av hva objektorientering er, og hvordan

3 Objektorientering i VB en introduksjon side 3 av 11 klassene i.net-rammeverket kan brukes av deg på en effektiv måte. Det som gjennomgås her er likevel veldig viktig, og legger grunnlaget for de neste leksjonene og for kommende kurs. Til slutt bør nevnes at det er nordmennene Kristen Nygaard (http://no.wikipedia.org/wiki/kristen_nygaard) og Ole Dahl (http://no.wikipedia.org/wiki/ole-johan_dahl) som på slutten av 1960-tallet utviklet objektorientering som paradigme og programmeringsspråket Simula. Disse pionerene har betydd mye for Norge og for programmering. Figur 1: Ole Dahl og Kristen Nygaard, pionerer på OOP. I dag brukes objektorientert programmering (eller OOP som det ofte forkortes) over hele verden og i en rekke applikasjoner. Programmer som Notisblokk, Windows, Microsoft Word, Need For Speed (spill), Apples Mac OS X, læringsplattformer som it s learning og Fronter, og så videre, er laget innenfor OOP. Det er rett og slett mye lettere å programmere og vedlikeholde større løsninger og systemer ved å tenke i form av objekter. Legg merke til at det er fullt mulig å programmere også store systemer (på en effektiv og fin måte) uten å bruke objektorientering. En av grunnene til at OOP har fått så stort fotfeste, er at programutvikling ikke bare henger sammen med det å skrive kode, men også med analyse av problemet, design av systemet, feilsjekking, sikkerhet og liknende. OOP tilbyr metodikk for mye mer enn bare selve programmeringen, og foretrekkes derfor ofte av profesjonelle konsulentbyråer og store programleverandører Hva er nytt med objektorientering? Når vi programmerer objektorientert, får vi en del nye begreper å forholde oss til. Vi skal nå gjennomgå noen viktige begreper innen objektorientering. Et objekt kan være noe fysisk som vi kan ta og føle på: bil, hus eller person. Det kan være ting du kjenner fra Visual Studio: meldingsboks, form, listeboks eller vindu. Et objekt kan også være mer abstrakte konsepter, som ønske eller tid. En klasse er en oppskrift for hvordan et objekt ser ut. Tenk på en klasse som en idé. Du kan med en gang si hvordan et menneske ser ut, basert på kunnskap om idéen person. Du kan derfor si nokså nøyaktig hvordan Ole eller Lise ser ut. Det er klart at Ole og Lise ikke er like personer, men sammenliknet med en fisk eller en hund eller en bil, så er det liten tvil om at både Ole og Lise er personer. La oss prøve med ord å utvide forståelsen av klasse og objekt, og tydeliggjøre sammenhengen mellom dem. Forskjellen på et objekt og en klasse blir som forskjellen på konseptet person

4 Objektorientering i VB en introduksjon side 4 av 11 og den konkrete personen Lise. Du kan ikke føre en samtale med konseptet person, men du kan snakke med personen Lise uten problemer. Det er også en nær sammenheng mellom objekt og klasse. Et objekt har samme relasjon til en klasse som et hus har til arkitektens tegning. La oss nå konkretisere dette. Ole og Lise har en rekke egenskaper. De har hvert sitt navn. De har også en vekt, for eksempel henholdsvis 83 kg og 62 kg, og en høyde, for eksempel 192 cm og 170 cm. Hvis vi skulle programmert to personer utfra et objektorientert paradigme, ville vi først sagt at klassen person skulle ha egenskapene vekt og høyde. Deretter ville vi opprettet to objekter basert på klassen person, og sagt at det første objektet skulle hete Ole, veie 83 kg og være 192 cm høy. Det andre objektet skulle hete Lise, veie 62 kg og være 170 cm høy. Objektet har kunnskap om seg selv, og denne kunnskapen ligger lagret i form av egenskapsverdier. Vi skal senere i leksjonen se senere hvordan egenskaper realiseres i koden ved hjelp av det vi kaller objektvariabler. Lise og Ole kan også gjøre mye rart. De kan fortelle en vits, de kan bevege seg og de kan kanskje løse et problem. Det er også mulig å regne ut body mass index (BMI) for hver av dem, uten at vi trenger å lagre informasjonen om BMI fordi BMI kan beregnes basert på høyde og vekt. BMI er for øvrig et mål på hvor sunn (overvektig/undervektig) en person er, basert på at en høy person selvsagt også må veie mer for å være normal vektig enn en lav person. Vekt sier altså ikke alt alene. BMI er et mye mer nøyaktig mål for å beskrive og sammenlikne ved for eksempel mistanke om anorexi eller stor overvekt. Det er en vesentlig forskjell på egenskapen vekt og det å fortelle en vits. I programmering snakker vi om at objektene har metoder. En metode er noe som utføres. Det å bevege seg, er å utføre noe. Det å fortelle en vits, er også å utføre noe. Det å regne ut BMI, er også å utføre noe. Sammenlikn dette med det å faktisk veie 62 kg, som ikke er å utføre noe, men å ha en egenskap, og du ser da forskjellen på en metode og en egenskap. Egenskapen er et stykke data, mens metoden er en samling av instruksjoner som utfører noe (og gjerne benytter de dataene som er tilgjengelige, men ikke nødvendigvis). Et objekt er en instans av en bestemt klasse. Det kan være mange samtidige objekter basert på én og samme klasse (som vi har sett med både Lise og Ole basert på person ). Et stort poeng ved objektorientering, er såkalt innkapsling. Ved å lage kode for en person-klasse og i denne klassen angi hvilke egenskaper og metoder konkrete person-objekter skal ha (med kode), har vi samlet alt som har å gjøre med for eksempel konseptet person. Tilsvarende kunne vi laget en ny klasse for konseptet bil og enda en ny klasse for konseptet fisk. En Ferrari og en Toyota kunne vært instanser (objekter) av klassen bil, mens Snapsi eller Wanda kunne vært instanser (objekter) av klassen fisk. Wanda ville dermed leve sitt eget liv uavhengig av endringer i klassen bil. Hvordan fisken Wanda svømmer rundt i gullfiskbollen sin, vet man ikke, men man vet at den har mulighet til å gjøre det, og man vet at den er en konkret fisk ved navn Wanda (se også Tilsvarende vet vi ikke nøyaktig hvordan for eksempel en listeboks kan sortere innholdet sitt, men det viktige er at den kan gjøre nettopp det, og det kan vi utnytte i programmene våre. Med innkapsling vil vi slippe å tenke på detaljene med hvordan objekter og metoder fungerer, og dermed blir det lettere å gjenbruke kode på en effektiv måte. Dersom vi skulle illustrere klassen Person, så kunne den se slik ut:

5 Objektorientering i VB en introduksjon side 5 av 11 Figur 2: Illustrasjon av klassen Person. Sammenlikn klassen i Figur 2 med objektene i Figur 3, som vi kan si at realiserer klassen Person: Figur 3: Objektene ole og lise basert på klassen Person Eksempel på objektorientert programmering Siden alle mennesker skal ha et navn, en høyde og en vekt, og alle skal kunne fortelle minst en vits eller bevege seg, så må disse egenskapene og metodene beskrives i klassen person. La oss nå prøve å realisere konseptet person ved hjelp av objektorientert programmering i Visual Basic.NET. Vi tar i tillegg med utregning av BMI ( body mass index ). Deretter skal vi opprette konkrete objekter som baserer seg på klassen Person. Vi skal altså først modellere en generell person, og så lage de konkrete personene Lise og Ole Opprett en klasse i utviklingsmiljøet For å lage en klasse i Visual Studio (evt. Visual Basic Express), må du høyreklikke på prosjektfilen i Solution Explorer, og velge å legge til et nytt element. Du må så velge å legge til en ny klasse, og skrive inn navnet på klassen med.vb etterpå. Det som i praksis skjer, er at du lager en ny fil som heter for eksempel Person.vb og all koden som utgjør klassen skal inn i denne filen. Dette er vist i Figur 4 og Figur 5.

6 Objektorientering i VB en introduksjon side 6 av 11 Figur 4: For å lage en ny klasse, må du først legge til et nytt element fra Solution Explorer... Figur 5:... og deretter må du velge maltypen Class og skrive inn navnet som klassen skal ha. Ta også med.vb til slutt.

7 Objektorientering i VB en introduksjon side 7 av Kode for å realisere Person-klassen Når du i Figur 5 velger Add vil en ny fil vises, og i denne kan du skrive kode. Legg merke til hvordan du nå har fått et nytt element i Solution Explorer til høyre. Alt av kode i klassen må stå mellom kodeordene Public Class KlassensNavn og End Class. Figur 6: All kode som utgjør klassen Person må skrives mellom Public Class Person og End Class. Vi skal nå lage tre såkalte objektvariabler som tilhører klassen, og som skal inneholde verdier om vekt, navn og høyde for de ulike objektene som opprettes basert på klassen. Legg merke til at det er mange ulike navn på objektvariabel, blant annet felt og medlemsvariabel. Vi bruker objektvariabel for å omtale egenskaper. I tillegg lager vi en metode som finner personens BMI: Public Class Person Public navn As String 'navnet på personen Public vekt As Double 'antall kg Public hoyde As Double 'antall cm Public Function finnbmi() As Double 'Regner her ut "body mass index" 'Formelen for BMI = vekt / høyden opphøyd i andre, 'der høyden er angitt i antall meter Dim svaret As Double Dim meter As Double meter = hoyde / 100 'fordi vi skal regne i antall meter, ikke i cm svaret = vekt / (meter * meter) 'parentesene regnes ut først Return svaret 'sender svaret tilbake til stedet der metoden ble kalt opp End Function End Class Legg merke til hvordan alt ligger innenfor klassen. Det vi har gjort nå, er å beskrive hvordan en person kan se ut, men vi har ikke laget noen konkrete personer enda Hvordan lage objekter som baseres på en klasse? Nå kan vi lage to objekter basert på klassen Person, eller med andre ord vi skal lage de to konkrete personene Lise og Ole. Disse objektene kan vi for eksempel lage i formen vår, så vi åpner Form1.vb og lager en knapp der. Følgende kode plasseres så under Button1_Click:

8 Objektorientering i VB en introduksjon side 8 av 11 'Program som bruker klassen Person og lager to personer Private Sub Button1_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button1.Click 'Lager to objektvariabler av type Person Dim lise As Person lise = New Person Dim ole As Person ole = New Person 'Registrerer navn, høyde og vekt for Ole ole.vekt = 83 ole.navn = "Ole Nordmann" ole.hoyde = 192 'Registrerer navn, høyde og vekt for Lise lise.vekt = 62 lise.navn = "Lise Nordmann" lise.hoyde = 170 'Beregner "body mass index" til Ole og Lise Dim BMIverdi As Double BMIverdi = ole.finnbmi() MsgBox("Ole har BMI-verdien: " & BMIverdi) MsgBox("Lise har " & lise.finnbmi() & " som BMI-verdi") End Sub Lise har en BMI på 21,45 siden vekten deltpå høyden i meter opphøyd i andre, er 21,45. Detaljene i utregningen tar metoden BMI-verdi seg av. Regn gjerne ut selv om du er i tvil: 62/1,70/1,70 eller kanskje bedre skrevet slik: 62 / (1,7*1,7). Figur 7 viser resultatet når vi kjører programmet. Figur 7: Når programmet kjører og knappen Lag personer trykkes, vil objekter for å representere Ole og Lise lages. Deretter regnes BMI ut for begge, og presenteres på skjermen Grundig forklaring til koden bak Button1_Click. Setningen Dim ole As Person lager et objekt som baserer seg på klassen Person. Dette er egentlig bare en adresse i minnet i maskinen som peker til et objekt. For å lage objektet, må vi skrive New Person, og for å ikke bare la dette objektet flyte i løse luften, må vi knytte ole til det nye objektet. Se Figur 3 for en visualisering av dette. Derfor skriver vi de to linjene:

9 Objektorientering i VB en introduksjon side 9 av 11 Dim ole As Person ole = New Person Det er mulig å forkorte dette til én setning (for å spare plass i koden), og heller bruke det noe kortere formularet: Dim ole As New Person Hvis du velger den siste måten, så vær klar over hva som egentlig skjer: Du lager en referanse som kan inneholde adressen til et objekt, og samtidig lager du et objekt basert på klassen Person. I tillegg bindes disse sammen, slik at du får en referanse som peker på et virkelig objekt som har fått plass i minnet i maskinen. Klassen Person har mulighet for å lagre informasjon om hver enkelt person. Ole har trolig en vekt, en høyde og et navn. Dette kan vi registrere ved å fylle objektvariablene (egenskapene) med innhold. Siden disse er satt som Public i klassen Person, har vi lov til å endre dem direkte fra programkoden til Button1_Click. Dette gjøres ved bruk av punktum-notasjonen: ole.vekt = 83 Dette kan vi lese som ole sin vekt settes til 83. Utviklingsmiljøet gir oss hjelp til å angi riktig objektvariabel ved hjelp av en liste som popper opp i det vi skriver punktumet i listen. Det ser slik ut: Figur 8: Visual Studio har intellisense, og viser oss kontekstsensitiv hjelp mens vi koder. Det er ulemper ved å bruke denne måten til å sette verdier til objektvariabler, men det er greit i starten for å komme i gang med objektorientering og ikke overøses av detaljer. Det er heller ikke direkte galt å gjøre det slik, men det fins bedre måter som vi skal se senere (stikkord for den nysgjerrige, er bruk av konstruktør og Properties). Tilsvarende må vi angi noen egenskaper for Lise, og det gjør vi ved å sette objektvariablene vekt, navn og hoyde for objektet lise. Lise blir dermed 62 kg og 170 cm høy. Hva er så body mass index til Ole og Lise? Det er mer eller mindre komplisert å regne ut dette. Vi trenger faktisk ikke regne det ut, fordi den som har laget klassen Person har allerede laget en metode som kan finne BMI for oss! (Det var riktignok oss selv som lagde denne metoden, men vi kan jo leke at vi lagde denne for 1 år siden, og ikke husker detaljene nå). Vi slipper altså å finne opp hjulet på nytt, og kan bruke den ferdige metoden. Den krever ingen argumenter, så det er bare å la objektene kalle den opp. Se gjerne fort gjennom koden i klassen Person i avsnitt før du fortsetter å lese.

10 Objektorientering i VB en introduksjon side 10 av 11 Setningen ole.finnbmi() betyr at objektet ole skal kalle opp metoden finnbmi().dette går bra. Vi sier for øvrig gjerne ole sin finnbmi-metode når vi leser setningen for oss selv. Objektet ole ligger utenfor klassen Person, men objektet ole har likevel lov til å kalle metoden, fordi metoden ligger deklarert som Public i klassen Person. Dersom vi ikke hadde laget metoden som Public, kunne den ikke blitt kalt opp. Vi kommer tilbake til denne detaljen senere. Når metoden finnbmi() kalles opp, blir den utført linje for linje. Det den gjør er å regne ut antall meter som Ole er ved å ta det som ligger i objektet ole sin objektvariabel hoyde, og dele på 100. Svaret legges i den lokale variabelen meter, og siden denne variabelen er lokal vil den dø så snart metoden er ferdig utført. Deretter regnes BMI-verdien ut ved hjelp av formelen Figur 9: Formelen for å regne ut body mass index (illustrasjon hentet fra Wikipedia). Formelen er selvsagt formulert med Visual Basic-kode, og du kan se på detaljene i koden i avsnitt Svaret returneres så tilbake til dit metoden finnbmi() ble kalt opp. En metode oppfører seg altså på samme måte som en funksjon. Mange bruker for øvrig begrepene funksjon og metode om hverandre innen OOP. I dette kurset bruker vi bevisst funksjon om en frittstående sak, og metode om det som tilhører en klasse. Virkemåten til en metode og en funksjon, er helt lik. Det er ikke mulig å kalle opp metoden finnbmi() uten å gå via objektet ole eller objektet lise. I koden vår har vi gjort kallet på to litt ulike måter, bare for å illustrere at du kan bruke en metode på samme måte som en funksjon. I Ole sitt tilfelle, legger vi den verdien som metoden returnerer inn i variabelen BMIverdi, mens i Lise sitt tilfelle, skriver vi ut verdien direkte som del av teksten i en meldingsboks. Vi kaller altså lise sin finnbmi-metode, og vet at den vil gi oss body mass index for Lise Oppsummering En objektorientert tilnærming er fornuftig i mange reelle systemutviklingsprosjekter. Vi har i denne leksjonen sett på grunnleggende begreper innen OOP: En klasse er en generell modell av noe konkret, for eksempel en person. I klassen er det definert egenskaper og metoder (og også hendelser dersom en vil det). Egenskapene beskriver objektet, mens metodene kan utføre noe. Metodene vil typisk endre eller lese egenskapsverdiene, men kan i prinsippet gjøre hva vi måtte ønske. Når vi programmerer egenskaper, omtaler vi dette som objektvariabler. Et objekt er en instans, eller forekomst, av en klasse. Det fins mange personer som baserer seg på klassen person. Det vil si at vi kan ha mange objekter for hver klasse. Hvert objekt får alle metoder og egenskaper (objektvariabler) som er definert i klassen. Det som varierer, er verdiene i objektvariablene. Dermed blir som regel hvert objekt forskjellig fra andre objekter selv om de baserer seg på samme klasse.

11 Objektorientering i VB en introduksjon side 11 av 11 Videre så vi hvordan en klasse kan programmeres med Visual Basic.NET, og hvordan vi kan lage objekter basert på en klasse. Vi manipulerte objektvariablene direkte: ole.vekt = 83 Dette har som fordel at det er veldig enkelt å forstå og lett å skrive, men ulempen er at det blir vanskelig å endre ting i klassen, uten også å måtte endre i koden for øvrig (for eksempel). Senere skal vi se på hvordan vi kan innkapsle objektene på en bedre måte. Til slutt så vi på hvordan vi kan lage metoder i en klasse som gjør noe, beregner noe eller endrer noe med det enkelte objektet. Et objekt basert på en klasse, kan kalle opp og gjøre seg nytte av disse metodene (såfremt de er deklarert som Public). Rent konkret så vi hvordan vi kunne regne ut en persons body mass index ved å kalle en metode, selv om bare objektvariablene vekt og hoyde var satt.

Objektorientering i VB videregående

Objektorientering i VB videregående Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag Objektorientering i VB videregående Oppdatert av Atle Nes Objektorientering i VB videregående Resymé: Denne leksjonen tar opp flere detaljer

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: 16.desember 2005 Varighet: Fagnummer: Fagnavn: 3 timer LO116D Programmering i Visual Basic Klasse(r): FU

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: 16.desember 2005 Varighet: Fagnummer: Fagnavn: 3 timer LO116D Programmering i Visual Basic Klasse(r): FU

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

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: 20.mai 2005 Varighet: Fagnummer: Fagnavn: Klasse(r): Studiepoeng: 6 3 timer LO116D Programmering i Visual

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 LO116D Programmering i Visual Basic FU

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

HVA ER PROGRAMMERING?...

HVA ER PROGRAMMERING?... Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag Introduksjon til programmering i VB.NET Svend Andreas Horgen Lærestoffet er utviklet for faget IINI1004 Programmering i Visual Basic Resymé:

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

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

AVANSERTE TING LEVETID, BRUKSOMRÅDE OG KONVERTERING...

AVANSERTE TING LEVETID, BRUKSOMRÅDE OG KONVERTERING... Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag Variabler, konstanter og datatyper Svend Andreas Horgen Lærestoffet er utviklet for faget IINI1004 Programmering i Visual Basic Resymé: Denne

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 LO116D Programmering i Visual Basic FU

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

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: Eksamensdato: 30.november 2005 Varighet: 0900-1300 Fagnummer: Fagnavn: Klasse(r): LV195D Objektorientert programmering i C++ Nettstudenter

Detaljer

Plan for dagen. Vprg 4. Dagens tema - filbehandling! Strømmer. Klassen FilLeser.java. Tekstfiler

Plan for dagen. Vprg 4. Dagens tema - filbehandling! Strømmer. Klassen FilLeser.java. Tekstfiler Plan for dagen Vprg 4 LC191D Videregående programmering Høgskolen i Sør-Trøndelag Avdeling for informatikk og e-læring Anette Wrålsen Del: Intro til tekstfiler Del II: Mer om tekstfiler, Scanner-klassen

Detaljer

Innføring i bruk av CGI4VB

Innføring i bruk av CGI4VB Innføring i bruk av CGI4VB Her kommer en enkel innføring i bruk av modulen CGI4VB som kan benyttes for å lage CGI programmer i Visual Basic. CGI er en forkortelse for Common Gateway Interface den kommunikasjonsprotokollen

Detaljer

Debugging. Tore Berg Hansen, TISIP

Debugging. Tore Berg Hansen, TISIP Debugging Tore Berg Hansen, TISIP Innhold Innledning... 1 Å kompilere og bygge et program for debugging... 1 Når debugger er i gang... 2 Symbolene i verktøylinjen... 3 Start på nytt... 3 Stopp debugging...

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 : Onsdag 5.desember 2012 Tid for eksamen

Detaljer

Eksamen. Objektorientert Programmering IGR 1372

Eksamen. Objektorientert Programmering IGR 1372 + JVNROHQL1DUYLN $YGHOLQJIRU7HNQRORJL Eksamen i Objektorientert Programmering IGR 1372 7LG'HVHPEHU± 7LOODWWHKMHOSHPLGOHU 6NULYHVDNHU2UGE NHU -DYD6RIWZDUH6ROXWLRQV)RXQGDWLRQVRI3URJUDP 'HVLJQVNUHYHWDY/HZLV

Detaljer

Hva er programmering?

Hva er programmering? 6108 Programmering i Java Leksjon 1 Introduksjon til programmering og til Java Hva er programmering? 1. Hva er et program? 2. Hva skal programmeres? 3. Hva er en programmerer? Programmering i Java - Leksjon

Detaljer

Hei verden Introduksjon Swift PDF

Hei verden Introduksjon Swift PDF Hei verden Introduksjon Swift PDF Introduksjon Swift er et programmeringsspråk laget av Apple og er etterfølgeren til Objective-C. Med Swift kan du lage apper for ios og OSX. For å gjennomføre dette kurset

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: 4.mai 2011 Varighet: 0900-1300 Emnekode: Emnenavn: Klasser: LV195D Objektorientert programmering i C++ Nettstudenter

Detaljer

Innføring i bruk av CGI4VB

Innføring i bruk av CGI4VB Innføring i bruk av CGI4VB Her kommer en enkel innføring i bruk av modulen CGI4VB som kan benyttes for å lage CGI programmer i Visual Basic. CGI er en forkortelse for Common Gateway Interface den kommunikasjonsprotokollen

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO Bokmål UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i: INF1000 Grunnkurs i objektorientert programmering Eksamensdag: Fredag 4. desember 2015 Tid for eksamen: 14.30 (4 timer)

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

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: 21.mai 2007 Varighet: Fagnummer: Fagnavn: Klasse(r): Studiepoeng: 6 09.00 13.00 (4 timer) LN116D Programmering

Detaljer

Mangelen på Internett adresser.

Mangelen på Internett adresser. 1. Av 2 Introduksjon og forord Internett er som kjent bygd opp i adresser, akkurat som husstander, byer og land, dette er fordi Internett er bygd opp mye likt post systemet, du kan sammenligne en maskin

Detaljer

Visual Basic. Repetisjon fra mandag

Visual Basic. Repetisjon fra mandag Visual Basic Kontrollstrukturer del 2 Løkker - 1 1 Repetisjon fra mandag Tre kontrollstrukturer: Sekvens Gjør punkt 1 Gjør punkt 2 Valg Hvis betingelse er sann Gjør punkt 1 Ellers Gjør punkt 2 Løkke initier

Detaljer

Læringsmål for forelesningen

Læringsmål for forelesningen Læringsmål for forelesningen Objektorientering Delegeringsteknikken Delegering vs. arv 1 Dagens forelesning Introduksjon og motivasjon Hvorfor forelese om standardteknikker, såkalte patterns? Hva slags

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

Dagens forelesning. Java 13. Rollefordeling (variant 1) Rollefordeling (variant 2) Design av større programmer : fordeling av roller.

Dagens forelesning. Java 13. Rollefordeling (variant 1) Rollefordeling (variant 2) Design av større programmer : fordeling av roller. Dagens forelesning Java 13 Design av større programmer : fordeling av roller INF 101-13. mars 2003 Flere eksempler på bruk av objekter MVC-prinsippet MVC-prinsippet Flere eksempler på programmer med objekter

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

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

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

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

Øving 1c: Egenrefleksjon

Øving 1c: Egenrefleksjon Tilbake Øving 1c: Egenrefleksjon Antall svarpersoner: 19 1. Matrisespørsmål Vi skal nå fokusere på læremålene. Du skal tenke aktivt gjennom om du har klart å oppfylle læremålene eller ikke. Velg OK dersom

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

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: 5.mai 2010 Varighet: 0900-1300 Emnekode: Emnenavn: Klasser: LV195D Objektorientert programmering i C++ Nettstudenter

Detaljer

Kapittel 1: Datamaskiner og programmeringsspråk

Kapittel 1: Datamaskiner og programmeringsspråk Kapittel 1: Datamaskiner og programmeringsspråk Redigert av: Khalid Azim Mughal (khalid@ii.uib.no) Kilde: Java som første programmeringsspråk (3. utgave) Khalid Azim Mughal, Torill Hamre, Rolf W. Rasmussen

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

Løsningsforslag ukeoppg. 6: 28. sep - 4. okt (INF1000 - Høst 2011)

Løsningsforslag ukeoppg. 6: 28. sep - 4. okt (INF1000 - Høst 2011) Løsningsforslag ukeoppg. 6: 28. sep - 4. okt (INF1000 - Høst 2011) Løsningsforslag til oppgave 7, 8, og 9 mangler Klasser og objekter (kap. 8.1-8.14 i "Rett på Java" 3. utg.) NB! Legg merke til at disse

Detaljer

Komme i gang. Kapittel 1 - Komme i gang... 3

Komme i gang. Kapittel 1 - Komme i gang... 3 30.01.2012 Kapittel 1... 1 DDS-CAD Arkitekt innføring i versjon 7 Komme i gang Kapittel Innhold... Side Kapittel 1 - Komme i gang... 3 Velkommen... 3 Er DDS-CAD Arkitekt installert?... 4 Operativmiljøet

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

EKSAMEN. Objektorientert programmering

EKSAMEN. Objektorientert programmering EKSAMEN Emnekode: ITF 10609 Dato: 13.mai 2009 Emne: Objektorientert programmering Eksamenstid: kl 09.00 til kl 12.00 Hjelpemidler: 2 A4-ark med valgfritt innhold på begge sider. Faglærere: Tom Heine Nätt

Detaljer

INNFØRING I PRINSIPPER FOR OBJEKTORIENTERT PROGRAMMERING EMILIE HALLGREN OG KRISTIN BRÆNDEN

INNFØRING I PRINSIPPER FOR OBJEKTORIENTERT PROGRAMMERING EMILIE HALLGREN OG KRISTIN BRÆNDEN INNFØRING I PRINSIPPER FOR OBJEKTORIENTERT PROGRAMMERING AGENDA Bakgrunn Hva er objektorientert programmering? Pseudokode Datatyper Attributter Metoder Returverdier Lister Relasjoner Spørsmål BAKGRUNN

Detaljer

1. Profiler og variabler

1. Profiler og variabler Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag Profiler og variabler Stein Meisingseth 26.05.2014 Lærestoffet er utviklet for faget IDRI3005 PowerShell 1. Profiler og variabler Resymé:

Detaljer

Object interaction. Innhold. Abstraksjon 03.09.2007. Grunnleggende programmering i Java Monica Strand 3. september 2007.

Object interaction. Innhold. Abstraksjon 03.09.2007. Grunnleggende programmering i Java Monica Strand 3. september 2007. Object interaction Grunnleggende programmering i Java Monica Strand 3. september 2007 1 Innhold Til nå: Hva objekter er og hvordan de implementeres I klassedefinisjonene: klassevariable (fields), konstruktører

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Side 1 Det matematisk-naturvitenskapelige fakultet Eksamen i: INF1010 Objektorientert programmering Eksamensdag: Tirsdag 12. juni 2012 Tid for eksamen: 9:00 15:00 Oppgavesettet er

Detaljer

Java fra Eclipse til Evalanche

Java fra Eclipse til Evalanche Java fra Eclipse til Evalanche Dette er en veiledning for deg som lurer på hvordan du skal overføre (eller sende inn) java-filer fra et prosjekt i Eclipse til Evalanche. Nyere versjon ligger her: http://bit.ly/1e8yjji

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

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

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring L Ø S N I N G S F O R S L A G Målform: Bokmål Eksamensdato: 18.des 2012 Varighet/eksamenstid: 4 timer (9:00-13:00) Emnekode: Emnenavn: IINI1004

Detaljer

Kapittel 1. Datamaskiner og programmeringsspråk. 1.1 Programmering

Kapittel 1. Datamaskiner og programmeringsspråk. 1.1 Programmering Kapittel 1 Datamaskiner og programmeringsspråk Dette kapitlet er en kort introduksjon til programmering. Vi vil se på hvordan man skriver, bygger og kjører programmer, samt illustrere noen sentrale programmeringsbegrep

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: 5.mai 200 Varighet: 0900-300 Emnekode: Emnenavn: Klasse(r): LO9D / LC9D LO9D Videregående programmering

Detaljer

INF1010 Arv. Marit Nybakken marnybak@ifi.uio.no 2. februar 2004

INF1010 Arv. Marit Nybakken marnybak@ifi.uio.no 2. februar 2004 INF1010 Arv Marit Nybakken marnybak@ifi.uio.no 2. februar 2004 Motivasjon Arv bruker vi så vi skal slippe å skrive oss i hjel. Når vi programmerer, prøver vi gjerne å modellere en del av verden ved hjelp

Detaljer

EKSAMEN I INF244: OBJEKTORIENTERT PROGRAMVAREUTVIKLING I BACHELORSTUDIET I IT OG INFORMASJONSSYSTEMER BACHELORSTUDIET I IT OG ENTREPRENØRSKAP

EKSAMEN I INF244: OBJEKTORIENTERT PROGRAMVAREUTVIKLING I BACHELORSTUDIET I IT OG INFORMASJONSSYSTEMER BACHELORSTUDIET I IT OG ENTREPRENØRSKAP Høgskolen i Buskerud Avdeling for økonomi og samfunnsvitenskap 3502 Hønefoss EKSAMEN I INF244: OBJEKTORIENTERT PROGRAMVAREUTVIKLING I BACHELORSTUDIET I IT OG INFORMASJONSSYSTEMER BACHELORSTUDIET I IT OG

Detaljer

Skilpadder Introduksjon Python PDF

Skilpadder Introduksjon Python PDF Skilpadder Introduksjon Python PDF Introduksjon: I denne modulen skal vi lære et programmeringsspråk som heter Python. Personen som laget det kalte det opp etter sitt favorittprogrammet på TV: Monthy Pythons

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

EKSAMENSFORSIDE SKRIFTLIG EKSAMEN

EKSAMENSFORSIDE SKRIFTLIG EKSAMEN EKSAMENSFORSIDE SKRIFTLIG EKSAMEN Fag-/kurskode OBJ110 Fag/kurs Objektorientert systemutvikling 1 Ansvarlig faglærer Viggo Holmstedt Ansvarlig fakultet ØS Klasse(r)/gruppe(r) IS2 Dato 13.12.2010 Eksamenstid,

Detaljer

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

TDT4105 Informasjonsteknologi, grunnkurs (ITGK)

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

Detaljer

Eksekveringsrekkefølgen (del 1) Oppgave 1. Eksekveringsrekkefølgen (del 2) Kommentar til oppgave 1. } // class Bolighus

Eksekveringsrekkefølgen (del 1) Oppgave 1. Eksekveringsrekkefølgen (del 2) Kommentar til oppgave 1. } // class Bolighus // class Bygning Oppgave 1 System.out.println( Bolighus ); // class Bolighus Hva blir utskriften fra dette programmet? class Blokk extends Bolighus{ // class Blokk IN105subclassesII-1 Eksekveringsrekkefølgen

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

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: 4.mai 2011 Varighet: 0900-1300 Emnekode: Emnenavn: Klasse(r): LO191D / LC191D Campus: LC191D Videregående

Detaljer

Funksjoner og prosedyrer

Funksjoner og prosedyrer Funksjoner og prosedyrer i Visual Basic.NET Om funksjoner Kan redusere kodens lengde / kompleksitet Den som skriver må bry seg med detaljer Den som bruker funksjonen må ikke tenke på detaljer Lettere vedlikehold

Detaljer

Kapittel. Kapittel 1. Komme i gang... 5. Komme i gang Kapittel 1

Kapittel. Kapittel 1. Komme i gang... 5. Komme i gang Kapittel 1 DDS-CAD Arkitekt 10 Komme i gang Kapittel 1 1 Kapittel Side Kapittel 1 Komme i gang... 5 Er DDS-CAD Arkitekt installert?... 5 Operativmiljøet Windows... 6 Begreper... 6 Start DDS-CAD Arkitekt... 6 Start

Detaljer

Innhold. INF1000 (Uke 11) Programmering. Rep: Metoder. Rep: Hva er en metode? Litt repetisjon. To måter å programmere på

Innhold. INF1000 (Uke 11) Programmering. Rep: Metoder. Rep: Hva er en metode? Litt repetisjon. To måter å programmere på Innhold Litt repetisjon INF1000 (Uke 11) Programmering To måter å programmere på Grunnkurs i programmering Institutt for Informatikk Universitet i Oslo Are Magnus Bruaset og Anja B. Kristoffersen 2006-04-03

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

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

JavaScriptbibliotek. Introduksjon MVVC. Informasjonsteknologi 2. Gløer Olav Langslet Sandvika VGS 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,

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

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

TDT4102 Prosedyre og Objektorientert programmering Vår 2014

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

Detaljer

Objektorientert programmering av vassdragselement. Jostein Orvedal Sognekraft AS

Objektorientert programmering av vassdragselement. Jostein Orvedal Sognekraft AS Objektorientert programmering av vassdragselement Jostein Orvedal Sognekraft AS Kven er Jostein? Arbeidar som produksjonsingeniør i Sognekraft AS Bakgrunn: Ingeniør elektronikk Meir enn 25 års erfaring

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

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: Eksamensdato: 26.mai 2005 Varighet: 0900-300 Fagnummer: Fagnavn: Klasse(r): LV95D Objektorientert programmering i C++ nettstudenter

Detaljer

TDT4102 Prosedyre og Objektorientert programmering Vår 2014

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

Detaljer

Flere design mønstre. 19. september 2002, Tore Berg Hansen, TISIP

Flere design mønstre. 19. september 2002, Tore Berg Hansen, TISIP Flere design mønstre 19. september 2002, Tore Berg Hansen, TISIP Kursleksjonene er forfatters eiendom. Som kursdeltaker kan du fritt bruke leksjonene til eget personlig bruk. Kursdeltakere som ønsker å

Detaljer

INF106 Objektorientert programmering

INF106 Objektorientert programmering Eksamensoppgave Høst 2010 Ordinær Bokmål Fag: INF106 Objektorientert programmering Eksamensdato: 13.12.2010 Studium/klasse: 1. klasse Emnekode: INF106 Eksamensform: Skriftlig Antall sider: 5 (inkludert

Detaljer

Programmering i C++ Løsningsforslag Eksamen høsten 2005

Programmering i C++ Løsningsforslag Eksamen høsten 2005 Programmering i C++ Eksamen høsten 2005 Simen Hagen Høgskolen i Oslo, Avdeling for Ingeniørutdanning 7. desember 2005 Generelt Denne eksamensoppgaven består av tre oppgaver, pluss en ekstraoppgave. Det

Detaljer

Objective-C. Shermila Thillaiampalam 01.11.2011

Objective-C. Shermila Thillaiampalam 01.11.2011 Objective-C Shermila Thillaiampalam 01.11.2011 Innhold 1 Kort om Objective-C 4 1.1 Xcode................................ 4 2 Historie 5 2.1 Programmeringsspråket C..................... 5 2.2 Smalltalk..............................

Detaljer

Installere JBuilder Foundation i Windows XP

Installere JBuilder Foundation i Windows XP Installere JBuilder Foundation i Windows XP Installasjon av JBuilder Foundation på Windows (dekker her spesifikt fremgangen ved bruk av Microsoft Windows XP Professional, men det vil mest trolig ikke være

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

Eksempel: Body Mass Index (BMI) Forelesning inf1000 - Java 3. Ferdig program (første del) Ferdig program (siste del)

Eksempel: Body Mass Index (BMI) Forelesning inf1000 - Java 3. Ferdig program (første del) Ferdig program (siste del) Forelesning inf1000 - Java 3 Eksempel: Body Mass Index (BMI) Tema: Mer om forgreninger Løkker Arrayer Litt om easyio Ole Christian Lingjærde, 5. september 2012 Ole Chr. Lingjærde Institutt for informatikk,

Detaljer

Programmeringsspråk for nybegynnere. Krav til språket. Krav til språket. Krav til språket

Programmeringsspråk for nybegynnere. Krav til språket. Krav til språket. Krav til språket Programmeringsspråk for nybegynnere Krav til språket Hva om vi laget vårt eget språk til INF1000? Programmeringsspråket må være så enkelt som mulig. (Programmering er vanskelig nok som det er.) Hvilke

Detaljer

TDT4100 Objektorientert programmering

TDT4100 Objektorientert programmering Eksamensoppgave i TDT4100 Objektorientert programmering Tirsdag 2. juni 2009, kl. 09:00-13:00 Oppgaven er utarbeidet av faglærer Hallvard Trætteberg og kvalitetssikrer Trond Aalberg. Kontaktperson under

Detaljer

Oblig4 - obligatorisk oppgave nr. 4 (av 4) i INF1000

Oblig4 - obligatorisk oppgave nr. 4 (av 4) i INF1000 Oblig4 - obligatorisk oppgave nr. 4 (av 4) i INF1000 Leveringsfrist Innleveringsfristen er fredag 14. november kl 16.00. Viktig: se side 4 for detaljerte leveringskrav. Formål Formålet med denne oppgaven

Detaljer

Scan Secure GTS 5.1 + PAS

Scan Secure GTS 5.1 + PAS Scan Secure GTS 5.1 + PAS Installasjonsmanual For versjon 5.1.7 og nyere Denne installasjonsmanualen er konfidensiell Den er kun ment til bruk for system administrator Den skal ikke benyttes av brukere

Detaljer

Grafiske brukergrensesnitt med Swing og AWT

Grafiske brukergrensesnitt med Swing og AWT Grafiske brukergrensesnitt med Swing og AWT - 1 av 11 INNHOLD INTRODUKSJON 3 VINDUER, RAMMER OG PANELER. 4 KOMPONENTER OG VINDUSELEMENTER 6 KNAPPER OG KNAPPELYTTERE.. 8 LAYOUT.. 10 APPENDIX. 11 2 av 11

Detaljer

TDT4102 Prosedyre og Objektorientert programmering Vår 2014

TDT4102 Prosedyre og Objektorientert programmering Vår 2014 Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap TDT4102 Prosedyre og Objektorientert programmering Vår 2014 Øving 1 Frist: DD.MM.YYYY Mål for denne øvinga:

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

Brukermanual for Quizbuilder

Brukermanual for Quizbuilder Brukermanual for Quizbuilder 1. juni 2010 Innhold 1 Installasjon av Quizbuilder 2 1.1 Installasjon fra Kildekode........................ 2 1.2 Installasjon fra Zip-fil.......................... 2 2 Quizbuilder

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. Hvor i All Verden? Del 1 Introduksjon Hvor i All Verden? er et reise- og geografispill hvor man raskest mulig skal fly innom reisemål spredt rundt i Europa. I denne første leksjonen vil vi se på hvordan

Detaljer

CASCADING STYLESHEETS (CSS)

CASCADING STYLESHEETS (CSS) CASCADING STYLESHEETS (CSS) HVA ER CSS Stylesheets er en metode for å flytte selve formatteringen av et HTML dokument ut av selve dokumentet og over i et eksternt regelsett. Dette skyldes HTMLs manglende

Detaljer

Klasser. Webprogrammering høsten 2015. Objekter. Eksempelklasser og -objekter. 2 of 11 14.10.2015 07:56. 1 of 11 14.10.2015 07:56

Klasser. Webprogrammering høsten 2015. Objekter. Eksempelklasser og -objekter. 2 of 11 14.10.2015 07:56. 1 of 11 14.10.2015 07:56 [Kurssidene] [ ABI - fagsider bibin ] Objekter Webprogrammering høsten 2015 Et objekt er en "ting" som representeres i et program. Representasjonen tar for seg attributter og oppførsel Attributter (egenskaper)

Detaljer

Løsningsforslag Øving 7

Løsningsforslag Øving 7 Løsningsforslag Øving 7 Oppgave 1: Function BeregnKvadrat(ByVal tall As Double) As Double tall = tall * tall Function BeregnKvadratrot(ByVal tall As Double) As Double tall = Math.Sqrt(tall) Private Sub

Detaljer

Administrere innstillinger

Administrere innstillinger 06.07 Administrere innstillinger Når man har fått opprettet en blogg, er det i grunnen ingenting man ikke kan forandre på. Man kan forandre navn, url-adresse, design osv. Denne delen av leksjonen skal

Detaljer

Kursdokumentasjon for Dreamweaver

Kursdokumentasjon for Dreamweaver Kursdokumentasjon for Dreamweaver Skrevet av 2/13 1 Komme i gang med Dreamweaver... 3 2 Bruk av Dreamweaver... 4 2.1 Verktøylinja...5 2.2 Properties... 5 3 Sidens egenskaper... 6 4 Tekst... 7 4.1 Endre

Detaljer