Objective-C. Shermila Thillaiampalam

Størrelse: px
Begynne med side:

Download "Objective-C. Shermila Thillaiampalam 01.11.2011"

Transkript

1 Objective-C Shermila Thillaiampalam

2 Innhold 1 Kort om Objective-C Xcode Historie Programmeringsspråket C Smalltalk C møter Smalltalk Objective-C Apple Objekt Grunnleggende om Objekter Id Dynamisk programmering Polymorfisme Klasser Arv Metoder 10 6 Minnehåndtering 11 7 Runtime 12 8 Eget Arbeid ColorSwapper Navigator app Applikasjon Konklusjon/Avsluttning 14 Bibliografi 15 2

3 Innledning 3

4 Kort om Objective-C Objective-C er et programeringsspåk som er designet for å programere objektorientert på en elegant måte. Det er et lite men kraftig utvidelse av det opprinnelige programeringsspråket ANSI C. Objektive-C er desinget slik at C får full kapasitet til objeckt-orientert programmering, og dette på en rett og enkel måte. Programmeringsspråket inneholder mange av de tradisjonelle objektorienterte funksjonene, som innkapsling, arv og polymorfisme. Objective-C støtter de samme grunnleggende syntax som C. Man må definere header-filer og kilde-filer til seperate offentlige erklæringer(declarations). I tillegg til filene over finnes det en fil til, en.xib-fil Denne viser den grafiske grensesnittet til applikasjonen. Dette er noe man finner i Xcode under ios programmering, slik at programmereren skal ha en oversikt over programmet sitt. For å inkludere en header fil i kildekoden, må man skrive "import"og navnet på filen. "importfungerer på samme måte som "include", bortsett fra at den sørger for at samme fil aldri er inkludert mer enn én gang. Både språket og alle dokumentasjoner foretrekker "import". [3] 1.1 Xcode 4

5 Historie 2.1 Programmeringsspråket C Objective-C er basert på programmeringsspråket C. Opprinnelsen til programmeringsspråket C kan spores tilbake nesten 40 år, til to ingeniører kalt Dennis Ritchie og Ken Thompson. Som jobbet ved det som nå er kjent som AT and T Bell Labs. De ble med på den tiden, å utvikle opperativsystemet UNIX på PDP-7 og PDP-11 systemer. Etter flere forsøk på å skrive dette operativsystemet med andre grunnleggende monterings programmeringsspråk, fant de ut at det trengtes et mer avansert og mer programmerer vennlig programmeringsspråk. Slik at det hadde kapasitet til å håndtere et så komplekst opperativsystem som UNIX. Det første forsøket var et programmeringsspråk kalt B. B som var et programmeringsspråk basert på et språk kalt BCPL, holdt desverre ikke standarden, slik at den kunne bli brukt. Siden C er den neste initialen i navnet BCPL, ble neste språk som ble opprettet, kalt nettopp C. C ble senere brukt til å skrive store deler av UNIXs kjenre og infrastuktur. Siden C var så vellykket, var det aldri noe etterspørsel etter eller nytte av å opprette programmeringsspråk kalt P eller L.[4] 2.2 Smalltalk Objective-C er basert på programmeringsspråket C. Opprinnelsen til programmeringsspråket C kan spores tilbake nesten 40 år, til to ingeniører kalt Dennis Ritchie og Ken Thompson. Som jobbet ved det som nå er kjent som AT and T Bell Labs. De ble med på den tiden, å utvikle opperativsystemet UNIX på PDP-7 og PDP-11 systemer. Etter flere forsøk på å skrive dette operativsystemet med andre grunnleggende monterings programmeringsspråk, fant de ut at det trengtes et mer avansert og mer programmerer vennlig programmeringsspråk. Slik at det hadde kapasitet til å håndtere et så komplekst opperativsystem som UNIX. Det første forsøket var et programmeringsspråk kalt B. B som var et programmeringsspråk basert på et språk kalt BCPL, holdt desverre ikke standarden, slik at den kunne bli brukt. Siden C er den neste initialen i navnet BCPL, ble neste språk som ble opprettet, kalt nettopp C. C ble senere brukt til å skrive store deler av UNIXs kjenre og infrastuktur. Siden C var så vellykket, var det aldri noe etterspørsel etter eller nytte av å opprette programmeringsspråk kalt P eller L. [4] 5

