INF1000: noen avsluttende ord

Like dokumenter
INF1000: noen avsluttende ord

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

Gjennomgang av en tenkt eksamensoppgave

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

Gjennomgang av en tenkt eksamensoppgave

UNIVERSITETET I OSLO

INF Uke 10. Ukesoppgaver oktober 2012

Oblig4 - forklaringer. Arne og Ole Christian

INF1000 EKSTRATILBUD. Stoff fra uke 1-5 (6) 3. oktober 2012 Siri Moe Jensen

Uke 8 Eksamenseksempler + Ilan Villanger om studiestrategier. 11. okt Siri Moe Jensen Inst. for informatikk, UiO

UNIVERSITETET I OSLO

Innhold uke 4. INF 1000 høsten 2011 Uke 4: 13. september. Deklarasjon av peker og opprettelse av arrayobjektet. Representasjon av array i Java

INF1000: Forelesning 7

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

3 emner i dag! INF1000 Uke 5. Objekter og pekere. null. Litt om objekter, pekere og null Filer og easyio Litt mer om tekster

INF1000 (Uke 5) Mer om løkker, arrayer og metoder

INF1000: Forelesning 7. Konstruktører Static

Oppgave 1. Oppgave 2. Oppgave 3. Prøveeksamen i INF1000. Ole Christian og Arne. 23. november 2004

2 Om statiske variable/konstanter og statiske metoder.

i=0 Repetisjon: arrayer Forelesning inf Java 4 Repetisjon: nesting av løkker Repetisjon: nesting av løkker 0*0 0*2 0*3 0*1 0*4

Forelesning inf Java 4

Prøveeksamen i INF1000. Ole Christian og Arne. 23. november 2004

Repetisjon INF 1000 våren 2006

Hva er verdien til variabelen j etter at følgende kode er utført? int i, j; i = 5; j = 10; while ( i < j ) { i = i + 2; j = j - 1; }

INF 1000 Prøveeksamen. 23. november Ole Christian og Arne. Oppgave 1 (10 poeng) Er disse programsetningene lovlige i Java? Oppgave 2 (10 poeng)

Oppgave 1. INF1000 Uke 13. Oppgave 2. Oppgave 3. Er dette lovlige deklarasjoner (når de foretas inni en metode)? JA NEI

UNIVERSITETET I OSLO

Oblig 4Hybelhus litt mer tips enn i oppgaven

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

INF1000 Metoder. Marit Nybakken 16. februar 2004

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

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

Løsningsforslag til eksamen i INF1000 våren 2006

Mål for INF1000. Repetisjon INF 1000 våren Representasjon av data. Programvareutvikling - oversikt

OBJEKTER SOM EN PROGRAMMERINGS-TEKNIKK

Oversikt (for deg som ikke er helt sikker på å få A) Inf1000 uke 12 4.nov Sjekkliste forts. variabler, typer og tilordning

UNIVERSITETET I OSLO

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

UNIVERSITETET I OSLO

INF1000: Forelesning 11. Oppgave 2. Oppgave 1. Husk å melde deg på prøveeksamen i INF1000! Ole Christian Lingjærde 7.november 2006

UNIVERSITETET I OSLO

Enkle generiske klasser i Java

UNIVERSITETET I OSLO

De neste ukene. INF1000 Uke 12. Prøveeksamen. Nå - Prøveeksamen. Forelesning om IT og samfunn neste uke (13/11).

Ole Christian Lingjærde, 12. september 2013

INF1000 : Forelesning 4

Forelesning inf Java 4

Spørsmål fra forrige forelesning. INF1000 Forelesning 7. Oppførselen til inword()/inint()/etc. Operator-presedens i Java

Kom forberedt til tirsdag. INF1000 Tips til obligatorisk oppgave 4. Noen generelle tips. Oblig4: Komme igang

INF1000: Forelesning 6. Klasser og objekter del 1

Kort repetisjon av doble (nestede) løkker Mer om 1D-arrayer Introduksjon til 2D-arrayer Metoder

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

i=0 i=1 Repetisjon: nesting av løkker INF1000 : Forelesning 4 Repetisjon: nesting av løkker Repetisjon: nesting av løkker j=0 j=1 j=2 j=3 j=4

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

