Dagens tema: INF2100. Utvidelser av Minila array-er. tegn og tekster. Flass- og Flokkode. prosedyrer. Prosjektet struktur. feilhåndtering.

Save this PDF as:
 WORD  PNG  TXT  JPG

Størrelse: px
Begynne med side:

Download "Dagens tema: INF2100. Utvidelser av Minila array-er. tegn og tekster. Flass- og Flokkode. prosedyrer. Prosjektet struktur. feilhåndtering."

Transkript

1 Dagens tema: Utvidelser av Minila array-er tegn og tekster Flass- og Flokkode array-er prosedyrer Prosjektet struktur feilhåndtering del 0 Dag Langmyhr,Ifi,UiO: Forelesning 6. september 2005 Ark 1 av 19

2 Status programvare Nye versjoner av programmene er lagt opp som systemprogrammer: minilac kompilerer Minila-kode til Flok: > minilac mittprog.min Dette er Minila-kompilatoren (versjon ) Analyse: start slutt Kodegenerering: start slutt Kompileringen vellykket > ls mittprog.* mittprog.flok mittprog.list mittprog.min flass assemblerer Flass-kode til Flok: > flass nyttprog.flass Dette er Flass (version 3.01) Leser koden første gang...ok Leser koden andre gang...ok > ls nyttprog.* nyttprog.flass nyttprog.flok nyttprog.list flink (og flok og minila) kjører Flok-kode: > minila tekst.flok Dette er Flink (versjon 3.0b). Eksekveringstid: 3207 Eksekverbar kode Felles er at om filene starter med #! /store/bin/program og gjøres eksekverbare, kan de kjøres. Dag Langmyhr,Ifi,UiO: Forelesning 6. september 2005 Ark 2 av 19

3 Minila Hva er utvidet eller endret i år? Lagring av array-er En array var a[4]; lagres slik: 4 a[0] a[1] a[2] a[3] a[4] På denne måten kan man alltid vite hvor mye plass det er i en array. Dag Langmyhr,Ifi,UiO: Forelesning 6. september 2005 Ark 3 av 19

4 Eksempel Dette programmet prog var a[4]; begprog outtext "Array-en har "; outint(1) a[0]; outtext " elementer."; outline; endprog gir, når det kjøres: > minilac array.min Dette er Minila-kompilatoren (versjon ) Analyse: start slutt Kodegenerering: start slutt Kompileringen vellykket > minila array.flok Dette er Flink (versjon 3.0b) Array-en har 4 elementer. Eksekveringstid: 305 Dag Langmyhr,Ifi,UiO: Forelesning 6. september 2005 Ark 4 av 19

5 Tegn og tekst I Minila lagres kun heltall, men de kan tolkes som tegn: A B C D E F A B C D E F ISO ! " # $ % & ( ) * +,. / : ; < = >? A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ a b c d e f g h i j k l m n o p q r s t u v w x y z { } ~ A 4A 6A B 4B 6B C 4C 6C D 4D 6D E 4E 6E F 4F 6F A 5A 7A B 5B 7B C 5C 7C D 5D 7D E 5E 7E F ª «- ± ² ³ µ ¹ º» ¼ ½ ¾ À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö Ø Ù Ú Û Ü Ý Þ ß F 7F A B C D E F A B C D E F A à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ø ù ú û ü ý þ ÿ A1 C1 E A2 C2 E A3 C3 E A4 C4 E A5 C5 E A6 C6 E A7 C7 E A8 C8 E A9 C9 E AA CA EA AB CB EB AC CC EC AD CD ED AE CE EE AF CF EF B0 D0 F B1 D1 F B2 D2 F B3 D3 F B4 D4 F B5 D5 F B6 D6 F B7 D7 F B8 D8 F B9 D9 F BA DA FA BB DB FB BC DC FC BD DD FD BE DE FE BF C0 E DF FF April 1995, DFL, Ifi/UiO Dag Langmyhr,Ifi,UiO: Forelesning 6. september 2005 Ark 5 av 19

6 Tegn kan angis som konstanter eller leses inn: Uttrykk Konstant Variabel inchar inint + * / Konstant Tall Tegn Dag Langmyhr,Ifi,UiO: Forelesning 6. september 2005 Ark 6 av 19

7 Eksempel Dette programmet prog var c; begprog outtext "Skriv et tegn: "; c := inchar; outtext "Tegnet "; outchar c; outtext " har kode "; outint(1) c; outline; outtext "Tegnet 1 har kode "; outint(1) 1 ; outline; endprog demonstrerer bruk av tegn: > minilac tegn.min Dette er Minila-kompilatoren (versjon ) Analyse: start slutt Kodegenerering: start slutt Kompileringen vellykket > minila tegn.flok Dette er Flink (versjon 3.0b) Skriv et tegn: A Tegnet A har kode 65 Tegnet 1 har kode 49 Eksekveringstid: 684 Dag Langmyhr,Ifi,UiO: Forelesning 6. september 2005 Ark 7 av 19

8 Tekster En tekst "Abc" lagres som en array av tegn: a[0] a[1] a[2] a[3] Dessuten regnes tegn med kode 0 som «tomme tegn». Dag Langmyhr,Ifi,UiO: Forelesning 6. september 2005 Ark 8 av 19

9 Eksempel Dette programmet prog var s[6], i; begprog outtext "Gi en tekst: "; intext s; i := 0; while i <= s[0] do outtext "s["; outint(1) i; outtext "] er "; outint(3) s[i]; outline; i := i+1; endwhile; s[2] := 0; outtext "Nå er teksten "; outchar " ; outtext s; outchar " ; outline; endprog demonstrerer tekster: > minilac tekst.min Dette er Minila-kompilatoren (versjon ) Analyse: start slutt Kodegenerering: start slutt Kompileringen vellykket > minila tekst.flok Dette er Flink (versjon 3.0b) Gi en tekst: Abc s[0] er 6 s[1] er 65 s[2] er 98 s[3] er 99 s[4] er 0 s[5] er 0 s[6] er 0 Nå er teksten "Ac" Eksekveringstid: 3207 Dag Langmyhr,Ifi,UiO: Forelesning 6. september 2005 Ark 9 av 19

10 To nye setninger gjør det mulig å lese inn og skrive ut tekster: Setning Tekst Variabel := Uttrykk intext Navn outchar Uttrykk outint ( Tall ) Uttrykk outline outtext Navn Tekst If-setning While-setning call Navn with Uttrykk into Variabel intext leser resten av linjen. outtext skriver ut alle tegn som ikke er 0. Dag Langmyhr,Ifi,UiO: Forelesning 6. september 2005 Ark 10 av 19

