JAVA CHRISTOFFER MARTINSEN

Størrelse: px
Begynne med side:

Download "JAVA CHRISTOFFER MARTINSEN"

Transkript

1 JAVA CHRISTOFFER MARTINSEN 1

2 2 CHRISTOFFER MARTINSEN Contents 1. Introduksjon Innledning Buzzwords Simple Object Oriented Distributed Robust Secure Architecture Neutral Portable Interpreted Hight Performance Multithreaded Dynamic 4 2. Syntax Leksikalske Struktur Operatører Aritmetiske operatører Streng sammensettende operatører Økende og minskende operatører Likhetsoperatører Boolean operatører Uttalelser Uttrykkende uttalelser Sammensatte uttalelser Merket uttalelse Lokal variabel erklæring uttalelse Hvis/ellers uttalelse Skift uttalelsen Mens uttalelsen 8

3 JAVA 3 1. Introduksjon 1.1. Innledning. Javaspråket er et top moderen, objekt-orientert språk som har en syntaks som ligner på C. Språket er laget med hensikt å være kraftig, men allikevel ikke overkomplekst som andre språk, for eksempel C++. Dette bidrar også til å gjøre det lett å programmere feil fri kode. Java ble utgitt i 1996, det fikk utrolig mye popularitet i medier, som The Washington Post og The New York Times, det er også det eneste programmeringsspråket som har fått en 10 minutters story på National Public Radio. Java er ikke bare et programmerinsspråket, det en hel platform Buzzwords Simple. 1. Simple Java syntaksen er en renskrevet versjon av C++ syntaksen, men designerene prøvde ikke å fikse alle de klumsete kjennetegnene i språket. Java er også lite og lett, en av målene var at Java skulle kunne kjøres stand-alone på små maskiner. Størrelsen på tolkeren og klasse støtten er på bare 40K bytes. Det skal sies at graphical user interface (GUI) filene er mye større Object Oriented. 2. Object Oriented Enkelt sagt så er objekt orientert design en programmeringsteknikk som har fokus på dataen (=objektet) og grensesnittet til det objektet. Objekt orientering har vist sin verdig de siste 30 årene, og det er utenkelig at et moderne programmeringsspråk ikke bruker det. Den største forskjellen mellom Java og C++, ligger i den mangfoldige arven, som Java har byttet ut med et simplere grensesnitt konsept, og i Java metaklasse modellen Distributed. 3. Distributed Java har et omfattende bibliotek for kopieringsrutiner med TCP/IP protokoller som http og FTP. Java applikasjoner kan opne og hente objekter over internett via URLer, med samme enkelhet som et lokalt fil system. Java sin nettverksevne er både sterk og enkel å bruke Robust. 4. Robust Java er beregnet for å skrive programme som man kan stole på. Jave fokuserer mye på å finne og fikse problemer tidlig. Også å fjerne situasjoner som fort blir utsatt for error og feil. Den største forskjellen mellom Java og C/C++ er at Java har en pointer modell som eliminerer muligheter for å skrive over minne og å korruptere data. Java kompilereren finner mange problemer før programmet i det heletatt blir kjørt på maskinen Secure. 5. Secure Java er sikker og har høy fokus på sikkerhet. De bugs og svakheter som har blitt oppdaget, har raskt blitt fikset, alle filene for sikkerthet, spesifikasjoner osv har blitt publisert slik at brukere lett kan finne og si ifra om dette Architecture Neutral. 6. Architecture Neutral Kompilerer genererer en arkitektur vennlig objekt fil format, kompilerer koden er kjørbar på mange prossessorer, gitt at den har et Java runtime system. Java kompilereren gjør dette ved å generere bytekode instrukser som ikke har noe med data arkitekturen å gjøre. Det har blitt designet for å være både enkelt å tolke på alle maskiner og lett å oversette til innebygf maskin kode.

4 4 CHRISTOFFER MARTINSEN Portable. 7. Portable I motsettning til C og C++ er det ikke noe implementerings nødvendighet aspekt. Størrelsen av den primitive data typen er spesefik, det er også oppførselen til regningen av dem. Et eksempel på dette er en int i Java er alltid 32-bit heltall, i C/C++, kan int bety 16-bit heltall eller 32-bit heltall. Og ha en fast størrelse på nummer størrelsen sparer mye porteringstrøbbel som kan kommer senere Interpreted. 8. Interpreted Java tolkeren kan kjøre Java bytekode direkte på alle maskiner som oversetteren har blitt portet til. Siden linking er en lettvekt prosses, kan utviklingen skje mye raskere Hight Performance. 9. High Performance På det fleste platformer så brukes det en just-in-time (JIT) kompilerer. Disse fungerer ved å kompilere bytekoden om til lokal kode én gang for så og kalle på den hvis det er nødvendig. Dette setter opp tiden betraktelig Multithreaded. 10. Multithreaded Gevinstene med multithreading er bedre interaktiv respons og real.time oppførsel. I forhold til andre språk er det lett å jobbe med i Java. Threads i Java kan også ta i bruk multikjerne prossesorer Dynamic. 11. Dynamic På flere måtes er Java et mer dynamisk språk enn C og C++. Det ble designet for å kunne tilpasse seg et utviklende miljø. Biblioteker kan fritt legge til nye metoder og variables uten noen effekt på klient deres. 2. Syntax Syntax Java programmer skiller mellom store og små bokstaver, hvis man gjør dette feil så vil ikke programmet kjøre. Det fleste koder og variabler slutter med semikolon (;), det er en vanlig feil og glemme dette, dette vil også føre til at programmet ikke blir kjørt. Selve programmet kan skrives i en hvilken som helst tekst editor som har muligheten til å lagre filer i et rent tekst format, som for eksempel Smultron, EMACS, eller notepad. Filer lagres så med filnavn.java, dette er viktig for å kunne kompilere tekst filen til et ferdig program. Når filnavn.java blir kompilert, lager dette en ny fil som heter filnavn.class, dette er en ferdig kompilert versjon av programmet, men den er fortsatt ikke blitt kompilert til lokal maskin kode, for det så må den igjennom et nytt program, nemlig Java tolkeren (interpreter). Alle Java programmet består av klasser, alt som skal skje i et Java program må skje inne i en klasse for å kunne fungere, det eneste som ikke følger denne regelen er kommentarer, da disse blir ignorert av Java. Klasser er en fundamental del av objekt orientert programmering. Det som definerer starten og slutten av en klasse er og, det mulig å ha flere klasser inne i en klasse. En klasse definerer et sett med samhandlende medlemmer (members). Disse medlemmene kan være felt, metoder, eller andre klasser. En metode er en navngitt bit med Java kode, som kan bli kjørt eller kalt av Java programmet, til å kjøre koden den inneholder. I andre programmeringsspråk kalles dette ofte for funksjoner (function). Metoder har parametere og returnerer verdier. Når en metode blir kalt på så gir du den data som du vil at den skal jobbe med, også gir den deg et svar tilbake. En metode er som en algebra funksjon: y = f(x). I det stykker så er f det du vil at skal skje med x som er verdien du sender til programmet, også får du svaret y tilbake. Metoder er komponert av en eller flere uttalelse (statements),