6 2.3 C møter Smalltalk I 1980 tok to utviklere kalt Brad Cox og Tom Love, å utvidet programmeringsspråket C slik at det støttet de objektorienterte funksjonene Smalltalk inneholder. Denne sammensmeltningen av begge språkene resulterte i etableringen av Objective-C. Objective-C ble deretter vedtatt av Free Software Foundation og utgitt under GNU Public License (GPL).[4] 2.4 Objective-C Apple For å forstå hvordan et språk bsasert på to 40 år gamle programmeringsspråk, endte opp med å bli det nye foretrukne språket i Mac OS X og ios hos Apple. Må man se bort fra teknologien en stund og heller se på virksomheten. På 1980-tallet stiftet Steve Jobs og Stive Wozniak, Apple Computer. Etter mange års suksess, leide Steve Jobs inn John Sculley, en markedsførings rådgiver/veiviser fra PepsiCo. For å gjøre en lang historie kort, fulgte en kamp i styret og endte med at Steve Jobs ble kastet ut av selskapet. Og etterlot John Sculley ansvaret for Apple Computer. Etter å ha forlatt Apple, startet Jobs et nytt selskap kalt, NeXT hvor han designet en helt ny generasjon av datasystemer. Operativsystemet som ble opprettet av NeXT for å kjøre på disse maskinene, ble kalt NeXTStep. For å utvikle NeXTStep kjøpte NeXT rettighetene til Objective-C. Senere slo NeXT seg sammen med Sun Microsystems for å skape en standardisert versjon av NeXTStep, kalt OPENstep, som Free Software Foundation deretter fastsatte til GNUstep. På 1900-tallet forlot John Sculley Apple, og en rekke av nye administrerende direktører kom og gikk. Under denne tiden mistet Apple en del markedsandeler, og slet med å lansere et nytt operativsystem, som kunne erstatte en aldrende MacOS. Etter flere mislykkede forsøk og sammarbeidspartnere, ble det avgjort at istedenfor å skrive et nytt operativsystem, skulle Apple heller kjøpe det av et selskap som allerede hadde et klart. Under Gil Amelio korte tid som konsernsjef, sto valget mellom to selskaper. Det ene var et firma som heter Be inc. Grunnlagt av Jean-Louis en tidligere ansatt i Apple, og den andre var NeXT. Til slutt ble NeXT valgt og Steve Jobs var inne i Apple igjen. I en ny kamp i styret, ble Gil Amelio kastet ut og Steve Jobs satt igjen som konsernsjef for Apple, selskapet han selv engang grunnla. Dermed dannet NeXTStep grunnlaget for det som ble Mac OS X, og tar med seg Objective-C. Mac OS X ble senere modifisert til ios som er operativsystemet som er brukt for iphone. [4] 6

7 Objekt Et objekt knytter data som variabler av string, int og lignende, med spesielle operasjoner som kan brukes til å påvirke dataene. Objective-C gir en datatype for å identifisere et objekts variabel uten å spesifisere en bestemt klasse for objeket. 3.1 Grunnleggende om Objekter Et objekt knytter data med spesielle operasjoner som kan bruke eller påvirke dataene. I Objective-C, er disse operasjonene kjent som objektets metoder; dataene de påvirker er dens instansvariabler.i hovedsak er et objekt en samling av datastrukturer (instansvariabler) og en gruppe av prosedyrer(metoder) som er koblet sammen slik at de kan utføre en operasjon til ønsket enhet. Objektets instansvariabler er generelt interne til objektet, du får kun tilgang til objektet gjennom objektets metoder( Det er mulighet til å angi om subklasser eller andre objekter kan få tilgang til instansvariablene direkte, ved bruk av omfang direktiver). Hvis andre skal finne ut noe om et objekt, må det opprettes en metode som leverer informasjon om objektet. Et objekt kan bare utføre metodene som er laget for det objektet, det kan ikke ved en feil utføre metoder ment for andre type objekter. Dermed skjuler et objekt både instansvariablene og dens metode implementeringer. [? ] 3.2 Id Objektets identitetsfaktor er en bestemt datatype: id. Denne typen er en generell type for alle objekter uavhenging av klasser, og kan brukes til en instanse av en klasse og for klasse objektene. Objective-C inneholder alle de standard datatypene som string og int, men syntaxen er endret. NSString og NSInteger er Objective-C navn på datatypene. NS står for NeXTStep som var det orginale opperativsystemet som brukte objective-c. Begrepet nil er definert som et null objekt, en id med en verdi på 0. Dette begrepet er identisk med begrepet nul i andre programmeringsspråk. [? ] 3.3 Dynamisk programmering Datatypen id gir ingen informasjon om objektet av seg selv, bortsett fra at at det er et objekt. Når applikasjonen begynner å kjøre trenger den før eller senere å finne ut mer om objektene den inneholder. Siden id typen ikke er i 7

