IN 147 Program og maskinvare
|
|
|
- Jonathan Haaland
- 9 år siden
- Visninger:
Transkript
1 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 Lesing fra og skriving til filer Et siste eksempel Ark 1 av 25 Forelesning
2 Oversikt over kurset Kurset IN 147 Program- og maskinvare dreier seg om grensesnittet mellom programmer og datamaskinen: Idé Lag et program som... Java p=newelem(4); C *pi++=&a; Assemblerspråk addi $7,$0,3 Maskinkode Forelesning Ark 2 av 25
3 Om programmeringsspråk Et program er et sett instruksjoner til datamaskinen om hva den skal gjøre. Dette kan skrives i ulike språk: Java, Simula, C,... Både Java, Simula og C er imperative språk og har derfor svært mange elementer felles, selv om utseendet (syntaksen) kan variere: Java Simula C System.out.print("?"); OutText("?"); printf("?"); Java og Simula er objektorienterte språk og har klasser med tilhørende muligheter; det har ikke C. C er Java uten klasser (nesten)! Dag Langmyhr Java og C ligner svært på hverandre når det gjelder setninger, uttrykk og bruk av enkle variable. Derfor vil vi bruke Simula i sammenligningene når C- og Java-koden er lik eller nesten lik. Forelesning Ark 3 av 25
4 Et litt større eksempel #include <stdio.h> /* Hvor mange hele fot utgjør disse tommene? */ int finn_fot(int tommer) { return tommer/12; /* Hvor mange rene tommer er det i dette målet? */ int rene_tommer(int tommer) { int fot = tommer/12; return tommer - 12*fot; int main(void) { int tom; printf("angi et mål i tommer: "); scanf("%d", &tom); while (tom!= 0) { if (tom > 0 && tom <= 999) printf("%5d tommer = %d fot %d tommer\n", tom, finn_fot(tom), rene_tommer(tom)); else printf("programmet godtar kun verdier 0-999!\n"); printf("gi et nytt mål i tommer (0 for avslutning): "); scanf("%d", &tom); Forelesning Ark 4 av 25
5 Kommentarer Kommentarer omgis av /* og */. De kan stå hvor som helst. Java C // Lurt! /* Lurt! */ Deklarasjon av variable Variable kan deklareres først i en funksjon eller mellom funksjonene. En deklarasjon består av tre deler: Variabelens type. Variabelens navn. Flere variable kan deklareres, adskilt av komma. En initialverdi for sistnevnte variabel; kan droppes. En variabel uten angitt initialverdi får en tilfeldig startverdi. Simula C integer a, b, c; int a, b, c; real x; float x = 3.14; x := 3.14; Forelesning Ark 5 av 25
6 Predefinerte typer Disse typene er alltid definert i C: Simula C char Små tall ( 128 til 127) integer int Større tall ( til 32767) long integer long Kjempetall real float Flyt-tall long real double Store flyt-tall Innlesning Til innlesning brukes scanf. Første parameter angis hva som skal leses inn: %c for tegn, %d for heltall og %f for flyt-tall. Simula a := InInt; x:=inreal;y:=inreal; C scanf("%d", &a); scanf("%f%f", &x, &y); Legg merke til & foran variabelnavnet; den må være der. Forelesning Ark 6 av 25
7 Setninger Tilordning I C og Java brukes = for tilordning. Simula a:=5; C a=5; If-setninger If-setninger er som de fleste andre språk. Simula C ifa<0then if (a < 0) a:=-a; a=-a; ifa<0then if (a < 0) b:=-1 b=-1; else else b:=1; b=1; Legg merke til at det skal stå parenteser rundt testen, og at det skal være ; foran else. Forelesning Ark 7 av 25
8 While-løkker While-løkker er også som i de fleste andre språk: Simula C while a > 0 do while (a > 0) begin { b := b*a; a := a-1 b = b*a; a = a-1; end; I C og Java avsluttes alle setninger med ; (unntatt etter ). Sammensatte setninger Flere setninger kan slås sammen til én med { og i C og Java. Simula C begin...end {... Forelesning Ark 8 av 25
9 Diverse småtterier Sammenligning Verdier sammenlignes med følgende Simula C = eller == == = <> eller =/=!= < < < <= <= > > > >= >= Logiske operasjoner Disse skrives slik: Simula C not! and && or Forelesning Ark 9 av 25
10 Lagring av tegn C har ingen egen type for å lagre tegn (som char i Java eller character i Simula). I stedet benyttes heltall. Java C char c; int c;?? 63 Hvilken koding som brukes, vil variere fra én maskin til en annen. I den vestlige verden brukes stort sett nå ISO , ogsåkjent som ISO LATIN-1. På neste ark er vist en oversikt over hvilke tegn som finnes i Latin-1. I øvre venstre hjørne står verdien som brukes til å representere tegnet. (I to andre hjørner står den oktale og heksadesimale verdien. De omtales i onsdagens forelesning.) Forelesning Ark 10 av 25
11 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 Denne tabellen finnes på /local/lib/ps/iso8859-table.ps. à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ø ù ú û ü ý þ ÿ 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 Forelesning Ark 11 av 25
12 Lagring av logiske verdier C har heller ingen type for å lagre logiske verdier (som boolean i Java og Simula). Her benyttes også heltall: Verdi Betydning 0 usann (= false) 0 sann (= true) Dette betyr at testen i if- ogwhile-setninger tester på 0 og 0. Det er derfor det samme om vi skriver if (a!= 0)... if (a)... De fleste synes imidlertid at det første er lettere å lese. Forelesning Ark 12 av 25
13 Statusverdi Hvorfor er main en int-funksjon? I mange operativsystemer (deriblant UNIX) kan et program fortelle systemet hvorledes kjøringen gikk. UNIX benytter følgende kode: Verdi Betydning 0 OK Feil (De ulike feilverdiene kan fortelle hva slags feil det er snakk om.) Funksjonen main returnerer programmets statusverdi. Funksjonen exit Enhver funksjon kan avslutte kjøringen og angi programmets statusverdi med funksjonen exit, for eksempel exit(1); Forelesning Ark 13 av 25
14 Bruk av statusverdi Statusverdien som kommer fra et program kan brukes på ulike måter. I vår standard kommandotolker (bash) kan man skrive program 1 && program 2 Da blir program 2 kun utført hvis program 1 gikk bra. Likeledes kan man skrive program 1 program 2 Da blir program 2 kun utført hvis program 1 feilet (dvs returnerte status > 0). Forelesning Ark 14 av 25
15 Vektorer I C deklarerer man vektorer (matriser, «array-er») ved å angi antall elementer i hakeparenteser etter variabelnavnet. Simula C integer array A(1:10); int a[10]; real array B(-1:1); float b[3]; A(2) := 17; a[1] = 17; B(0) := B(-1)+B(1); b[1] = b[0]+b[2]; Java C int a[] = new int[10]; int a[10]; float b[] = new float[3]; float b[3]; a[1] = 17; a[1] = 17; b[1] = b[0]+b[2]; b[1] = b[0]+b[2]; Nedre grense er alltid 0 i C (som i Java)! Det er opp til oss som programmerere å foreta omregningen. Forelesning Ark 15 av 25
16 Vektorer som parametre Når en parameter er en vektor, trenger man ikke oppgi antallet elementer: void null_ut(int v[], int n) { /* Nuller ut en vektor med n elementer. */ int i = 0; while (i < n) { v[i] = 0; i = i+1; Forelesning Ark 16 av 25
17 Definisjonsfiler I C bruker man ofte programpakker, og da må man hente inn de nødvendige definisjoner. Dette gjøre med direktivet #include. Simula external class Xx; C #include <xx.h> Java import Xx; C #include <xx.h> (Merk at #-tegnet må stå helt til venstre på linjen! Det skal heller ikke være noe ; til slutt.) De to vanligste pakkene er stdio.h («standard I/O») definerer alt som har med lesing og skriving å gjøre. stdlib.h («standard library») definerer de vanligste C-funksjonene, for eksempel exit. Vi skal siden benytte andre pakker. I C-boken til Kernighan & Ritchie står en oversikt over de viktigste pakkene. Forelesning Ark 17 av 25
18 Inkrementering og dekrementering Siden det å øke eller senke en variabel med 1 er så vanlig, har C en egen notasjon for dette: ++a og a samt a++ og a. Hvis ++ eller står foran variabelen, økes variabelen før vi får dens verdi. Hvis ++ eller står etter variabelen, økes variabelen etter at vi får dens verdi. Følgende program tester det: #include <stdio.h> int main(void) { int a = 5; printf(" ++a er %d\n", ++a); printf("nå er a %d\n", a); printf(" a++ er %d\n", a++); printf("nå er a %d\n", a); return 0; Resultatet er ++a er 6 Nå er a 6 a++ er 6 Nå er a 7 Forelesning Ark 18 av 25
19 Andre former for oppdatering C (og Java) har også en annen variant som gjør programmene mer kompakte: a op= uttrykk gjør det samme som a=aop uttrykk Eksempler Simula A:=A+2; a+=2; A[4*X+Y] := A[4*X+Y]/2; a[4*x+y] /= 2; C Forelesning Ark 19 av 25
20 For-setningen C (og Java) har en annen løkke i tillegg til while-løkken: Simula for I := 1 step 1 until N do for (i=1; i<=n; ++i) Sum := Sum+I; sum += i; for I := A step -1 until B do for (i=a; i>=b; i) X(I) := X(I-1); x[i] = x[i-1]; Denne løkken er egentlig mer generell. Løkken for ( initiering ; test ; oppdatering ) kropp er en kompakt skrivemåte for initiering ; while ( test ) { kropp ; oppdatering ; Den første løkken er altså egentlig i=1; while (i <= n) { sum += i; ++i; C Forelesning Ark 20 av 25
21 Lesing fra fil Man må gjøre følgende når man skal lese fra fil: Deklarere fil-variabelen som FILE *. Åpne filen med funksjonen fopen med filnavn og "r" (for «read») som parametre. Hvis filen ikke finnes, returneres NULL. Lese fra filen med fscanf (som virker som scanf) eller fgetc (som leser ett og ett tegn). Lukke filen med fclose. #include <stdio.h> int main(void) { FILE *f; int a, b; f = fopen("2tall","r"); if (f == NULL) { printf("umulig å lese filen 2tall.\n"); return 1; fscanf(f, "%d%d", &a, &b); fclose(f); printf("%d + %d = %d\n", a, b, a+b); return 0; Forelesning Ark 21 av 25
22 Skriving til fil Skriving til fil er tilsvarende lesing fra fil. Man må gjøre følgende: Deklarere fil-variabelen som FILE *. Åpne filen med funksjonen fopen med filnavn og "w" (for «write») som parametre. Hvis filen ikke lar seg åpne, returneres NULL. Skrive til filen med fprintf (som virker som printf). Lukke filen med fclose. #include <stdio.h> int main(void) { FILE *f; int i; f = fopen("potens.tab","w"); if (f == NULL) { printf("umulig å skrive til potens.tab\n"); return 1; fprintf(f, " n n² n³\n"); for (i = 0; i <= 10; ++i) { fprintf(f, "%2d %3d %4d\n", i, i*i, i*i*i); fclose(f); return 0; Forelesning Ark 22 av 25
23 Dette gir følgende resultat: maskin navn> more potens.tab n n² n³ Forelesning Ark 23 av 25
24 Et avsluttende eksempel #include <stdio.h> #include <stdlib.h> int main(void) { FILE *f; int nc[256], i, c; for (i = 0; i <= 255; ++i) nc[i] = 0; f = fopen("min.fil","r"); if (f == NULL) { printf("kan ikke lese min.fil!\n"); exit(1); c = fgetc(f); while (c!= EOF) { ++nc[c]; c = fgetc(f); fclose(f); for (i = 0; i <= 255; ++i) { if (nc[i] > 0) { if ((32<=i && i<=126) 161<=i) printf(" %c ", i); else printf("%3d", i); printf(":%4d\n", nc[i]); return 0; Forelesning Ark 24 av 25
25 Programmet på forrige ark leser en fil min.fil tegn for tegn. Så skriver det ut hvor mange forekomster det er av hvert tegn. Bruker vi det på seg selv, får vi følgende resultat: 10: 32 : 131! : 2 " : 12 # : 2 % : 3 & : 2 : 3 ( : 17 ) : 17 * : 1 + : 6, : 6. : 4 0 : 5 1 : 4 2 : 5 3 : 2 4 : 1 5 : 5 6 : 3 : : 1 ; : 18 < : 7 = : 14 > : 3 E : 2 F : 2 I : 1 K : 1 L : 3 N : 1 O : 1 U : 1 [ : 5 \ : 2 ] : 5 : 1 a : 2 b : 1 c : 16 d : 7 e : 14 f : 21 g : 2 h : 3 i : 37 k : 2 l : 9 m : 3 n : 21 o : 6 p : 5 r : 9 s : 5 t : 12 u : 3 v : 1 w : 1 x : 1 { : 5 : 2 : 5 Forelesning Ark 25 av 25
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,
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
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
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
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å
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
Dagens tema. Kort repetisjon om rutiner. Programmering i C Variable og adresser. Vektorer. Tekster. Preprosessoren. Separat kompilering
Dagens tema Kort repetisjon om rutiner Programmering i C Variable og adresser Vektorer Tekster Preprosessoren Separat kompilering Innlesning og utskrift mot skjerm og fil Ark 1 av 31 Hva er en rutine?
Dagens tema: INF2100. Utvidelser av Minila array-er. tegn og tekster. Flass- og Flokkode. prosedyrer. Prosjektet struktur. feilhåndtering.
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
Dagens tema. Rutiner i LC-2 Og her er tilsvarende kode for LC-2: Funksjoner i C Her er det samme programmet i C: Kort repetisjon om rutiner
Dagens tema Kort repetisjon om rutiner Programmering i C Variable og adresser Vektorer Tekster Preprosessoren Separat kompilering Innlesning og utskrift mot skjerm og fil Hva er en rutine? En rutine (også
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 ([email protected]). Dagens tema: Hva går kurset ut på? for kurset Hvordan gjennomføres kurset? Hvordan får man det godkjent? Pause (med registrering
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
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
Programmeringsspråket C Del 2
Programmeringsspråket C Del 2 Michael Welzl E-mail: [email protected] 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
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
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
Digital representasjon
Hva skal jeg snakke om i dag? Digital representasjon [email protected] 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
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
Del 1 En oversikt over C-programmering
Del 1 En oversikt over C-programmering 1 RR 2016 Starten C ble utviklet mellom 1969 og 1973 for å re-implementere Unix operativsystemet. Er et strukturert programmeringsspråk, hvor program bygges opp av
Velkommen til INF2100
Kursopplegg Velkommen til INF2100 Jeg er ([email protected]). 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)
Dagens tema. Mer om C Enkle datatyper Sammensatte datatyper: Vektorer og matriser Tekster Mengder Strukturer Unioner Ringbuffere
Dagens tema Mer om C Enkle datatyper Sammensatte datatyper: Vektorer og matriser Tekster Mengder Strukturer Unioner Ringbuffere Formål: Nyttige å bruke under programmeringen Trening i programmering i C
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,
Programmeringsspråket C
Programmeringsspråket C Programmeringsspråket C 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;
Digital representasjon
Hva skal jeg snakke om i dag? Digital representasjon [email protected] 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
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
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
INF1000 EKSTRATILBUD. Stoff fra uke 1-5 (6) 3. oktober 2012 Siri Moe Jensen
INF1000 EKSTRATILBUD Stoff fra uke 1-5 (6) 3. oktober 2012 Siri Moe Jensen PLAN FOR DAGEN gjennomgå stoff fra uke 1-5(6), men med en litt annen tilnærming kun gjennomgått stoff, men vekt på konsepter og
Programmeringsspråket C
Programmeringsspråket C Programmeringsspråket C Laget til implementasjon av Unix ved AT&Ts Bell labs i Palo Alto 1969 73. Navnet kommer fra BCPL B C. Opphavsmannnen heter Dennis Ritchie. ANSI-standard
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
INF1000 undervisningen INF 1000 høsten 2011 Uke september
INF1000 undervisningen INF 1000 høsten 2011 Uke 2 30. september Grunnkurs i Objektorientert Programmering Institutt for Informatikk Universitetet i Oslo Siri Moe Jensen og Arne Maus Forelesningene: Første
Dagens tema. Oppsummering om assemblerspråk. Programmering i C. Bakgrunn. Et minimalt eksempel med forklaring. Datatyper i C.
Dagens tema Oppsummering om assemblerspråk Programmering i C (kapittel 11 og 12 i Patt&Patel-boken) Bakgrunn Et minimalt eksempel med forklaring Datatyper i C Operatorer i C Et eksempel til med forklaring
Dagens program. Operativsystemer Prosesser og systemkall i UNIX Hente prosessens nummer Starte prosesser Vente på prosesser Utføre programmer
Dagens program Operativsystemer Prosesser og systemkall i UNIX Hente prosessens nummer Starte prosesser Vente på prosesser Utføre programmer Nyttige forklaringer Sikker opprettelse av nye prosesser Hva
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
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
Oppgavene 1, 2, 4, 5, 6, 9, 12 og 13 passer best til å løses ved en datamaskin.
Oppgaver uke 35: Oppgavene 1, 2, 4, 5, 6, 9, 12 og 13 passer best til å løses ved en datamaskin. Oppgave 1. Skriv et C-program som leser mål i tommer og skriver det ut i fot og tommer. (Det er 12 tommer
Programmeringsspråket C Del 3
Programmeringsspråket C Del 3 Michael Welzl E-mail: [email protected] 29.08.13 inf1060 1 Dynamisk allokering Ofte trenger man å opprette objekter under kjøringen i tillegg til variablene. Standardfunksjonen
Kort om meg. INF1000 Uke 2. Oversikt. Repetisjon - Introduksjon
Kort om meg INF1000 Uke 2 Variable, enkle datatyper og tilordning Fredrik Sørensen Kontor: Rom 4311-NR, Informatikkbygget Brukernavn/e-post: [email protected] Utdanning: Dataingeniør, 2000 Cand.Scient,
Fra Python til Java. En introduksjon til programmeringsspråkenes verden. Dag Langmyhr
Fra Python til Java En introduksjon til programmeringsspråkenes verden [email protected] Oversikt Introduksjon Python Java Noe er likt Noe bare ser anderledes ut Noe er helt forskjellig Et eksempel Klasser
IN1010. Fra Python til Java. En introduksjon til programmeringsspråkenes verden Dag Langmyhr
IN1010 Fra Python til Java En introduksjon til programmeringsspråkenes verden [email protected] Oversikt Introduksjon Python Java Noe er likt Noe bare ser anderledes ut Noe er helt forskjellig Et par eksempler
INF1000 (Uke 5) Mer om løkker, arrayer og metoder
INF1000 (Uke 5) Mer om løkker, arrayer og metoder Grunnkurs i programmering Institutt for Informatikk Universitetet i Oslo Anja Bråthen Kristoffersen og Are Magnus Bruaset Praktisk informasjon Når disse
Forelesning inf Java 5
Ole Chr. Lingjærde 1 Forelesning inf1000 - Java 5 Tema: Mer om metoder 2D-arrayer String Ole Christian Lingjærde, 26. september 2013 Ole Chr. Lingjærde Institutt for informatikk, 26. september 2013 1 Strukturen
Forelesning inf Java 5
Forelesning inf1000 - Java 5 Tema: Mer om metoder 2D-arrayer String Ole Christian Lingjærde, 26. september 2013 Ole Chr. Lingjærde Institutt for informatikk, 26. september 2013 1 Strukturen til et Java-program
UNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF1000 Grunnkurs i objektorientert programmering Eksamensdag: 11. juni 2004 Tid for eksamen: 9.00 12.00 Oppgavesettet er på 8
IN1010. Fra Python til Java. En introduksjon til programmeringsspråkenes verden Dag Langmyhr
IN1010 Fra Python til Java En introduksjon til programmeringsspråkenes verden [email protected] Oversikt Introduksjon Python Java Noe er likt Noe bare ser anderledes ut Noe er helt forskjellig Et par eksempler
Dagens tema INF1070. Signaturer. Typekonvertering. Pekere og vektorer. struct-er. Definisjon av nye typenavn. Lister
Dagens tema Signaturer Typekonvertering Pekere og vektorer struct-er Definisjon av nye typenavn Lister Dag Langmyhr,Ifi,UiO: Forelesning 24. januar 2005 Ark 1 av 20 Signaturer I C gjelder alle deklarasjoner
Bakgrunnen for INF2100. Velkommen til INF2100. Prosjektet. Hva gjør en kompilator?
Kursopplegg Velkommen til INF2100 Bakgrunnen Bakgrunnen for INF2100 Jeg er Dag Langmyhr ([email protected]). Dagens tema: Hva går kurset ut på? Bakgrunn for kurset Hvordan gjennomføres kurset? Hvordan får
Betinget eksekvering og logiske tester i shell
Betinget eksekvering og logiske tester i shell Betinget eksekvering *? Programmet utfører operasjon(er) bare hvis en logisk betingelse er sann Bash tilbyr to kontrollstrukturer for å kunne gjøre betinget
Oversikt. INF1000 Uke 2. Repetisjon - Program. Repetisjon - Introduksjon
Oversikt INF1000 Uke 2 Variable, enkle datatyper og tilordning Litt repetisjon Datamaskinen Programmeringsspråk Kompilering og kjøring av programmer Variabler, deklarasjoner og typer Tilordning Uttrykk
Velkommen til INF Introduksjon til operativsystemer og datakommunikasjon
Velkommen til INF-1060 Introduksjon til operativsystemer og datakommunikasjon 22.08.12 INF1060 1 Forelesere: Pål Halvorsen ([email protected]) Nettverk og Distribuerte systemer (ND) (ved Simula) Tor Skeie
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,
Velkommen til INF Introduksjon til operativsystemer og datakommunikasjon
Velkommen til INF-1060 Introduksjon til operativsystemer og datakommunikasjon 21.08.2007 INF1060 1 Forelesere: Pål Halvorsen ([email protected]) Nettverk og Distribuerte systemer (ND) (ved Simula) Kjell
Litt mer om uttrykk: ++ og -- INF1000 : Forelesning 4. Oppgave. Blokker. 0 udefinert udefinert. Alternativ 2 Postfiks-operator
Litt mer om uttrykk: ++ og -- INF : Forelesning Løkker og arrayer Mye og viktig stoff. Du MÅ løse oppgaver selv for å lære!. september 6 Ole Christian Lingjærde Gruppen for bioinformatikk Institutt for
Del 4 Noen spesielle C-elementer
Del 4 Noen spesielle C-elementer 1 RR 2016 Header-filer inneholder Prototypene til funksjonene i standard biblioteket Verdier og definisjoner som disse funksjonene bruker #include #include
INF1000 (Uke 15) Eksamen V 04
INF1000 (Uke 15) Eksamen V 04 Grunnkurs i programmering Institutt for Informatikk Universitetet i Oslo Anja Bråthen Kristoffersen og Are Magnus Bruaset 22-05-2006 2 22-05-2006 3 22-05-2006 4 Oppgave 1a
INF1000 (Uke 15) Eksamen V 04
INF1000 (Uke 15) Eksamen V 04 Grunnkurs i programmering Institutt for Informatikk Universitetet i Oslo Anja Bråthen Kristoffersen og Are Magnus Bruaset 22-05-2006 2 22-05-2006 3 22-05-2006 4 Oppgave 1a
Programmering Høst 2017
Programmering Høst 2017 Tommy Abelsen Ingeniørfag - Data Innledning Dette er et dokument med litt informasjon og eksempler om kontrollstrukturer, samt oppgaver til forskjellige kontrollstrukturer. Spør
2 Om statiske variable/konstanter og statiske metoder.
Litt om datastrukturer i Java Av Stein Gjessing, Institutt for informatikk, Universitetet i Oslo 1 Innledning Dette notatet beskriver noe av det som foregår i primærlageret når et Javaprogram utføres.
OPPGAVE 1 OBLIGATORISKE OPPGAVER (OBLIG 1) (1) Uten å selv implementere og kjøre koden under, hva skriver koden ut til konsollen?
OPPGAVESETT 4 PROSEDYRER Oppgavesett 4 i Programmering: prosedyrer. I dette oppgavesettet blir du introdusert til programmering av prosedyrer i Java. Prosedyrer er også kjent som funksjoner eller subrutiner.
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
Velkommen til INF2100 Jeg er Dag Langmyhr
Velkommen til Jeg er Dag Langmyhr ([email protected]). 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
UNIVERSITETET I OSLO
UNIVERSITETET I OSLO BOKMÅL Det matematisk-naturvitenskapelige fakultet Eksamen i : Eksamensdag : Torsdag 2. desember 2004 Tid for eksamen : 09.00 12.00 Oppgavesettet er på : Vedlegg : Tillatte hjelpemidler
Forkurs INF1010. Dag 1. Andreas Færøvig Olsen Tuva Kristine Thoresen
Forkurs INF1010 Dag 1 Andreas Færøvig Olsen ([email protected]) Tuva Kristine Thoresen ([email protected]) Institutt for Informatikk, 6. januar 2014 Forkurs INF1010 - dag 1 Hello, World! Typer Input/output
INF1000 : Forelesning 1 (del 2)
INF1000 : Forelesning 1 (del 2) Java Variable og tilordninger Heltall, desimaltall og sannhetsverdier Utskrift på skjerm Ole Christian Lingjærde Gruppen for bioinformatikk Institutt for informatikk Universitetet
Læringsmål og pensum. Oversikt
1 2 Læringsmål og pensum TDT4105 Informasjonsteknologi grunnkurs: Uke 39 Betingede løkker og vektorisering Læringsmål Skal kunne forstå og programmere betingede løkker med while Skal kunne utnytte plassallokering
Typer. 1 Type: boolean. 2 Verdimengde: {true, false} 3 Operatorer: NOT, AND, OR... 1/19. Forelesning Forelesning
Dagens tema Typer (Kapittel 3 frem til 331) Innføring i ML (Kapittel 743 & ML-kompendiet) Typer En (data-)type består av: en mengde verdier en mengde operasjoner man kan anvende på disse verdiene Eksempel:
Oversikt. INF1000 Uke 1 time 2. Repetisjon - Introduksjon. Repetisjon - Program
Oversikt INF1000 Uke 1 time 2 Variable, enkle datatyper og tilordning Litt repetisjon Datamaskinen Programmeringsspråk Kompilering og kjøring av programmer Variabler, deklarasjoner og typer Tilordning
INF1000 Eksamen 2014 (modifisert)
INF1000 Eksamen 2014 (modifisert) Oppgave 1 (4 poeng) a) Hva er verdien til tall etter at følgende kode er utført? tall = (5+3)*2 tall = tall+2 b) Anta at følgende programsetninger utføres. Hva skrives
Lese fra fil. INF1000 : Forelesning 5. Eksempel. De vanligste lesemetodene. Metoder:
Lese fra fil Filbehandling Tekster Ole Christian Lingjærde Gruppen for bioinformatikk Institutt for informatikk Universitetet i Oslo INF1000 : Forelesning 5 Vi må først importere pakken easyio Vi åpner
TDT4110 IT Grunnkurs Høst 2016
TDT4110 IT Grunnkurs Høst 2016 Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap Løsningsforslag til Auditorieøving 1 1 Teori 1. Hvilket tall kan IKKE lagres
