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

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

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 17. januar 2005 Ark 1 av 23 Vektorer Alle programmeringsspråk har mulighet til

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

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

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

Datamaskinen LC-2. Dagens tema. Tall i datamaskiner Hvorfor kan LC-2 lagre tall i intervallet ? Hvorfor er det akkurat celler i lageret?

Datamaskinen LC-2. Dagens tema. Tall i datamaskiner Hvorfor kan LC-2 lagre tall i intervallet ? Hvorfor er det akkurat celler i lageret? 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

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

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

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

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

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

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

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

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

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

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

Digital representasjon

Digital representasjon Digital representasjon Alt er bit! Hvordan lagre tall tekst bilder lyd som bit i en datamaskin Hvordan telle binært? Binære tall Skal vi telle med bit ( og ), må vi telle binært. Dette gjøres egentlig

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

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? Programmeringsspråket C En kort

Detaljer

Repetisjon: Statiske språk uten rekursive metoder (C1 og C2) Dagens tema Kjøresystemer (Ghezzi&Jazayeri 2.6, 2.7)

Repetisjon: Statiske språk uten rekursive metoder (C1 og C2) Dagens tema Kjøresystemer (Ghezzi&Jazayeri 2.6, 2.7) Dagens tema Kjøresystemer (Ghezzi&Jazayeri.6,.7) Repetisjon Språk med rekursjon (C3) og blokker (C4) Statisk link Dynamisk allokering (C5) Parameteroverføring 1/5 Repetisjon: Statiske språk uten rekursive

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

( ) ( ( ) ) 2.12 Løsningsforslag til oppgaver i avsnitt

( ) ( ( ) ) 2.12 Løsningsforslag til oppgaver i avsnitt . til oppgaver i avsnitt... Regn ut (a) i j k, (b) j k i, (c) k ì j, (d) k j -j k -i (e) i i 0, (f) j j 0 Vektorene i, j og k danner et høyre-system, så derfor er i j k, j k i, k ì j, k j -j k -i. i i

Detaljer

ﺪ ﻩ ﻋﺍ ﻮﹶ ﻭ ﻗ ﻪ ﹾﻘ ﹾﻟ ﻔ ﺍ ﹺﻝ ﻮ ﹸﺃ ﺻ ﹸ ﻣ ﺔ ﻮﹸ ﻈ ﻣ ﻨ $ ﺡﺮﺷ! " ' (# $% & )*! +,!* -

ﺪ ﻩ ﻋﺍ ﻮﹶ ﻭ ﻗ ﻪ ﹾﻘ ﹾﻟ ﻔ ﺍ ﹺﻝ ﻮ ﹸﺃ ﺻ ﹸ ﻣ ﺔ ﻮﹸ ﻈ ﻣ ﻨ $ ﺡﺮﺷ!  ' (# $% & )*! +,!* - م ن ة ظو م ل ا ا ل صو ق ف ه و ع وا ق و ه د $ شرح ٢ الا ول] [الدرس :$, : $ $, : ; $, موقع التف ري غ للدرو س الع لمية والبحوث الشرعي ة Ï Î Í Ì ٣,,,,,, : :, :,, :,, : $,,,,,, : :,, :,,:ÑÐ, :,,,, :,, :,,,,,,,,

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

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

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

Oppgaver MAT2500. Fredrik Meyer. 11. oktober 2014

Oppgaver MAT2500. Fredrik Meyer. 11. oktober 2014 Oppgaver MAT2500 Fredrik Meyer 11. oktober 2014 Oppgave 1. La ABCD og A BC D være to parallellogrammer med felles vinkel ABC = A BC. Vis at linjene gjennom DD, A C og AC er konkurrente. Løsning 1. Det

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

DRIFTSANALYSER 2012/2013 FORELØBIGE RESULTATER

