Objective-C. Ina Carine Aarvig
|
|
- Leif Kristensen
- 6 år siden
- Visninger:
Transkript
1 Objective-C Ina Carine Aarvig
2 Innhold 1 Objective-Cs historie NeXT og Steve Jobs Apple Xcode 5 3 Objective-C Objekter, klasser og metoder Objekter Klasser Metoder Arv, kategorier og interface Arv Kategorier Interface Model-View-Controller Minnehåndtering Utprøvninger Enkle tester Color Swapper TicTacToe Avsluttning Ressurser Bibliografi 12 2
3 Innledning Bruken av smarttelefoner og nettbrett har vokst kraftig de siste årene, og dermed har det også blitt et bredt utvalg av applikasjoner. Spesielt nettbrettet har vokst mye etter at Apple kom ut med sin første ipad, og nå også ipad 2. I Apples App Store kan en finne et bredt utvalg av applikasjoner, og det finnes så mange som over stykker. Alt fra for eksempel spill, musikk, skole og helse kan man finne applikasjoner om. Og det er nettopp i disse applikasjonene hvor Objective-C brukes for å kunne utvikle dem. 3
4 Objective-Cs historie Objective-C, ble først laget tidlig på tallet av Brad Cox og Tom Love, og har hatt en lang historie [2]. Programmeringsspråket stammer fra C, som er et ikke objektorientert språk. Et objektorientert språk går ut på å bruke/lage objekter som inneholder klart definert kode som kan fungere selvstendig, men også i større komplekse systemer hvor det er flere objekter som snakker sammen. Smaltalk var et av de første objektorientere programmeringsspråkene, og det er dette språket Objective-C bruker elementer fra. Objective-C er et lite men kraftfullt tillegg til C.[1] 1.1 NeXT og Steve Jobs I slutten av tallet fikk NeXT og Steve Jobs rettighetene til Objective-C, hvor de fortsatte å utvide språket til å være ett av hovedspråkene i operativsystemet deres kalt NeXTStep [2]. Dette operativsystemet er det som har lagt grunnlaget for Apples Mac OS X, og dermed tatt med seg bruken av Objective- C videre. Senere har det også blitt tilpasset til et mobilt operativsystem kalt ios som i dag blir brukt på både iphone, ipad og ipod. [3] 1.2 Apple Steve Jobs var med på å grunnlegge Apple men ble etterhvert dyttet ut av selskapet. Etter at han forlot Apple startet han bedriften NeXT, som etterhvert utviklet operativsystemet NeXTStep. På tallet hadde Apple problemer med å utvikle et nytt operativsystem for å erstatte MacOS, som begynte å bli for utdatert. Apple slet også en del på markedet i denne perioden. Etter en del mislykkede forsøk, ble de nødt til å få tak i en bedrift som allerede hadde et operativsystem. Det var I 1997 hvor Apple fikk tak i NeXT og operativsystemet deres, og igjen så var Steve Jobs tilbake i Apple. [3] 4
5 Xcode En av de vanligste utviklingspakkene for Objective-C er Xcode. Dette er Apples egen pakke som inneholder alt en trenger for å sette i gang for å utvikle applikasjoner til både Mac OS X og ios. Noe av det den inneholder er en simulator som viser hvordan applikasjonene vil se ut og fungere, og en interface builder hvor man kan sette opp et grafiskgrensesnitt. Den nyeste versjonen av Xcode kan nå lastes ned gratis uten at man behøver å være medlem av Apples utvikler program. Men for å kunne teste ut sine applikasjoner på en ipad/iphone, er man nødt til å bli medlem. Dette koster rundt 570 kroner i året (99 dollar), hvor man i tillegg vil få muligheten til å legge ut sine applikasjoner på App Store. Figur 2.1: Dette bildet viser hvordan brukergrensesnittet til Xcode kan se ut. 5
6 Objective-C Objetive-C et objektorientert programmeringsspråk, som vil si at man bruker flere objekter som inneholder metoder og datastrukturer. Disse objektene kan opptre selvstendig eller være del av et større og kompleks system. For å kommunisere med andre bruker de noe som kalles for metoder. Disse kan endre eller utlevere data om objektet etter hva man ønsker å gjøre. Det som definerer hvordan et objekt skal se ut er det som kalles for klasser. Klassene beskriver hvordan objektet skal oppføre seg og hvilke egenskaper de skal ha. 3.1 Objekter, klasser og metoder Objekter Et objekt inneholder strukturert data (instans variabler) og metoder som kan bruke eller endre objektets data. Et objekt kan sees på som en fullstendig og selvstendig programmeringsenhet. Den inneholder alle de delene den trenger for å være hel og er ikke avhengig av andre. For at andre skal få innformasjon om et objekt, må det være en metode som gir denne innformasjonen. [1] Feks - Et rektangel objekt vil ha en metode som sier noe om størrelsen. Et objekt har bare tilgang til sine egne metoder og kan ikke bruke metodene til andre objekter. Det gjemmer sine instans variabler og metoder i seg selv, akkurat som en funksjon som gjemmer sine lokale variabler fra resten av programmet. [1] Klasser En klasse er en arbeidstegning for et objekt. Den forteller hva slags egenskaper og hvordan det skal oppføre seg. Endrer man på klassen vil alle dens instanser av objekter endre seg. Endrer man derimot på en av instansene, vil ikke dette ha noen effekt på de andre objektene. I Objective-C består en klasse av to filer, en header fil (.h) og en main fil (.m). Header fila er den som definerer og setter egenskapene på de metodene og variablene som skal implementeres i main fila. Det er også i denne filen hvor man bestemmer om klassen skal arve eller være en kategori til en annen klasse. 6
7 3.1.3 Metoder Metoder er det som blir brukt for å kommunisere i mellom flere objekter, og det å endre et objekts data eller å hente det ut. Det å sende en beskjed til et objekt, skrives ofte slik [mottaker beskjed]. Her er mottakeren det objektet som skal få beskjed om å gjøre noe, altså utføre en metode som det blir kalt på (beskjeden). Når man skal kalle på en metode som har flere parametere skrives det ofte slik: [mittobjekt leggsammentallet:4 medtallet:5]. Det er også mulig at et parameter kan ta imot flere parametere. Ved å gjøre dette skiller man de med et komma. Disse parameterne vil ikke være en del av navnet på metoden, og det er heller ikke nødvendig å sende inn argumenter for disse utenom det første. De er valgfrie å ha med. Videre kan man også sende inn ett nytt metode kall som et argument for et parameter, et eksempel på dette er: [mittobjekt settfargentil: [mittandresobjekt farge]] Det er mulig for variabler og metoder å ha et likt navn. [1] 3.2 Arv, kategorier og interface Arv Klasser kan arve fra andre klasser, slik at de får deres egenskaper og metoder. En klasse kan bare arve fra en annen klasse, men en klasse kan ha flere forskjellige klasser som arver fra den. Klassen som arver i fra en annen klasse kalles for underklasse, mens den det arves i fra kalles for en superklasse/foreldreklasse. Arv kan sees på som strukturer eller hierarkier av klasser som deler noen egenskaper. Måten dette skrives på i Objective-C er TicTacToe : NS- Object. Det som skjer her er at klassen TicTacToe skal arve fra en annen klasse som heter NSObject. På denne måten vil TicTacToe klassen få alle egenskapene og metodene til NSObject. Men det betyr ikke at TicTacToe klassen ikke kan endre på metodene eller egenskapene den arver. En underklasse kan legge til sine egne metoder, men også endre på de den arver Kategorier Interface Et interface sier noe om hvordan det brukeren ser skal se ut og inneholde. Det kan implementeres av flere klasser, men en klasse kan bare ha et interface. Klassen som implementerer et interface må da også implementere de metodene interfacet inneholder. 3.3 Model-View-Controller Model-View-Controller (MVC) går ut på å separere et View fra en Modell, og hvor man bruker en Controller for å kommunisere mellom disse. Et View er det som består av de UI elementene som skal vises og har en fil endelse på.xib. Modellen er den som inneholder de dataene og den innformasjonen som skal brukes. Noen eksempler på dette kan for eksempel være en database, en klasse eller en strukturert XML fil. Controlleren er en klasse som håndterer 7
8 hvordan et View og en Model skal snakke sammen, og har dermed jobben med å oppdatere modellen og viewet. Når man opperetter en controller klasse er det vanlig å ha med ordet ViewController som en del av klassenavnet. 3.4 Minnehåndtering I ios versjonene som er tidligere enn versjon 5, må man administrere minnet selv da det ikke finnes noen garbage collection. Det som er vanlig å gjøre er at hver gang man kaller metoden alloc på et objekt, må man også kalle på metoden release. Metoden alloc ber om å få frigjort nok minne til oppretting av objektet det kalles på. Release metoden fungerer da på motsatt måte, at den fjerner objektet fra minnet slik at det ikke skal skje noen minnelekkasjer. 8
9 Utprøvninger Dette kapittelet tar for seg de testene som har blitt gjort underveis i fordypningen i Objective-C. Isteden for at all kode står her, ligger de i en mappe ved siden av som det er lenket til på hovedsiden. De neste underkapitlene inneholder beskrivelse på hva testene går ut på og hva det er som skjer, med forklaring av kodeeksempler. 4.1 Enkle tester Fleste av de enkle testene som ble gjort gikk ut på å plassere ut grensesnitt objekter grafisk, men også ved å bruke bare kode. Det var også forskjellige typer av Hello World programmet som er vanlig gjennomføre i de fleste programmeringsspråk. 4.2 Color Swapper Denne applikasjonen går ut på å koble seg opp mot Bonjour ved å bruke URL n til en Mac. Det den så gjør, ved hjelp av linken som inneholder en RGB kode, er å bytte farge i vinduet til en applikasjon som heter Kameleon. Det grafiske grensesnittet i Color Swapper er satt opp slik at den har et tekstfelt for å motta en URL, og tre knapper som hver har sin egen farge. Koden som er under viser noe av det som skjer når brukeren sender inn sin URL etter å trykke på en av knappene. NSURL *url = [[NSURL alloc] initwithstring:stringurl]; NSURLRequest *urlrequest = [[NSURLRequest alloc] initwithurl:url]; NSURLConnection *urlconnection = [[NSURLConnection alloc] initwithrequest:urlrequest delegate:self startimmediately:yes]; Det som skjer her, er at det først blir opprettet et URL med en tekststreng. Tekststrengen er den som brukeren skrev inn. Deretter blir det opprettet et URLRequest objekt med URL objektet, og så til slutt en URLConnection med forespørselobjektet. Det er URLConnection objektet som blir brukt videre for å sette opp tilkoblingen som sender forespørselen om å endre farge i Kameleon applikasjonen. Denne Color Swapper applikasjonen er enkel men ga en god trening på det å bruke en URL og sette opp en forbindelse. 9
10 4.3 TicTacToe Denne applikasjonen ble gjort ved å følge et av tutorialene til Wibit.net, og er rett å slett en enkel versjon av tre på rad spillet. Den går ut på at det er to spillere som spiller på den samme iphonen, eller at en spiller kan spille mot en kunstig spiller. Figur 4.1: Dette bildet viser hvordan TicTacToe appen ser ut, og hvordan simulatoren fungerer. Det første som ble gjort var å opprette den klassen som tar for seg reglene og hvordan brettet skal fungere i spillet. Eksempel på en kode bit her, er hvordan man finner ut av hvem sin tur det er. - (char) whoseturn { if(_movecount % 2) { return O ; } return X ; } Det som skjer her er at vi har en metode som heter whoseturn, som skal returnere en karakter (char). Karakteren vil representere hvilken spiller det er. X er for den spilleren som starter og O er spiller nummer to. Det metoden gjør er å kjøre en if-test på om variabelen _movecount blir et oddetall når man tar modulus to. Er den det vil det være spiller to sin tur og O returneres. Hvis det er partall er det X som returneres. 10
11 Avsluttning Det å ha en forståelse av objektorientert programmering fra før av har hjulpet veldig med å forstå Objective-C. Men likevel har det vært vanskelig, da det er noe annerledes enn for eksempel Java. Det som har vært vanskelig er hvordan syntaksen i språket er, men også det å vite hva som er tilgjengelig av metoder og objekter. Og selvsagt, er det å måtte håndtere minnet selv en av de største utfordringene. Men det er noe som er viktig å kunne selv om det nå i ios 5 finnes en enklere måte å gjøre dette på. Forståelsen for Objective-C har helt klart blitt bedre, men det er likevel mye som gjenstår å lære seg. I denne fordypningen ble det sett på det grunnleggende, og ikke så veldig dypt inn på hvert enkelt tema. 5.1 Ressurser Her er de ressursene som ble brukt underveis for å lære Objective-C. Den ressursen som har vært veldig lærerik er et tutorial som består av flere videoer som tar for seg det meste innenfor Objective-C. Denne siden heter Wibit.net og her er det en link rett til Wibit.nets Objective-C tutorial En annen side som har hjulpet litt, men ikke like mye som forrige, er en blogg som inneholder mange tutorials for nybegynnere og de med litt mer erfaring. Denne siden er ikke like oppdatert på de siste versjonene av Objective-C, men har likevel vært nyttig. Icecodeblog.com tutorial 11
12 Bibliografi [1] Apple Inc. The objective-c programming language, URL Conceptual/ObjectiveC/Introduction/introObjectiveC.html. [2] Apple Inc. Object-oriented programming with objective-c, URL Conceptual/OOP_ObjC/Introduction/Introduction.html. [3] Neil Smyth. The history of objective-c, URL techotopia.com/index.php/the_history_of_objective-c. 12
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,
DetaljerObjective-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..............................
DetaljerHei 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
DetaljerHei 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
DetaljerVerden. Steg 1: Vinduet. Introduksjon
Verden Introduksjon Processing Introduksjon Velkommen til verdensspillet! Her skal vi lage begynnelsen av et spill hvor man skal gjette hvilke verdensdeler som er hvor. Så kan du utvide oppgava til å heller
DetaljerVerden. Introduksjon. Skrevet av: Kine Gjerstad Eide og Ruben Gjerstad Eide
Verden Skrevet av: Kine Gjerstad Eide og Ruben Gjerstad Eide Kurs: Processing Tema: Tekstbasert Fag: Matematikk, Programmering, Samfunnsfag Klassetrinn: 8.-10. klasse, Videregående skole Introduksjon Velkommen
DetaljerKlask-en-Muldvarp. Introduksjon. Skrevet av: Basert på MITs "MoleMash for App Inventor 2"-guide (
Klask-en-Muldvarp Skrevet av: Basert på MITs "MoleMash for App Inventor 2"-guide (http://appinventor.mit.edu/explore/ai2/molemash.html) Oversatt av: Hanne Johnsen Kurs: Appinventor Tema: App, Blokkbasert
DetaljerDet du skal gjøre i denne oppgava er først å sette opp bakgrunnen til spillet og så rett og slett å få firkanter til å falle over skjermen.
Tetris Introduksjon Processing Introduksjon Lag starten på ditt eget tetris spill! Det du skal gjøre i denne oppgava er først å sette opp bakgrunnen til spillet og så rett og slett å få firkanter til å
DetaljerTetris. Introduksjon. Skrevet av: Kine Gjerstad Eide. Lag starten på ditt eget tetris spill!
Tetris Skrevet av: Kine Gjerstad Eide Kurs: Processing Introduksjon Lag starten på ditt eget tetris spill! Det du skal gjøre i denne oppgava er først å sette opp bakgrunnen til spillet og så rett og slett
DetaljerUNIVERSITETET 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
Detaljer2 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.
DetaljerTDT4102 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:
DetaljerINF1010 MVC i tekstbaserte programmer
INF1010 MVC i tekstbaserte programmer Marit Nybakken marnybak@ifi.uio.no 9. februar 2004 Marit har ingen utdanning innen systemutvikling og vet antageligvis ikke hva hun prater om. Hun har dog skumlest
DetaljerKlask-en-Muldvarp. Steg 1: Gjøre klart spillbrettet. Sjekkliste. Introduksjon
Klask-en-Muldvarp Introduksjon App Inventor Introduksjon I denne oppgaven skal vi lage et veldig enkelt spill med litt animasjon. Det som skal skje er at en muldvarp hopper rundt på spillbrettet mens du
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Side 1 Det matematisk-naturvitenskapelige fakultet Eksamen i: INF1010 Objektorientert programmering Eksamensdag: Onsdag 4. juni 2014 Tid for eksamen: 9:00-15:00 Oppgavesettet er på
Detaljerpublic static <returtype> navn_til_prosedyre(<parameter liste>) { // implementasjon av prosedyren
Prosedyrer Hensikten med en prosedyre Hensikten med en prosedyre er, logisk sett, å representere en jobb eller en funksjonalitet i et eller flere programmer. Bruk av entall er viktig: vi har generelt en
DetaljerTestsituasjon Resultat Kommentar. Fungerer som det skal!
Test- rapport Testsituasjon Resultat Kommentar Test av PHP-variablene. Sjekke om de er riktig deklarert, og om de kommer med fra form til database Alle variablene som skal leses fra konfigurasjonssiden,
DetaljerKjørehjelperen Testdokumentasjon
2013 Kjørehjelperen Testdokumentasjon Høgskolen i Oslo og Akershus Henrik Hermansen og Lars Smeby Gruppe 8 26.05.2013 Forord Dette dokumentet tar for seg to forskjellige ting. Først forklares det hvordan
DetaljerForprosjekt gruppe 13
Forprosjekt gruppe 13 Presentasjon Tittel: Oppgave: Periode: Gruppemedlemmer: Veileder: Oppdragsgiver: Kontaktperson: Mobilbillett i HTML5 Utvikle en mobil billettautomat innenfor kategorien dedikert web
DetaljerTDT4102 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:
DetaljerSteg 1: Lag bildedeklarasjon
Bildepresentasjon Skrevet av: Ruben Gjerstad Eide og Kine Gjerstad Eide Kurs: Processing Tema: Tekstbasert, Animasjon Fag: Programmering, Kunst og håndverk Klassetrinn: 8.-10. klasse, Videregående skole
DetaljerIN1010 V19, Obligatorisk oppgave 2
IN1010 V19, Obligatorisk oppgave 2 Innleveringsfrist: Tirsdag 26.02 kl 23.59 Introduksjon I de obligatoriske oppgavene fremover skal du lage et system som holder styr på leger, pasienter, resepter og legemidler.
Detaljer2 Om statiske variable/konstanter og statiske metoder.
Gaustadbekkdalen, januar 22 Litt om datastrukturer i Java Av Stein Gjessing, Institutt for informatikk, Universitetet i Oslo Innledning Dette notatet beskriver noe av det som foregår i primærlageret når
DetaljerKan micro:biten vår brukes som en terning? Ja, det er faktisk ganske enkelt!
Microbit PXT: Terning Skrevet av: Geir Arne Hjelle Kurs: Microbit Språk: Norsk bokmål Introduksjon Kan micro:biten vår brukes som en terning? Ja, det er faktisk ganske enkelt! Steg 1: Vi rister løs Vi
DetaljerOm du allerede kjenner Scratch og har en Scratchbruker kan du gå videre til Steg 1.
Pingviner på tur Skrevet av: Geir Arne Hjelle Kurs: Scratch Tema: Blokkbasert, Spill Fag: Programmering Klassetrinn: 1.-4. klasse, 5.-7. klasse, 8.-10. klasse Introduksjon Velkommen til Scratch. Vi skal
DetaljerOversikt. 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
DetaljerI denne oppgaven blir du introdusert for programmeringsspråket JavaScript. Du skal gjøre den klassiske oppgaven Hei verden, med en katt.
JS: Hei JavaScript! Skrevet av: Arve Seljebu Kurs: Web Tema: Tekstbasert, Nettside Fag: Programmering Klassetrinn: 8.-10. klasse, Videregående skole Introduksjon I denne oppgaven blir du introdusert for
DetaljerUNIVERSITETET 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:
DetaljerTDT4100 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
DetaljerKom 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
DetaljerI denne oppgaven blir du introdusert for programmeringsspråket JavaScript. Du skal gjøre den klassiske oppgaven Hei verden, med en katt.
JS: Hei JavaScript! Introduksjon Web Introduksjon I denne oppgaven blir du introdusert for programmeringsspråket JavaScript. Du skal gjøre den klassiske oppgaven Hei verden, med en katt. Steg 1: Bruke
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i Eksamensdag: 4. juni 2005 Tid for eksamen: 0900 1500 Oppgavesettet er på 5 sider. Vedlegg: Tillatte hjelpemidler: INF1010 Objektorientert
DetaljerProgrammering 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
Detaljer1. 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
Detaljerpublic static <returtype> navn_til_prosedyre(<parameter liste>) { // implementasjon av prosedyren
Prosedyrer Hensikten med en prosedyre Hensikten med en prosedyre er, logisk sett, å representere en jobb eller en funksjonalitet i et eller flere programmer. Bruk av entall er viktig: vi har generelt en
DetaljerVMware Horizon View Client. Brukerveiledning for nedlasting, installasjon og pålogging for fjerntilgang
VMware Horizon View Client Brukerveiledning for nedlasting, installasjon og pålogging for fjerntilgang Introduksjon Fjerntilgang er blitt oppgradert til en bedre og mer moderne løsning. Programmet er identisk
DetaljerOppdatering til boka: Programmering i ActionScript 3.0 Flash CS3 Professional
1 Oppdatering til boka: Programmering i ActionScript 3.0 Flash CS3 Professional Endringer i Flash CS5 Professional I denne oppdateringen går vi gjennom boka Programmering i ActionScript 3.0 Flash CS3 Professional
DetaljerNedlasting av apper på Apple
Nedlasting av apper på Apple Vi skal se på hvordan du kan laste ned apper på ditt nettbrett. Først, hva menes med uttrykkene app, apper applikasjoner. app er kortversjonen av det engelske uttrykket application,
DetaljerKomme igang med App Inventor Introduksjon App Inventor PDF
Komme igang med App Inventor Introduksjon App Inventor PDF Introduksjon Dette er en introduksjon til MIT App Inventor, hvor du skal lære å lage applikasjoner til Android. Å lage apps i App Inventor er
Detaljernotater 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
DetaljerEksekveringsrekkefø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
DetaljerDette er en demonstrasjonsside som vi skal bruke for å se litt nærmere på HTTP protokollen. Eksemplet vil også illustrere et par ting i PHP.
1 Dette er en demonstrasjonsside som vi skal bruke for å se litt nærmere på HTTP protokollen. Eksemplet vil også illustrere et par ting i PHP. (Læreboka kapittel 2-5) Legg merke til den første blokken,
DetaljerDagens 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
DetaljerObject 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
DetaljerIN2000. Gjennomgang av tekniske oppgaver på prøveeksamen. Erlend Stenlund og Steffen Almås + innspill fra Gaute Berge
IN2000 Gjennomgang av tekniske oppgaver på prøveeksamen Erlend Stenlund og Steffen Almås + innspill fra Gaute Berge Hva er en Data Class i Kotlin? (1p) En data class er en klasse som brukes for å holde
DetaljerUtvikle en prototype for en digital versjon av helsekort for gravide. Programvareleverandør av ehelse-løsninger for helsevesenet
Kravspesifikasjon Hovedprosjekt 2014 Institutt for informasjonsteknologi, Høgskolen i Oslo og Akershus Presentasjon Tittel: Oppgave: Gruppemedlemmer: Digitalt Helsekort for Gravide Utvikle en prototype
DetaljerQt 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
DetaljerINF1010 våren januar. Objektorientering i Java
INF1010 våren 2017 25. januar Objektorientering i Java Om enhetstesting (Repetisjon av INF1000 og lær deg Java for INF1001 og INF1100) Stein Gjessing Hva er objektorientert programmering? F.eks: En sort
DetaljerCORBA Component Model (CCM)
CORBA Component Model (CCM) INF5040 Høst 2005 Erlend Birkedal Jan Erik Johnsen Tore Ottersen Løkkeberg Denne presentasjonen CORBA Svakheter ved CORBA Object Model Komponenter CORBA Component Model Hva
DetaljerEnkle 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
DetaljerMatematikk Øvingsoppgaver i numerikk leksjon 4 m-ler
Matematikk 1000 Øvingsoppgaver i numerikk leksjon 4 m-ler I denne øvinga skal vi lære oss å lage m-ler små tekstler som vi bruker i MATLAB-sammenheng. Der nst to typer m-ler: Funksjonsler og skript. Funksjonsler
DetaljerMål. Pensum. TDT4110 Informasjonsteknologi grunnkurs: Tema: Unntak (exceptions) (Kap 6) Dictionaries (Kap. 9) Terje Rydland - IDI/NTNU
1 Kunnskap for en bedre verden TDT4110 Informasjonsteknologi grunnkurs: Tema: Unntak (exceptions) (Kap 6) Dictionaries (Kap. 9) Terje Rydland - IDI/NTNU 2 Læringsmål og pensum Mål Lære å bruke unntak (Exceptions)
DetaljerHusk at du skal ha to vinduer åpne. Det ene er 'Python Shell' og det andre er for å skrive kode i.
Skilpaddeskolen Skrevet av: Oversatt fra Code Club UK (//codeclub.org.uk) Oversatt av: Bjørn Einar Bjartnes Kurs: Python Tema: Tekstbasert Fag: Programmering, Kunst og håndverk Klassetrinn: 8.-10. klasse
Detaljer"Hjerneteppe!" er en huskelek hvor du skal huske stadig lengre rekker med bokstaver!
PXT: Hjerneteppe! Skrevet av: Helene Isnes Kurs: Microbit Tema: Blokkbasert, Spill Fag: Programmering Klassetrinn: 5.-7. klasse, 8.-10. klasse Introduksjon "Hjerneteppe!" er en huskelek hvor du skal huske
DetaljerBreakout. Introduksjon. Oversikt over prosjektet. Skrevet av: Geir Arne Hjelle og Martin Lie
Breakout Skrevet av: Geir Arne Hjelle og Martin Lie Kurs: Scratch Tema: Blokkbasert, Spill Fag: Matematikk, Programmering, Kunst og håndverk Klassetrinn: 5.-7. klasse, 8.-10. klasse Introduksjon Breakout
DetaljerAlgDat 12. Forelesning 2. Gunnar Misund
AlgDat 12 Forelesning 2 Forrige forelesning Følg med på hiof.no/algdat, ikke minst beskjedsida! Algdat: Fundamentalt, klassisk, morsomt,...krevende :) Pensum: Forelesningene, oppgavene (pluss deler av
DetaljerAlgDat 10. Forelesning 2. Gunnar Misund
AlgDat 10 Forelesning 2 Oversikt Java repetisjon IDE eller teksteditor + kommandolinje? Java Collections and Generics Programvareutvikling En mengde mer eller mindre veldefinerte metoder (software engineering):
DetaljerObjektorientert programmering i Python
Objektorientert programmering i Python IN1000 Høst 2019 uke 8 Siri Moe Jensen Læringsmål uke 8 Repetisjon fra forrige uke Definere en klasse, opprette og arbeide med objekter: How-to
DetaljerDebugging. 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...
DetaljerEt større programeksempel. Hvordan løse et reelt problem med en objektorientert fremgangsmåte
Et større programeksempel Hvordan løse et reelt problem med en objektorientert fremgangsmåte Plan for forelesingen Beskrive en større problemstilling Planlegge programmet Skrive koden, én klasse om gangen
DetaljerInnhold uke 8. Objekter: Bruk og intern organisering. Beskjeder: Oblig 1 6. Beskjeder: Oblig 7 (og 8)
Innhold uke 8 Objekter: Bruk og intern organisering IN1000 Høst 2017 uke 8 Siri Moe Jensen Repetisjon fra forrige uke Definere en klasse, opprette og arbeide med objekter: How to Forstå (mer av) hva som
DetaljerI 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
DetaljerJavaScriptbibliotek. 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,
DetaljerMangelen 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
DetaljerIntroduksjon til programmering og programmeringsspråk
Introduksjon til programmering og programmeringsspråk Henrik Lieng Høgskolen i Oslo og Akershus https://code.org/ Veldig høy-nivå programmering med Scratch End-user programming Overtone, Tidal, etc., bygger
DetaljerLast ned iphone boka - Bjørn Eirik Loftås. Last ned
Last ned iphone boka - Bjørn Eirik Loftås Last ned Forfatter: Bjørn Eirik Loftås ISBN: 9788293321309 Antall sider: 159 Format: PDF Filstørrelse:18.57 Mb Det er ingen tvil om at iphone er en av de beste
DetaljerLast ned iphone boka - Bjørn Eirik Loftås. Last ned. Last ned e-bok ny norsk iphone boka Gratis boken Pdf, ibook, Kindle, Txt, Doc, Mobi
Last ned iphone boka - Bjørn Eirik Loftås Last ned Forfatter: Bjørn Eirik Loftås ISBN: 9788293321309 Antall sider: 159 Format: PDF Filstørrelse: 21.36 Mb Det er ingen tvil om at iphone er en av de beste
DetaljerUNIVERSITETET 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:
DetaljerSteg 1: Hvordan fungerer spillet?
Lær av et annet spill! Skrevet av: Teodor Heggelund Kurs: Elm Tema: Tekstbasert, Nettside, Spill Fag: Programmering, Teknologi Klassetrinn: 8.-10. klasse, Videregående skole Introduksjon Så langt har dere
DetaljerIntroduksjon 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
DetaljerKONICA MINOLTA LØSNINGER FOR MOBIL UTSKRIFT
JOHN FÅ GLEDEN DOE INC. AV EN ENJOYS FLEKSIBEL TRUSTFUL ARBEIDSSTIL RELATIONSHIP MED MOBIL UTSKRIFT WITH KONICA MINOLTA Global technology leader profits from document security, lower costs, greener printing
DetaljerTips og triks nettbrett (ios og Android) Kristiansand folkebibliotek
Tips og triks nettbrett (ios og ) Kristiansand folkebibliotek Hva er nettbrett?... 2 ipad... 3... 3 App er... 4 Sikkerhet... 9 Tilpassing...10 Oppdatering...10 Praktiske ting...10 Sikkerhetskopiering...12
DetaljerEKSAMENSFORSIDE 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,
DetaljerKan micro:biten vår brukes som et termometer? Ja, den har faktisk en temperatursensor!
PXT: Temperatur Skrevet av: Kolbjørn Engeland, Julie Revdahl Kurs: Microbit Tema: Blokkbasert, Elektronikk, Spill Fag: Programmering Klassetrinn: 1.-4. klasse, 5.-7. klasse, 8.-10. klasse Introduksjon
DetaljerHvordan man kobler til printeren, laster ned CardPresso, installerer skrifttypen og får kommet i gang med produktet.
Komme i gang med printeren Hvordan man kobler til printeren, laster ned CardPresso, installerer skrifttypen og får kommet i gang med produktet. Innholdsfortegnelse Komme i gang med printeren... 1 Laste
DetaljerSprettball Erfaren ComputerCraft PDF
Sprettball Erfaren ComputerCraft PDF Introduksjon Nå skal vi lære hvordan vi kan koble en skjerm til datamaskinen. Med en ekstra skjerm kan vi bruke datamaskinen til å kommunisere med verden rundt oss.
DetaljerINNFØ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
DetaljerEKSAMEN I FAG TDT4100 Objekt-orientert programmering. Fredag 3. juni 2005 KL. 09.00 13.00
Side 1 av 6 NTNU Norges teknisk-naturvitenskapelige universitet BOKMÅL Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap EKSAMEN I FAG
DetaljerIN1010 våren januar. Objektorientering i Java
IN1010 våren 2018 23. januar Objektorientering i Java Om enhetstesting Om arrayer og noen klasser som kan ta vare på objekter Stein Gjessing Hva er objektorientert programmering? F.eks: En sort boks som
DetaljerInnhold 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
DetaljerSteg 1: Piler og knappetrykk
PXT: Er du rask nok? Skrevet av: Julie Christina Revdahl Kurs: Microbit Tema: Blokkbasert, Spill, Elektronikk Fag: Programmering, Teknologi Klassetrinn: 5.-7. klasse, 8.-10. klasse, Videregående skole
DetaljerTDT4165 PROGRAMMING LANGUAGES. Exercise 02 Togvogn-skifting
TDT4165 PROGRAMMING LANGUAGES Fall 2012 Exercise 02 Togvogn-skifting Problembeskrivelse Du er sjef for å skifte vognene til et tog. Vi antar at hver vogn selv har en motor og at toget ikke har noe lokomotiv.
Detaljer3 Filstruktur. Slik ser filstrukturen til applikasjonen ut når den er lagt ut på server eller når den er deployet.
Driftsmanual - BAKE 1 Innledning Denne applikasjonen er skrevet i Spring framework og kjører på tomcat 7, og er avhengig av å ha kontakt med REST-tjenesten til produksjonsdatabasen. Det er lagt inn en
Detaljerprogrameksempel 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"
DetaljerSteg 1: Sette opp Java-prosjekt, og lage app-mappe og app-klasse
Hello world Skrevet av: Hallvard Trætteberg Kurs: Javafx Introduksjon Formålet til denne leksjonen er å lære hvordan man får satt opp et Java-prosjekt i Eclipse og kjørt et JavaFX-program. I tillegg skal
DetaljerSoloball. Introduksjon. Steg 1: En roterende katt. Sjekkliste. Skrevet av: Geir Arne Hjelle
Soloball Skrevet av: Geir Arne Hjelle Kurs: Scratch Tema: Blokkbasert, Spill Fag: Matematikk, Programmering Klassetrinn: 1.-4. klasse, 5.-7. klasse, 8.-10. klasse Introduksjon Vi skal nå lære hvordan vi
DetaljerFinn en partner å prøve spillet sammen med. Det er OK å være tre personer og bytte på hvilke to som spiller.
Lær av et annet spill! Erfaren Elm Introduksjon Så langt har dere lært å skrive egen kode. Å lære å skrive kode krever mye trening for å bli god. Det er også viktig å kunne lese kode. Da lurer vi på ting
DetaljerIntroduksjon til programmering og programmeringsspråk. Henrik Lieng Høgskolen i Oslo og Akershus
Introduksjon til programmering og programmeringsspråk Henrik Lieng Høgskolen i Oslo og Akershus Kategorisering av programmeringsspråk? Deklarativ vs. imperativ Lav nivå vs. høy nivå Kompilert vs. tolket
DetaljerSmarttelefoner og nettbrett. En veileder
Smarttelefoner og nettbrett En veileder Smarttelefon En smarttelefon kan brukes til tekstmeldinger og samtaler. En smarttelefon inneholder programmer som kalles apper, og kan kobles til internett. Nettbrett
DetaljerAdministrering av SafariSøk
Administrering av SafariSøk Administrering av SafariSøk Revisjonshistorie Revisjon $Revision: 1.6 $ $Date: 2003/08/05 12:44:02 $ Innholdsfortegnelse 1. Om programmet... 1 Generelt... 1 2. Fremgangsmåter...
DetaljerInnhold. Forord Det første programmet Variabler, tilordninger og uttrykk Innlesing og utskrift...49
Innhold Forord...5 1 Det første programmet...15 1.1 Å kommunisere med en datamaskin 16 1.2 Programmeringsspråk 17 1.3 Et program som skriver på skjermen 18 1.4 Kompilering og kjøring 19 1.5 Kommentarer
DetaljerInformasjon Eksamen i IN1000 og IN1001 høsten a) 1 poeng. 1b) 1 poeng. Tid. Oppgavene. Tillatte hjelpemidler. 30. november kl. 14.
IN1000-INF1001-2018 Informasjon Eksamen i IN1000 og IN1001 høsten 2018 Tid 30. november kl. 14.30 (4 timer) Faglærere vil besøke lokalet ca kl 15-16. Oppgavene Oppgave 1a-f er kortsvarsoppgaver som rettes
DetaljerEKSAMEN OBJEKTORIENTERT PROGRAMMERING Alle trykte og skrevne. Java API dokumentasjon er tilgjengelig lokalt på hver maskin.
EKSAMEN 6109 OBJEKTORIENTERT PROGRAMMERING 31.05.2016 Tid: 4 timer (9-13) Målform: Sidetall: Hjelpemidler: Merknader: Bokmål 5 (inkludert denne) Alle trykte og skrevne. Java API dokumentasjon er tilgjengelig
DetaljerSeminaroppgaver IN1010, uke 2
Seminaroppgaver IN1010, uke 2 1.a: Skriv en klasse HeiVerden.java. Klassen skal inneholde en main- metode (se på notatet fra tidligere). Inne i main -metoden skal programmet først la brukeren oppgi en
DetaljerIN1000 Obligatorisk innlevering 7
IN1000 Obligatorisk innlevering 7 Frist for innlevering: 23.10. kl 12:00 Introduksjon I denne innleveringen skal du lage et program som simulerer cellers liv og død. Dette skal du gjøre ved hjelp av en
DetaljerTest 2 OOP. - Prøveeksamen
Test 2 OOP - Prøveeksamen 2007 - Viktig: Jobb med oppgavene som om det var eksamen Ikke snakk med sidemann, ta korte pauser, benytt kun skriftlige hjelpemidler du hadde tenkt til å hatt med på eksamen.
DetaljerEndret litt som ukeoppgave i INF1010 våren 2004
Endret litt som ukeoppgave i INF1010 våren 2004!!!" # # $# ##!!%# # &##!'! Kontroller at oppgavesettet er komplett før du begynner å besvare det. Les gjerne gjennom hele oppgavesettet før du begynner med
DetaljerBerøringsskjerm - og hva så?
Contents Berøringsskjerm - og hva så?... 2 Navigasjon på en berøringsskjerm... 3 Hva bør jeg velge - mobiltelefon eller nettbrett?... 4 Android eller ios - hva fungerer best uten syn?... 4 (Dette innholdet
DetaljerLocalBank Prosjektbeskrivelse
LocalBank Prosjektbeskrivelse INNHOLD MÅL... 2 STRUKTUR... 2 IMPLEMENTASJON AV ILOCALBANKREPOSITORY... 3 GUI... 4 EXCEPTION... 4 KODE... 4 NOEN KLASSER OG SPESIELLE EMNER SOM DE VISER... 5 KLASSE DIAGRAMMER...
DetaljerHer skal du lære å programmere micro:biten slik at du kan spille stein, saks, papir med den eller mot den.
PXT: Stein, saks, papir Skrevet av: Bjørn Hamre Kurs: Microbit Introduksjon Her skal du lære å programmere micro:biten slik at du kan spille stein, saks, papir med den eller mot den. Steg 1: Velge tilfeldig
Detaljer