Klasser, objekter, pekere og UML. INF gruppe 13

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

Oblig4 - forklaringer. Arne og Ole Christian

UNIVERSITETET I OSLO

Forkurs INF1010. Dag 2. Andreas Færøvig Olsen Gard Inge Rosvold Institutt for Informatikk, 14.

Konstruktører. Bruk av konstruktører når vi opererer med "enkle" klasser er ganske ukomplisert. Når vi skriver. skjer følgende:

INF1000: Forelesning 4. Mer om arrayer Metoder

Oversikt. INF1000 Uke 6. Objekter, pekere og null. Lese og skrive fra/til fil. Litt om objekter, pekere og null Filer og easyio. Litt mer om tekster

LITT OM OPPLEGGET. INF1000 EKSTRATILBUD Stoff fra uke September 2012 Siri Moe Jensen EKSEMPLER

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

INF1000 (Uke 15) Eksamen V 04

INF1000 (Uke 15) Eksamen V 04

public static <returtype> navn_til_prosedyre(<parameter liste>) { // implementasjon av prosedyren

for (int i=0; i<3; i++) { for (int j=0; j<5; j++) { System.out.print(i*j); System.out.println();

UNIVERSITETET I OSLO

Introduksjon til objektorientert programmering

2 Om statiske variable/konstanter og statiske metoder.

UNIVERSITETET I OSLO

public static <returtype> navn_til_prosedyre(<parameter liste>) { // implementasjon av prosedyren

Forelesning inf Java 5

Blokker og metoder INF1000 (Uke 6) Metoder

Forelesning inf Java 5

INF2440 Prøveeksamen, løsningsforslag, 20 mai Arne Maus PSE, Inst. for informatikk

PRØVEEKSAMEN (rettet versjon 27/11)

INF1000 Prøveeksamen Oppgave 7 og 9

UNIVERSITETET I OSLO

En klasse er noe - en metode gjør noe (! / # <= (! * +!! ",-' %. "- -/ %.!#) )! " 0'%! * *$! "1-)) '' % '. 22!'( 7/ /! * 2 2! "*"% 8"%% 9 - -!

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

Oblig 4 (av 4) INF1000, høsten 2009 Værdata, leveres innen 6. nov. kl

Hva er en metode? INF1000 Forelesning 8. Hva skjer når vi kaller en metode? Hvorfor bruke metoder?

Hva er en metode. Hva skjer når vi kaller en metode

Oblig 3 tips litt mer tips enn i oppgaven

UNIVERSITETET I OSLO

Ta inn og ut av 2D-array. Java 6. Liste over ulike verdier i 2D-array. Det ferdige programmet. Vi skal lage et program som illustrerer hvordan man

UNIVERSITETET I OSLO

MER OM ARRAYER. INF1000: Forelesning 4. Anta at vi ønsker å lagre en liste med navnene på alle INF1000-studentene:

Innhold. INF1000 Høst Unified Modeling Language (UML) Unified Modeling Language (UML)

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

løsningsforslag-uke5.txt

Transkript:

Pensum Det som er gjennomgått på forelesningene INF1000: noen avsluttende ord Arne og Fredrik Stoff som er behandlet i oppgaver/obliger Notat om Informasjonsteknologi, vitenskap og samfunnsmessige virkninger Oversikt (for deg som ikke er helt sikker på å få A) variabler, typer og tilordning Pensumoversikt i store trekk variabler, typer og tilordning inn- og ut-lesning løkker og if tekster metoder (parametere og retur av verdi) klasser og objekter mengder (array og HashMap) UML IKT og samfunn, Lov om behandling av persondata Sjekkliste Vanlige feil på eksamen Eksamenstips En enkelvariabel beskriver én ting/én egenskap Har tre (fem) egenskaper: Et navn En type En verdi (+ en nummerert plass /adresse i lageret) (+ en størrelse, antall bit ) int i ; i = 4; i = i+1; i 45

Sjekkliste: hva du absolutt bør kunne Bruk av klasser Hvilke begreper som er naturlige å representere som klasser i et konkret tilfelle (NB: ofte flere "riktige" svar) hvordan lage konstruktører og konstruktørenes rolle hvordan lage objekter av klasser forskjellen på klassemetoder (-variable) og objektmetoder (-variable) Hvordan (og når en kan) aksessere variable og metoder i andre objekter/klasser. Lesing av tall/tekst/blanding av tall og tekst fra fil Vite hvordan man åpner en fil for lesing Vite hvordan man lager en løkke for å lese fra fil Beherske bruk av inint(), inword(), inword("\n"), osv Beherske bruk av hasnext(), lastitem() og endoffile() Skriving av tall/tekst/blanding av tall og tekst til fil Vite hvordan man åpner og lukker en fil for skriving Vite hvordan man lager en løkke for å skrive til fil Beherske bruk av out() og outln() litt mer om: inn- og ut-lesning Bruk easyio kan bruke standard Java IO, men ingen pluss ved sensur Behøver ikke ta med ekstra som bare er for å rette opp problemer i easyio nå forøvrig rettet. (som inline() på slutten av hver linje i fila) Husk alltid å lukke en fil: Les en fil: Bruk av arrayer Hvordan deklarere og opprette en array Hvordan legge inn verdier i en array Hvordan ta ut verdier av en array Hvordan gå gjennom alle verdier i en array Bruk av HashMaper Hvordan deklarere og opprette en HashMap. Hvordan legge nøkkel/verdi inn i en HashMap Hvordan ta ut nøkkel/verdi av en HashMap Hvordan gå gjennom alle nøkler/verdier i en HashMap

Bruk av metoder Hvordan kalle på en metode Hvordan lage en metode uten parametre/med parametre uten returverdi/med returverdi Bruk metoder for å splitte opp koden i mer håndterlige biter lette skrivingen av programmet lette lesingen av programmet lette feilretting av programmet Verdien til parametrene kopieres over til metoden Når vi kaller metoden (bruker navnet i en annen metode), så overføres verdiene til de parameterne som ble brukt i kallet slik: public static void main (String[] args) { A aa = new A() int i = 17; double z = 3.14; int j = aa.minmetode(z, i +2); class A{ x = z; y = i+2; int minmetode (double x, int y) { // nå kan x og y brukes med de verdier de fikk i kallet x = x *2; return ((int) x) + y; De verdiene som ble brukt ved kallet, blir kopiert over i parameterene før setningene i metoden blir utført. Forskjellen mellom elementære typer og klasser elementære typer: int, double, char, boolean,... Kan ikke lage objekter av dem klasser: String, HashMap, etc + våre egendefinerte klasser Kan lage objekter av dem IT og samfunn Lov om behandling av persondata (som fremstilt på forelesningene) Er det sider ved det edb-baserte registeret du prøver å lage som kan tenkes å rammes av personvernlovgivingen?

En enkel klasse Klasse for et kurs Har navnet på foreleser En array med studenter Vi skal se på Konstruktøren Objekter Metoder class Kurs { String kursnavn; String foreleser; [] studenter; Kurs(String kursnavn, String foreleser){ this.kursnavn = kursnavn; this.foreleser = foreleser; this.studenter = new [0]; void leggtil( ny){ [] gammel = studenter; studenter = new [gammel.length+1]; for(int i=0; i<gammel.length; i++){ studenter[i] = gammel[i]; studenter[studenter.length-1] = oop ny; ny class { String studentnavn; (String studentnavn){ gammel this.studentnavn = studentnavn; oostud class Program{ public static void main(string[] args){ Kurs oop = new Kurs("OO prog", "Arne"); oostud = null; oostud = new ("Fredrik"); oop.leggtil(oostud); oostud = new ("Lise"); oop.leggtil(oostud); Kurs kursnavn : foreleser : studenter : "OO prog" "Arne" "Fredrik" "Lise" class Kurs { <... > boolean er(string navn){ for(int i=0; i<studenter.length; i++){ if(studenter[i].studentnavn.equals( navn )){ return true; return false; class Program{ public static void main(string[] args){ <... > if(oop.er("lise")){ System.out.println("Funnet!");

class Kurs { <... > boolean er(string navn){ for(int i=0; i<studenter.length; i++){ if(studenter[i].studentnavn.equals( navn )){ return true; return false; Eksamenstips Prøv å svare noe (fornuftig) på alle oppgavene! Ikke gruble for lenge etter den beste løsningen. Kommer du på en bedre løsning senere, beskriv den kort. Lise" navn i 01 Kurs kursnavn : foreleser : studenter : "OO prog" "Arne" Ved behov kan du gjøre forutsetninger som ikke er i strid med oppgaven og sunn fornuft. Du kan forutsette at et filnavn er kjent hvis ikke annet står Du kan ikke forutsette at max antall personer er 10 dersom det ikke står noe om det i oppgaven Er du i tvil, så spør oss når vi går rundt på eksamen ca kl 10. "Fredrik" "Lise" Eksamenstips forts. Eksempler på oppgave-formuleringer Inf 1000 er et kurs i objektorientert programmering, ikke primært i Java: Ta utgangspunkt i et uferdig program og utvide med nye klasser, variable og metoder. Små syntaktiske feil, småfeil i metodenavn, osv spiller mindre rolle Ville programmet ditt vært et nyttig første forsøk å utsette kompilatoren for? Java-konstruksjoner som ikke er forelest eller som ikke har vært tatt opp i oppgaver vil dere ikke få behov for på eksamen. En viss personlig frihet i hvordan man tegner UML-diagrammer (klasse/objekt-diagrammer) er tillatt. Men meningen må komme klart fram! Ikke slurv når du tegner dem, det straffer seg siden når du skal bruke dem. Lage et program fra scratch. Drøfte fordeler og ulemper med ulike løsninger Drøfte samfunnsmessige virkninger (f.eks. vil det være lov å sette et bestemt program i drift?) Hva skjer når denne løkka kjører? Hva er verdien av resultat? Flervalgsoppgaver med null, en eller flere riktige svar.

Eksamenstips: Se på prøveeksamen 1) 1 hvor stor (2p) 2) 10 ja/nei (20p) 3) 4 hvor mange (16p) 4) Verdi etter ++ etc. (4p) 5) Skriv enkel metode (20p) 6) Skriv en metode (20p) 7) Finn ut hva program gjør (10p) 8) Forstå hva et program gjør, noe vanskeligere(15p) 9) UML-oppgave (20p) 10) Det store uspesifiserte programmet (50p) 11) Forstå et ganske vanskelig program (15p) 12) Skriv en litt vanskelig metode (30) 13) Lov om personopplysninger (20p) Vanlige feil vi ser Glemmer å initialisere en variabel /gi den en verdi Tror at den inneholder riktig verdi fordi den har et riktig navn Returnerer ikke en verdi fra en metode som krever det Greier ikke å nytte parametrene i en metode. deklarerer f.eks. feilaktig parametere om igjen inne i metoden Når er det en peker og når er det verdien direkte Peker: objekter av egne klasser og f.eks HashMap og String Direkte verdi: int, long, double, boolean (basale typer) array er spesiell: Basaltyper (int, double) : Peker til et array-objekt med direkte verdier Objekter : Peker til et array-objekt som igjen har pekere til objektene Programmet henger ikke sammen Lager metoder som aldri blir kalt Sier ikke new på egne klasser Hvor foregår eksamen? Haslehallen - tennissenter (Hasle stasjon på rute 5:Vestlibanen ). De med spesielle ordninger (Astma,...) sitter på Blindern se hjemmesida. Tid: 0900-1200 Noen praktiske ting rundt eksamen Husk å ta med legitimasjon og gyldig semesterkort på eksamen Ta med: Læreboka, obliger og notater Foreleserne går en runde som starter ca kl 1000. Da har dere mulighet til å spørre om ting som dere oppfatter som uklare i oppgaven o.l. Vi kan dessverre ikke svare på spørsmål av typen "ser dette riktig ut?" eller "ville du har gjort det slik?".... Bruk hele eksamenstiden! Blir du sliten så ta heller en lang luftetur. Sensuren blir offentliggjort ca. 4-5 uker etter eksamen. Se forøvrig studweb.

Fortsatt noe du lurer på? Mange av dere har sikkert fortsatt endel spørsmål før eksamen. Er du en av dem? Ta kontakt! Er det korte spørsmål kan vi gjerne ta det pr epost. Er det større spørsmål (kanskje knyttet til et program dere sitter med) så be om et møte. Vi kan kontaktes på epost: LYKKE TIL 3. DESEMBER!! inf1000@ifi.uio.no