8 stand til å gi ut denne informasjonen til kompilatoren, må hvert objekt dele ut sin informasjon under kjøringen av applikasjonen. Datatypen isa identifiserer objektets klasse og hvilken type objekt det er. Objekter som utfører samme type operasjoner ( metoder ) og inneholder samme type data/informasjon (instans variabler), er plassert under samme klasse, og er dermed medlemmer av denne klassen. Objekter blir dynamisk skrevet under kjøring, slik at når det trengs, kan runtime systemet finne den eksakte klassen som et objekt tilhører. Dette bare ved å spørre objektet.[? ] 3.4 Polymorfisme Siden metoder tilhører et objekt, vil ikke meldinger/kommandoer oppfører seg på samme måte som i et funksjonskall. Et objekt kan kun bli drevet av de metodene som er definert for det objektet. Dermed kan de ikke forvirre andre metoder som er definert til andre type objekter, selv med samme metodenavn. Derfor kan to metoder reagere forskjellig på samme kommandoen. Denne funksjonen kalles polymorfisme, og spiller en betydelig rolle i utformingen av objekt-orienterte programmer. Sammen med dynamisk binding, tillater det deg å skrive kode som kan gjelde for en rekke forskjellige typer objekter, og ved at man slipper å velge hva slags objekt det er, mens man programmerer. [? ] 8

9 Klasser 4.1 Arv 9

10 Metoder 10

11 Minnehåndtering Når man programmerer i objective-c må man selv ta seg av minnehåndteringen. Hvis dette ikke blir håndtert vil minnelekasjen øke, og applikasjonen vil ikke fungere som planlagt. Objective-C støtter tre mekanismer for minne håndtering: automatic garbage collection og reference counting. * Automatic Reference Counting(ARC): Hvor kompilatoren vurderer objektenes levetid. ARC implementerer automatisk minnehåndtering for Objective-C objekter og blokker, slik at programmereren slipper å eksplisitt skrive inn retain og realise. Den gir ikke en syklus samler, dermed må brukeren selv administrere levetiden istedet. * Manual Reference Counting(MRC eller MRR manual retain/release ): Hvor brukeren har det ultimate ansvaret for å bestemme objektenes levetid.[1] * Garbage Collection: brukeren gir ansvaret for å avgjøre levetiden av objektet, til en automatisk samler collector. Minnehåndteringen til en applikasjon er prosessen hvor minnet blir tildelt(allocating), brukt, og frigjøre det, mens programmet kjører. Målet er å bruke minst mulig minne. I Objective-C kan det også se på som en måte å fordele eierskapet av begrenset minne ressurser, blant flere deler av data og kode. For å administrere applikasjonens minne må man ekplisitt håndtere livssyklusen til objektene og frigjøre dem når de ikke lenger er nødvendige. Man ønsker å sørge for at man ikke har flere objekter i mennet enn det man egentlig trenger.[2] 11

12 Runtime Objektive-C utfører så mange avgjørelser som det kan fra kompilering og link tid til kjøring(runtime). Når det er mulig utfører den dynamisk operasjoner som å opprette objekter og bestemme hvilken metode som må tilkalles. Derfor krever språket ikke bare en kompilator, men også en runtime sytem for å utføre kompilert kode. Runtime-systemet fungerer som en slags operativsystem for programmeringsspråket Objective-C. Det er dette systemet som får språket til å fungere.[3] 12

13 Eget Arbeid 8.1 ColorSwapper 8.2 Navigator app 8.3 Applikasjon 3 13

14 Konklusjon/Avsluttning 14

15 Bibliografi [1] Apple Inc. Introduction objective-c,. URL com/library/ios/#documentation/cocoa/conceptual/objectivec/ Introduction/introObjectiveC.html#//apple_ref/doc/uid/ TP [2] Apple Inc. Memory management,. URL com/library/ios/#documentation/cocoa/conceptual/memorymgmt/ Articles/MemoryMgmt.html#//apple_ref/doc/uid/ i. [3] Apple Inc. Learning objective-c: a primer,. URL apple.com/library/ios/#referencelibrary/gettingstarted/ Learning_Objective-C_A_Primer/_index.html#//apple_ref/doc/ uid/tp [4] Neil Smyth. The history of objective-c. URL com/index.php/the_history_of_objective-c. 15

Objective-C. Ina Carine Aarvig

Objective-C. Ina Carine Aarvig Objective-C Ina Carine Aarvig 16.10.2011 Innhold 1 Objective-Cs historie 4 1.1 NeXT og Steve Jobs........................ 4 1.2 Apple................................ 4 2 Xcode 5 3 Objective-C 6 3.1 Objekter,

Detaljer

Objective-C. Ina Carine Aarvig

Objective-C. Ina Carine Aarvig Objective-C Ina Carine Aarvig 16.10.2011 Innhold 1 Objective-Cs historie 4 1.1 NeXT og Steve Jobs........................ 4 1.2 Apple................................ 4 2 Xcode 5 3 Objective-C 6 3.1 Objekter,

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

Programmeringsspråket C

Programmeringsspråket C Programmeringsspråket C Programmeringsspråket C Laget til implementasjon av Unix ved AT&Ts Bell labs i Palo Alto 1969 73. Navnet kommer fra BCPL B C. Opphavsmannnen heter Dennis Ritchie. ANSI-standard

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