DRIFTSANALYSER 2012/2013 FORELØBIGE RESULTATER DRIFTSANALYSER FORELØBIGE RESULTATER A B C D E F C G H E I J K L B K F G K! " # $ %! & ' ( ) ( * + #, -! &!. & ) /! ( / ) - 0 1 - ' #.! ( ( * ' 1 2 ( (! 3 4 " (! - 5 6!! 7 % ' # 7 4 " (! - 1 2 # 7 4 8-1

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

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

Programmeringsspråket C Del 2

Programmeringsspråket C Del 2 Programmeringsspråket C Del 2 Michael Welzl E-mail: michawe@ifi.uio.no 8/25/10 inf1060 1 Et eksempel Dette er lite eksempel som ber om et tall, leser det og så teller fra det ned til 0. 8/25/10 inf1060

Detaljer

Programmeringsspråket C Del 2

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

Detaljer

Ã Ô ½ Ë Ð Ô Ø Ô Ø Ð ØÖÙ ØÙÖ

Ã Ô ½ Ë Ð Ô Ø Ô Ø Ð ØÖÙ ØÙÖ Ã Ô ½ Ë Ð Ô Ø Ô Ø Ð ØÖÙ ØÙÖ Ò Ø Ø Ê ÒØ ØØ ÓÖ Ð Ò Î Ö Ò Ú Ö ÒØ ØØ ÓÖ Ð Ò Ê Ô Ø Ð Ö Ò ÓÖ Ò ÓÔÔ ÊË È Ö ÓÒ ØØ Ö ÌÓÐ ØÒ Ò ÇÔØ Ñ Ð Ô Ø Ð ØÖÙ ØÙÖ Ñ ØØ Ö Ê ÒØ ØØ ÓÖ Ð Ò Ø ÐØ Ö ÒØ Ö Ö Ö ÒØ Ö Ö Á ÓÐ ÖØ Ö ØØ Ø Ò

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

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

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

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

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

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

Ë < # ;<z O < HSCÉ XÚÎ

Ë < # ;<z O < HSCÉ XÚÎ -/ D &/01 23 45 89 : ; () /1 8> 8 =>8$>/%>/D &/ # 888/ %5 - /0- -/ OX < =>? D &/@8108A0BC D &/ DE 5@8[ _F T 18> < %$@%B/ H M[ C+ C*N O 2 I# 5 I I

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

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

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

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

Î Ö ØØ Ò Ú Ö

Î Ö ØØ Ò Ú Ö Î Ö ØØ Ò Ú Ö Ò Ø Ø Ò ÓÒ Ö ÆÆÎ Ñ ØÓ Ò Ú Ò ÑÓ ÐÐ Ò Î Ø Ú Ò Ò ÙÖ Ó Ò ÓÖÑ ÓÒ Ø Ô Ö Ò ÓÒ Ö Ò Ô Ø Ð = ÙÖ ÒØ ÐÐ Öµ ¼ = Ë ¼ ÒØ ÐÐ Öµ ½µ Ö Ø Ö ÙÐØ Ø ÔÖº ÈË ÖÒ Ò Ô Ö Ö µ ÈË Ø = Ö Ø Ö ÙÐØ Ø Ø ÒØ ÐÐ Ö Ø ¾µ ÈÖ ¹ ÖÒ

Detaljer

PDF created with pdffactory Pro trial version

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

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

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

Godkjenning av møteinnkalling

Godkjenning av møteinnkalling ! " # $ % & ' ( ) * * + *, -. / 0 1 ) + * * ' - 2 2 + *, 3 " 4 3 5 4 " # 5! " # $ % & ' ( ) * * + *, -. 6 7 % 1 % ' % 2 2 8 7 - / 0 1 ) 5 3 4 3 " 4 " # 9 :! " # ; 7 + ) * 1 ) 7 + *, % / < - / / ) * < 2

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

abcdecf a c c c f ac f a c a a f a c c f a f ac f c c b

abcdecf a c c c f ac f a c a a f a c c f a f ac f c c b a c c a b abde fa fcc e å æe cdee fa c bcdec c acc e å б a a b de a e fa c ac e å e ce f c ab e fc ce å cf f c æ cbe å fa cc a bc cå æecffc д c åb fc c abc c ec å fc eф æ бåæ c c c å c fbå æefac facff

Detaljer

Ì ÊÁË ÈÖÓ Ö Ñ ÜÔÐÓÖ Ö Ë ÓÒ ËØ ØÙ Ê ÔÓÖØ ÏÓÐ Ò Ë Ö Ò Ö ÏÓÐ Ò ºË Ö Ò ÖÖ º Ùº Ø Ê Ö ÁÒ Ø ØÙØ ÓÖ ËÝÑ ÓÐ ÓÑÔÙØ Ø ÓÒ ÊÁË µ ÂÓ ÒÒ Ã ÔÐ Ö ÍÒ Ú Ö ØÝ Ä ÒÞ Ù ØÖ

Ì ÊÁË ÈÖÓ Ö Ñ ÜÔÐÓÖ Ö Ë ÓÒ ËØ ØÙ Ê ÔÓÖØ ÏÓÐ Ò Ë Ö Ò Ö ÏÓÐ Ò ºË Ö Ò ÖÖ º Ùº Ø Ê Ö ÁÒ Ø ØÙØ ÓÖ ËÝÑ ÓÐ ÓÑÔÙØ Ø ÓÒ ÊÁË µ ÂÓ ÒÒ Ã ÔÐ Ö ÍÒ Ú Ö ØÝ Ä ÒÞ Ù ØÖ Ì ÊÁË ÈÖÓ Ö Ñ ÜÔÓÖ Ö Ë ÓÒ ËØ ØÙ Ê ÔÓÖØ ÏÓ Ò Ë Ö Ò Ö ÏÓ Ò ºË Ö Ò ÖÖ º Ùº Ø Ê Ö ÁÒ Ø ØÙØ ÓÖ ËÝÑ Ó ÓÑÔÙØ Ø ÓÒ ÊÁË µ ÂÓ ÒÒ Ã Ô Ö ÍÒ Ú Ö ØÝ Ä ÒÞ Ù ØÖ ØØÔ»»ÛÛÛºÖ º Ùº Ø ÏÓ Ò Ë Ö Ò Ö ØØÔ»»ÛÛÛºÖ º Ùº Ø ½»½ Ó Ò

Detaljer

L ; D = B M B N I < G H = D = F C M E N < D ; <? ; < = H M = < F E < M B = B C O P E < E F D < Q K

L ; D = B M B N I < G H = D = F C M E N < D ; <? ; < = H M = < F E < M B = B C O P E < E F D < Q K $ ) $ * % +, - $ $ % + $ + $ * % $. $ / $ * $ $ 0 0 $ - 1, 2 $ 3 $ 0 4 /, 5 4 0 0 $ 0 $ 3. 0 6 $ $ 7. + $ - $ 8 + $ 9 : ; < = > < =? < ; @ A @? B C < C D = < E F G H = I F C D < JE < > < D E? H J< = :

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