5 JAVA 5 som Java tolkeren utfører i den rekkefølgen de er skrevet opp i, altså uttalelsen i linje 4, blir kjørt før uttalselsen i linje Leksikalske Struktur. Leksikalske Struktur Java programmer skrives i Unicode, altså så kan Unicode tegn bli brukt hvor som helst i et Javaprogram, dette inkluderer også variabler og identifikatorer. Med Unicode tegnsettet så kan nesten alle skrevne språk representeres. Som sagt så skiller Java mellom store og små bokstaver, de vil si at en variabel som heter i, ikke kan kalles ved å skrive I, eller at WHILE, While og while ikke er det samme nøkkelordet. Mellomrom, ny linje og lignende blir ignorert av Java, og blir brukt for å gjøre koden mer leselig for programmere. Man kan sette inn kommentarer i kode ved hjelp av //, Java tolker dette slik at alt etter // blir ignorert til slutten av linjen, dette er et hjelpeverktøy som er nyttig for å opplyse andre programmere om hvordan programmet fungerer, eller som hjelp til å huske hva koden gjør. Koden /* starter en kommentar som går over flere linjer og denne slutter ikke før */ blir skrevet, alt i mellom dette regnes som en kommentar. Denne typen kommentar kan ikke bli nestet sammen, man kan ikke bruke /* og */ inne i en annen. Den siste kommentar koden er /** og er en dokument kommentar (doc comment), hvis du skriver en klasse du forventer at andre programmere skal bruke, så brukes denne koden for og dokumentere hvordan klassen oppfører seg. Den avsluttes med vanlig */. Et program som heter javadoc tar ut disse kodene og lager en online dokumentasjon for den klassen. En dokument kommentar kan inneholde html linker og kan brukes syntaks som javadoc forstår. I Java finnes det en del ord som er reservert, og disse kan ikke brukes til å navngi variabler, klasser etc. Disse er en del av Java syntaksen. Noen av disse brukes til Java uttalelse og primitive typer. En identifikator er et navn som blir gitt til en del av Java programmet, det kan være en klasse, eller metode og så videre, disse kan være hvilken som helst lengde og kan brukes både tall og bokstaver fra Unicode tegnsettet. Men det kan ikke startet med et tall, da vil kompilatoren tro at dette er en verdi istedenfor en identifikator. Generelt sett så kan ikke navnet inneholde tegnsetting, selv om det finnes noen untak, som for eksempel ASCII understrek ( ). Man kan da bruke detteerentest, og dette er en test. Literals (ord, bokstaver, nummre eller tegn som har en verdi) er verdier som finnes i Java sin kjernekode (source code). Dette inkluderer heltall, flyttall og karakter strenger, og reserverte ord som true, false og null. I Java brukes tegnsetting som elementer, for eksempel for å starte eller avslutte en klasse, eller for å vise når en variabel slutter. Tegnsettingen deles inn i delere (seperators) og operatører (operators). Åtte grunnleggende datatyper støttes av Java, disser er kjent som primitive typer. Disse datatypene inkluderer boolean, karakter, fire heltall typer og to flyttall typer. De fire heltall typene og de to flyttall typene er forskjellige i antall bits som representere dem og antall numre de kan representere. Boolean er en sannhetsverdig og har bare to mulige utfall, altså true/false, on/off eller yes/no. Java har som sagt reservert ordene true og false for å bli brukt som en boolean verdig. Karakter typen er verdig som inneholder et eller flere tegn fra Unicode, koden for å bruke denne er char og den er 16-bits lang. De fire heltall typene er byte, short, int og long, disse variere i hvor mange

6 6 CHRISTOFFER MARTINSEN bits de kan ha som verdi. For eksempel byte som er 8-bits går fra -128 til 127, merk at 128 ikke er det siste tallet, dette er fordi 0 regnes som en egen verdi, på den positive siden. Så hvis man hadde teller med 0 så blir det total 128 tegn på den positive siden. Dette gjelder for alle heltall typene. Flyttall i Java er ekte numre som er representert av float og double, float er 32-bits og double er 64-bits. Begge disse overholder seg til IEEE standarden, som sier hvordan formatet på nummeret skal være, og hvordan det aritmetiske skal oppføre seg. Dette kan vises som et nummer etterfulgt av e eller E, eksponent, også et annet nummer. Det siste numre er hva det skal opphøyes i. For eksempel E02 er x 102 eller Uttrykk (Expressions) blir evaluert av Java tolkeren for å beregne verdien av uttrykket. De enkleste uttrykkene kalles for primære uttrykk og består av literals og variabler. Når Java tolkeren evaluerer et literal uttrykk så blir verdien den samme som literal. Men med en variabel så blir verdien den verdien som variabelen holder på. Mer komplekse uttrykk lager man ved å bruke operatører til å slå sammen flere primære uttrykk Operatører. Operatører Aritmetiske operatører. Aritmetiske operatører Dette er operatører som behandler numre, disse kan bli brukt med heltall og flyttall og også tegn, men ikke boolean verdier. Den første av de aritmetiske operatørene er addisjon (+), + operatøren legger sammen to numre, men den kan også brukes til å legge sammen strenger. Den neste er subtraksjon (-), - operatøren bruker en binær operatør som trekker det andre tallet ifra det første. - operatøren kan også brukes som til å gi et nummer en negativ verdi. Multiplikasjon (*) brukes for å gange to verdier sammen. Divisjon (/) brukes for å dele den første verdien på den andre. Modulo (%) fungerer ved å ta resterende verdi når den første verdien blir delt på den andre verdien. Altså 7%3 blir Streng sammensettende operatører. Streng sammensettende operatører + operatøren kan brukes til å slå sammen strenger. Et objekt blir konvertert til en streng ved å kalle på tostring() metoden Økende og minskende operatører. Økende (increment) og minskende (decrement) operatører Operatøren ++ øker verdien til enheten, som må være en variabel, et element av en array, eller et felt av et objekt, med en. Når operatøren blir brukt før en enhet så blir verdien av enheten økt også blir den evaluert. Hvis operatøren blir brukt etter så økes verdien, men enheten blir evaluert før den blir økt. Sånn som ++, så fungerer likt, utenom at denne trekker 1 ifra enheten Likhetsoperatører. Likhetsoperatører Disse brukes for å se om flere elementer har samme eller ulike verdier, eller for å kjøre teste om hvilken verdi som er størst, forholdsoperatører. Likhetsoperatører gir boolean svar, altså true/false, og brukes som oftets i if, while eller løkker. Er like (==) brukes for å se om enheter har samme verdi, altså om verdien er true. Ikke lik (!=) fungerer som ==, men motsatt. Hvis!= blir true så er ikke svarene like. Forholdsoperatørene brukes på numre og tegn, men kan ikke brukes på boolean verdier, objekter eller arrayer. Mindre enn ( ), blir true hvis det andre elementet er større enn det første. Mindre eller lik ( =), blir true hvis det