Øving 0 - Xcode TDT4102

Øving 0 - Xcode TDT4102 Øving 0 - Xcode TDT4102 Frivillig Øving Mål for denne øvingen: Bli kjent med programmeringsverktøy Lage et første program kun med teksteditor og kompilator Lage et første program med Xcode Denne øvingen

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

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

Tildeling av minne til prosesser

Tildeling av minne til prosesser Tildeling av minne til prosesser Tildeling av minne til prosesser OS må hele tiden holde rede på hvilke deler av RAM som er ledig/opptatt Når (asynkrone) prosesser/run-time system krever tildeling av en

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

Operativsystemer og grensesnitt

Operativsystemer og grensesnitt Operativsystemer og grensesnitt Ulike måter å bruke OS'et på Application Program Interface (API) Applikasjoner (ofte C-programmer) som f.eks. emacs, som bruker tjenestene i OS ved å kalle på funksjoner

Detaljer

Tildeling av minne til prosesser

Tildeling av minne til prosesser Tildeling av minne til prosesser Tildeling av minne til en prosess Når en ny prosess opprettes har den et krav til hvor mye minne som skal reserveres for prosessen Memory Management System (MMS) i OS må

Detaljer

TDT4102 Prosedyreog objektorientert programmering Vår 2016

TDT4102 Prosedyreog objektorientert programmering Vår 2016 Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap TDT4102 Prosedyreog objektorientert programmering Vår 2016 Øving 0 for Mac Frist: Ingen (frivillig øving)

Detaljer

Programmeringsspråket C

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

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

TDT4102 Prosedyreog objektorientert programmering Vår 2016

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

Detaljer

Oversikt. Historie Struktur Moderne UNIX systemer Moderne UNIX kernel struktur 1 UNIX. 2 Linux. 3 Process. 4 Process models

Oversikt. Historie Struktur Moderne UNIX systemer Moderne UNIX kernel struktur 1 UNIX. 2 Linux. 3 Process. 4 Process models Oversikt UNIX 1 UNIX Historie Struktur Moderne UNIX systemer Moderne UNIX kernel struktur 2 Linux 3 Process 4 Process models 5 Hvordan kjøre operativsystemet 6 Prosesshåndtering i UNIX SVR4 Lars Vidar

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

Oversikt. Introduksjon Kildekode Kompilering Hello world Hello world med argumenter. 1 C programmering. 2 Funksjoner. 3 Datatyper. 4 Pekere og arrays

Oversikt. Introduksjon Kildekode Kompilering Hello world Hello world med argumenter. 1 C programmering. 2 Funksjoner. 3 Datatyper. 4 Pekere og arrays Oversikt C programmering 1 C programmering Introduksjon Kildekode Kompilering Hello world Hello world med argumenter 2 Funksjoner 3 Datatyper 4 Pekere og arrays 5 Kontrollstrukturer Lars Vidar Magnusson

Detaljer

Forord. Brukerveiledning

Forord. Brukerveiledning Forord Dette dokumentet er ment for brukere og administratorer som vil overvåke ressursene som brukes av JVM. Det gir en rask og generisk introduksjon til installasjonen av de forskjellige verktøyene som

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

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

Kompilering Statiske Syntaksanalyse Feilsjekking Eksempel Oppsummering

Kompilering Statiske Syntaksanalyse Feilsjekking Eksempel Oppsummering Dagens tema Hva er kompilering? Hvordan foreta syntaksanalyse av et program? Hvordan programmere dette i Java? Statiske metoder og variabler Hvordan oppdage feil? Kildekode Hva er kompilering? Anta at

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

Innhold Forord...3 Begreper og akronymer...4 Systembeskrivelse...5 Generelt...5 Funksjonelle krav...7 Ikke-Funksjonelle krav...9 Prioritering...

Innhold Forord...3 Begreper og akronymer...4 Systembeskrivelse...5 Generelt...5 Funksjonelle krav...7 Ikke-Funksjonelle krav...9 Prioritering... Innhold Forord...3 Begreper og akronymer...4 Systembeskrivelse...5 Generelt...5 Funksjonelle krav...7 Ikke-Funksjonelle krav...9 Prioritering...9 2 Forord Denne kravspesifikasjonen har blitt utviklet i

Detaljer

Programmeringsspråket C

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

Detaljer

Objekter og referanser

Objekter og referanser Objekter og referanser Datasegmentet heap Vi har sett at verdier i Java blir kopiert ved prosedyrekall. I programmering, ønsker man imidlertid ikke å kopiere objekter ved prosedyrekall. Dette er fordi

Detaljer

Operativsystemer: Litt IT- og Linux-historie

