Oppgave 3: Binær representasjon



Like dokumenter
UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

Repetisjon. INF gruppe 13

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

Læreboken på 45 minutter

Løse reelle problemer

Løsningsforslag INF desember 2007

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

Algoritmer og datastrukturer Kapittel 11 - Delkapittel 11.2

INF1000 Prøveeksamen Oppgave 7 og 9

INF Løsning på seminaropppgaver til uke 8

Kapittel 14, Hashing. Tema. Definere hashing Studere ulike hashfunksjoner Studere kollisjonsproblemet 17-1

Universitetet i Bergen Det matematisk-naturvitenskapelige fakultet Institutt for informatikk

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

UNIVERSITETET I OSLO

Mer objektorientert programmering

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

UNIVERSITETET I OSLO

Eksamen i emnet INF100 Grunnkurs i programmering (Programmering I) Løsningsforslag

Forkurs INF1010. Dag 3. Andreas Færøvig Olsen Eivind Storm Aarnæs

UNIVERSITETET I OSLO

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

EKSAMEN. Algoritmer og datastrukturer. Eksamensoppgaven: Oppgavesettet består av 11 sider inklusiv vedlegg og denne forsiden.

Enkel lesing og skriving i Java

UNIVERSITETET I OSLO

Innlesning fra tastatur med easyio. INF1000 høst Vi må først skrive i toppen av programmet: import easyio.*;

Seminaroppgaver IN1010, uke 2

Løsningsforslag ukeoppg. 9: okt (INF Høst 2011)

UNIVERSITETET I OSLO

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

TDT4102 Prosedyreog objektorientert programmering Vår 2016

Løse reelle problemer

TDT4100 Objektorientert programmering

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

Gjøre noe i hele treet = kalle på samme metode i alle objekten. Java datastruktur Klassestruktur

Eksamensoppgaver 2014

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

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

Litt om pakker og mest om data inn og ut

UNIVERSITETET I OSLO

INF1000 Eksamen 2014 (modifisert)

Innhold. INF1000 Høst Klasser og objekter. Uke 7: Mer objektorientert programmering Siri Moe Jensen

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

Eks 1: Binærtre Binærtretraversering Eks 2: Binærtre og stakk

INF Notat om I/O i Java

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

OPPGAVE 5b og 8b Java Kode

Eksamen i Internetteknologi Fagkode: ITE1526

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

Gjennomgang prøveeksamen oppgave 1, 2, 4, 5, 7

programeksempel Et større En større problemstilling Plan for forelesingen Problemstillingen (en tekstfil) inneholdt ordet "TGA"

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

Avdeling for ingeniørutdanning Institutt for teknologi

"Nelsons kaffebutikk"

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

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; }

Forelesning inf Java 4

Oversikt. INF1000 Uke 3. Repetisjon Program. Repetisjon Program. Litt repetisjon Program Variabler og Uttrykk Presedens Matematiske funksjoner

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

Sensur-veiledning INF1000 h 2013 (fasit) am - 6. des. 2013

Socket og ServerSocket

Eksamen i emnet INF100 Grunnkurs i programmering (Programmering I) og i emnet INF100-F Objektorientert programmering i Java I Løsningsforslag

INF1000 Forelesning 9. Hashmap Eksempel: Flyreservasjon

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

Eksamen i emnet INF100 Grunnkurs i programmering (Programmering I) og i emnet INF100-F Objektorientert programmering i Java I

HashMap. INF1000 Forelesning 9. Ulike versjoner i Java 1.4 (gammel) og Java 1.5/1.6 av HashMap. Objekter lagres med en søkenøkkel

Kapittel 12: Rekursjon

IN105-javaNelson-2. array, evt. flere dimensjoner. Institutt for informatikk Jens Kaasbøll sept En funksjon om gangen En klasse om gangen

Programmering Høst 2017

EKSAMEN I EMNET INF100/INF100-F Grunnkurs i programmering (Programmering 1) Fredag 16. desember 2005 Tid: 09:00 14:00

Oppgave 3 a. Antagelser i oppgaveteksten. INF1020 Algoritmer og datastrukturer. Oppgave 3. Eksempelgraf

INF1000 Eksamen 2014 (modifisert)

Vi har ikke behandlet bostøttesøknaden for februar fordi det mangler samtykke fra en eller flere i husstanden

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

FORHOLDET MELLOM GDPR OG ARKIV. Domstoladministrasjonen 1

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

TOD063 Datastrukturer og algoritmer

INF1010 Eksamenstips. Løsningsforslag prøveeksamen del 1.

Transkript:

Binært til desimalt Oppgave 3: Binær representasjon 3a Skriv binærtallet 1001 som et desimaltall. Matematisk løsning 1001 2 = 2 3 + 2 0 = 8 + 1 = 9. Løsning ved binær telling 1 2, 10 2, 11 2, 100 2, 101 2, 110 2, 111 2, 1000 2, 1001 2 = 9 10. Løsning ved oppslag På ark 2 i forelesningen 29.10: Svaret er 9.