11 Mer Flok- og Flasskode Hvordan kan vi bruke array-er i Flok- og Flasskode? C-registeret Til hjelp for dette har vi C-registeret som brukes slik: ❶ Plassér indeksen i C-registeret. ❷ Bruk så LDI arr * Stjernen indikerer at den virkelige adressen får man ved å legge sammen C-registeret og adressen til arr. Dag Langmyhr,Ifi,UiO: Forelesning 6. september 2005 Ark 11 av 19

12 #! /store/bin/flass Data 0: 4 arr INTG 4 Data 1: IARZ 4 Code 0: start SETC 2 Code 1: LDI arr * Code 2: INCI 1 Code 3: STI arr * Code 4: STOP Dag Langmyhr,Ifi,UiO: Forelesning 6. september 2005 Ark 12 av 19

13 Prosedyrer Hvordan programmerer man prosedyrer i Flass og Flok? Man trenger: ❶ En måte å hoppe til prosedyren ❷ En måte å komme tilbake ❸ Mulighet for å overføre parameter og returverdi Løsningen I Flass+Flok brukes følgende løsning: For å kalle en prosedyre, hopper man til den med instruksjonen JRC som legger PC-registeret i C-registeret før den hopper. Ved return hopper man tilbake JMP 0 * (Nesten alltid må man gjemme unna verdien i C-registeret mens man utfører innmaten i prosedyren.) Parameter og returverdi overføres i I-registeret. Dag Langmyhr,Ifi,UiO: Forelesning 6. september 2005 Ark 13 av 19

14 Eksempel Her er et enkelt program med en prosedyre som beregner absoluttverdien av et tall: prog proc p in a out b; begproc if a < 0 then b := 0-a; else b := a; endif; endproc; var a; begprog outtext "Skriv et tall: "; a := inint; call p with a into a; outtext "Svaret er "; outint(1) a; outline; endprog Dag Langmyhr,Ifi,UiO: Forelesning 6. september 2005 Ark 14 av 19

15 Den tilsvarende koden i Flass kan se slik ut: start OUTT Skriv # outtext "Skriv et tall: "; INI # a := inint; JRC p # call p with a into a; OUTT Svaret # outtext "Svaret er "; OUTI 1 # outint(1) a; OLIN # outine; STOP # proc p: p JGEI px # if a < 0 then STI pa # SETI 0 # a := 0-a; SUBI pa # endif; px JMP 0 * # «Hopp tilbake» pa INTG 0 Skriv ITXT "Skriv et tall: " Svaret ITXT "Svaret er " (men denne koden er optimalisert og en god del kortere enn den koden vår kompilator skal lage!) Dag Langmyhr,Ifi,UiO: Forelesning 6. september 2005 Ark 15 av 19

16 Prosjektet Hvordan skriver man et større program som en kompilator? Struktur En fornuftig måte å dele opp problemet på er å se på hvor data flyter. Da er det enklere å kapsle inn deler av programmet. Dag Langmyhr,Ifi,UiO: Forelesning 6. september 2005 Ark 16 av 19

17 Vår struktur Listing Minila Hovedansvarlig Listeansvarlig Flok Tegngenerator Linjegenerator Symbolgenerator Flinkrepresentant Tregenerator Kodegenerator Del 0 Del 1 Del 2 Dag Langmyhr,Ifi,UiO: Forelesning 6. september 2005 Ark 17 av 19

18 Feil Hva gjør man med feil? Før prøvde man å finne så mange feil som mulig. Vi skal stoppe med melding ved første feil. Målet er å gi en så god melding at feilen er lett å lokalisere. Dag Langmyhr,Ifi,UiO: Forelesning 6. september 2005 Ark 18 av 19

19 Unntak Vår hovedmekanisme for feilhåndtering er unntak («exceptions»). Deklarasjon Unntak er vanlige klasseobjecter: new Exception() Å gjøre unntak Unntak «kastes»: throw new exception() Mottak Unntak kan tas imot: try {... } catch (Exception e) {... } Unntak kan følge metodekall bakover inntil de blir fanget opp. Dag Langmyhr,Ifi,UiO: Forelesning 6. september 2005 Ark 19 av 19

Hvordan skrive Flok og Flass kode? I mange tilfelle er det svært enkelt:

Hvordan skrive Flok og Flass kode? I mange tilfelle er det svært enkelt: Hvordan skrive Flok og Flass kode? I mange tilfelle er det svært enkelt: inchar INC inint INI Tegnet eller tallverdien kommer i I registeret. outchar OUTC outint (n) OUTI n outline OLIN I Flink maskinen

Detaljer

ISO Dagens tema. Tegn. Uttrykk. I Minila lagres kun heltall, men de kan tolkes som tegn. Det siste om Minila.

ISO Dagens tema. Tegn. Uttrykk. I Minila lagres kun heltall, men de kan tolkes som tegn. Det siste om Minila. April 1995, DFL, Ifi/UiO Dagens tema Dagens tema Det siste om Minila og tekster Flink maskinen Litt datamaskinhistorie Registre og lagre Instruksjoner Flok kode Flass kode I Minila lagres kun heltall,

Detaljer

Velkommen til INF2100