Operativsystemer: Litt IT- og Linux-historie Operativsystemer: Litt IT- og Linux-historie Mark I fra 1944 var en en av de første fungerende elektroniske datamaskinene. Den ble brukt til å beregne banene til artillerigranater. Begrepene "bug" og debugging

Detaljer

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

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

Detaljer

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

IN 147 Program og maskinvare

IN 147 Program og maskinvare Dagens tema Mer om C Cs preprosessor Allokering av variable Separat kompilering Programmet make Pekere i C Operasjoner på pekere Pekere og vektorer Referanseparametre Pekere til «alt» og «ingenting» Dynamisk

Detaljer

Operativsystemer: Litt IT-historie

Operativsystemer: Litt IT-historie Operativsystemer: Litt IT-historie Mark I fra 1944 var en en av de første fungerende elektroniske datamaskinene. Den ble brukt til å beregne banene til artillerigranater. Begrepene "bug" og debugging om

Detaljer

Anitool åpner opp for en hel verden av kreative muligheter på nett. Uten koding eller tunge programmer. Dette er enkelt, webbasert og rimelig!

Anitool åpner opp for en hel verden av kreative muligheter på nett. Uten koding eller tunge programmer. Dette er enkelt, webbasert og rimelig! 1 av 7 05.01.2016 21:50 medier24.com Gard L. Michalsen Anitool åpner opp for en hel verden av kreative muligheter på nett. Uten koding eller tunge programmer. Dette er enkelt, webbasert og rimelig! Tom

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

Qt Jambi E t R ammeverks His torie

Qt Jambi E t R ammeverks His torie Qt Jambi E t R ammeverks His torie Hvem er jeg? Eskil Abrahamsen Blomfeldt Hovedfag i informatikk fra Blindern Spesialisering i programmeringsspråk og kompilatorteori Utvikler i Trolltech siden 2005 Vedlikehold

Detaljer

Algoritmer og datastrukturer Kapittel 3 - Delkapittel 3.1

Algoritmer og datastrukturer Kapittel 3 - Delkapittel 3.1 Delkapittel 3.1 Grensesnittet Liste Side 1 av 11 Algoritmer og datastrukturer Kapittel 3 - Delkapittel 3.1 3.1 En beholder 3.1.1 En beholder En pappeske er en beholder En beholder er noe vi kan legge ting

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

BOKMÅL Side 1 av 5. KONTERINGSEKSAMEN I FAG TDT4102 Prosedyre og objektorientert programmering. Onsdag 6. august 2008 Kl. 09.00 13.

BOKMÅL Side 1 av 5. KONTERINGSEKSAMEN I FAG TDT4102 Prosedyre og objektorientert programmering. Onsdag 6. august 2008 Kl. 09.00 13. BOKMÅL Side 1 av 5 NTNU Norges teknisk-naturvitenskapelige universitet Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap KONTERINGSEKSAMEN

Detaljer

Generiske mekanismer i statisk typede programmeringsspråk

Generiske mekanismer i statisk typede programmeringsspråk Generiske mekanismer i statisk typede programmeringsspråk Dette stoffet er Pensum, og det er bare beskrevet her Mye her er nok kjent stoff for mange INF5110 7. mai 2013 Stein Krogdahl 1 Hvordan kunne skrive

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

Obligatorisk oppgave nr. 3 (av 4) i INF1000, våren 2006

Obligatorisk oppgave nr. 3 (av 4) i INF1000, våren 2006 Obligatorisk oppgave nr. 3 (av 4) i INF1000, våren 2006 Advarsel Etter forelesningen 6. mars har vi gjennomgått alt stoffet som trengs for å løse oppgaven. Du kan imidlertid godt starte arbeidet allerede

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

Generelt om operativsystemer

Generelt om operativsystemer Generelt om operativsystemer Operativsystemet: Hva og hvorfor Styring av prosessorer (CPU), elektronikk, nettverk og andre ressurser i en datamaskin er komplisert, detaljert og vanskelig. Maskinvare og

Detaljer

Anbefalt litteratur: Pensum-bøker: Forelesere: Velkommen til INF Introduksjon til operativsystemer og datakommunikasjon

Anbefalt litteratur: Pensum-bøker: Forelesere: Velkommen til INF Introduksjon til operativsystemer og datakommunikasjon Forelesere: Velkommen til INF-1060 Introduksjon til operativsystemer og datakommunikasjon Pål Halvorsen (paalh@ifi.uio.no) Nettverk og Distribuerte systemer (ND) (ved Simula) Kjell Åge Bringsrud (kjellb@ifi.uio.no)

Detaljer

Kom i gang med programmering i Java

Kom i gang med programmering i Java Kom i gang med programmering i Java Dette dokumentet forteller hvordan du skal komme i gang med programmering inkludert nedlasting av den programvare du trenger samt oppsett av disse samt en del innstillinger

Detaljer

vet vi hvilke fartsgrenser som gjelder der vi er???

