Inn og ut i C/C++ 1. Inn og ut i C/C++

Størrelse: px
Begynne med side:

Download "Inn og ut i C/C++ 1. Inn og ut i C/C++"

Transkript

1 Tore Berg Hansen Opphavsrett: Forfatter og Stiftelsen TISIP Lærestoffet er utviklet for faget LV194D C++ for javaprogrammerere 1. Resymé: Vi skal her se litt nærmere på hvordan vi får data inn via tastaturet og ut på skjermen. I en senere leksjon skal vi se på inn/ut til fil. Innhold 1.1. INNLEDNING FORMATTERT UT MED PRINTF FORMATTERT INN MED SCANF STREAM INN/UT MED OBJEKTER Generelt Formattering av inn/ut... 7

2 1.1. Innledning Verken C eller C++ har innebygget i språket mekanismer for å håndtere inn/ut. Det gjøres derfor ved hjelp av biblioteker som leveres med kompilatorene. I prinsippet er det tre typer inn/ut. - stream inn/ut - lav-nivå inn/ut - konsoll og port inn/ut Stream er et sentralt begrep når det gjelder inn/ut i C og C++. En stream kan oppfattes som en smart fil som er mottaker eller avsender av bytes. Drivere for forskjellige inn/ut enheter kan samspille med en stream. På den måten kan inn/ut håndteres likt, sett fra programmet, enten det dreier seg om diskfiler, tastatur, skjerm, skriver eller andre kommunikasjonsporter. Stream inn/ut er bufret og kan formatteres. I C håndteres stream inn/ut ved hjelp av funksjoner. I C++ kan man bruke de samme funksjoner som i C, men mer elegant er det å bruke objekter knyttet til de forskjellige stream. Lav-nivå inn/ut håndteres av funksjoner som benytter operativsystemet direkte. Konsoll og port inn/ut har funksjoner som direkte skriver til skjerm, leser fra tastatur eller leser/skriver til bestemte inn/ut porter, f.eks skriver. Vi skal ikke se på alle disse mulighetene her, men ta for oss noen av de mest brukte funksjoner for stream inn/ut og spesielt objekter for inn/ut Formattert ut med printf printf har en prototype som vist nedenfor. int printf( const char *format [, argument]... ); Funksjonen har et eller flere argumenter. Det første argumentet er en tekststreng med formatteringsinformasjon. (Legg merke til at argumentet for tekststrengen er av typen peker til char). Deretter følger et valgfritt antall argumenter. Funksjonen returnerer antallet tegn som skrives ut eller et negativt tall i tilfelle en feil. Her er noen eksempler. printf( Resultatet er %5.2f, resultat); Hvis nå resultat er et flyttall med verdi 23,542, så vil det på skjermen bli skrevet Resultatet er I tillegg til teksten er det hva som står bak prosenttegnet (%5.2f) som bestemmer formatteringen. I dette tilfellet gjelder formatteringen flyttallet som følger som argument. Det side 2 av 12