Velkommen til INF2100 Kursopplegg Velkommen til INF2100 Jeg er Dag Langmyhr (dag@ifi.uio.no). Dagens tema: Hva går kurset ut på? Bakgrunn for kurset Hvordan gjennomføres kurset? Hvordan får man det godkjent? Pause (med registrering

Detaljer

Dagens tema INF1070. Vektorer (array er) Tekster (string er) Adresser og pekere. Dynamisk allokering

Dagens tema INF1070. Vektorer (array er) Tekster (string er) Adresser og pekere. Dynamisk allokering Dagens tema Vektorer (array er) Tekster (string er) Adresser og pekere Dynamisk allokering Dag Langmyhr,Ifi,UiO: Forelesning 23. januar 2006 Ark 1 av 23 Vektorer Alle programmeringsspråk har mulighet til

Detaljer

Bakgrunnen for INF2100. Velkommen til INF2100. Prosjektet. Hva gjør en kompilator?

Bakgrunnen for INF2100. Velkommen til INF2100. Prosjektet. Hva gjør en kompilator? Kursopplegg Velkommen til INF2100 Bakgrunnen Bakgrunnen for INF2100 Jeg er Dag Langmyhr (dag@ifi.uio.no). Dagens tema: Hva går kurset ut på? Bakgrunn for kurset Hvordan gjennomføres kurset? Hvordan får

Detaljer

Hovedansvarlig. Symbolgenerator. Tregenerator. Litt mer kompliserte setninger med betingelser

Hovedansvarlig. Symbolgenerator. Tregenerator. Litt mer kompliserte setninger med betingelser Dagens tema: Kodegenerering Listing Minila Hovedansvarlig Listeansvarlig Flok Tegngenerator Linjegenerator Symbolgenerator Flinkrepresentant Tregenerator Kodegenerator Del 0 Del 1 Del 2 Introduksjon FlinkRepresentation

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 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 ut? Variabler,

Detaljer

Vektorer. Dagens tema. Deklarasjon. Bruk

Vektorer. Dagens tema. Deklarasjon. Bruk Dagens tema Dagens tema Deklarasjon Vektorer Vektorer (array-er) Tekster (string-er) Adresser og pekere Dynamisk allokering Alle programmeringsspråk har mulighet til å definere en såkalte vektor (også

Detaljer

Hva er kompilering? Dagens tema. En kompilator En kompilator leser Minila koden og lager Flok koden.

Hva er kompilering? Dagens tema. En kompilator En kompilator leser Minila koden og lager Flok koden. Dagens tema Dagens tema Kildekode Hva er kompilering? Anta at vi lager dette lille programmet (kalt kildekoden): Hva er kompilering? Hvordan analysere et program? Hvordan programmere dette i Java? Hvordan

Detaljer

Velkommen til INF2100 Jeg er Dag Langmyhr

Velkommen til INF2100 Jeg er Dag Langmyhr Velkommen til Jeg er Dag Langmyhr (dag@ifi.uio.no). Bakgrunn for I INF1000 20 har dere lært å rammere, men bare små rammer (< 1000 linjer). Hensikten med er å gi mer rammeringstrening Dagens tema: Hva

Detaljer

Dagens tema: INF2100. Syntaksanalyse. Hva annet gjør en kompilator? Sjekking av navnebruk. Testutskrifter

Dagens tema: INF2100. Syntaksanalyse. Hva annet gjør en kompilator? Sjekking av navnebruk. Testutskrifter Dagens tema: Syntaksanalyse Hva annet gjør en kompilator? Sjekking av navnebruk Testutskrifter Dag Langmyhr,Ifi,UiO: Forelesning 4. oktober 2005 Ark 1 av 20 Syntaksanalyse På skolen hadde vi grammatikkanalyse:

Detaljer

Offentlig utvalg for punktskrift, OUP Norsk standard for 8-punktskrift punktskrift 24. oktober 2004 sist endret

Offentlig utvalg for punktskrift, OUP Norsk standard for 8-punktskrift punktskrift 24. oktober 2004 sist endret Offentlig utvalg for punktskrift, OUP Norsk standard for 8-punktskrift punktskrift 24. oktober 2004 sist endret 19.10.2007 Desimal Hex Beskrivelse Tegnets utseende Punktkode 0 0000 4578

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

Dagens tema. Datamaskinen LC-2 En kort repetisjon. Binære tall Litt om tallsystemer generelt. Binære tall. Heksadesimale og oktale tall

Dagens tema. Datamaskinen LC-2 En kort repetisjon. Binære tall Litt om tallsystemer generelt. Binære tall. Heksadesimale og oktale tall Dagens tema Datamaskinen LC-2 En kort repetisjon Binære tall Litt om tallsystemer generelt Binære tall Heksadesimale og oktale tall Programmering av LC-2 Maskinkode Assemblerkode Kjøring av LC-2-programmer

Detaljer

IN 147 Program og maskinvare

IN 147 Program og maskinvare Dagens tema Mer om C Et eksempel til (med diverse forklaringer) Representasjon av tegn og logiske verdier Vektorer Statusverdi Innhenting av definisjoner Inkrementering og dekrementering av variable for-setningen

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

INF Repetisjon: Hvordan bygge treet og analysere? 8. september Typisk situasjon. De problematiske syntaks-diagrammene

INF Repetisjon: Hvordan bygge treet og analysere? 8. september Typisk situasjon. De problematiske syntaks-diagrammene Dagens tema: INF 2100 8. september 2004 Mer om strukturen i treet og hvordan bygge det Testing av at navn er deklarert og brukt riktig Arbeid i gruppene neste uke: Oppgaver relevant for dette stadiet i

Detaljer

Velkommen til INF2100. Bakgrunnen for INF2100. Hva gjør en kompilator? Prosjektet. Jeg er Dag Langmyhr

Velkommen til INF2100. Bakgrunnen for INF2100. Hva gjør en kompilator? Prosjektet. Jeg er Dag Langmyhr Kursopplegg Velkommen til INF2100 en en for INF2100 Jeg er (dag@ifi.uio.no). Dagens tema: Hva går kurset ut på? for kurset Hvordan gjennomføres kurset? Hvordan får man det godkjent? Pause (med registrering

Detaljer

Syntaksanalyse. Dagens tema: Språkdiagrammene Jernbanediagrammene er et ypperlig utgangspunkt for å analysere et program: INF2100 INF2100 INF2100

Syntaksanalyse. Dagens tema: Språkdiagrammene Jernbanediagrammene er et ypperlig utgangspunkt for å analysere et program: INF2100 INF2100 INF2100 Syntaksanalyse På skolen hadde vi grammatikkanalyse: Dagens tema: Syntaksanalyse Hva annet gjør en kompilator? Sjekking av navnebruk Testutskrifter Fanger krabber så lenge de orker Syntaksanalyse er på

Detaljer

Datamaskinenes historie Menneskene har alltid prøvd å lage maskiner for å løse sine problemer.

Datamaskinenes historie Menneskene har alltid prøvd å lage maskiner for å løse sine problemer. Datamaskinenes historie Menneskene har alltid prøvd å lage maskiner for å løse sine problemer Charles Babbage Midt på 1800-tallet var problemet tabeller med feil Dagens tema: Flink-maskinen Litt datamaskinhistorie

Detaljer

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

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

Detaljer

INF2100. Dagens tema: Flink-maskinen Litt datamaskinhistorie. Registre og lagre. Instruksjoner. Flass-koden

INF2100. Dagens tema: Flink-maskinen Litt datamaskinhistorie. Registre og lagre. Instruksjoner. Flass-koden Dagens tema: Flink-maskinen Litt datamaskinhistorie Registre og lagre Instruksjoner Flass-koden Dag Langmyhr,Ifi,UiO: Forelesning 30. august 2005 Ark 1 av 20 Datamaskinenes historie Menneskene har alltid

Detaljer

Råd nr 1: Start nå! Det tar typisk timer å programmere Del 1 om man ikke har gjort slikt før. Dagens tema:

Råd nr 1: Start nå! Det tar typisk timer å programmere Del 1 om man ikke har gjort slikt før. Dagens tema: Dagens tema: 12 gode råd når man rammerer en kompilator Råd nr 1: Start nå! Det tar typisk 10 50 timer å rammere Del 1 om man ikke har gjort slikt før. Hvor mange timer per dag blir det? Dag Langmyhr,Ifi,UiO:

Detaljer

Velkommen til INF2100

Velkommen til INF2100 Kursopplegg Velkommen til INF2100 Jeg er (dag@ifi.uio.no). Dagens tema: Hva går kurset ut på? Bakgrunn for kurset Hvordan gjennomføres kurset? Hvordan får man det godkjent? Pause (med registrering av fremmøte)

Detaljer

Velkommen til INF2100

Velkommen til INF2100 Kursopplegg Velkommen til INF2100 Jeg er (dag@ifi.uio.no). Dagens tema: Hva går kurset ut på? Bakgrunn for kurset Hvordan gjennomføres kurset? Hvordan får man det godkjent? Pause (med registrering av fremmøte)

Detaljer

Digital representasjon

Digital representasjon Hva skal jeg snakke om i dag? Digital representasjon dag@ifi.uio.no Hvordan lagre tall tekst bilder lyd som bit i en datamaskin INF Digital representasjon, høsten 25 Hvordan telle binært? Binære tall Skal

Detaljer

INF okt. 2004

INF okt. 2004 INF 2100 20. okt. 2004 Dette er siste forelesning. Dagens tema: Diverse om kode-generering: Litt om uttrykk, betingelser og while-setninger Prosedyrer og kall Gruppene ukene fremover: Ukene fra 25. okt.

Detaljer

Digital representasjon

Digital representasjon Hva skal jeg snakke om i dag? Digital representasjon dag@ifi.uio.no Hvordan lagre tall tekst bilder lyd som bit i en datamaskin Hvordan telle binært? Binære tall For å bruke bit (0 og 1) som tall, må vi

Detaljer

INF Enkel historikk over modul-utvikling. Ønsker til en god oppdeling. Program-arkitektur: Hvordan dele opp i moduler/komponenter?

INF Enkel historikk over modul-utvikling. Ønsker til en god oppdeling. Program-arkitektur: Hvordan dele opp i moduler/komponenter? INF 2100 6. oktober 2004 Program-arkitektur: Hvordan dele opp i moduler/komponenter? Dagens temaer: Litt om modularisering av programmer (program-arkitektur) Om organiseringen av Del 2 Neste uke: Verken

Detaljer

Dagens tema Kjøresystemer (Ghezzi&Jazayeri 2.6, 2.7)

Dagens tema Kjøresystemer (Ghezzi&Jazayeri 2.6, 2.7) Dagens tema Kjøresystemer (Ghezzi&Jazayeri 2.6, 2.7) Repetisjon Språk med rekursjon (C3) og blokker (C4) Statisk link Dynamisk allokering (C5) Parameteroverføring 1/25 Forelesning 11 5.11.2003 Repetisjon:

Detaljer

Dagens tema: Generelt om variable. Kodegenerering. Deklarasjon av array er. Versjonskontroll. Oppslag i array er

Dagens tema: Generelt om variable. Kodegenerering. Deklarasjon av array er. Versjonskontroll. Oppslag i array er Dagens tema Dagens tema: Kodegenerering og kall Hovedprogrammet Noen siste gode råd Versjonskontroll CVS og Deklarasjon av array er Når programmet deklarerer en array, må kompilatoren vår sette av plass

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

Handi-Lift EA7 Målskjema

Handi-Lift EA7 Målskjema Handi-Lift EA7 Målskjema Dato: Monteringsdato: Vår ref.: Bestillings nr.: Kunde (HMS): Utprøvingsnr.: Bruker Navn: Bruker nr.: Fødselsdato: Adresse: Postnr.: Poststed: Telefon (priv.): Telefon (arb.):

Detaljer

E 1996-gutter. B 1998-gutter

E 1996-gutter. B 1998-gutter Gruppe: Gruppe: A B 1999-gutter C 1998-gutter 2000 1997-gutter 1995-gutter AA Åga IL 1 BA Mo IL 1 CA Stålk 1 DA Åga IL 8 EA Stålk 3 FA Åga IL 11 AB Åga IL 2 BB Mo IL 2 CB Stålk 2 DB Åga IL 9 EB Stålk 4

Detaljer

Unicode. Unikt vakkert eller unisont håpløst? En vandring gjennom tegnkodingens historie. Dag Lamgmyhr, Ifi/UiO Ark 1 av 23

Unicode. Unikt vakkert eller unisont håpløst? En vandring gjennom tegnkodingens historie. Dag Lamgmyhr, Ifi/UiO Ark 1 av 23 Unicode Unikt vakkert eller unisont håpløst? En vandring gjennom tegnkodingens historie Dag Lamgmyhr, Ifi/UiO Ark 1 av 23 Hva er tegnkoding? Tegnkoding er bare å definere en tabell over hvilke tegn man

Detaljer

Fra Minila til Flink via Java

Fra Minila til Flink via Java UNIVERSITETET I OSLO Institutt for informatikk Fra Minila til Flink via Java Reisehåndbok for INF2100 Stein Krogdahl Dag Langmyhr Else Nordhagen Høsten 2006 Fra Minila til Flink via Java Stein Krogdahl

Detaljer

Målet med dette notatet er å dokumentere at det er funnet løsmasser ved grunnen og å dokumentere miljøgiftkonsentrasjonen i sedimentene.

Målet med dette notatet er å dokumentere at det er funnet løsmasser ved grunnen og å dokumentere miljøgiftkonsentrasjonen i sedimentene. NOTAT Oppdrag 1110630 Grunner Indre Oslofjord Kunde Kystverket Notat nr. 001 Dato 07.01.2015 Til Fra Kopi Kristine Pedersen-Rise Tom Øyvind Jahren [Navn] Sedimentundersøkelse ved Belgskjærbåen Kystverket

Detaljer

Testobservator for kjikvadrattester

Testobservator for kjikvadrattester ST0202 Statistikk for samfunnsvitere Bo Lindqvist Institutt for matematiske fag 2 Kap. 11: Anvendelser av kjikvadratfordelingen: Kjikvadrattester Situasjon: Et tilfeldig utvalg av n individer er trukket

Detaljer

Fjord Forsøksstasjon Helgeland AS

Fjord Forsøksstasjon Helgeland AS ECOMARIN SEAFARM AS Fjord Forsøksstasjon Helgeland AS LOKALITETKLASSIFISERING NS 9415 PÅ LOKALITETEN SVINØYA SØR I ALSTAHAUG KOMMUNE Tittel: Sammendrag: Ecomarin seafarm Lokalitetsklassifisering på lokaliteten

Detaljer

Programmeringsspråket C Del 2

Programmeringsspråket C Del 2 Programmeringsspråket C Del 2 Kjell Åge Bringsrud E-mail: kjellb@ifi.uio.no 30.08.2005 inf1060 H05 1 Et eksempel Dette er lite eksempel som ber om et tall, leser det og så teller fra det ned til 0. 30.08.2005

Detaljer

PDF created with pdffactory Pro trial version

PDF created with pdffactory Pro trial version [ ² Ú»» ³»»² ¾ ²» ¹» ô λ¹²¾² Forord Ü»²²» ²»² ¹» ¼» º ²«¼»»³¾» îðïéò a» ª ¼»»» ô ª ¼» ¾»² ² ³³» ² º± ¾ ²» ¹»²ò Ü»²²» µ ª ¾ «µ» ¼ ¾ ¹±¼ µ»² ³»¼ô ±¹ îðïè ª ²² ± ¼» ¼»²²» ªb» ³»¼»¹» ²»² ª ò»»³¾» îðïê ¼¼»

Detaljer

Tegn og tekst. Et representert tegn kan vises på flere måter. Noen definisjoner. Enda noen definisjoner. \yvind og ]se N{rb}? a a a.

Tegn og tekst. Et representert tegn kan vises på flere måter. Noen definisjoner. Enda noen definisjoner. \yvind og ]se N{rb}? a a a. o o {rb} rprr på r år o prpp rpro r r rr rpro o r o or α r o or bor brp or b rr på ppr r r r r r rrr år på o oroooro o r or o br å r r pår r r orør p o b b år r å r o o o rprrr o p o rprrr o or op r r

Detaljer

IN 147 Program og maskinvare

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

Detaljer

PDF created with pdffactory Pro trial version

PDF created with pdffactory Pro trial version [ ² Ú»» ³»»² ¾ ²» ¹» ô Ì ± « Forord Ò ; ±¹ ²» ³«¹»» òòò [ ²»² ª ; µ«² ¹» ¼» º± îðïéô ¹ «²²»² ¼»»» ¼» µ±³³» ² ³³» ² º± ¾ ²» ¹» «¹«±³ ¹ ( ¼» ¾»²¼ ²¹»»²»» ; ²» ò Ê»² : ¼»» ª µ ¹ ±¾¾ ±¹ ¼»² µ ª º± ª» ¹±¼ ò

Detaljer

Planveileder for massevaksinasjon mot pandemisk in u ensa i kommuner og helseforetak

Planveileder for massevaksinasjon mot pandemisk in u ensa i kommuner og helseforetak 201 6 P f j f U H P f j f f 1 j 2016 U H 2 U J2016 T: Pf j f U H B: R f :wwwf Gf: PG L: P :2000 : cxntb IBN9788280827333 IBN9788280827357 Pf j f 3 D f j f j f f D 2008 f f 200910 U Nj f (2014) f D 200910

Detaljer

INF5110 Obligatorisk Oppgave 2 del 2. Andreas Svendsen SINTEF. 23. April Oversikt

INF5110 Obligatorisk Oppgave 2 del 2. Andreas Svendsen SINTEF. 23. April Oversikt INF5110 Obligatorisk Oppgave 2 del 2 Andreas Svendsen SINTEF 23. April 2009 Oversikt Tilbakeblikk på oppgaven Eksempel på sjekk av semantikk Eksempel på kodegenerering Nødvendige instruksjoner for IF-noden

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

Taes med av RIV Taes med av RIE Kjøkkeninnredning ARK Fast inventar AR

Taes med av RIV Taes med av RIE Kjøkkeninnredning ARK Fast inventar AR Taes med av RIV Taes med av RIE Kjøkkeninnredning ARK Fast inventar AR HC med håndgrep med skult. ( rustfritt stål med benk og skap Volumhette- for mopper Mini med innebygd kjøleskap og komfyr HC tilpasset

Detaljer

Tegn og tekst. Posisjonssystemer. Logaritmer en kort repetisjon. Bitposisjoner og bitmønstre. Kapittel August 2008

Tegn og tekst. Posisjonssystemer. Logaritmer en kort repetisjon. Bitposisjoner og bitmønstre. Kapittel August 2008 Posisjonssystemer 10 5 (100 000) 10 4 (10 000) 10 3 (1 000) 10 2 (100) 10 1 (10) 10 0 (1) Tegn og tekst \yvind og ]se N{rb}? 2 7 (128) 2 6 (64) 2 5 (32) 2 4 (16) 2 3 (8) 2 2 (4) 2 1 (2) 2 0 (1) Kapittel

Detaljer

Debugging. Tore Berg Hansen, TISIP

Debugging. Tore Berg Hansen, TISIP Debugging Tore Berg Hansen, TISIP Innhold Innledning... 1 Å kompilere og bygge et program for debugging... 1 Når debugger er i gang... 2 Symbolene i verktøylinjen... 3 Start på nytt... 3 Stopp debugging...

Detaljer

Dagens tema INF2270. Cs preprosessor. Separat kompilering av C funksjoner. C og minnet. Dag Langmyhr,Ifi,UiO: Forelesning 5. februar 2007 Ark 1 av 15

Dagens tema INF2270. Cs preprosessor. Separat kompilering av C funksjoner. C og minnet. Dag Langmyhr,Ifi,UiO: Forelesning 5. februar 2007 Ark 1 av 15 Dagens tema Cs preprosessor Separat kompilering av C funksjoner C og minnet Dag Langmyhr,Ifi,UiO: Forelesning 5. februar 2007 Ark 1 av 15 Cs preprosessor Før selve kompileringen går C kompilatoren gjennom

Detaljer

Tegn og tekst. Om tegn og glyfer. Tegnkoder og kodetabeller Kode Noe som representerer noe annet. Et representert tegn kan vises på flere måter

Tegn og tekst. Om tegn og glyfer. Tegnkoder og kodetabeller Kode Noe som representerer noe annet. Et representert tegn kan vises på flere måter r s s {rb} ærb p br brp r bs srr på ppr sr sr ss r r r rrr år på s s s sr rr s ss r r s brs å sr r pår rss r rør sp b b år rss å r s s s rprsr ss på r år prspp rprss r rs rr rprss r s r α r s r br s rprsrr

Detaljer

Undersøkelse om opplæring i foretak (Continuing Vocational Traing Survey 5) Vennligst bruk bare papirskjema som kladd for å fylle ut webskjema.

Undersøkelse om opplæring i foretak (Continuing Vocational Traing Survey 5) Vennligst bruk bare papirskjema som kladd for å fylle ut webskjema. Undersøkelse om opplæring i foretak (Continuing Vocational Traing Survey 5) Vennligst bruk bare papirskjema som kladd for å fylle ut webskjema. Webskjema side 1 av 25: Skriv inn bruker-id: Skriv inn passordet:

Detaljer

PDF created with pdffactory Pro trial version

PDF created with pdffactory Pro trial version [ ² Ú»» ³»»² ¾ ²» ¹» ô ß«¹»²¼ ¼»² Forord Ÿ ² îðïé ¹»² ¾» µ ª»» ª ¾ ²» ¹»² ±»ô»»² ±² ª ¾ ²» ¹»²ô µ µ» ± ² ²¹» ±¹ ª»¼ ¹±¹ µ» ¾» ¼ò Ð ² ¾» ¼» ¾ ²» ¹»²» ¾ ¹¹» ± ºa ¹»²¼» ³»æ ó Î ³³» ² º± ¾ ²» ¹»² ²² ± ¼ ±¹

Detaljer

Oversikt Kodegenerering Variable Setninger Uttrykk While-setningen

Oversikt Kodegenerering Variable Setninger Uttrykk While-setningen Dagens tema Dagens tema: Kodegenerering Introduksjon Enkle variable Uttrykk Tilordning Litt mer kompliserte setninger med betingelser (Alt om kodegenerering unntatt funksjoner.) Prosjektoversikt Del-0

Detaljer

Dagens tema: Kodegenerering. Redigeringsverktøy. Versjonskontroll. Array-er Funksjoner og kall Hovedprogrammet Noen siste gode råd.

Dagens tema: Kodegenerering. Redigeringsverktøy. Versjonskontroll. Array-er Funksjoner og kall Hovedprogrammet Noen siste gode råd. Dagens tema Dagens tema: Kodegenerering Array-er Funksjoner og kall Hovedprogrammet Noen siste gode råd Redigeringsverktøy Emacs Eclipse Versjonskontroll CVS og Subversion Array-er Array-er Deklarasjon

Detaljer

Målskjema. Serie nr.: Bruker Navn: Adresse: Kontaktpersoner. E-post: E-post: Levering Adresse:

Målskjema. Serie nr.: Bruker Navn: Adresse: Kontaktpersoner. E-post: E-post: Levering Adresse: Strategos B Målskjema Kunde: Selger: Ordredato: Ordre nr.: Bestillings nr. (HMS): Innkjøps nr. (Handicare): Serie nr.: Bruker Navn: Adresse: Postnr.: Poststed: Telefon (priv.): Telefon (arb.): Mobil: Kontaktpersoner

Detaljer

Eksamensoppgaver 2014

Eksamensoppgaver 2014 Eksamensoppgaver 2014 Først kommer alle de relevante små-oppgavene og deretter den store oppgaven. Oppgave 1 (4 p) a) Hva er verdien til tall etter at følgende kode er utført? tall = (5+3)*2 tall = tall+2

Detaljer

Læringsmål. INF1000: Forelesning 12. Hovedkilde. Kunne binærtall og heksadesimale tall og konvertering mellom ulike tallsystemer: Titallsystemet

Læringsmål. INF1000: Forelesning 12. Hovedkilde. Kunne binærtall og heksadesimale tall og konvertering mellom ulike tallsystemer: Titallsystemet INF1000: Forelesning 12 Digital representasjon av tall og tekst Læringsmål Kunne binærtall og heksadesimale tall og konvertering mellom ulike tallsystemer: Titallsystemet Det heksadesimale Det binære tallsystemet

Detaljer

STRATEGOS B. Målskjema. Serie nr.: Bruker Navn: Adresse: Kontaktpersoner. E-post: E-post: Levering Avd. Bruker Annet: Adresse:

STRATEGOS B. Målskjema. Serie nr.: Bruker Navn: Adresse: Kontaktpersoner. E-post: E-post: Levering Avd. Bruker Annet: Adresse: STRATEGOS B Målskjema Kunde: Ordredato: Bestillings nr. (HMS): Serie nr.: Selger: Ordre nr.: Innkjøps nr. (Handicare): Bruker Navn: Adresse: Postnr.: Telefon (priv.): Mobil: Poststed: Telefon (arb.): E-post:

Detaljer

INF 1010, vår 2005 Løsningsforslag uke 11

INF 1010, vår 2005 Løsningsforslag uke 11 INF 1010, vår 2005 uke 11 Anders Brunland 11. april 2005 Oppgave 1 Oppgave 1 i kapittel 19, Rett på Java Er følgende metoder lovlige? Hovorfor/hvorfor ikke? a) void koknverter ( int mnd ) { konverterdato

Detaljer

Dagens tema: Datastrukturer

Dagens tema: Datastrukturer Dagens tema: Datastrukturer Matriser Dynamiske matriser Ringbuffere Mengder Lister Enkle listeoperasjoner Programmering av en listepakke Lister med hode og hale Toveislister Onsdag 24.3 Avslutning av IN147A

Detaljer

INF april, 2015 Stein Krogdahl Ifi, UiO. Svar på oppgaver til kap. 8. Ble lagt ut 24. april

INF april, 2015 Stein Krogdahl Ifi, UiO. Svar på oppgaver til kap. 8. Ble lagt ut 24. april INF5110 28. april, 2015 Stein Krogdahl Ifi, UiO Svar på oppgaver til kap. 8 Ble lagt ut 24. april 1 SVAR: Oppgave 8.1.c (fra boka) Lag for hånd TA-kode for følgende uttrykk: a * b + a * b * c Du skal ikke

Detaljer

Oversikt Kodegenerering Variable Setninger Uttrykk While-setningen Oppsummering

Oversikt Kodegenerering Variable Setninger Uttrykk While-setningen Oppsummering Dagens tema Dagens tema: Kodegenerering Introduksjon Enkle variable Uttrykk Tilordning Litt mer kompliserte setninger med betingelser (Alt om kodegenerering unntatt funksjoner og array-er.) Prosjektoversikt

Detaljer

A269 Riving av Tak Revisjon (1) 22.05.2008

A269 Riving av Tak Revisjon (1) 22.05.2008 Block Name Count MATERIAL NR HVA BREDDE LENGDE AREAL A269 Riving av tak 1 Raftutstikk B.300b Ekstrakostnader for spesialtilpassing for nytt Raftutstikk, tilkappes på plassen 0,5 60,5 30,25 A269 Riving

Detaljer

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

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 Repetisjon: nesting av løkker Kort repetisjon av doble (nestede) løkker Mer om D-arrayer Introduksjon til D-arrayer Metoder Ole Christian Lingjærde Biomedisinsk forskningsgruppe Institutt for informatikk

Detaljer

INF1000 : Forelesning 4

INF1000 : Forelesning 4 INF1000 : Forelesning 4 Kort repetisjon av doble (nestede) løkker Mer om 1D-arrayer Introduksjon til 2D-arrayer Metoder Ole Christian Lingjærde Biomedisinsk forskningsgruppe Institutt for informatikk Universitetet

Detaljer

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

MER OM ARRAYER. INF1000: Forelesning 4. Anta at vi ønsker å lagre en liste med navnene på alle INF1000-studentene: INF1000: Forelesning 4 Mer om arrayer Metoder MER OM ARRAYER 2 Array som en samling verdier Anta at vi ønsker å lagre en liste med navnene på alle INF1000-studentene: String[] studenter = new String[500];

Detaljer

(+ /$0 &&&" 1&& 2 3 &$%+ 2 4 $%+ 5

(+ /$0 &&& 1&& 2 3 &$%+ 2 4 $%+ 5 !"#$$%% &%$$'$!"#$'$(&$'&))'!$ *$ +! " #$%& ' $&%!)'&##!(&%!)'&))'!$ *$ () *+%+ $ $),% $ -. #,&)-&%!).#,$$)%&%!)$%&)%$)&)$'")$% &%$$'&"%! &%!)$)"%,&)% '$!"#$/ (+ /$0 &&&" *+%$ " 1&& 2 )$02 0!#!&)%'")!'$,$'&"%1$)%-&%!)2

Detaljer

Bevis i Geometri. 23. April, Kristian Ranestad Matematisk Institutt, Universitetet i Oslo

Bevis i Geometri. 23. April, Kristian Ranestad Matematisk Institutt, Universitetet i Oslo Kristian Ranestad Matematisk Institutt, Universitetet i Oslo 23. April, 2012 Matematikk - å regne - å resonnere/argumentere Geometri -hvorfor? Argumentasjon og bevis, mer enn regning etter oppskrifter.

Detaljer

Obligatorisk Innlevering 2

Obligatorisk Innlevering 2 Obligatorisk Innlevering 2 INF5110 - Kompilatorteknikk Våren 2017 Frist 07.05.2017 23:59 Dette er den andre av to oppgaver våren 2017. Den bygger videre på det som er gjort i den første innleveringen.

Detaljer

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

INF-5110 Oppgaver kodegenerering etc. INF-5110, vår 2011

INF-5110 Oppgaver kodegenerering etc. INF-5110, vår 2011 INF-5110 Oppgaver kodegenerering etc. INF-5110, vår 2011 Oppgave 1: Løs oppgavene 8.1 og 8.2 i Louden Oppgave 2: Løs oppgave 8.14.a i Louden. I stedet for oppgave 8.14.b, finn en tredje møte å implemetere

Detaljer

Plan: Parameter-overføring Alias Typer (Ghezzi&Jazayeri kap.3 frem til 3.3.1) IN 211 Programmeringsspråk

Plan: Parameter-overføring Alias Typer (Ghezzi&Jazayeri kap.3 frem til 3.3.1) IN 211 Programmeringsspråk Plan: Parameter-overføring Alias Typer (Ghezzi&Jazayeri kap.3 frem til 3.3.1) Funksjonelle språk (Ghezzi&Jazayeri kap.7 frem til 7.4) Neste uke: ML Ark 1 av 16 Forelesning 16.10.2000 Parameteroverføring

Detaljer

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

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 Repetisjon: arrayer Tema: Løkker Arrayer Metoder Ole Christian Lingjærde,. september Deklarere og opprette array - eksempler: int[] a = new int[]; String[] a = new String[]; I

Detaljer

Forelesning inf Java 4

Forelesning inf Java 4 Forelesning inf1000 - Java 4 Tema: Løkker Arrayer Metoder Ole Christian Lingjærde, 12. september 2012 Ole Chr. Lingjærde Institutt for informatikk, 29. august 2012 1 Repetisjon: arrayer Deklarere og opprette

Detaljer

Kompilering Statiske Syntaksanalyse Feilsjekking Eksempel Oppsummering

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

Detaljer

ITPE/DATS 2400: Datamaskinarkitektur og Nettverk

ITPE/DATS 2400: Datamaskinarkitektur og Nettverk ITPE/DATS 2400: Datamaskinarkitektur og Nettverk Forelesning 9: Instruksjonsettarkitektur 3 Knut H. Nygaard / T. M. Jonassen Institute of Computer Science Faculty of Technology, Art and Design Oslo and

Detaljer

Kjøresystemer. Hva er et kjøresystem? Den abstrakte maskinen SIMPLESEM (2.6) Klassifisering av språk: Parametre (2.7.7) Statiske språk (

Kjøresystemer. Hva er et kjøresystem? Den abstrakte maskinen SIMPLESEM (2.6) Klassifisering av språk: Parametre (2.7.7) Statiske språk ( Kjøresystemer Hva er et kjøresystem? Den abstrakte maskinen SIMPLESEM (2.6) Klassifisering av språk: Statiske språk (2.7.1-2.7.2) FORTRAN, COBOL Stakk-baserte språk (2.7.3-2.7.4) ALGOL 60 Dynamiske språk

Detaljer

Dagens tema: Enda mer MIPS maskinkode

Dagens tema: Enda mer MIPS maskinkode Dagens tema: Enda mer MIPS maskinkode (P&H: 3.6 3.8 + 6.1 + A.6 + A.10) Pseudoinstruksjoner Flere instruksjoner Mer om funksjonskall Stakken Avhengigheter Direktiver Alt er bit! Kommunikasjon med C Ark

Detaljer

Handi-Lift ML7 Målskjema

Handi-Lift ML7 Målskjema Handi-Lift ML7 Målskjema Dato: Monteringsdato: Vår ref.: Bestillings nr.: Kunde (HMS): Utprøvingsnr.: Salgsordre Tilbud Utprøving Resirkulering Bruker Navn: Bruker nr.: Fødselsdato: Adresse: Postnr.: Ordre

Detaljer

Kodegenerering del 3: Tilleggsnotat fra AHU Samt litt om class-filer og byte-kode INF5110 V2007. Stein Krogdahl, Ifi UiO

Kodegenerering del 3: Tilleggsnotat fra AHU Samt litt om class-filer og byte-kode INF5110 V2007. Stein Krogdahl, Ifi UiO Kodegenerering del 3: Tilleggsnotat fra AHU Samt litt om class-filer og byte-kode INF5110 V2007 Stein Krogdahl, Ifi UiO ASU, kap 9.5: Vi generer kode for én og én basal blokk Da er det lett å holde orden

Detaljer

Dagens tema C, adresser og pekere

Dagens tema C, adresser og pekere Dagens tema C, adresser og pekere (Kapittel 17 i Patt&Patel-boken) Variable og adresser Pekervariable Parametre Dynamisk allokering Stakker og ringbuffere Ark 1 av 26 Adresser Som nevnt tidligere ligger

Detaljer

Viktig. Rettet i koden. Obligatorisk oppgave 2 Litt flere detaljer om semantikksjekk og kodegenerering. Semantikksjekk

Viktig. Rettet i koden. Obligatorisk oppgave 2 Litt flere detaljer om semantikksjekk og kodegenerering. Semantikksjekk Obligatorisk oppgave 2 Litt flere detaljer om semantikksjekk og kodegenerering Viktig Ny patch (patch_oblig2.zip) er lagt ut (15/4) Oblig 1 vil bli rettet denne uken Sjekk om det er registrert at den er

Detaljer

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

Gjennomgang prøveeksamen oppgave 1, 2, 4, 5, 7 Gjennomgang prøveeksamen 2014 oppgave 1, 2, 4, 5, 7 1a: Hva er verdien til tall etter at følgende kode er utført: 17 int tall = 5; tall = (tall*3) + 2; 5 15 17 1b: Anta at følgende programsetninger utføres.

Detaljer

KONTINUASJONSEKSAMEN

KONTINUASJONSEKSAMEN Høgskolen i Gjøvik Avdeling for Teknologi KONTINUASJONSEKSAMEN FAGNAVN: FAGNUMMER: Algoritmiske metoder I L 189 A EKSAMENSDATO: 13. august 2001 KLASSE: 99HINDA / 99HINDB / 99HINEA / 00HDESY ( 2DA / 2DB

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

Vår ref.: Saksbehandler: Arkiv: 15/ Frode Mikalsen U43 AKVA Løpenr.: Tlf. dir.innvalg: Deres ref.: Dato: 6880/

Vår ref.: Saksbehandler: Arkiv: 15/ Frode Mikalsen U43 AKVA Løpenr.: Tlf. dir.innvalg: Deres ref.: Dato: 6880/ f f æ Å f f f WÅ Ø Ø Å ØY f W ff f j () f f j æ f f j W f f W j f j (jf æ ) f W æ j f f f j j f f f j f ff f W f W f Ø @f wwwf f W "xff "? f W f f W j H j f f j ()) j f f f j j j f j f f ( ) f j f ff f

Detaljer

Pensumoversikt - kodegenerering. Kap. 8 del 1 kodegenerering INF5110 v2006. Hvordan er instruksjonene i en virkelig CPU? Arne Maus, Ifi UiO

Pensumoversikt - kodegenerering. Kap. 8 del 1 kodegenerering INF5110 v2006. Hvordan er instruksjonene i en virkelig CPU? Arne Maus, Ifi UiO Pensumoversikt - kodegenerering Kap. 8 del 1 kodegenerering INF5110 v2006 Arne Maus, Ifi UiO 8.1 Bruk av mellomkode 8.2 Basale teknikker for kodegenerering 8.3 Kode for referanser til datastrukturer (ikke

Detaljer

Eksamensoppgave i MA2401/MA6401 Geometri

Eksamensoppgave i MA2401/MA6401 Geometri Institutt for matematiske fag Eksamensoppgave i MA2401/MA6401 Geometri Faglig kontakt under eksamen: Frode Rønning Tlf: 7355 0256 Eksamensdato: 21. mai 2014 Eksamenstid (fra til): 09:00 13:00 Hjelpemiddelkode/Tillatte

Detaljer

Eksamen 1T våren 2011

Eksamen 1T våren 2011 Eksamen 1T våren 011 Oppgave 1 a) 1) ) 7 6 00 000 =,6 10 0,04 10 =,4 10 4 b) c) x x + 6x= 16 + 6x 16 = 0 6 ± 6 4 1 ( 16) 6 ± 6 + 64 6 ± 100 6 ± 10 x = = = = = ± 5 1 x = 8 eller x = x x xx > 0 ( 1) > 0

Detaljer

INF225 høsten 2003 Prosjekt del 4: kodegenerering

INF225 høsten 2003 Prosjekt del 4: kodegenerering INF225 høsten 2003 Prosjekt del 4: kodegenerering Thomas Ågotnes 19. november 2003 1 Introduksjon I denne delen av prosjektet skal C- -parseren fra del 3 utvides til å generere maskinkode. Maskinkoden

Detaljer

INF1000: noen avsluttende ord

INF1000: noen avsluttende ord 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

Detaljer

Kap. 8 del 1 kodegenerering INF5110 Vår2007

Kap. 8 del 1 kodegenerering INF5110 Vår2007 Kap. 8 del 1 kodegenerering INF5110 Vår2007 Stein Krogdahl, Ifi UiO Forelesninger framover: Tirsdag 8. mai: Vanlig forelesning Torsdag 10. mai: Ikke forelesning Tirsdag 15. mai: Vanlig forelesning (siste?)

Detaljer

Oversikt Kodegenerering Variable Setninger Uttrykk While-setningen

Oversikt Kodegenerering Variable Setninger Uttrykk While-setningen Dagens tema Dagens tema: Kodegenerering Introduksjon Enkle variable Uttrykk Tilordning Litt mer kompliserte setninger med betingelser (Alt om kodegenerering unntatt funksjoner.) Prosjektoversikt Del-0

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

Mer kodegenerering: Tilleggsnotat fra AHU Om Javas Byte-kode INF april 2009

Mer kodegenerering: Tilleggsnotat fra AHU Om Javas Byte-kode INF april 2009 Mer kodegenerering: Tilleggsnotat fra AHU Om Javas Byte-kode INF5110 30. april 2009 Stein Krogdahl, Ifi UiO Tirsdag 5. mai: Forelesning Torsdag 7. mai: Forelesning Tirsdag 12. mai: FRI Torsdag 14. mai:

Detaljer

GEOMETRI I PLANET KRISTIAN RANESTAD

GEOMETRI I PLANET KRISTIAN RANESTAD GEOMETRI I PLANET KRISTIAN RANESTAD Abstract. Dette kompendiet er laget for et etterutdanningskurs i geometri, og det gir bakgrunn for og supplerer forelesningene i kurset samtidig som det inneholder relevante

Detaljer