vet vi hvilke fartsgrenser som gjelder der vi er??? 1 2 vet vi hvilke fartsgrenser som gjelder der vi er??? 3 Kan vel egentlig svare Hvorfor ikke? Begrunnelsen er hentet fra den sentrale fartsforskiften som gjelde rhele landet. Denne forskriften hjemler

Detaljer

TDT4102 Prosedyreog objektorientert programmering Vår 2016

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

Detaljer

Læringsmål uke 7. Objektorientert programmering i Python: Introduksjon. Innhold uke 7. Lite tilbakeblikk: Programflyt og skop

Læringsmål uke 7. Objektorientert programmering i Python: Introduksjon. Innhold uke 7. Lite tilbakeblikk: Programflyt og skop Læringsmål uke 7 Objektorientert programmering i Python: Introduksjon IN1000 Høst 2018 uke 7 Siri Moe Jensen Kjenne til motivasjon og bakgrunn for objektorientert programmering Kunne definere en klasse,

Detaljer

TDT4102 Prosedyreog objektorientert programmering Vår 2016

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

Detaljer

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

Introduksjon til dataanlegget ved Institutt for informatikk. Marc Bezem Institutt for informatikk Universitetet i Bergen

Introduksjon til dataanlegget ved Institutt for informatikk. Marc Bezem Institutt for informatikk Universitetet i Bergen Introduksjon til dataanlegget ved Institutt for informatikk Marc Bezem Institutt for informatikk Universitetet i Bergen August 2005 1 Introduksjonskurset Målgrupper: Alle studenter som skal ta INF100 Andre

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

Diverse eksamensgaver

Diverse eksamensgaver Diverse eksamensgaver Noen har fått den idé å lage et språk hvor klasser kan ha noe tilsvarende byvalue-result -parametere. Klasser har ingen konstruktører, og by-value-result parametere spesifiseres som

Detaljer

Operativsystemer: Litt IT- og Linux-historie

Operativsystemer: Litt IT- og Linux-historie Operativsystemer: Litt IT- og Linux-historie Radiorørmaskiner uten OS Det var ingen OS på de tidlige maskinene på 40- og 50-tallet Maskinene ble satt opp manuelt med kode og data før hver kjøring, av

Detaljer

INF våren 2017

INF våren 2017 INF1010 - våren 2017 Om Java Objekter og klasser Både for deg som kan og for deg som ikke kan Java Stein Gjessing Universitetet i Oslo Ny versjon etter forlesningen der tre meningsløse private modifikatorer

Detaljer

IN våren 2019 Onsdag 16. januar

IN våren 2019 Onsdag 16. januar IN1010 - våren 2019 Onsdag 16. januar Java Objekter og klasser Stein Gjessing Universitetet i Oslo 1 1 IN1010: Objektorientert programmering Hva er et objekt? Hva er en klasse? Aller enkleste eksempel

Detaljer

IN våren 2018 Tirsdag 16. januar

IN våren 2018 Tirsdag 16. januar IN1010 - våren 2018 Tirsdag 16. januar Java Objekter og klasser Stein Gjessing Universitetet i Oslo 1 1 IN1010: Objektorientert programmering Hva er et objekt? Hva er en klasse? Aller enkleste eksempel

Detaljer

Slik bruker du P-touch Transfer Manager

Slik bruker du P-touch Transfer Manager Slik bruker du P-touch Transfer Manager Versjon 0 NOR Innledning Viktig merknad Innholdet i dette dokumentet og spesifikasjonene for dette produktet kan endres uten forvarsel. Brother forbeholder seg retten

Detaljer

Velkommen til INF Introduksjon til operativsystemer og datakommunikasjon

Velkommen til INF Introduksjon til operativsystemer og datakommunikasjon Velkommen til INF-1060 Introduksjon til operativsystemer og datakommunikasjon 21.08.2007 INF1060 1 Forelesere: Pål Halvorsen (paalh@ifi.uio.no) Nettverk og Distribuerte systemer (ND) (ved Simula) Kjell

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

Velkommen til INF Introduksjon til operativsystemer og datakommunikasjon

Velkommen til INF Introduksjon til operativsystemer og datakommunikasjon Velkommen til INF-1060 Introduksjon til operativsystemer og datakommunikasjon 22.08.12 INF1060 1 Forelesere: Pål Halvorsen (paalh@ifi.uio.no) Nettverk og Distribuerte systemer (ND) (ved Simula) Tor Skeie

Detaljer

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

Utførelse av programmer, funksjoner og synlighet av variabler (Matl.) Utførelse av programmer, funksjoner og synlighet av variabler (Matl.) Av Jo Skjermo (basert på Alf Inge Wang sin versjon om JSP). 1. Utførelse av kode i kommando/kalkulatormodus Et dataprogram består oftest

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

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