3 er mange forskjellige muligheter for å formattere både tekst og tall. Den generelle oppbyggingen er slik Angir justering, skriving av blanke, fortegn og spesialtegn. Angir maksimalt antall tegn for hele eller deler av utskriften eller minimum antall tegn for heltall. (Tolkning avhenger av type). %[flagg] [bredde] [.presisjon] [{h l I64 L] type Markerer start på formatspesifikasjon Angir minimum antall tegn i utskrift. Tilleggsinformasjon om størrelse på argumentet. Bestemmer om tilhørende argument skal tolkes som tegn (char), streng eller tall. Hakeparenteser, [ ], betyr at tegnet er valgfritt. Hvis tegnet ikke tas med brukes en standardverdi. Tabellen viser hvilke tegn som kan være flagg og betydningen. Flagg Tolkning Standardtolking - Juster resultatet mot venstre. Justeres mot høyre. + Sett pluss eller minus foran hvis utverdien er et tall med fortegn. 0 Legger til nuller foran inntil minimumsbredden er nådd. Ignoreres for heltall. Fortegn bare foran negative tall. Ingen nuller foran. blank Setter inn blanke foran et positivt tall. Ingen blanke foran. # Brukt sammen o, x eller X settes 0, 0x eller 0X foran. (o for oktal, x for hexadesimalt tall) Brukt sammen med e, E eller f tvinges utverdien til å inneholde et desimalskilletegn. Brukt med g eller G tvinges utverdien til å inneholde et desimalskilletegn. Bare skilletegn hvis det verdien tilsier det. Bare skilletegn hvis verdien tilsier det. Fjerner nuller bak skilletegnet. Har ingen mening sammen med c, d, i, u, eller s. side 3 av 12

4 Bredde er et tall som angir minimum antall tegn som skal skrives ut. Hvis antall tegn som skal skrives ut er mindre enn dette minimum, legges det til blanke. Hvis 0 kommer foran bredde, legges det til nuller. Hvis antallet tegn blir større enn bredde, skrives alle tegn ut. Dvs at utskriftsfeltet øker i størrelse. Hvis man skriver ut kolonner av tall fører det til en rotete utskrift. Presisjon er et positivt heltall. Det spesifiserer antall tegn som skal skrives, antallet desimalplasser eller antallet signifikante siffer. Flyttall blir avrundet. Tabellen nedenfor gir nærmere detaljer. Type Tolkning Standard tolkning c, C Ingen effekt. Tegn (Char) skrives ut. d, i, u, o, x, X Spesifiserer minimum antall tegn som skal skrives ut. Hvis antallet tegn mindre, legges det til nuller til venstre, inntill minimumsverdien nås. Verdien avkortes ikke hvis antallet siffer er større enn minimumstallet. Standard er 1. e, E Angir antall siffer etter desimalskilletegnet. f Angir antall siffer etter desimalskilletegnet. Hvis det er et desimalskilletegn, vil det bli skrevet ut minst et siffer foran det. Verdier blir avrundet. g, G Angir maksimum antall signifikante siffer. s, S Spesifiserer maks antall tegn som skal skrives ut. Overskytende tegn skrives ikke ut. Standard er seks. Hvis 0 angis eller. ikke følges av noe tall, blir ingen siffer etter skilletegnet skrevet ut. Standard er seks. Hvis 0 angis eller. ikke følges av noe tall, blir ingen siffer etter skilletegnet skrevet ut. Seks signifikante siffer. Kutter bort eventuelle nuller bakerst. Tegn skrives ut inntil nulltegnet blir funnet. Type skal tolkes som i følgende tabell. Tegn Type Format c int Spesifiserer en byte. C int Microsoft spesifikk. d int Heltall med fortegn. i int Heltall med fortegn. side 4 av 12

5 Tegn Type Format o int Oktalt heltall uten fortegn. u int Desimalt heltall uten fortegn. x int Heksadesimalt heltall uten fortegn, med abcdef. X int Heksadesimalt heltall uten fortegn, med ABCDEF. e double Vitenskapelig format på formen [ - ]d.dddd e [fortegn]ddd. d er et enkelt desimalsiffer. E double Samme som e, men med stor E. f double Benevnt verdi på formen [ - ]dddd.dddd. d er et desimalsiffer. Antallet siffer foran desimalskilletegnet avhenger av tallets størrelse. Antallet siffer etter desimalskilletegnet er gitt av angitt presisjon. g double Benevnt verdi som skrives i enten f eller e format. Det som gir mest kompakt form brukes. G double Samme som g, men eventuelt med stor E. n Peker til heltall Antall skrevet så langt blir lagret i et heltall med adresse angitt av argumentet. p Peker til void Skriver ut adressen som det pekes på av argumentet. s String Skriver ut null-terminert streng. S String Skriver ut null-terminert streng. Microsoft spesifikk. [{h l I64 L] er Mikrosoft spesifikke og ikke ANSI-kompatible. De brukes for blant annet å angi nærmere om det dreier seg om long int, long unsigned int, short int osv. side 5 av 12

6 1.3. Formattert inn med scanf scanf er motsatsen til printf. Den har prototypen int scanf( const char *format [, argument]... ); Vi tar ikke alle detaljer om denne funksjonen her. Formatteringen er stort sett likt den man har for printf. Det vil si at scanf leser data fra en stream og tolker disse dataenes format i henhold til formatspesifikasjonen. prinf skriver data til en stream i henhold til formatspesifikasjonen. Argumentene er pekere. (Det må de være for at man skal få data inn. Argumenter overføres som verdier i C.) Her følger et lite eksempel på bruk av scanf. #include <stdio.h> void main( void ) { int i; int resultat; float fp; char c; char s[81]; printf( \n\nsett inn et heltall, en char og en tekststreng\n ); resultat = scanf( %d %f %c %s, &i, &fp, &c, s); printf( ( \nantallet felt lest er %d\n, resultat); printf( Dette ble lest: %d %f %c %s\n, i, fp, c, s); Øverst har vi inkludert biblioteket, stdio.h, som inneholder de aktuelle funskjonene. Nyere versjoner av kompilatoren bruker cstdio, uten.h. Vi skal i en senere leksjon se nærmere på denne og andre nye ting i C Stream inn/ut med objekter Generelt Når man skriver programmer i C++ er det mer elegant og objektorientert å bruke iostream klassehierarkiet når man skal ha data inn og ut av programmer. På toppen i dette hierarkiet sitter klassen ios. Teknisk sett er den ikke en abstrakt klasse, men man vil sjelden bruke objekter fra denne klassen. I stedet bruker man subklasser for bestemte formål. Figuren nedenfor viser klassehierarkiet. side 6 av 12

7 ios streambuf istream ostream istream_withassign iostream ostream_withassign iostream_withassign Inn/ut er bufret. Derfor bruker ios en bufferklasse, streambuf. ios klassene står for formatteringen, mens streambuf sørger for lavnivå bufringen av data. På nivået under ios ligger to klasser, en som håndterer data (strøm) inn og en som håndterer data ut. Klassen iostream ser man håndterer både inn og ut streams. Klassene som har fått hengt på navnet _withassign er varianter som har den egenskap at de kan tilordnes forskjellige fysiske utenheter i kjøre-tid. cin er et forhåndsdefinert objekt fra istream_withassign. Dette objektet er normalt tilordnet tastaturet, men kan i kjøretid tilordnes (reassign) midlertidig en diskfil. Tilsvarende for cout som er et objekt fra klassen ostream_withassign. Det kan også tilordnes en annen utenhet enn skjermen i kjøretid. Mest aktuelt vil være en diskfil. To andre forhåndsdefinerte objekter er cerr og clog. De sender henholdsvis feilmeldinger og loginformasjon til skjerm. Dvs at de er tilordnet (assigned) skjermen, men kan altså i kjøretid tilordnes andre enheter som f.eks diskfiler Formattering av inn/ut Det er to mekanismer man kan bruke når man skal formattere inn/ut når man bruker objektene cin og cout: ved hjelp av medlemsfunksjoner i ios klassen ved å sette manipulatorer inn i inn/ut strømmen Vi skal se på noen eksempler. Først bruk av medlemsfunksjoner. #include <iostream> void main( void ) { double verdier [] = {2.33, 43.56, 534.7, ; for (int i = 0; i < 4; i++ ) { side 7 av 12

8 std::cout.width( 10 ); std::cout << verdier[i] << std::endl; Dette programmer lager denne utskriften. Vi merker oss følgende. Det skrives ut fire verdier fra en tabell. Bredden på utskriften settes til 10 tegn. (cout.width( 10 )). Tall som krever mindre enn 10 tegn blir høyrejustert i utskriftsfeltet og blanke settes inn til venstre. Hvis vi i for-løkken setter inn cout.fill( * )i tillegg, blir utskriften slik: Dere ser effekten. Legg også merke til at vi i programmet må inkludere filen iostream og kvalifisere med std::. Det siste må vi gjøre hvis vi bruker kompilatorer som følger nyere standarder av C++ med namespace. Hvis du har eldre versjoner av kompilatoren må du skrive side 8 av 12

9 #include <iostream.h> Dette er ting vi skal se på i detalj senere. Så tar vi et eksempel med manipulatorer. Her følger den endrede kildekode. #include <iostream> #include <iomanip> using namespace std; void main( void ) { double verdier [] = {2.33, 43.56, 534.7, ; for (int i = 0; i < 4; i++ ) { cout << setw(10) << setfill('*') << verdier[i] << endl; Dette programmet produserer samme utskrift som ovenfor. Legg også merke til denne setningen using namespace std; Den bruker vi hvis vi vil slippe å kvalifisere alle ting i standardbibliotekene i nyere versjoner av kompilatoren. Som antydet flere steder kommer vi tilbake til disse tingene senere. Foreløpig får dere bare følge retningslinjene, slik at øvingsprogrammene dere skriver kompilerer. Programeksemplene i leksjonen kan følge både gammel og ny formalisme. I tabellen som følger er det listet de viktigste medlemsfunksjoner og manipulatorer. Medlemsfunksjon Manipulator Mening width() fill() precision() setf() unsetf setw() setfill() setprecision() setiosflags() resetiosflags() feltbredde for neste ut Fylltegn flyttall presisjon sett flagg resett flagg setf og setiosflags bruker såkalte ios-flagg. Disse er tall som representerer forskjellige egenskaper ved formatteringen. Tallene er gitt symbolske navn (egentlig er de en enum type) og er lagt inn i klassen ios. side 9 av 12

10 Her følger en oversikt over de viktigste flaggene. Flagg ios::skipws ios::left ios::right Tolkning Hopp over blanke i input Venstrejustering i feltet. Sett inn fyll-tegn (blank er standard) Høyrejustering i feltet. Sett inn fyll-tegn (blank er standard) ios::dec Formatter som desimaltall (basis 10). ios::oct Formatter som oktaltall (basis 8). ios::hex Formatter som heksadesimaltall (basis 16). ios::showpoint ios::uppercase ios::showpos ios::scientific ios::fixed Skriv ut desimalskilletegn og eventuelt etterfølgende nuller. Skriv ut de heksadesimale siffer som store bokstaver (ABCDEF) Sett inn + foran positive tall. Vis flyttall i vitenskapelig format. Vis flyttall i fast format. Vi behøver bare å forholde oss til disse symbolske navnene. Men ios::scientific har f.eks verdien 0x0800 (heksadesimal form). Legg merke til bruken av operatoren :: (to kolon) mellom klassenavnet og navnet på flagget. I denne sammenheng er :: rekkeviddeoperatoren. Får å få tak i et medlem definert i en klasse må vi angi klassenavn og medlemsnavn atskilt med rekkeviddeoperatoren. Noen flere eksempler. #include <iostream.h> #include <iomanip.h> void main( void ) { double verdier [] = {2.33, 43.56, 534.7, ; for (int i = 0; i < 4; i++ ) { cout << setw(20) << setfill('*'); cout << setiosflags(ios::fixed ios::right); cout << setprecision (2); cout << verdier[i] << endl; Dette programmer produserer denne utskriften. side 10 av 12

11 Utskriftsfeltet er satt til 20 tegn totalt, presisjon til 2, hvilket gir to siffer etter desimalskilletegnet. Fylltegnet er * for å gjøre det synlig i utskriften (det normale ville være blank). Alle tall får det samme antall siffer etter skilletegnet. Om nødvendig fylles på med nuller. Det blir tydeligere hvis vi øker presisjonen til 4. I stedet for manipulatorer kan vi bruke medlemsfunksjoner. Dette eksemplet gir samme utskrift som ovenfor: #include <iostream.h> void main( void ) { double verdier [] = {2.33, 43.56, 534.7, ; for (int i = 0; i < 4; i++ ) { cout.setf(ios::fixed); cout.precision( 4); cout.width (20); cout.fill('*'); cout << verdier[i] << endl; side 11 av 12

12 Endrer vi til cout.setf(ios::scientific) blir utskriften slik I disse programeksemplene har vi brukt endl i utskriftsetninger. Det er en manipulator som ikke trenger iomanip.h. Det endl gjør er å sørge for linjeskift og start på ny linje. Dvs at den brukes i stedet for tegnet \n. Hva skal man så bruke? Medlemsfunksjoner eller manipulatorer? Det kan være en smakssak. En fordel med manipulatorer er at du kan lage dine egne. Du kan for eksempel slå sammen manipulatorer som ofte brukes til en manipulator, eller du kan lage spesielle manipulatorer for enheter som du ikke kan bruke de ferdigdefinerte manipulatorene på. side 12 av 12

Del 1 En oversikt over C-programmering

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

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

2. Pekere og referanser.

2. Pekere og referanser. Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag 2. Pekere og referanser. Mildrid Ljosland og Else Lervik 12.08.2013 Lærestoffet er utviklet for faget IFUD1048 C++ for programmerere med

Detaljer

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

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL Kandidatnr: Eksamensdato: Varighet: Fagnummer: Fagnavn: Klasse(r): Studiepoeng: Faglærer(e): Hjelpemidler: Oppgavesettet består av:

Detaljer

1. Grunnleggende C++ 1.1. Introduksjon til kurset og til C++ Innhold

1. Grunnleggende C++ 1.1. Introduksjon til kurset og til C++ Innhold Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag 1. Grunnleggende C++ Else Lervik 12.08.2013 Lærestoffet er utviklet for faget IFUD1048 C++ for programmerere med grunnlag i lærestoff fra

Detaljer

Del 4 Noen spesielle C-elementer

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

Detaljer

TDT4102 Prosedyre og Objektorientert programmering Vår 2014

TDT4102 Prosedyre og Objektorientert programmering Vår 2014 Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap TDT4102 Prosedyre og Objektorientert programmering Vår 2014 Øving 1 Frist: DD.MM.YYYY Mål for denne øvinga:

Detaljer

IN 147 Program og maskinvare

IN 147 Program og maskinvare Dagens tema Basistyper i C Typekonvertering Formater i printf Pekere i C En kort repetisjon om pekere Hva er egentlig en peker? Pekere til alt og ingenting Pekere som parametre Pekere og vektorer Ark 1

Detaljer

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring Kandidatnr: Eksamensdato: 26.mai 2005 Varighet: 0900-300 Fagnummer: Fagnavn: Klasse(r): LV95D Objektorientert programmering i C++ nettstudenter

Detaljer

Bruk av class Scanner, FileWriter og Formatter som alternativ til EasyIO i INF1000.

Bruk av class Scanner, FileWriter og Formatter som alternativ til EasyIO i INF1000. Arne Maus, ver.2.2, august, 2013 Bruk av class, FileWriter og Formatter som alternativ til EasyIO i INF1000. Noen ønsker å bruke noen av de klassene vi finner i pakken java.util og java.io isteden for

Detaljer

Pekere og referanser.

Pekere og referanser. lesson.md Pekere og referanser. Leksjonen gir en innføring i pekere og referanser, samt argumentoverføring. Skrevet av Mildrid Ljosland, Else Lervik og Ole Christian Eidheim. Eksemplene for denne leksjonen

Detaljer

Del 2 Tabeller, arrays, strenger

Del 2 Tabeller, arrays, strenger Del 2 Tabeller, arrays, strenger 1 RR 2016 Tabeller Variabel som kan holde mange verdier. Styrer bruken med indeks. Det er ingen indekskontroll i C. int tab[5] = {2, 4, 6, 8, 10}; tab[4] = 12; int tab[100]

Detaljer

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

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL Kandidatnr: Eksamensdato: 25. mai 2005 Varighet: 4 timer (9:00 13:00) Fagnummer: LO182D Fagnavn: Programmering i C++ Klasse(r): FU

Detaljer

TDT4102 Prosedyre og Objektorientert programmering Vår 2015

TDT4102 Prosedyre og Objektorientert programmering Vår 2015 Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap TDT4102 Prosedyre og Objektorientert programmering Vår 2015 Øving 1 LF LØSNINGSFORSLAG Mål for denne øvinga:

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

Grunnleggende C++ Introduksjon til kurset og til C++

Grunnleggende C++ Introduksjon til kurset og til C++ lesson.md Grunnleggende C++ Leksjonen introduserer studentene til kurset og til C++. Etter å ha gått gjennom leksjonen skal de være i stand til å skrive enkle C++ programmer. De skal kunne bruke kontrollstrukturer,

Detaljer

TDT4102 Prosedyreog objektorientert programmering Vår 2016

TDT4102 Prosedyreog objektorientert programmering Vår 2016 Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap TDT4102 Prosedyreog objektorientert programmering Vår 2016 Øving 2 Frist: 2016-01-29 Mål for denne øvingen:

Detaljer

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - Kandidatnr: AITeL Eksamensdato: 4.mai 2011 Varighet: 0900-1300 Emnekode: Emnenavn: Klasser: LV195D Objektorientert programmering i C++ Nettstudenter

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

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

Oblig2 - obligatorisk oppgave nr. 2 (av 4) i INF1000 v2008

Oblig2 - obligatorisk oppgave nr. 2 (av 4) i INF1000 v2008 Oblig2 - obligatorisk oppgave nr. 2 (av 4) i INF1000 v2008 Leveringsfrist Oppgaven må løses individuelt og leveres senest fredag 22. februar 2008 kl 16.00 via Joly. Viktig: les slutten av oppgaven for

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

TDT4105 Informasjonsteknologi, grunnkurs. Introduksjon til programmering i Matlab. Rune Sætre / Anders Christensen {satre, anders}@idi.ntnu.

TDT4105 Informasjonsteknologi, grunnkurs. Introduksjon til programmering i Matlab. Rune Sætre / Anders Christensen {satre, anders}@idi.ntnu. 1 TDT4105 Informasjonsteknologi, grunnkurs Introduksjon til programmering i Matlab Rune Sætre / Anders Christensen {satre, anders}@idi.ntnu.no 2 Frist for øving 1: Fredag 11. Sept. Noen oppstartsproblemer

Detaljer

Litt om Javas håndtering av tall MAT-INF 1100 høsten 2004

Litt om Javas håndtering av tall MAT-INF 1100 høsten 2004 Litt om Javas håndtering av tall MAT-INF 1100 høsten 2004 13. september 2004 En viktig del av den første obligatoriske oppgaven er å få erfaring med hvordan Java håndterer tall. Til å begynne med kan dette

Detaljer

Programmeringsspråket C Del 2. Michael Welzl

Programmeringsspråket C Del 2. Michael Welzl Programmeringsspråket C Del 2 Michael Welzl 1 Et eksempel Dette er lite eksempel som ber om et tall, leser det og så teller fra det nedover til 0 $> gcc countdown.c -o countdown $>./countdown ===== Countdown

Detaljer

Programmeringsspråket C

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;

Detaljer

1 ØVING I WINDOWS FRA CHRISTIAN ANDOLO

1 ØVING I WINDOWS FRA CHRISTIAN ANDOLO 1 ØVING I WINDOWS FRA CHRISTIAN ANDOLO Program fra sekunder Lag et program som leser inn en tid i sekunder (et stort tall). Deretter skal programmet skrive ut hvor mange timer, minutter og sekunder dette

Detaljer

Bruk av class Scanner, split(), FileWriter og Formatter som alternativ til easyio i INF1000.

Bruk av class Scanner, split(), FileWriter og Formatter som alternativ til easyio i INF1000. Arne Maus, ver.2.3, oktober, 2013 Bruk av class, split(), FileWriter og Formatter som alternativ til i INF1000. Noen ønsker å bruke noen av de klassene vi finner i pakken java.util og java.io isteden for

Detaljer

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

Programmering i C++ Løsningsforslag Eksamen høsten 2005 Programmering i C++ Eksamen høsten 2005 Simen Hagen Høgskolen i Oslo, Avdeling for Ingeniørutdanning 7. desember 2005 Generelt Denne eksamensoppgaven består av tre oppgaver, pluss en ekstraoppgave. Det

Detaljer

Programmeringsspråket C

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

Detaljer

Eksamen. Objekt-orientert programmering KLASSE(R): 02HIND* 02HDMU* 02HINE* 02HING* 01HINGA 02HSIV5 02HGEOMAA

Eksamen. Objekt-orientert programmering KLASSE(R): 02HIND* 02HDMU* 02HINE* 02HING* 01HINGA 02HSIV5 02HGEOMAA Høgskolen i Gjøvik Avdeling for teknologi Eksamen FAGNAVN: FAGNUMMER: Objekt-orientert programmering L 183 A EKSAMENSDATO: 27. mai 2003 KLASSE(R): 02HIND* 02HDMU* 02HINE* 02HING* 01HINGA 02HSIV5 02HGEOMAA

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

IN 147 Program og maskinvare

IN 147 Program og maskinvare Dagens program Repetisjon Basistyper i C Typekonvertering Formater i printf Deklarasjon av nye typer Pekere i C En kort repetisjon om pekere Pekere som parametre Pekere og vektorer Regning med pekere Pekere

Detaljer

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

3 emner i dag! INF1000 Uke 5. Objekter og pekere. null. Litt om objekter, pekere og null Filer og easyio Litt mer om tekster 3 emner i dag! INF1000 Uke 5 Litt om objekter, pekere og null Filer og easyio Litt mer om tekster Litt om objekter, filer med easyio, tekst 1 2 Objekter og pekere Vi lager pekere og objekter når vi bruker

Detaljer

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - Kandidatnr: AITeL Eksamensdato: 5.mai 2010 Varighet: 0900-1300 Emnekode: Emnenavn: Klasser: LV195D Objektorientert programmering i C++ Nettstudenter

Detaljer

Kort om meg. INF1000 Uke 2. Oversikt. Repetisjon - Introduksjon

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: fredrso@ifi.uio.no Utdanning: Dataingeniør, 2000 Cand.Scient,

Detaljer

TDT4102 Prosedyre og Objektorientert programmering Vår 2014

TDT4102 Prosedyre og Objektorientert programmering Vår 2014 Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap TDT4102 Prosedyre og Objektorientert programmering Vår 2014 Øving 1 Frist: 2014-01-24 Mål for denne øvinga:

Detaljer

Oversikt. Introduksjon Kildekode Kompilering Hello world Hello world med argumenter. 1 C programmering. 2 Funksjoner. 3 Datatyper. 4 Pekere og arrays

Oversikt. Introduksjon Kildekode Kompilering Hello world Hello world med argumenter. 1 C programmering. 2 Funksjoner. 3 Datatyper. 4 Pekere og arrays Oversikt C programmering 1 C programmering Introduksjon Kildekode Kompilering Hello world Hello world med argumenter 2 Funksjoner 3 Datatyper 4 Pekere og arrays 5 Kontrollstrukturer Lars Vidar Magnusson

Detaljer

Oblig 4Hybelhus litt mer tips enn i oppgaven

Oblig 4Hybelhus litt mer tips enn i oppgaven Oblig 4Hybelhus litt mer tips enn i oppgaven lørdag 19. okt 2013 Arne Maus Obligatorisk oppgave 4 Gulbrand Grås husleiesystem I denne oppgaven skal vi se på hans studenthus Utsyn. Utsyn består av 3 etasjer,

Detaljer

TDT4102 Prosedyreog objektorientert programmering Vår 2016

TDT4102 Prosedyreog objektorientert programmering Vår 2016 Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap TDT4102 Prosedyreog objektorientert programmering Vår 2016 Øving 4 Frist: 2016-02-12 Mål for denne øvingen:

Detaljer

Oversikt. INF1000 Uke 1 time 2. Repetisjon - Introduksjon. Repetisjon - Program

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

Detaljer

Del 3. Pekere RR 2016

Del 3. Pekere RR 2016 Del 3 Pekere 1 RR 2016 Peker/pointer En peker er en variabel som kan holde adressen (peke til) til en annen variabel. Pekere vil gi oss muligheten for å gå direkte til en adresse i minne, og lese/skrive

Detaljer

Oblig2 - obligatorisk oppgave nr. 2 (av 4) i INF1000 v2009

Oblig2 - obligatorisk oppgave nr. 2 (av 4) i INF1000 v2009 Oblig2 - obligatorisk oppgave nr. 2 (av 4) i INF1000 v2009 Leveringsfrist Oppgaven må løses individuelt og leveres senest fredag 20. februar kl 16.00 via Joly. Viktig: les slutten av oppgaven for detaljerte

Detaljer

Kontinuasjonseksamen

Kontinuasjonseksamen Høgskolen i Gjøvik Avdeling for teknologi Kontinuasjonseksamen FAGNAVN: FAGNUMMER: Objekt-orientert programmering L 183 A EKSAMENSDATO: 5. januar 2004 KLASSE(R): 02HIND* 02HDMU* 02HINE* 02HING* 01HINGA

Detaljer

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

22.02.2009. Spørsmål fra forrige forelesning. INF1000 Forelesning 7. Oppførselen til inword()/inint()/etc. Operator-presedens i Java Spørsmål fra forrige forelesning INF1000 Forelesning 7 Operator-presedens i Java? Hvordan virker metodene inword()/inint()/etc. i In-klassen i easyio når vi skriver inn flere verdier på tastaturet? Litt

Detaljer

HØYSKOLEN I OSLO, AVDELING FOR INGENIØRUTDANNING

HØYSKOLEN I OSLO, AVDELING FOR INGENIØRUTDANNING HØYSKOLEN I OSLO, AVDELING FOR INGENIØRUTDANNING Eksamensoppgave i kurset: Programmering i C++. Fagnr: LV 121 A Eksamensdato: 10 februar, 2003. Faglærer: Cecilie Rolstad Antall oppgaver: 5 Antall sider,

Detaljer

TDT4102 Prosedyre og Objektorientert programmering Vår 2015

TDT4102 Prosedyre og Objektorientert programmering Vår 2015 Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap TDT4102 Prosedyre og Objektorientert programmering Vår 2015 Øving 3 Frist: 2014-02-07 Mål for denne øvinga:

Detaljer

INF 1000 høsten 2011 Uke september

INF 1000 høsten 2011 Uke september 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 1 INF1000 undervisningen Forelesningene: Første

Detaljer

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

1. Finn klassene (hvilke objekter er det i problemet) 1. Dataene som beskriver problemet (hvilke objekter har vi og hvor mange klasser er det? Obligatorisk oppgave 3 Gulbrand Grås husleiesystem Oblig 3hus litt mer tips enn i oppgaven I denne oppgaven skal vi se på hans studenthus Utsyn. Utsyn består av 3 etasjer, nummerert fra -3. I hver etasje

Detaljer

INF1000 undervisningen INF 1000 høsten 2011 Uke september

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

Detaljer

Sprettende ball Introduksjon Processing PDF

Sprettende ball Introduksjon Processing PDF Sprettende ball Introduksjon Processing PDF Introduksjon: I denne modulen skal vi lære et programmeringsspråk som heter Processing. Det ble laget for å gjøre programmering lett for designere og andre som

Detaljer

Oversikt. INF1000 Uke 2. Repetisjon - Program. Repetisjon - Introduksjon

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

Detaljer

ITGK - H2010, Matlab. Repetisjon

ITGK - H2010, Matlab. Repetisjon 1 ITGK - H2010, Matlab Repetisjon 2 Variabler og tabeller Variabler brukes til å ta vare på/lagre resultater Datamaskinen setter av plass i minne for hver variabel En flyttallsvariabel tar 8 bytes i minne

Detaljer

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring Kandidatnr: Eksamensdato: 21.desember 2007 Varighet: 0900-1300 Fagnummer: Fagnavn: Klasse(r): LV195D Objektorientert programmering i C++ nettstudenter

Detaljer

INF5110. Oblig 2 presentasjon

INF5110. Oblig 2 presentasjon INF5110 Oblig 2 presentasjon Informasjon Oppgaven Semantikksjekk Kodegenerering Bytecode-biblioteket Ant-targets Oppsummering Oversikt Informasjon Oblig 2 tilgjengelig på kurssiden Patch med testfiler

Detaljer

Oppgavene 1, 2, 4, 5, 6, 9, 12 og 13 passer best til å løses ved en datamaskin.

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

Detaljer

Kontinuasjonseksamen

Kontinuasjonseksamen Høgskolen i Gjøvik Avdeling for teknologi Kontinuasjonseksamen FAGNAVN: FAGNUMMER: Objekt-orientert programmering IMT1082 / ELE2092 EKSAMENSDATO: 5. januar 2007 KLASSE(R): 05HBIND*, 05HBINFA, 05HBISA,

Detaljer

Høgskolen i Gjøvik Institutt for informatikk og medieteknikk E K S A M E N. Grunnleggende programmering

Høgskolen i Gjøvik Institutt for informatikk og medieteknikk E K S A M E N. Grunnleggende programmering Høgskolen i Gjøvik Institutt for informatikk og medieteknikk E K S A M E N FAGNAVN: Grunnleggende programmering FAGNUMMER: IMT 1031 EKSAMENSDATO: 19.desember 2005 KLASSE(R): 05HBIND*, 05HBINFA, 05HBISA,

Detaljer

Høgskolen i Gjøvik Avdeling for informatikk og medieteknikk. Eksamen. Objekt-orientert programmering

Høgskolen i Gjøvik Avdeling for informatikk og medieteknikk. Eksamen. Objekt-orientert programmering Høgskolen i Gjøvik Avdeling for informatikk og medieteknikk Eksamen EMNENAVN: EMNENUMMER: Objekt-orientert programmering IMT1082 EKSAMENSDATO: 4. juni 2010 KLASSE(R): 09HBIND*, 09HBPUA, 09HBDRA, 09HBISA,

Detaljer

Oblig2 - obligatorisk oppgave nr. 2 (av 4) i INF1000 h2006

Oblig2 - obligatorisk oppgave nr. 2 (av 4) i INF1000 h2006 Oblig2 - obligatorisk oppgave nr 2 (av 4) i INF1000 h2006 Leveringsfrist Oppgaven må leveres senest fredag 30 september kl 1600 Viktig: les slutten av oppgaven for detaljerte leveringskrav Formål Formålet

Detaljer

Python: Variable og beregninger, input og utskrift. TDT4110 IT Grunnkurs Professor Guttorm Sindre

Python: Variable og beregninger, input og utskrift. TDT4110 IT Grunnkurs Professor Guttorm Sindre Python: Variable og beregninger, input og utskrift TDT4110 IT Grunnkurs Professor Guttorm Sindre Læringsmål og pensum Mål for denne uka: Vite litt om design av programmer (2.1, 2.2, 2.4) Kunne skrive ut

Detaljer

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

Oversikt. INF1000 Uke 6. Objekter, pekere og null. Lese og skrive fra/til fil. Litt om objekter, pekere og null Filer og easyio. Litt mer om tekster Oversikt INF1000 Uke 6 Litt om objekter, pekere og null Filer og easyio. Litt mer om tekster Litt om objekter, filer med easyio, tekst Arne Maus 1 2 Objekter, pekere og null Vi lager pekere og objekter

Detaljer

INF1000 Behandling av tekster

INF1000 Behandling av tekster INF1000 Behandling av tekster Marit Nybakken marnybak@ifi.uio.no 23. februar 2004 Tekster Vi kommer nesten aldri utenom å bruke tekststrenger i programmene våre, ikke minst fordi det nesten alltid skal

Detaljer

2 Om statiske variable/konstanter og statiske metoder.

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.

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

C++ versus Java 1. C++ versus Java

C++ versus Java 1. C++ versus Java Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag C++ versus Java Tore Berg Hansen 29.8.2006 Lærestoffet er utviklet for faget LV194D C++ for Javaprogrammerere 1. C++ versus Java Resymé:

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO Bokmål UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i: INF1000 Grunnkurs i objektorientert programmering Eksamensdag: Fredag 4. desember 2015 Tid for eksamen: 14.30 (4 timer)

Detaljer

INF Oblig 2 semantikksjekk og kodegenerering

INF Oblig 2 semantikksjekk og kodegenerering INF5110 - Oblig 2 semantikksjekk og kodegenerering Magnus Haugom Christensen Instituttet for Informatikk Universitetet i Oslo 27. Mars - 2012 Oversikt Informasjon Oppgaven Semantikksjekk Kodegenerering

Detaljer

K O N T I N U A S J O N S E K S A M E N

K O N T I N U A S J O N S E K S A M E N Høgskolen i Gjøvik K O N T I N U A S J O N S E K S A M E N FAGNAVN: FAGNUMMER: Grunnleggende programmering og datastrukturer L 169 A EKSAMENSDATO: 8. januar 1998 KLASSE: 96HINDA / 96HINDE TID: 09.00-14.00

Detaljer

TDT4102 Prosedyre og Objektorientert programmering Vår 2014

TDT4102 Prosedyre og Objektorientert programmering Vår 2014 Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap TDT4102 Prosedyre og Objektorientert programmering Vår 2014 Øving 10 Frist: 2014-04-11 Mål for denne øvinga:

Detaljer

Kontinuasjonseksamen

Kontinuasjonseksamen Høgskolen i Gjøvik Avdeling for Teknologi Kontinuasjonseksamen FAGNAVN: FAGNUMMER: Objekt-orientert programmering L 183 A EKSAMENSDATO: 3. januar 2001 KLASSE: 99HINDA / 99HINDB / 99HINEA 99HDMUA / 99HDMUB

Detaljer

TDT4105 Informasjonsteknologi, grunnkurs. Introduksjon til programmering i Matlab. Rune Sætre / Anders Christensen {satre,

TDT4105 Informasjonsteknologi, grunnkurs. Introduksjon til programmering i Matlab. Rune Sætre / Anders Christensen {satre, 1 TDT4105 Informasjonsteknologi, grunnkurs Introduksjon til programmering i Matlab Rune Sætre / Anders Christensen {satre, anders}@idi.ntnu.no 2 Frist for øving 1: Fredag 16. Sept. Noen oppstartsproblemer

Detaljer

Kontinuasjonseksamensoppgave i IMT1082 Objekt-orientert programmering

Kontinuasjonseksamensoppgave i IMT1082 Objekt-orientert programmering Institutt for datateknologi og informatikk Kontinuasjonseksamensoppgave i IMT1082 Objekt-orientert programmering Faglig kontakt under eksamen: Frode Haug Tlf: 950 55 636 Eksamensdato: 14.august 2017 Eksamenstid

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

Ark 3 av 26. printf("i adresse %08x ligger b med verdien %d.\n", &b, b); printf("i adresse %08x ligger a med verdien %d.

Ark 3 av 26. printf(i adresse %08x ligger b med verdien %d.\n, &b, b); printf(i adresse %08x ligger a med verdien %d. Dagens tema C, adresser og pekere (Kapittel 17 i Patt&Patel-boken) Variable og adresser Pekervariable Parametre Dynamisk allokering Stakker og ringbuffere Adresser Som nevnt tidligere ligger data og programkode

Detaljer

Inf109 Programmering for realister Uke 5. I denne leksjonen skal vi se på hvordan vi kan lage våre egne vinduer og hvordan vi bruker disse.

Inf109 Programmering for realister Uke 5. I denne leksjonen skal vi se på hvordan vi kan lage våre egne vinduer og hvordan vi bruker disse. Inf109 Programmering for realister Uke 5 I denne leksjonen skal vi se på hvordan vi kan lage våre egne vinduer og hvordan vi bruker disse. Før du starter må du kopiere filen graphics.py fra http://www.ii.uib.no/~matthew/inf1092014

Detaljer

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

Innhold uke 4. INF 1000 høsten 2011 Uke 4: 13. september. Deklarasjon av peker og opprettelse av arrayobjektet. Representasjon av array i Java INF høsten 2 Uke 4: 3. september Grunnkurs i Objektorientert Programmering Institutt for Informatikk Universitetet i Oslo Siri Moe Jensen og Arne Maus Mål for uke 4: Innhold uke 4 Repetisjon m/ utvidelser:

Detaljer

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

Oblig 4 (av 4) INF1000, høsten 2012 Værdata, leveres innen 9. nov. kl. 23.59 Oblig 4 (av 4) INF1000, høsten 2012 Værdata, leveres innen 9. nov. kl. 23.59 Formål Formålet med denne oppgaven er å gi trening i hele pensum og i å lage et større program. Løsningen du lager skal være

Detaljer

TDT4105/TDT4110 Informasjonsteknologi grunnkurs:

TDT4105/TDT4110 Informasjonsteknologi grunnkurs: 1 TDT4105/TDT4110 Informasjonsteknologi grunnkurs: Uke 39 Digital representasjon, del 1 - Digital representasjon - Tekst og tall - positive, negative, komma? Alf Inge Wang alfw@idi.ntnu.no Bidragsytere

Detaljer

UNIVERSITETET I OSLO

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

Detaljer

2 Om statiske variable/konstanter og statiske metoder.

2 Om statiske variable/konstanter og statiske metoder. Gaustadbekkdalen, januar 22 Litt om datastrukturer i Java Av Stein Gjessing, Institutt for informatikk, Universitetet i Oslo Innledning Dette notatet beskriver noe av det som foregår i primærlageret når

Detaljer

Beskrivelse av programmeringsspråket Compila15 INF Kompilatorteknikk Våren 2015

Beskrivelse av programmeringsspråket Compila15 INF Kompilatorteknikk Våren 2015 Beskrivelse av programmeringsspråket Compila15 INF5110 - Kompilatorteknikk Våren 2015 Her beskrives syntaksen og den statiske semantikken (hva som skal sjekkes av kompilatoren) til språket Compila15. Den

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

Argumenter fra kommandolinjen

Argumenter fra kommandolinjen Argumenter fra kommandolinjen Denne veiledningen er laget for å vise hvordan man kan overføre argumenter fra kommandolinjen til et program. Hvordan transportere data fra en kommandolinje slik at dataene

Detaljer

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

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

Detaljer

Høgskolen i Gjøvik. Eksamen. Objekt-orientert programmering 98HINDA / 98HINDB / 98HINEA 98HDMUA / 98HDMUB

Høgskolen i Gjøvik. Eksamen. Objekt-orientert programmering 98HINDA / 98HINDB / 98HINEA 98HDMUA / 98HDMUB Høgskolen i Gjøvik Eksamen FAGNAVN: FAGNUMMER: Objekt-orientert programmering L 183 A EKSAMENSDATO: 31. mai 1999 KLASSE: 98HINDA / 98HINDB / 98HINEA 98HDMUA / 98HDMUB TID: 09.00-13.00 FAGLÆRER: Frode Haug

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Prøveeksamen i : INF1000 Grunnkurs i objektorientert programmering Eksamensdag : Onsdag 21. November 2012 Tid for prøveeksamen : 12-16 Oppgavesettet

Detaljer

8. Operator overloading

8. Operator overloading Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag 8.Operator overloading Mildrid Ljosland og Else Lervik 17.10.2006 Lærestoffet er utviklet for faget LV195D Objektorientert programmering

Detaljer

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

Tre måter å lese fra terminal. Java 4. Eksempel. Formatert utskrift til skjerm Mer om easyio Mer om forgreninger Løkker 7. september 2004 Ole Christian Lingjærde Gruppen for bioinformatikk Institutt for informatikk Universitetet i Oslo Java 4 1 Tre måter å lese fra terminal Først:

Detaljer

Forelesningsquiz. Forelesning inf1000 - Java 5. Sett dere to (eller tre) sammen og besvar de fire spørsmålene på utdelt ark. Tid: 15 min.

Forelesningsquiz. Forelesning inf1000 - Java 5. Sett dere to (eller tre) sammen og besvar de fire spørsmålene på utdelt ark. Tid: 15 min. Forelesning inf1000 - Java 5 Forelesningsquiz Tema: En liten quiz (se utdelt ark) Filbehandling Tekster Ole Christian Lingjærde, 19. september 2012 Sett dere to (eller tre) sammen og besvar de fire spørsmålene

Detaljer

Kapittel 1. Datamaskiner og programmeringsspråk. 1.1 Programmering

Kapittel 1. Datamaskiner og programmeringsspråk. 1.1 Programmering Kapittel 1 Datamaskiner og programmeringsspråk Dette kapitlet er en kort introduksjon til programmering. Vi vil se på hvordan man skriver, bygger og kjører programmer, samt illustrere noen sentrale programmeringsbegrep

Detaljer

TDT4105/TDT4110 Informasjonsteknologi grunnkurs:

TDT4105/TDT4110 Informasjonsteknologi grunnkurs: 1 TDT4105/TDT4110 Informasjonsteknologi grunnkurs: Uke 37 Digital representasjon, del 1 - Digital representasjon - Tekst og tall - positive, negative, komma? Rune Sætre satre@idi.ntnu.no Slidepakke forberedt

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

Alle hele tall g > 1 kan være grunntall i et tallsystem.

Alle hele tall g > 1 kan være grunntall i et tallsystem. Tallsystemer Heltall oppgis vanligvis i det desimale tallsystemet, også kalt 10-tallssystemet. Eksempel. Gitt tallet 3794. Dette kan skrives slik: 3 1000 + 7 100 + 9 10 + 4 = 3 10 3 + 7 10 2 + 9 10 1 +

Detaljer

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

Løsningsforslag ukeoppg. 6: 28. sep - 4. okt (INF1000 - Høst 2011) Løsningsforslag ukeoppg. 6: 28. sep - 4. okt (INF1000 - Høst 2011) Løsningsforslag til oppgave 7, 8, og 9 mangler Klasser og objekter (kap. 8.1-8.14 i "Rett på Java" 3. utg.) NB! Legg merke til at disse

Detaljer

E K S A M E N. Grunnleggende datakunnskap og programmering 02HIND*, 02HINE*, 02HDMU*, 02HING*, 02HGEOMAA, 02HSIV5

E K S A M E N. Grunnleggende datakunnskap og programmering 02HIND*, 02HINE*, 02HDMU*, 02HING*, 02HGEOMAA, 02HSIV5 Høgskolen i Gjøvik Avdeling for teknologi E K S A M E N FAGNAVN: FAGKODE: Grunnleggende datakunnskap og programmering L 182 A EKSAMENSDATO: 19. desember 2002 KLASSE(R): 02HIND*, 02HINE*, 02HDMU*, 02HING*,

Detaljer

Oblig2 - obligatorisk oppgave nr. 2 (av 4) i INF1000

Oblig2 - obligatorisk oppgave nr. 2 (av 4) i INF1000 Oblig2 - obligatorisk oppgave nr. 2 (av 4) i INF1000 Leveringsfrist Oppgaven må leveres senest fredag 30. september kl 16.00. Viktig: les slutten av oppgaven for detaljerte leveringskrav. Formål Formålet

Detaljer