Desimalt til binært 3b Skriv desimaltallet 24 som et binærtall. Matematisk løsning 24 10 16 10 = 10000 2 = 8 10 8 10 = 1000 2 Løsning ved telling 1 2, 10 2,..., 10111 2, 11000 2 {{ 24 tall = 0 10 11000 2

Summering av binærtall 3c Skriv summen av de to binærtallene 101 og 110 som et binærtall. Løsning ved binær summering 1 0 1 + 1 1 0 = 1 0 1 1 Løsning ved omregning 101 2 = 5 10 + 110 2 = 6 10 11 10 = 1011 2

Heksadesimalt til desimalt 3d Skriv det heksadesimale tallet 3F som et desimaltall. Matematisk løsning 3F 16 = 3 16 1 + 15 16 0 = 3 16 + 15 1 = 48 + 15 = 63 Løsning via binærtall 3F 16 = 11 1111 2 og så kan vi telle binært opp dit.

Standard oo-programmering Fase 1: Hvilke klasser og forholdet mellom dem Selv om det ikke er krav om UML-diagram, kan det likevel være nyttig. Det kan godt leveres inn som dokumentasjon. TelefonregisterMain tr Telefonregister h Kontakt 1 0..*

Standard oo-programmering Fase 2 og 3: Grensesnitt og representasjon Dette er stort sett gitt i oppgaven. TelefonregisterMain tr: Telefonregister main(arg: String[]): void tr 1 Telefonregister h: HashMap<String,Kontakt> lesfrafil(f: String): void snakkmedbruker(): void h 0..* Kontakt navn: String adresse: String tlf: String Kontakt(n: String, a: String, t: String) skrivut(): void

Standard oo-programmering Deloppgave a Kontakt(String n, String a, String t) { navn = n; adresse = a; tlf = t; Deloppgave b void skrivut() { System.out.println(navn); System.out.println(adresse); System.out.println(tlf);

Standard oo-programmering Deloppgave c void lesfrafil(string f) throws Exception { Scanner s = new Scanner(new File(f)); while (s.hasnextline()) { String n = s.nextline(); String a = s.nextline(); String t = s.nextline(); h.put(n, new Kontakt(n,a,t)); s.close();

Standard oo-programmering Deloppgave d void snakkmedbruker() { Scanner tastatur = new Scanner(System.in); while (true) { System.out.print("Gi et navn: "); String n = tastatur.nextline(); if (h.containskey(n)) { h.get(n).skrivut(); else { System.out.println("Navnet " + n + " er ukjent!")

Utvidelsen Utvidelsen Vi trenger en klasse Husstand: TelefonregisterMain tr: Telefonregister main(arg: String[]): void tr 1 Telefonregister h: HashMap<String,Kontakt> husstander: HashMap<String,Husstand> lesfrafil(f: String): void snakkmedbruker(): void skrivadresser(): void h 0..* Kontakt navn: String adresse: String tlf: String Kontakt(n: String, a: String, t: String) skrivut(): void hentnavn(): String hentadresse(): String husstander 0..* Husstand medlemmer: ArrayList<Kontakt> leggtil(k: Kontakt): void skrivlapp(): void medlemmer 1..*

Utvidelsen Deloppgave e class Husstand { private ArrayList<Kontakt> medlemmer = new ArrayList<>(); void leggtil(kontakt k) { medlemmer.add(k);

Utvidelsen Deloppgave f void skrivadresser() { HashMap<String,Husstand> husstander = new HashMap<>(); for (String n: h.keyset()) { Kontakt k = h.get(n); String a = k.hentadresse(); if (husstander.containskey(a)) { husstander.get(a).leggtil(k); else { Husstand hs = new Husstand(); hs.leggtil(k); husstander.put(a,hs); for (String a: husstander.keyset()) { Husstand hs = husstander.get(a); hs.skrivlapp();

Utvidelsen I klassen Husstand: void skrivlapp() { for (int i = 0; i < medlemmer.size(); i++) { System.out.println(medlemmer.get(i).hentNavn()); System.out.println(medlemmer.get(0).hentAdresse()); System.out.println();

Den sultne akademiker Personvern Fire viktige spørsmål 1 Hvilken informasjon lagres? 2 Hvordan har man fått tak i den? 3 Hva skal den brukes til? 4 Har de aktuelle personene gitt tillatelse til dette?

Den sultne akademiker Aktuelle paragrafer 8 Behandling av personopplysninger skal bare gjøres etter samtykke og være saklig begrunnet, må være nødvendig for: a) å oppfylle avtale med den registrerte b) å ivareta den registrertes interesser c) å utøve offentlig myndighet d) å ivareta en berettiget interesse som overstiger den registrertes interesse 11 Grunnkrav til behandling av personopplysninger: Den behandlingsansvarlige skal sørge for at personopplysningene som behandles a) bare behandles når dette er tillatt etter 8 og 9, b) bare nyttes til uttrykkelig angitte formål som er saklig begrunnet i den behandlingsansvarliges virksomhet, c) ikke brukes senere til formål som er uforenlig med det opprinnelige formålet med innsamlingen, uten at den registrerte samtykker, d) er tilstrekkelige og relevante for formålet med behandlingen, og e) er korrekte og oppdatert, og ikke lagres lenger enn det som nødvendig ut fra formålet med behandlingen, jf 27 og 28.

Den sultne akademiker «Den sultne akademiker» 8 «etter samtykke»: Nei 8 «saklig begrunnet»: Nei, ikke relevant for en restaurant 8b «ivareta den registrertes interesser»: Nei 11a «tillatt etter 8»: Nei 11b «bare til formål som er saklig begrunnet i den behandlingsansvarliges virksomhet»: Nei, skattedata er ikke relevante (selv om de er offentlige) 11c «uforenlig med det opprinnelige formålet»: Nei; reklame er noe annet enn matservering.