7 JAVA 7 andre elementet er større eller lik det første. Større enn ( ) og større eller lik ( =) fungerer akkurat som de forrige, bare motsatt Boolean operatører. Boolean operatører Hvis vi ser på likhets- og forholdsoperatørene, så gir disse et boolean svar, noe som ofte blir brukt i løkker. Istede for å bare se på forholdet mellom to elementer kan vi bruke boolean (eller logiske) operatører. Boolean operatører er avhengig av at verdiene den skal jobbe med er et boolean svar. Betinget OG (conditional AND) && sjekker om sjekker om begge elementene er like, om begge er true, hvis en eller begge elementene er false så blir svaret false. Den blir kalt betinget, fordi det ikke er sikkert at det andre elementet blir sjekket, hvis det første elementet er false, så stopper den opp og gir verdien false. Betinget ELLER (conditional OR), denne sjekker om en av elementene er true, samme som med betinget OG, så er det ikke garantert at den sjekker det andre elementet. Hvis en av elementene er true så blir verdien true, hvis begge er false så blir verdien false. Boolean IKKE (NOT)! forandrer true til false og motsatt Uttalelser. Uttalelser (Statements) En uttalelse er en enkel kode som blir utført av Java tolkeren, disse blir utført etter hverandre, i den rekkefølgen de ble skrevet i. Unntak finnes, hvis man bruker løkker (loops) så kan man overskrive rekkefølgen Uttrykkende uttalelser. Uttrykkende uttalelser (Expression Statements) Noen typer uttrykk har side effekter, de gir ikke bare ifra seg en verdi, men de forandrer også programmet. Alle uttrykk med side effekter kan brukes som en uttalelse, ved å legge til et semikolon (;) etter uttalelsen Sammensatte uttalelser. Sammensatte uttalelser (compound statements) En sammensatt uttalelse er når noe blir gruppert inn i klammeparenteser. Antall elementer har ingen betydning Merket uttalelse. Merket uttalelse (Labeled Statements) Dette er en uttalelse som har fått et navn, dette gjøre ved å starte en løkke med loopnavn: etterfulgt av koden. Dette brukes slik at man kan bruke break og continue som stopper eller fortsetter løkken. For eksempel break loopnavn; Lokal variabel erklæring uttalelse. Lokal variabel erklæring uttalelse (Local Variable Declaration Statements) En lokal variabel, ofte bare kalt variabel, er et symbolsk navn for et sted å lagre en verdig som er definert i en metode eller en sammensatt uttalelse. Alle variabler må bli erklært før de kan brukes, altså lages, og siden Java er et strengt språk så må variabelen defineres til riktig datatype, og når den har blitt definert til en datatype så må den holde seg til det. String S; lager en variabel S av typen String. Det også mulig å gi variabelen en verdi når den blir laget, dette gjøre ved inkludere en et uttrykk som spesifiserer verdien, for eksempel int tall = 1;, dette lager variabelen tall, av typen int (heltall) som har verdien 1. Lokale variabler kan kun brukes inne i den metoden eller kodeblokken den er definert i.

8 8 CHRISTOFFER MARTINSEN Hvis/ellers uttalelse. hvis/ellers uttalelse (if/else statement) hvis uttalelsen er en stor del av Java, og andre programmeringsspråk, denne koden lar Java ta valg, eller å kjøre uttalelser betinget. hvis sjekker om uttrykket er true, hvis det er det så vil den kjøre koden som den inneholder. Det er også mulig å nestet flere hvis setninger sammen. Hvis uttrykket blir false så vil den hoppe over koden. Etter hvis uttalelsen er det mulig å legge til en ellers uttalelse, det vil si at hvis den første uttalelsen, hvis, blir false så vil den kjøre koden i ellers uttalelsen. En ellers setning vil alltid følge den forrige hvis setningen. Derfor lønner det seg og nøste sammen hvis setningen med og, slik at man får sammensatte uttalelser. Det finnes også en tredje uttalelse som gjør at man kan velge mellom flere enn to muligheter, og det er ellers hvis (else if). Dette er en sammensetting av ellers og hvis. I forhold til ellers så trenger denne en uttalelse, sånn som hvis Skift uttalelsen. Skift uttalelsen (Switch statement) En hvis uttalelse lager en gren i flyten av programmets utførelse, det er mulig å bruke mange hvis uttalelser, men dette er ikke noe som alltid er ønskelig. I hvert fall ikke hvis det en hvis uttalelse blir brukt for å teste samme variabel flere ganger, da bruker man heller en skift uttalelse. Det starter med switch(n) hvor n er variabelen som skal sjekkes, også inne i den nestete skift uttalelsen brukes for eksempel case 1 for å sjekke om n = 1. Også utføres koden som er inne i case 1, hvis ikke så går den videre til neste case. Når den har utført uttrykket i riktig case så avslutter man ved å skrive break; på slutten av hvert case. Hvis den ikke finner en case som passer, så kjører den en default:, denne fungerer akkurat som ellers, og er på mange måter en siste utvei ut ifra løkken Mens uttalelsen. Mens uttalelsen (while statement) Det er også en av de grunnleggende kontroll uttalelsene som gjør at Java kan ta valg, og akkurat mens uttalelsen gjør at Java kan utføre repeterende valg. Hvis uttrykket blir false så hopper Java over mens løkken, men hvis det blir true så blir koden i mens løkken uteført, så blir uttrykket sjekket på nytt også fortsetter den igjen. Dette vil fortsette helt til uttrykket blir false.