Systemutvikling (Software Engineering) TDT 4110 IT Grunnkurs Professor Guttorm Sindre

Systemutvikling (Software Engineering) TDT 4110 IT Grunnkurs Professor Guttorm Sindre Systemutvikling (Software Engineering) TDT 4110 IT Grunnkurs Professor Guttorm Sindre Læringsmål og pensum Mål Lære å lage større og sammensatte programmer Pensum Pythonboka kap. 1-9, 12 Teorikapitlet

Detaljer

Forprosjekt. Accenture Rune Waage, rune.waage@accenture.com, 91605634

Forprosjekt. Accenture Rune Waage, rune.waage@accenture.com, 91605634 Forprosjekt Presentasjon Gruppe 19: Event-planlegger Andreas Berglihn s169991 Harald R. Svendsen s127142 Gruppe Gruppe 19 Andreas Berglihn, s169991 Harald R. Svendsen s127142 Oppgave Eventplanlegger Utvikle

Detaljer

Kom i gang med Python

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

Detaljer

Redd verden. Steg 1: Legg til Ronny og søppelet. Sjekkliste. Introduksjon

Redd verden. Steg 1: Legg til Ronny og søppelet. Sjekkliste. Introduksjon Redd verden Nybegynner Scratch Introduksjon Kildesortering er viktig for å begrense hvor mye avfallet vårt påvirker miljøet. I dette spillet skal vi kildesortere og samtidig lære en hel del om meldinger

Detaljer

Dagens tema: 12 gode råd for en kompilatorskriver. Sjekking av navn. Lagring av navn. Hvordan finne et navn?

Dagens tema: 12 gode råd for en kompilatorskriver. Sjekking av navn. Lagring av navn. Hvordan finne et navn? Dagens tema: 12 gode råd for en kompilatorskriver Hva skal gjøres med navn? Sjekking av navn Hvordan sjekke navn? Testutskrifter 12 gode råd En kompilator må også sjekke riktig navnebruk: Det må ikke forekomme

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

ADDISJON FRA A TIL Å

ADDISJON FRA A TIL Å ADDISJON FRA A TIL Å VEILEDER FOR FORELDRE MED BARN I 5. 7. KLASSE EMNER Side 1 Innledning til addisjon 2 2 Grunnleggende om addisjon 3 3 Ulike tenkemåter 4 4 Hjelpemidler i addisjoner 9 4.1 Bruk av tegninger

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

INF Obligatorisk innlevering 7

INF Obligatorisk innlevering 7 INF1000 - Obligatorisk innlevering 7 Høsten 2016, IFI UiO Frist: 6. November 2016 kl 22:00 Tema denne uka: Et større objektorientert program. Administrasjon av eierskap og utlån av DVD-er I denne oppgaven

Detaljer

Kapittel 21: Minne og variabler

Kapittel 21: Minne og variabler Kapittel 21: Minne og variabler 21 Introduksjon til minne og variabler... 334 Kontrollere og tilbakestille minnet... 337 Vise VAR-LINK-skjermbildet... 338 Manipulere variabler og mapper med VAR-LINK...

Detaljer

Del 4 Noen spesielle C-elementer

Del 4 Noen spesielle C-elementer Del 4 Noen spesielle C-elementer 1 RR 2016 Header-filer inneholder Prototypene til funksjonene i standard biblioteket Verdier og definisjoner som disse funksjonene bruker #include #include

Detaljer

Dette er nytt i GM EPC

Dette er nytt i GM EPC Dette er nytt i GM EPC GMs neste versjon av EPC har utallige nye funksjoner for å gjøre det raskere og enklere å finne den riktige delen. Velg Brukerhåndbok på Hjelp-menyen i EPC for å få nærmere instruksjoner

Detaljer

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

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

Detaljer

Komme i gang med Skoleportalen

Komme i gang med Skoleportalen Generell brukerveiledning for Elevportalen Denne elevportalen er best egnet i nettleseren Internett Explorer. Dersom du opplever kompatibilitets-problemer kan det skyldes at du bruker en annen nettleser.

Detaljer

Shellscripting I. Innhold

Shellscripting I. Innhold Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag Shellscripting I Tor Halsan 19.08.2010 Lærestoffet er utviklet for faget LN199D Scripting av Servere Resymé: Leksjonen er første innføring

Detaljer

TI -programvare for grafiske enheter og informasjon om lokalisering

TI -programvare for grafiske enheter og informasjon om lokalisering TI -programvare for grafiske enheter og informasjon om lokalisering TI-programvare for grafiske enheter Installasjonsanvisninger for TI-programvare for grafiske enheter Lokaliseringsanvisninger TI-83 Plus

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

Endringer i Flash CS6 Professional. Innhold. Endringer i forhold til boka. Oppdatering til boka: Multimedieutvikling i Flash CS5 Professional