I# w ,F3<#""" wxy2t {r u v$ 0 Y 4 } ~ Â ` - é$8 UX#' ] d Ñ \ ] J. I \ ] O,+R:,!" {%O DM%M5#' ] J*CO!

I# w ,F3<# wxy2t {r u v$ 0 Y 4 } ~ Â ` - é$8 UX#' ] d Ñ \ ] J. I \ ] O,+R:,! {%O DM%M5#' ] J*CO! !!"1!6"! 2! '1! &8!& & $& & & W>XY W>6 ()W>$ - / (3 JHH H 2 2 + / ( 3< / > / :("82 / B $ )! / 2 2 +("82 P/C ) " / ("82 C8 / $& / ("82 /' ) " / ("82 E ) * + / (" 82 / '? " ("82 )*+ / ("82W $ J( /' / JH

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

PDF created with pdffactory Pro trial version

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

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

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

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

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

INF1000: Forelesning 4. Mer om arrayer Metoder

INF1000: Forelesning 4. Mer om arrayer Metoder 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

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

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

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

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

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

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

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

Fra Python til Java, del 2

Fra Python til Java, del 2 Fra Python til Java, del 2 Hvordan kjøre Java? På Ifis maskiner På egen maskin Et eksempel Array-er For-setninger Lesing og skriving Metoder Biblioteket Hva trenger vi egentlig? Å kjøre Java For å kunne

Detaljer

Godkjenning av møteinnkalling

Godkjenning av møteinnkalling ! "! # $ % & ' ( ) * * + *, -. / 0 1 ) + * * ' - 2 2 + *, 3 4 5 6 3 5! # 7! "! # $ % & ' ( ) * * + *, -. 8 9 % 1 % ' % 2 2 : 9 - / 0 1 )!! 5! 3 5! 4 ;! "! # < 9 + ) * 1 ) 9 + *,. ) & 9 5 % : : ) * 1 2

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

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

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

Oppgave 1 - Linux kommandolinje (%)

Oppgave 1 - Linux kommandolinje (%) Løsningsforslag Eksamen høst 2017 Operativsystemer Oppgave 1 - Linux kommandolinje (%) a) pwd b) ps Oppgave 2 - Bash-scripting (%) a) ping -i 5 www.hin.no b) ping -c 1 www.hin.no ping -c 1 -t 1 www.hin.no

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

Oppsummering Assemblerkode Hopp Multiplikasjon Kode og data Array Oppsummering

Oppsummering Assemblerkode Hopp Multiplikasjon Kode og data Array Oppsummering Uke 34 Uke 35 Uke 36 Uke 37 Uke 38 Uke 39 Uke 40 Uke 41 Uke 42 Uke 43 Uke 44 Uke 45 Uke 46 Uke 47 sikkerhet datanett programvare digitale kretser Prosessoren II Kort oppsummering Løkker og tester Mer om

Detaljer