Kapittel 1 En oversikt over C-språket

Kapittel 1 En oversikt over C-språket Kapittel 1 En oversikt over C-språket RR 2015 1 Skal se på hvordan man En innføring i C Skriver data til skjermen Lese data fra tastaturet Benytter de grunnleggende datatypene Foretar enkle matematiske

Detaljer

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

INF1000 undervisningen INF 1000 høsten 2011 Uke september

INF1000 undervisningen INF 1000 høsten 2011 Uke september INF1000 undervisningen INF 1000 høsten 2011 Uke 2 30. september Grunnkurs i Objektorientert Programmering Institutt for Informatikk Universitetet i Oslo Siri Moe Jensen og Arne Maus Forelesningene: Første

Detaljer

Del 1 En oversikt over C-programmering

Del 1 En oversikt over C-programmering Del 1 En oversikt over C-programmering 1 RR 2016 Starten C ble utviklet mellom 1969 og 1973 for å re-implementere Unix operativsystemet. Er et strukturert programmeringsspråk, hvor program bygges opp av

Detaljer

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

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

Detaljer

Fra Python til Java. En introduksjon til programmeringsspråkenes verden. Dag Langmyhr

Fra Python til Java. En introduksjon til programmeringsspråkenes verden. Dag Langmyhr Fra Python til Java En introduksjon til programmeringsspråkenes verden dag@ifi.uio.no Oversikt Introduksjon Python Java Noe er likt Noe bare ser anderledes ut Noe er helt forskjellig Et eksempel Klasser

Detaljer

Læringsmål og pensum. Oversikt

Læringsmål og pensum. Oversikt 1 2 Læringsmål og pensum TDT4105 Informasjonsteknologi grunnkurs: Uke 39 Betingede løkker og vektorisering Læringsmål Skal kunne forstå og programmere betingede løkker med while Skal kunne utnytte plassallokering

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

Python: Valg og betingelser. TDT4110 IT Grunnkurs Professor Guttorm Sindre

Python: Valg og betingelser. TDT4110 IT Grunnkurs Professor Guttorm Sindre Python: Valg og betingelser TDT4110 IT Grunnkurs Professor Guttorm Sindre Læringsmål og pensum Mål Kunne forstå og bruke if-setninger sammenlikning av strenger nøstede beslutningsstrukturer betingelser

Detaljer

Python: Variable og beregninger, input og utskrift. TDT4110 IT Grunnkurs Professor Guttorm Sindre

Python: Variable og beregninger, input og utskrift. TDT4110 IT Grunnkurs Professor Guttorm Sindre Python: Variable og beregninger, input og utskrift TDT4110 IT Grunnkurs Professor Guttorm Sindre Læringsmål og pensum Mål for denne uka: Vite litt om design av programmer (2.1, 2.2, 2.4) Kunne skrive ut

Detaljer

Metoder med parametre, løkker og arrayer

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

Detaljer