Endringer i Flash CS6 Professional. Innhold. Endringer i forhold til boka. Oppdatering til boka: Multimedieutvikling i Flash CS5 Professional Oppdatering til boka: Multimedieutvikling i Flash CS5 Professional Endringer i Flash CS6 Professional I denne oppdateringen går vi gjennom boka Multimedieutvikling i Flash CS5 Professional og beskriver

Detaljer

Javas klasse-filer, byte-kode og utførelse (og litt om C# sin CIL-kode)

Javas klasse-filer, byte-kode og utførelse (og litt om C# sin CIL-kode) Javas klasse-filer, byte-kode og utførelse (og litt om C# sin CIL-kode) Disse foilene er pensum INF 5110, 30/4-2013, Stein Krogdahl Byte-koden for Java og.nett (C#) kan leses her: http://en.wikipedia.org/wiki/java_bytecode_instruction_listings

Detaljer

Du har sikkert allerede startet noen programmer ved å trykke på kontrollknappen. VINDUER = WINDOWS

Du har sikkert allerede startet noen programmer ved å trykke på kontrollknappen. VINDUER = WINDOWS Operativsystemet Kort historie Utviklingen av datamaskiner og dataprogrammer går fort. Den som har sitt første møte med dataverdenen i dette kurset, vil kanskje allikevel ha hørt om DOS (Disk Operating

Detaljer

HiOA TDK. Ingeniørfag data. DATS1600 Programutvikling. Eva Hadler Vihovde. Prosjektoppgaven 2015. - Prosessdokumentasjon - Alternativ 1

HiOA TDK. Ingeniørfag data. DATS1600 Programutvikling. Eva Hadler Vihovde. Prosjektoppgaven 2015. - Prosessdokumentasjon - Alternativ 1 HiOA TDK Ingeniørfag data DATS1600 Programutvikling Eva Hadler Vihovde Prosjektoppgaven 2015 - Prosessdokumentasjon - Alternativ 1 - Forsikring - Gruppe #14 Studentnavn Marius Alexander Skjolden Hans Christian

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

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

Hei verden. Introduksjon. Steg 1: Sette opp Xcode. Skrevet av: Andreas Amundsen

Hei verden. Introduksjon. Steg 1: Sette opp Xcode. Skrevet av: Andreas Amundsen Hei verden Skrevet av: Andreas Amundsen Kurs: Swift 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

Detaljer

Guide for tilkobling til HIKT s Citrix løsning

Guide for tilkobling til HIKT s Citrix løsning Guide for tilkobling til HIKT s Citrix løsning Innhold Guide for tilkobling til HIKT s Citrix løsning... 1 Sjekk om Citrix er installert... 1 Tilgang til applikasjon fra kontoret... 2 Tilgang til applikasjon

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

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

UNIVERSITETET I OSLO

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

Detaljer

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

Kapittel 1: Datamaskiner og programmeringsspråk. Java som første programmeringsspråk

Kapittel 1: Datamaskiner og programmeringsspråk. Java som første programmeringsspråk Kapittel 1: Datamaskiner og programmeringsspråk Forelesningsnotater for: Java som første programmeringsspråk Khalid Azim Mughal, Torill Hamre, Rolf W. Rasmussen Cappelen Akademisk Forlag, 2003. ISBN 82-02-23274-0

Detaljer

Læringsmål for forelesningen

Læringsmål for forelesningen Læringsmål for forelesningen Objektorientering Håndtering av unntak (eng: exceptions) Java-programmering Håndtering av unntak Exception-objekter og klasser try, catch og finally throw og throws Eclipse

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

IN 147 Program og maskinvare. Velkommen til IN 147. Program- og maskinvare

IN 147 Program og maskinvare. Velkommen til IN 147. Program- og maskinvare Velkommen til IN 147 Program- og maskinvare Dagens tema: Presentasjon av kurset Litt om programmeringsspråket C Registrering av oppmøte Ark 1 av 22 Forelesning 22.1.2001 Foreleserne Sigbjørn Næss Digitaltekniker

Detaljer

TDT4105 Informasjonsteknologi, grunnkurs. Introduksjon til programmering i Matlab. Rune Sætre / Anders Christensen {satre, anders}@idi.ntnu.

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

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF1010 Objektorientert programmering Dato: 9. juni 2016 Tid for eksamen: 09.00 15.00 (6 timer) Oppgavesettet er på 7 sider. Vedlegg:

Detaljer

NOTAT (pensum!) Javas klasse-filer, byte-kode og utførelse

NOTAT (pensum!) Javas klasse-filer, byte-kode og utførelse NOTAT (pensum!) Javas klasse-filer, byte-kode og utførelse Dessverre litt få figurer INF 5110, 8/5-2012, Stein Krogdahl Byte-koden for Java og.nett (C#) http://en.wikipedia.org/wiki/java_bytecode_instruction_listings

Detaljer