TDT4105 Informasjonsteknologi, grunnkurs. Introduksjon til programmering i Matlab. Rune Sætre / Anders Christensen {satre,

TDT4105 Informasjonsteknologi, grunnkurs. Introduksjon til programmering i Matlab. Rune Sætre / Anders Christensen {satre, 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 16. Sept. Noen oppstartsproblemer

Detaljer

Visuell Programmering: Kom i gang med Processing

Visuell Programmering: Kom i gang med Processing Visuell Programmering: Kom i gang med Processing Et enkelt program: Syntaks introdusert: Kommentarer, print(), println(), size(). + Start opp processing + Skriv en åpningskommentar på toppen av programmet

Detaljer

OPPGAVE 1 OBLIGATORISKE OPPGAVER (OBLIG 1) (1) Uten å selv implementere og kjøre koden under, hva skriver koden ut til konsollen?

OPPGAVE 1 OBLIGATORISKE OPPGAVER (OBLIG 1) (1) Uten å selv implementere og kjøre koden under, hva skriver koden ut til konsollen? OPPGAVESETT 4 PROSEDYRER Oppgavesett 4 i Programmering: prosedyrer. I dette oppgavesettet blir du introdusert til programmering av prosedyrer i Java. Prosedyrer er også kjent som funksjoner eller subrutiner.

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

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

Forkurs i informatikk Python. Andreas Færøvig Olsen

Forkurs i informatikk Python. Andreas Færøvig Olsen Andreas Færøvig Olsen andrefol@ifi.uio.no Mål Hvorfor Python? Gi en mykere start på INF1100 Komme i gang med programmering 2 3 Hva er Python? Hva er programmering? 4 Hva er Python? Hva er programmering?

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

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

TEMA: Kommunikasjon med Bruker INF1000 Plenumsgruppe 1, 08.09.02. -formatert utskrift

TEMA: Kommunikasjon med Bruker INF1000 Plenumsgruppe 1, 08.09.02. -formatert utskrift TEMA: Kommunikasjon med Bruker INF1000 Plenumsgruppe 1, 08.09.02 - terminal-i/o (bruker-i/o) - innlesing av ulike typer data - pakken easyio - klassene In og Out In in = new In(); Out ut = new Out(); int

Detaljer

Beskrivelse av programmeringsspråket Compila15 INF Kompilatorteknikk Våren 2015

Beskrivelse av programmeringsspråket Compila15 INF Kompilatorteknikk Våren 2015 Beskrivelse av programmeringsspråket Compila15 INF5110 - Kompilatorteknikk Våren 2015 Her beskrives syntaksen og den statiske semantikken (hva som skal sjekkes av kompilatoren) til språket Compila15. Den

Detaljer

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

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

Detaljer

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

TDT4110 Informasjonsteknologi grunnkurs: Tema: Betingelser og logiske uttrykk. - 3rd edition: Kapittel 3. Professor Alf Inge Wang

TDT4110 Informasjonsteknologi grunnkurs: Tema: Betingelser og logiske uttrykk. - 3rd edition: Kapittel 3. Professor Alf Inge Wang 1 TDT4110 Informasjonsteknologi grunnkurs: Tema: Betingelser og logiske uttrykk - 3rd edition: Kapittel 3 Professor Alf Inge Wang 2 if (be): else (not_to_be): 3 Læringsmål og pensum Mål Lære å bruke og

Detaljer

Oblig 4 Undervisningshefte i grunnleggende JavaScript programmering

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

Detaljer

Løse reelle problemer

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

Detaljer

Java-kurs. Andreas Knudsen Nils Grimsmo 9th October 2003

Java-kurs. Andreas Knudsen <andreakn@idi.ntnu.no> Nils Grimsmo <nilsgri@idi.ntnu.no> 9th October 2003 Java-kurs Andreas Knudsen Nils Grimsmo 9th October 2003 1 (Dette blir lagt ut på nett, du trenger ikke ta notater.) 1 Motivasjon For de som ikke går å data:

Detaljer

Notat 2, ST januar 2005

Notat 2, ST januar 2005 Notat 2, ST1301 25. januar 2005 1 Sammensatte uttrykk Vi har sett at funksjoner ikke trenger å bestå av annet enn ett enkeltuttrykk som angir hva funksjonen skal returnere uttrykkt ved de variable funksjonen

Detaljer

if-tester Funksjoner, løkker og iftester Løkker og Informasjonsteknologi 2 Læreplansmål Gløer Olav Langslet Sandvika VGS

if-tester Funksjoner, løkker og iftester Løkker og Informasjonsteknologi 2 Læreplansmål Gløer Olav Langslet Sandvika VGS Løkker og if-tester Gløer Olav Langslet Sandvika VGS 29.08.2011 Informasjonsteknologi 2 Funksjoner, løkker og iftester Læreplansmål Eleven skal kunne programmere med enkle og indekserte variabler eller

Detaljer

I dag skal vi se på. INF 1000 (uke 2) Variabler, tilordninger og uttrykk. Gruppene starter denne uken! Klart for første oblig

I dag skal vi se på. INF 1000 (uke 2) Variabler, tilordninger og uttrykk. Gruppene starter denne uken! Klart for første oblig INF 1000 (uke 2) Variabler, tilordninger og uttrykk Grunnkurs i programmering Institutt for Informatikk Universitet i Oslo I dag skal vi se på Flere praktiske opplysninger Litt repetisjon Hva er en variabel

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Kandidatnr Eksamen i INF1000 Grunnkurs i objektorientert programmering Eksamensdag: Onsdag 1. desember 2010 Tid for eksamen: 14.00 18.00

Detaljer

Forkurs INF1010. Dag 1. Andreas Færøvig Olsen Tuva Kristine Thoresen

Forkurs INF1010. Dag 1. Andreas Færøvig Olsen Tuva Kristine Thoresen Forkurs INF1010 Dag 1 Andreas Færøvig Olsen (andrefol@ifi.uio.no) Tuva Kristine Thoresen (tuvakt@ifi.uio.no) Institutt for Informatikk, 6. januar 2014 Forkurs INF1010 - dag 1 Hello, World! Typer Input/output

Detaljer

Norsk informatikkolympiade runde

Norsk informatikkolympiade runde Norsk informatikkolympiade 2016 2017 1. runde Sponset av Uke 46, 2016 Tid: 90 minutter Tillatte hjelpemidler: Kun skrivesaker. Det er ikke tillatt med kalkulator eller trykte eller håndskrevne hjelpemidler.

Detaljer

Litt om Javas håndtering av tall MAT-INF 1100 høsten 2004

Litt om Javas håndtering av tall MAT-INF 1100 høsten 2004 Litt om Javas håndtering av tall MAT-INF 1100 høsten 2004 13. september 2004 En viktig del av den første obligatoriske oppgaven er å få erfaring med hvordan Java håndterer tall. Til å begynne med kan dette

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

Introduksjon til DARK assembly

Introduksjon til DARK assembly Introduksjon til DARK assembly Magnus Jahre Institutt for datateknikk og informasjonsvitenskap 2 Plan Assembly vs. Java Dark stakkmaskin Oversikt over stakkmaskinen Dark stakkmaskin eksempel Dark Load-Store

Detaljer

TDT4110 IT Grunnkurs Høst 2016

TDT4110 IT Grunnkurs Høst 2016 TDT4110 IT Grunnkurs Høst 2016 Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap Løsningsforslag til Auditorieøving 1 1 Teori 1. Hvilket tall kan IKKE lagres

Detaljer

if (be): else (not_to_be): TDT4110 Informasjonsteknologi grunnkurs: Tema: Betingelser og logiske uttrykk Utgave 3: Kap.

if (be): else (not_to_be): TDT4110 Informasjonsteknologi grunnkurs: Tema: Betingelser og logiske uttrykk Utgave 3: Kap. 1 Kunnskap for en bedre verden TDT4110 Informasjonsteknologi grunnkurs: Tema: Betingelser og logiske uttrykk Utgave 3: Kap. 3 Terje Rydland - IDI/NTNU 2 if (be): else (not_to_be): 3 Læringsmål og pensum

Detaljer

Løse reelle problemer

Løse reelle problemer Løse reelle problemer Litt mer om løkker, metoder med returverdier og innlesing fra fil INF1000, uke4 Geir Kjetil Sandve Repetisjon fra forrige uke: while Syntaks: while (condition) do1; do2;... Eksempel:

Detaljer

Notat 2, ST Sammensatte uttrykk. 27. januar 2006

Notat 2, ST Sammensatte uttrykk. 27. januar 2006 Notat 2, ST1301 27. januar 2006 1 Sammensatte uttrykk Vi har sett at funksjoner ikke trenger å bestå av annet enn ett enkeltuttrykk som angir hva funksjonen skal returnere uttrykkt ved de variable funksjonen

Detaljer

Tall. Binære regnestykker. Binære tall positive, negative heltall, flytende tall

Tall. Binære regnestykker. Binære tall positive, negative heltall, flytende tall Tall To måter å representere tall Som binær tekst Eksempel: '' i ISO 889-x og Unicode UTF-8 er U+ U+, altså Brukes eksempelvis ved innlesing og utskrift, i XML-dokumenter og i programmeringsspråket COBOL

Detaljer

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

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

Detaljer

TDT4110 IT Grunnkurs Høst 2015

TDT4110 IT Grunnkurs Høst 2015 TDT4110 IT Grunnkurs Høst 2015 Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap Løsningsforlag Auditorieøving 1 1 Teori Løsning er skrevet med uthevet tekst

Detaljer

Python: Løkker. TDT4110 IT Grunnkurs Professor Guttorm Sindre

Python: Løkker. TDT4110 IT Grunnkurs Professor Guttorm Sindre Python: Løkker TDT4110 IT Grunnkurs Professor Guttorm Sindre Læringsmål og pensum Mål Forstå hvorfor vi trenger løkker i programmering Ha kjennskap to ulike typer løkker (while-løkke, for-løkke) Og vite

Detaljer

Viktig. Rettet i koden. Oppgaven. Obligatorisk oppgave 2 - Kort om oppgaven og litt informasjon. Fredrik Sørensen OMS-gruppen, IfI

Viktig. Rettet i koden. Oppgaven. Obligatorisk oppgave 2 - Kort om oppgaven og litt informasjon. Fredrik Sørensen OMS-gruppen, IfI Viktig Obligatorisk oppgave 2 - Kort om oppgaven og litt informasjon Fredrik Sørensen OMS-gruppen, IfI Ny patch (patch_oblig2.zip) legges ut på kurssiden i dag. Oblig 1 vil bli rettet denne uken Sjekk

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

Læringsmål og pensum. Designe et program

Læringsmål og pensum. Designe et program 1 TDT4110 Informasjonsteknologi grunnkurs: Kapittel 2 Python: Bruk av funksjoner, variabler og input/output Professor Alf Inge Wang 2 Læringsmål og pensum Mål Lære om å designe et program Lære om skrive

Detaljer

JS: Grunnleggende JavaScript Nybegynner

JS: Grunnleggende JavaScript Nybegynner JS: Grunnleggende JavaScript Nybegynner Web Introduksjon I denne oppgaven skal du lære helt enkle og grunnleggende elementer av JavaScript. Du vil lære om variabler, if-setninger, funksjoner og løkker.

Detaljer

Designe et program. TDT4110 Informasjonsteknologi grunnkurs: Kapittel 2 Python: Bruk av funksjoner, variabler og input/output. Mål.

Designe et program. TDT4110 Informasjonsteknologi grunnkurs: Kapittel 2 Python: Bruk av funksjoner, variabler og input/output. Mål. 1 Kunnskap for en bedre verden TDT4110 Informasjonsteknologi grunnkurs: Kapittel 2 Python: Bruk av funksjoner, variabler og input/output Terje Rydland - IDI/NTNU 2 Læringsmål og pensum Mål Lære om å designe

Detaljer

public static navn_til_prosedyre() { // implementasjon av prosedyren

public 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

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

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

Dagens tema: 12 gode råd for en kompilatorskriver

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

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

156C. Algoritmer og maskinspråk. IT1101 Informatikk basisfag. Maskinspråk: det maskinen forstår. Assembler / assemblerspråk

156C. Algoritmer og maskinspråk. IT1101 Informatikk basisfag. Maskinspråk: det maskinen forstår. Assembler / assemblerspråk IT1101 Informatikk basisfag I dag Programmeringsspråk Problemer med maskinspråk I dag: 5.1-5.3 Fra lavnivå til høynivå programmeringsspråk - utvikling Kompilator / tolker Programmeringsparadigmer Tradisjonelle

Detaljer

Leksjon 3. Kontrollstrukturer

Leksjon 3. Kontrollstrukturer 6108 Programmering i Java Leksjon 3 Kontrollstrukturer Del 1: Valg Roy M. Istad 2015 Utfør av et program Programflyt så langt: start setning setning setning setning slutt Sekvensielt: Alle setninger utføres,

Detaljer

Norsk informatikkolympiade runde. Sponset av. Uke 46, 2016

Norsk informatikkolympiade runde. Sponset av. Uke 46, 2016 Norsk informatikkolympiade 2016 2017 1. runde Sponset av Uke 46, 2016 Tid: 90 minutter Tillatte hjelpemidler: Kun skrivesaker. Det er ikke tillatt med kalkulator eller trykte eller håndskrevne hjelpemidler.

Detaljer

Norsk informatikkolympiade runde

Norsk informatikkolympiade runde Norsk informatikkolympiade 2015 2016 1. runde Sponset av Uke 46, 2015 Tid: 90 minutter Tillatte hjelpemidler: Kun skrivesaker. Det er ikke tillatt med kalkulator eller trykte eller håndskrevne hjelpemidler.

Detaljer

Sprettball Erfaren ComputerCraft PDF

Sprettball 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.

Detaljer

Øvingsforelesning i Python (TDT4110)

Øvingsforelesning i Python (TDT4110) Øvingsforelesning i Python (TDT4110) Tema: Øving 2, Betingelser, if/elif/else Kristoffer Hagen Oversikt Praktisk informasjon Gjennomgang av Øving 1 Oppgaver for Øving 2 2 Praktisk Bruke andre studasser

Detaljer

Tre måter å lese fra terminal. Java 4. Eksempel. Formatert utskrift til skjerm

Tre måter å lese fra terminal. Java 4. Eksempel. Formatert utskrift til skjerm Mer om easyio Mer om forgreninger Løkker 7. september 2004 Ole Christian Lingjærde Gruppen for bioinformatikk Institutt for informatikk Universitetet i Oslo Java 4 1 Tre måter å lese fra terminal Først:

Detaljer

Feilmeldinger, brukerinput og kontrollflyt

Feilmeldinger, brukerinput og kontrollflyt Feilmeldinger, brukerinput og kontrollflyt Skjønne hvordan et program presist utføres og forberede seg på håndtering av feil INF1000, uke2 Ragnhild Kobro Runde Programmeringskrøll Programmet vil ikke kjøre

Detaljer

INF1010 våren januar. Objektorientering i Java

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

Detaljer

Et lite oppdrag i bakgrunnen

Et lite oppdrag i bakgrunnen Et lite oppdrag i bakgrunnen Under pultene på bakerste rad er det klistret post-it lapper med to tall skrevet på Regn ut summen av to nederste tall, skriv denne summen under de andre tallene, og send lappen

Detaljer

Norsk informatikkolympiade 2012 2013 1. runde

Norsk informatikkolympiade 2012 2013 1. runde Norsk informatikkolympiade 2012 2013 1. runde Uke 45, 2012 Tid: 90 minutter Tillatte hjelpemidler: Kun skrivesaker. Det er ikke tillatt med kalkulator eller trykte eller håndskrevne hjelpemidler. Instruksjoner:

Detaljer

Nybegynnerkurs i C. Øyvind Grønnesby. 14. oktober Introduksjon Typer Operatorer Kontrollstrukturer Pekere Makroer Lenker

Nybegynnerkurs i C. Øyvind Grønnesby. 14. oktober Introduksjon Typer Operatorer Kontrollstrukturer Pekere Makroer Lenker Nybegynnerkurs i C Øyvind Grønnesby 14. oktober 2004 Introduksjon pass-by-value svakt typet portabel assembler siste ISO-standard er C99 Hello world #i n c l u d e < s t d l i b. h> #i n c l u d e

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

Betinget eksekvering og logiske tester i shell

Betinget eksekvering og logiske tester i shell Betinget eksekvering og logiske tester i shell Betinget eksekvering *? Programmet utfører operasjon(er) bare hvis en logisk betingelse er sann Bash tilbyr to kontrollstrukturer for å kunne gjøre betinget

Detaljer

Norsk informatikkolympiade 2014 2015 1. runde

Norsk informatikkolympiade 2014 2015 1. runde Norsk informatikkolympiade 2014 2015 1. runde Sponset av Uke 46, 2014 Tid: 90 minutter Tillatte hjelpemidler: Kun skrivesaker. Det er ikke tillatt med kalkulator eller trykte eller håndskrevne hjelpemidler.

Detaljer

Programmeringsspråket C Del 3

Programmeringsspråket C Del 3 Programmeringsspråket C Del 3 Michael Welzl E-mail: michawe@ifi.uio.no 29.08.13 inf1060 1 Dynamisk allokering Ofte trenger man å opprette objekter under kjøringen i tillegg til variablene. Standardfunksjonen

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

INF1000 oppgaver til uke 38 (17 sep 23 sep)

INF1000 oppgaver til uke 38 (17 sep 23 sep) INF1000 oppgaver til uke 38 (17 sep 23 sep) Formål: Øve på programmering med forgreninger, løkker og arrayer. Teoritimer (plenumsøvinger): 1. Oppgave 4 og 6 i kapittel 4 i læreboka. 2. En blokk er en samling

Detaljer

TDT4165 PROGRAMMING LANGUAGES. Exercise 01 Introduksjon til Oz

TDT4165 PROGRAMMING LANGUAGES. Exercise 01 Introduksjon til Oz TDT4165 PROGRAMMING LANGUAGES Fall 2012 Exercise 01 Introduksjon til Oz Denne øvingen vil gjøre deg kjent med Emacs og Mozart. Du må kunne bruke disse verktøyene for å gjøre resten av øvingene. Mozart

Detaljer

2 Om statiske variable/konstanter og statiske metoder.

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

Detaljer

Ta kontakt i pausen. Viktig at vi kommer i gang med dette arbeidet!

Ta kontakt i pausen. Viktig at vi kommer i gang med dette arbeidet! 1 Kunnskap for en bedre verden TDT4105 Informasjonsteknologi, grunnkurs Mer om funksjoner. Logiske betingelser og betinget programutførelse (valg). Amanuensis Terje Rydland Kontor: ITV-021 i IT-bygget

Detaljer

MAT1030 Plenumsregning 1

MAT1030 Plenumsregning 1 MAT1030 Plenumsregning 1 Kapittel 1 Mathias Barra - 16. januar 2009 (Sist oppdatert: 2009-02-02 14:21) Plenumsregning 1 Velkommen til plenumsregning for MAT1030 Fredager 12:15 14:00 Vi vil gjennomgå utvalgte

Detaljer

TDT4110 Informasjonsteknologi grunnkurs: Kapittel 7 Filer og unntak ( exceptions ) Professor Alf Inge Wang Stipendiat Lars Bungum

TDT4110 Informasjonsteknologi grunnkurs: Kapittel 7 Filer og unntak ( exceptions ) Professor Alf Inge Wang Stipendiat Lars Bungum 1 TDT4110 Informasjonsteknologi grunnkurs: Kapittel 7 Filer og unntak ( exceptions ) Professor Alf Inge Wang Stipendiat Lars Bungum 2 Læringsmål Mål Introduksjon til filer (som inndata og utdata) Å bruke

Detaljer

Praktisk informasjon. I dag. Repetisjon: While-løkker. INF1000 (Uke 5) Mer om løkker, arrayer og metoder

Praktisk informasjon. I dag. Repetisjon: While-løkker. INF1000 (Uke 5) Mer om løkker, arrayer og metoder Praktisk informasjon INF (Uke 5) Mer om løkker, arrayer og metoder Grunnkurs i programmering Institutt for Informatikk Universitetet i Oslo Når disse timene er over har du lært nok til å løse oblig Frist.

Detaljer

TDT4100 Objektorientert programmering

TDT4100 Objektorientert programmering Eksamensoppgave i TDT4100 Objektorientert programmering Torsdag 12. august 2010, kl. 09:00-13:00 Oppgaven er utarbeidet av faglærer Hallvard Trætteberg og kvalitetssikret av Svein Erik Bratsberg. Kontaktperson

Detaljer

I dag INF1000 (Uke 4) Mer om forgreninger, While-løkker. Tre måter å lese fra terminal. Tre måter å lese fra terminal.

I dag INF1000 (Uke 4) Mer om forgreninger, While-løkker. Tre måter å lese fra terminal. Tre måter å lese fra terminal. I dag INF1000 (Uke 4) Mer om forgreninger, While-løkker Grunnkurs i programmering Institutt for Informatikk Universitet i Oslo Repetisjon easyio Enkle if-setninger Mer om forgrening While-løkker Are Magnus

Detaljer

INF1000 (Uke 4) Mer om forgreninger, While-løkker

INF1000 (Uke 4) Mer om forgreninger, While-løkker INF1000 (Uke 4) Mer om forgreninger, While-løkker Grunnkurs i programmering Institutt for Informatikk Universitet i Oslo Are Magnus Bruaset og Anja B. Kristoffersen I dag Repetisjon easyio Enkle if-setninger

Detaljer

løsningsforslag-uke5.txt

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

Detaljer

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

I dag skal vi se på. INF 1000 (uke 2) Variabler, tilordninger og uttrykk. Gruppene starter i dag! Klart for første oblig

I dag skal vi se på. INF 1000 (uke 2) Variabler, tilordninger og uttrykk. Gruppene starter i dag! Klart for første oblig INF 1000 (uke 2) Variabler, tilordninger og uttrykk Grunnkurs i programmering Institutt for Informatikk Universitet i Oslo I dag skal vi se på Flere praktiske opplysninger Litt repetisjon Hva er en variabel

Detaljer

Praktisk informasjon. Repetisjon: While-løkker. I dag. INF1000 (Uke 5) Mer om løkker, arrayer og metoder. Oblig 2 er lagt ut

Praktisk informasjon. Repetisjon: While-løkker. I dag. INF1000 (Uke 5) Mer om løkker, arrayer og metoder. Oblig 2 er lagt ut Praktisk informasjon INF (Uke 5) Mer om løkker, arrayer og metoder Oblig er lagt ut Frist 8. februar Kan løses etter denne forelesningen Grunnkurs i programmering Institutt for Informatikk Universitetet

Detaljer

INF1000 (Uke 15) Eksamen V 04

INF1000 (Uke 15) Eksamen V 04 INF1000 (Uke 15) Eksamen V 04 Grunnkurs i programmering Institutt for Informatikk Universitetet i Oslo Anja Bråthen Kristoffersen og Are Magnus Bruaset 22-05-2006 2 22-05-2006 3 22-05-2006 4 Oppgave 1a

Detaljer

som jobbet nærmest døgnet rundt i 18 måneder i Menlo Park i California for å forberede den neste bølgen innen computing.

som jobbet nærmest døgnet rundt i 18 måneder i Menlo Park i California for å forberede den neste bølgen innen computing. The Green Team Litt Java-historikk I 1991 opprettet Sun Microsystems en arbeidsgruppe som jobbet nærmest døgnet rundt i 18 måneder i Menlo Park i California for å forberede den neste bølgen innen computing.

Detaljer

GJØVIK INGENIØRHØGSKOLE

GJØVIK INGENIØRHØGSKOLE GJØVIK INGENIØRHØGSKOLE Postboks 191-2801 GJØVIK KANDIDATNUMMER: E K S A M E N FAGNAVN: FAGNUMMER: Programmering i C++ / Pascal / C LO154A, LO151A og LO142A EKSAMENSDATO: 7. juni 1994 TID: 09.00-14.00

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

MAT1030 Diskret Matematikk

MAT1030 Diskret Matematikk MAT1030 Diskret Matematikk Plenumsregning 1: Kapittel 1 Mathias Barra Matematisk institutt, Universitetet i Oslo 16. januar 2009 (Sist oppdatert: 2009-02-02 14:21) Plenumsregning 1 MAT1030 Diskret Matematikk

Detaljer

Lese fra fil. INF1000 : Forelesning 5. Eksempel. De vanligste lesemetodene. Metoder:

Lese fra fil. INF1000 : Forelesning 5. Eksempel. De vanligste lesemetodene. Metoder: Lese fra fil Filbehandling Tekster Ole Christian Lingjærde Gruppen for bioinformatikk Institutt for informatikk Universitetet i Oslo INF1000 : Forelesning 5 Vi må først importere pakken easyio Vi åpner

Detaljer

Leksjon 2. Setninger og uttrykk

Leksjon 2. Setninger og uttrykk 6108 Programmering i Java Leksjon 2 Setninger og uttrykk Del 2 Roy M. Istad 2015 Uttrykk, operatorer og verdier int tall = 3; int x = 1 + tall; // x er 4 Uttrykk: Variabler, verdier, konstanter og metodekall

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

Dagens tema. Cs preprosessor Separat kompilering av C-funksjoner C og minnet Oversikt over operatorene

Dagens tema. Cs preprosessor Separat kompilering av C-funksjoner C og minnet Oversikt over operatorene Dagens tema Dagens tema Cs preprosessor Separat kompilering av C-funksjoner C og minnet Oversikt over operatorene Inkludering av filer Cs preprosessor Før selve kompileringen går C-kompilatoren gjennom

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

Jentetreff INF1000 Debugging i Java

Jentetreff INF1000 Debugging i Java Jentetreff INF1000 Debugging i Java Ingrid Grønlie Guren ingridgg@student.matnat.uio.no 11. november 2013 Kort om feilmeldinger i Java Java har to ulike type feilmeldinger som man kan få når man skriver

Detaljer

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

lage og bruke funksjoner som tar argumenter lage og bruke funksjoner med returverdier forklare forskjellen mellom globale og lokale variabler 42 Funksjoner Kapittel 4 Funksjoner Etter dette kapitlet skal du kunne lage og bruke enkle funksjoner lage og bruke funksjoner som tar argumenter lage og bruke funksjoner med returverdier forklare forskjellen

Detaljer

Løsningsforslag ukeoppg. 2: 31. aug - 6. sep (INF Høst 2011)

Løsningsforslag ukeoppg. 2: 31. aug - 6. sep (INF Høst 2011) Løsningsforslag ukeoppg. 2: 31. aug - 6. sep (INF1000 - Høst 2011) Variabler, uttrykk, fogreninger (if-else) (kapittel 2 og 4.1-4.2 i læreboka, "Rett på Java" 3. utg.) Mål Få trening i teorien du trenger

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