Programmeringsteknik med C och Matlab
|
|
- Lennart Gustafsson
- för 8 år sedan
- Visningar:
Transkript
1 Programmeringsteknik med C och Matlab Kapitel 6: Filhantering Henrik Björklund Umeå universitet 13 oktober 2009 Björklund (UmU) Programmeringsteknik 13 oktober / 22
2 Textfiler Filer är sekvenser med data, vanligtvis lagrade på hårddisk e.d. Vi skiljer på två typer av filer: textfiler och binära filer. Textfiler består av sekvenser av tecken. Tecken kan vara bokstäver, skiljetecken och siffror, men också sådant som <space>, <newline> och <tab>. Björklund (UmU) Programmeringsteknik 13 oktober / 22
3 <eof> : end of file Slutet på en fil markeras med ett speciellt slut-på-filen-tecken:. C använder sig av ett särskilt värde, EOF för att representera. Många av input-funktionerna från stdio.h returnerar EOF när de läser, vilket vi kan använda oss av för att styra programflödet: while( scanf("%d", &mynumber)!= EOF ){ printf("%d\n", mynumber); } Björklund (UmU) Programmeringsteknik 13 oktober / 22
4 Ett program som läser från och skriver till filer Antag att vi har ett antal kodfiler och att vi vill skriva ut dem på papper med radnumrering. Det finns visserligen ett antal olika sätt att åstadkomma detta, men vi bestämmer oss för att göra det med hjälp av ett litet C-program. Programmet ska heta rownumbers och kunna anropas med två filnamn. Tex >> rownumbers infil.c utfil.txt Programmet ska läsa från infil.c och skapa en radnumrerad kopia i utfil.txt Vi antar att ingen av filerna programmet ska hantera har mer än 1000 rader eller någon rad med mer än 300 tecken. Björklund (UmU) Programmeringsteknik 13 oktober / 22
5 rownumbers (1) #include <stdio.h> #define BUFSIZE 300 int main(int argc, char ** argv){ char line[bufsize]; /* Buffer a line at the time from input */ FILE * infilep; /* Pointer to input file */ FILE * outfilep; /* Pointer to output file */ int rownumber = 1;... Björklund (UmU) Programmeringsteknik 13 oktober / 22
6 Filpekare För att hålla reda på filer ett program arbetar med använder sig C av strukturer av datatypen FILE. Dessa innehåller diverse information om filerna, och hur programmet kan komma åt dem. Vi behöver inte bry oss så mycket om exakt hur datatypen FILE ser ut, eftersom vi kommer att ta hjälp av funktioner från stdio.h för att hantera filer. Vad vi behöver hålla reda på, däremot, är att dessa funktioner, för att kunna veta vilken fil de ska arbeta med, tar emot och returnerar filpekare. Dessa filpekare har typen FILE *. Exempel på filpekare är stdin, stdout, stderr. Björklund (UmU) Programmeringsteknik 13 oktober / 22
7 rownumbers (2)... /* check that there are two input parameters (in- and outfile) * if(argc <= 2){ fprintf(stderr, "Usage: rownumbers <input file name> "); fprintf(stderr, "<output file name>\n"); return 0; }... Björklund (UmU) Programmeringsteknik 13 oktober / 22
8 rownumbers (3)... /* Try to open the input file */ infilep = fopen(argv[1], "r"); if(infilep == NULL){ fprintf(stderr, "Couldn t open input file %s\n", argv[1]); return 0; } /* Try to open the output file */ outfilep = fopen(argv[2], "w"); if(outfilep == NULL){ fprintf(stderr, "Couldn t open output file %s\n", argv[2]); return 0; }... Björklund (UmU) Programmeringsteknik 13 oktober / 22
9 fopen (1) Funktionen fopen hjälper till att öppna filer och skapa filpekare, så att vi kan läsa från och skriva till filer. Den tar två argument: 1. Det första argumentet är filnamnet, representerat som en sträng. 2. Det andra argumentet är också en sträng, och anger vad det är vi vill göra med filen. Det finns ett antal olika värden för det andra argumentet som fopen förstår: "r" : read. Vi vill läsa från filen. "w" : write. Vi vill skriva till filen. "a" : append. Vi vill skriva till filen, men efter det som redan finns i den. Det finns även andra alternativ, som vi dock inte behöver just nu. Björklund (UmU) Programmeringsteknik 13 oktober / 22
10 fopen (2) fopen returnerar en filpekare, som alltså har typen FILE *. Det finns emellertid en hel massa saker som kan gå fel när vi vill öppna en fil: En fil vi vill läsa från finns inte. Vi vill skriva till en fil men har inte de nödvändiga rättigheterna. Etc. Om något går fel returnerar fopen en pekare med värdet NULL, en så kallad null-pekare. NULL är en minnesadress som inte finns, och värdet används för att markera att pekaren faktiskt inte pekar på någonting. Björklund (UmU) Programmeringsteknik 13 oktober / 22
11 fopen (3) infilep = fopen(argv[1], "r"); if(infilep == NULL){ fprintf(stderr, "Couldn t open input file %s\n", argv[1]); return 0; } Att kontrollera att pekaren vi får från fopen inte är en null-pekare är 1. synnerligen viktigt och dessutom 2. alldeles väldigt obligatoriskt (för den som vill bli godkänd på OU3). Om vi försöker läsa data med hjälp av en filpekare med värdet NULL kommer programmet att krascha. Felet som uppstår faller under den inom C-programmeringen blott alltför vanliga kategorin pekarfel. Björklund (UmU) Programmeringsteknik 13 oktober / 22
12 Pekarfel Björklund (UmU) Programmeringsteknik 13 oktober / 22
13 rownumbers (4)... /* Read a line at a time from the input file. * Write the line, preceded by a row number, to the output file. */ while(fgets(line, BUFSIZE,infilep)!= NULL) { fprintf(outfilep, "%-3d ", rownumber); fprintf(outfilep, "%s", line); rownumber++; }... Björklund (UmU) Programmeringsteknik 13 oktober / 22
14 fgets fgets har vi redan sett. Den anropas till exempel med där fgets(line, maxchar, filep) 1. line är en char-array, 2. maxchar är en int, och 3. filep är en filpekare. fgets returnerar normalt en char-pekare (addressen till den första positionen i line). Om fgets läser, dvs om det inte finns något mer att läsa från filpekaren filep, returnerar den i stället en pekare med värdet NULL. while(fgets(line, BUFSIZE,infilep)!= NULL) { fprintf(outfilep, "%-3d ", rownumber); fprintf(outfilep, "%s", line); rownumber++; } Björklund (UmU) Programmeringsteknik 13 oktober / 22
15 rownumbers (5)... fclose(infilep); fclose(outfilep); } return 0; Björklund (UmU) Programmeringsteknik 13 oktober / 22
16 fclose Funktionen fclose tar en filpekare (FILE *) som inparameter och stänger motsvarande fil. fclose tar bort strukturen som skapats för att hålla rätt på tillgångsinformationen samt utför ett par andra renhållningsuppgifter. Att stänga alla filer programmet öppnat är också synnerligen obligatoriskt. Björklund (UmU) Programmeringsteknik 13 oktober / 22
17 fgetc En annan användbar funktion från stdio.h är fgetc. Den kan användas för att läsa ett tecken i taget från en fil. fgetc tar en filpekare (FILE *) som enda inparameter, och returnerar nästa tecken i motsvarande fil. När fgetc läser returnerar den EOF. while(c!= EOF){ c = fgetc(infilep); /* Do something useful with c */ } Björklund (UmU) Programmeringsteknik 13 oktober / 22
18 Binära filer Binära filer I motsats till en textfil förväntas en binär fil inte nödvändigtvis bestå av en sekvens av tecken, utan kan bestå av data på godtyckligt format. Även om vi i princip kan lagra vilken data som helst som en sekvens av tecken innebär det i praktiken ofta onödigt arbete (både för programmeraren och datorn). Vi har till exempel ofta sett att vi måste ägna en hel del möda åt att omvandla strängar till heltal, flyttal, etc. Om ett program vill lagra data som ska läsas av ett annat C-program kan den göra det i en binär fil utan att bry sig om att konvertera till strängar. Programmet lagrar helt enkelt datorns interna representation av data. Ett annat program kan sedan läsa den binära filen, förutsatt att det känner till vad det är som lagrats. Björklund (UmU) Programmeringsteknik 13 oktober / 22
19 Binära filer Att öppna binära filer Precis som för textfiler använder vi fopen för att öppna binära filer för läsning eller skrivning. Den enda skillnaden är att vi lägger till ett b till den andra inparametern: binaryp = fopen("myfile.bin", "rb"); binaryp = fopen("myfile.bin", "wb"); binaryp = fopen("myfile.bin", "ab"); Björklund (UmU) Programmeringsteknik 13 oktober / 22
20 Binära filer fwrite För att skriva till en binär fil kan vi använda oss av funktionen fwrite: size_t fwrite (const void *array, size_t size, size_t count, FILE *stream); array är en pekare till en plats i minnet, där fwrite ska börja läsa. size är storleken på den datatyp som ska skrivas till filen, angedd i bytes. count är antalet element vi vill skriva till filen. stream är filpekaren. fwrite kommer att skriva de första count blocken av storlek size från minnet, med start vid array, till filen kopplad till stream. Björklund (UmU) Programmeringsteknik 13 oktober / 22
21 Binära filer sizeof Hur vet vi då hur många bytes en viss datatyp upptar? Det får vi reda på med hjälp av functionen sizeof: long sizeint = sizeof(int); long sizevector3dim = sizeof(vector3dim); Björklund (UmU) Programmeringsteknik 13 oktober / 22
22 Binära filer fread För att läsa från en binär fil kan vi använda oss av funktionen fwrite: size_t fread (const void *array, size_t size, size_t count, FILE *stream); array är en pekare till en plats i minnet, där fwrite ska börja skriva. size är storleken på den datatyp som ska läsas från filen, angedd i bytes. count är antalet element vi vill läsa från filen. stream är filpekaren. fread kommer att skriva de första count blocken av storlek size från filen kopplad till stream och skriva till minnet, med start vid array. Björklund (UmU) Programmeringsteknik 13 oktober / 22
Dagens föreläsning. Specialtecken. Mer om printf. Formateringssträngar. Mer om scanf. Programmeringsteknik för Ingenjörer VT05
Dagens föreläsning Programmeringsteknik för Ingenjörer VT05 Föreläsning 12 Filhantering Funktionsbibliotek Mer om kompilering Lagrinsklasser Makron Programmeringsteknik VT05 2 Mer om printf Utskrifter
Läs merFöreläsning 13. In- och utmatning
Föreläsning 13 In- och utmatning Dagens kluring Deklarera en struct som kan användas för att representera en rät linje Använd den I main för att deklarera en variabel som du initierar så att den representerar
Läs merÖvning från förra gången: readword
(9 september 2010 T4.1 ) Övning från förra gången: readword /** readword.c * * int readword(char w[], int n) { * * Läser tecken tills en bokstav påträffas. * Läser och lagrar sedan högst n-1 bokstäver
Läs merProgrammeringsteknik med C och Matlab
Programmeringsteknik med C och Matlab Kapitel 2: C-programmeringens grunder Henrik Björklund Umeå universitet Björklund (UmU) Programmeringsteknik 1 / 32 Mer organisatoriskt Imorgon: Datorintro i lab Logga
Läs merDeklarera en struct som kan användas för att representera en rät linje
Deklarera en struct som kan användas för att representera en rät linje Använd den I main för att deklarera en variabel som du initierar så att den representerar en linje som går genom punken (0,2) och
Läs merSpråket Python - Del 2 Grundkurs i programmering med Python
Hösten 2009 Dagens lektion Funktioner Filhantering Felhantering 2 Funktioner 3 FUNKTIONER Att dela upp program Att dela upp program i mindre delar, funktioner är ett viktigt koncept i programmering. Viktigt
Läs merPekare och arrayer. Indexering och avreferering
Pekare och arrayer En array är ett sammanhängande minnesområde rymmande ett antal element av en viss typ. Arraynamnet kan ses som adressen till arrayens början, dvs. dess första element. En pekare är en
Läs merRepetition av filer Grundkurs i programmering med Python
Hösten 2009 Dagens lektion Formattera text 2 3 REPETITION AV FILER Filer på en dator En fil består av en sekvens av digitalt data (ettor och nollor). Upp till program att tolka dessa siffror. Skillnad
Läs merFiler och structer Del 2
Filer och structer Del 2 Agenda: Typedef Alternativ strängläsning från fil Binära data Lagra Läsa Oväntat slut på input Spara till nästa programstart Typedef Kan användas till att sätta ett eget namn på
Läs merSträngar. Strängar (forts.)
Strängar En sträng i C är helt enkelt en array av char: char namn[20]; För att få strängar att bete sig som om de vore av dynamisk längd markeras strängens slut med null-tecknet \0 : J o z e f S w i a
Läs merTDIU01 - Programmering i C++, grundkurs
TDIU01 - Programmering i C++, grundkurs Strömmar, externa filer och kommandoradsargument Eric Elfving Institutionen för datavetenskap 7 oktober 2015 Översikt 2/32 Strömmar Kommandoradsargument Jämförelseoperatorer
Läs merFilhantering. Grunderna i filhantering. Uppbyggnad av filer. Data hierarkin. Filpekaren. Positionering i filer 2002-10-29
Grunderna i filhantering Filhantering Filer kan användas för permanent lagring av data Hårddisk, disketter, CD-R/W, band Variabler och arrayer Försvinner när du avslutar programmet Sparas i datorns arbetsminne
Läs merTentamen i Programmering grundkurs och Programmering C
1 of 8 Örebro universitet Institutionen för naturvetenskap och teknik Thomas Padron-McCarthy (thomas.padron-mccarthy@oru.se) Tentamen i Programmering grundkurs och Programmering C för D1 m fl, även distanskursen
Läs merC-programmering, föreläsning 2 Jesper Wilhelmsson
C-programmering, föreläsning 2 Jesper Wilhelmsson Funktioner void Globala och lokala variabler, scope static Arrayer Strängar ASCII, ANSI Argument till main Slumptal Funktioner Nu är det dags att börja
Läs merFiler. DA2001 (Föreläsning 16) Datalogi 1 Hösten / 19
Filer När ett program behöver spara data för senare användning måste dessa data antingen sparas i en databas eller skrivas på en sekundärminnesfil Sådan skrivning på fil är inte mer komplicerad än att
Läs merTentamen i. för D1 m fl, även distanskursen. lördag 19 januari 2013
1 of 7 Örebro universitet Institutionen för naturvetenskap och teknik Thomas Padron-McCarthy (thomas.padron-mccarthy@oru.se) Tentamen i Programmering grundkurs och Programmering C för D1 m fl, även distanskursen
Läs merTentamen *:58/ID100V Programmering i C Exempel 3
DSV Tentamen *:58/ID100V Sid 1(5) Tentamen *:58/ID100V Programmering i C Exempel 3 Denna tentamen består av fyra uppgifter som tillsammans kan de ge maximalt 22 poäng. För godkänt resultat krävs minst
Läs merUppgifter till praktiska tentan, del A. (7 / 27)
Uppgifter till praktiska tentan, del A. (7 / 27) I. Sortering/Sökning: III II. Representation/Omvandling/format/protokoll: II III. Strukturering: II I alla problem, där bokstäver förekommer, antar vi att
Läs merTDIU01 - Programmering i C++, grundkurs
TDIU01 - Programmering i C++, grundkurs Sammanfattning period 1 Eric Elfving Institutionen för datavetenskap 1 oktober 2013 Översikt Ett C++-programs uppbyggnad Variabler Datatyper Satser Uttryck Funktioner
Läs merEnklast att skriva variabelnamn utan ; innehåll och variabelnamn skrivs ut
F5: Filhantering in- och utmatning (kap. 2 och 8) 1 Utskrift på skärm, inläsning från tangentbord (kap. 2) Spara och hämta variabler med save och load (kap. 2) Kommandot textread Mer avancerad filhantering:
Läs merLösningar till uppgifterna sätts ut på kurssidan på nätet i dag kl 13.00. Omtentamen i Programmering C, Fri, Kväll, 050108.
1(8) ÖREBRO UNIVERSITET INSTITUTIONEN FÖR TEKNIK Lösningar till uppgifterna sätts ut på kurssidan på nätet i dag kl 13.00. Denna tenta kommer att vara färdigrättad Fr 14/1 och kan då hämtas på mitt tjänsterum,
Läs merTentamen i Programmering grundkurs och Programmering C
1 of 7 Örebro universitet Institutionen för naturvetenskap och teknik Thomas Padron-McCarthy (thomas.padron-mccarthy@oru.se) Tentamen i Programmering grundkurs och Programmering C för D1 m fl, även distanskursen
Läs merKlassdeklaration. Metoddeklaration. Parameteröverföring
Syntax: Class Declaration Modifier Class Body Basic Class Member Klassdeklaration class Class Member Field Declaration Constructor Declaration Method Declaration Identifier Class Associations Motsvarar
Läs merFöreläsning 11. Strängar
Föreläsning 11 Strängar Dagens kluring void findmax(int v[], int length, int *pmax) int i;??=v[0]; for(i=1;i< length;i++) if(v[i]>??)??=v[i]; int main() int a[]=1,2,3,4,2; int max; hittamax(a,5,???); printf(
Läs merKapitel 5. Strömmar. Utmatning
Kapitel 5 Strömmar Kapitel 5 - Strömmar Utmatning med std::ostream och std::ostringstream Inmatning med std::istream och std::istringstream Överlagring av in- och utmatning Iteratorer för in- och utmatning
Läs merDatalogi, grundkurs 1
Datalogi, grundkurs 1 Fiktiv Tentamen Lösningsförslag och kommentarer 1. Lösningsförslaget nedan förutsätter ingenting om filens innehåll och är alltså mer generell än nödvändigt: alfa= ABCDEFGHIJKLMNOPQRSTUVWXYZÅÄÖ
Läs mer... Funktionsanrop. Vad händer när man kör ett program?
Vad händer när man kör ett program? När man kompilerar ett program och sedan länkar ihop det så stoppar länkaren in lite extra kod i programmet. Det är denna kod som i sin tur anropar main-funktionen ungefär
Läs merTentamen i Programmering grundkurs och Programmering C
1 of 6 Örebro universitet Institutionen för naturvetenskap och teknik Thomas Padron-McCarthy (thomas.padron-mccarthy@oru.se) Tentamen i Programmering grundkurs och Programmering C för D1 m fl, även distanskursen
Läs merProgrammering I Tobias Wrigstad fredag, 2009 augusti 28
Programmering I Tobias Wrigstad tobias@dsv.su.se Vad är programmering? Lågnivåspråk och högnivåspråk Kompilering och interpretering Variabler Notation för flödesschema (flow chart) Kontrollstrukturer (conditionals,
Läs merTANA17 Matematiska beräkningar med MATLAB för M, DPU. Fredrik Berntsson, Linköpings Universitet. 4 december 2015 Sida 1 / 26
TANA17 Matematiska beräkningar med MATLAB för M, DPU Fredrik Berntsson, Linköpings Universitet 4 december 2015 Sida 1 / 26 Föreläsning 7 Textsträngar. Formatterade utskrifter. Filhantering. Seminarieuppgiften.
Läs merPekare ( )
Pekare Varje variabel har en adress En variabels adress ges av den unära adressoperatorn & Adresser hanteras kan lagras i variabler (pekarvariabel) Den unära avrefereringsoperatorn * används dels vid deklaration
Läs mer729G04 Programmering och diskret matematik. Föreläsning 7
729G04 Programmering och diskret matematik Föreläsning 7 Föreläsningsöversikt Information Interaktion via text Läsa från fil Skriva till fil Spara och läsa abstrakta datatyper från fil Information Felaktigt
Läs merPC-teknik, 5 p LABORATION FILHANTERING
PC-teknik, 5 p LABORATION FILHANTERING Laborationsansvariga: Anders Arvidsson Utskriftsdatum: 2004-09-14 Laborant(er): 1 Syfte Laborationen ska illustrera möjligheten att använda funktioner i DOS för att
Läs merDatatyper och kontrollstrukturer. Skansholm: Kapitel 2) De åtta primitiva typerna. Typ Innehåll Defaultvärde Storlek
De åtta primitiva typerna Java, datatyper, kontrollstrukturer Skansholm: Kapitel 2) Uppsala Universitet 11 mars 2005 Typ Innehåll Defaultvärde Storlek boolean true, false false 1 bit char Tecken \u000
Läs merPoster ( structar ) Postdeklarationer
Poster ( structar ) Exempel på en postdeklaration: struct person { int id; char namn[20]; int vikt, skonr; p1, p2; Detta definierar två variabler p1 och p2 som poster med termerna id, namn, vikt och skonr.
Läs merNumeriska Metoder och Grundläggande Programmering för P1, VT2014
Numeriska Metoder och Grundläggande Programmering för P1, VT2014 Föreläsning 5: Filhantering i Matlab Mer om datatyper: celltabeller, gles lagring (Kap. 7 & 8 i MATLAB Programming for Engineers, S. Chapman)
Läs merAvancerad SSL-programmering II
Tekn.dr. Göran Pulkkis Överlärare i Datateknik Avancerad SSL-programmering II 1 Innehåll Makron för generisk stackhantering Hantering av konfigureringsfiler Certifikathantering 2 1 Makron för generisk
Läs merKTH STH TENTAMEN. HI1024:TEN2 - Praktisk tentamen Tid: 8-13, den 18 februari 2012
KTH STH TENTAMEN HI1024:TEN2 - Praktisk tentamen Tid: 8-13, den 18 februari 2012 Gamla kurskoder: HI1900, 6E2950, etc. Examinator: Johnny Panrike Rättande lärare: Nicklas Brandefelt, Johnny Panrike och
Läs merIntroduktion till Datalogi DD1339. Föreläsning 2 22 sept 2014
Introduktion till Datalogi DD1339 Föreläsning 2 22 sept 2014 Namn Fält1 Fält2 Fält3 Metod1 Metod2 Metod3 Metod4 public class { public class { Åtkomst, public betyder fullt tillgänglig utifrån public
Läs merFöreläsning 3. Programmering, C och programmeringsmiljö
Föreläsning 3 Programmering, C och programmeringsmiljö Vad är programmering? Ett väldigt kraftfullt, effektivt och roligt sätt att kommunicera med en dator Att skapa program / applikationer till en dator
Läs merLösningar till uppgifterna sätts ut på kurssidan och på WebCT (Gamla Tentor) i dag kl 19. Tentamen i Programmering C, 5p, Distans, övriga, 051119
1(8) ÖREBRO UNIVERSITET INSTITUTIONEN FÖR TEKNIK Lösningar till uppgifterna sätts ut på kurssidan och på WebCT (Gamla Tentor) i dag kl 19. Denna tenta kommer att vara färdigrättad On 23/11 och kan då hämtas
Läs merDagens föreläsning. Repetition. Repetition - Programmering i C. Repetition - Vad C består av. Repetition Ett första C-program
Dagens föreläsning Programmeringsteknik för Ingenjörer VT05 Föreläsning 3-4 Repetition Datatyper Uttryck Operatorer Satser Algoritmer Programmeringsteknik VT05 2 Repetition Repetition - Programmering i
Läs merOperativsystem ID1200/06 och ID2200/06 Tentamen TENA 6 hp :00-18:00
Operativsystem ID1200/06 och ID2200/06 Tentamen TENA 6 hp 2018-04-03 14:00-18:00 Omtentander på ID2200 TEN1 3.8 hp och ID2206 TEN1 4.5 hp skall inte skriva denna tentamen! Instruktioner Du får, förutom
Läs merExempelsamling Assemblerprogrammering
Exempelsamling Assemblerprogrammering I uppgifterna nedan utgå från följande programskelett: #include.data var1:.word 12 var2:.word 19 sum: prod:.float 0.set noreorder.text.globl start.ent start
Läs merVad har vi lärt oss så här långt Vad är en sträng? Strängkonstanter. Att skriva ut och läsa in strängar. Att arbeta med strängar.
Vad har vi lärt oss så här långt Vad är en sträng Strängkonstanter. Att skriva ut och läsa in strängar. Att arbeta med strängar. Matriser av strängar. Sortering av strängar. Vad har vi lärt oss i dag Literals
Läs merEnkla datatyper minne
Enkla datatyper minne 143.56 sant Sonja A falskt 18 1999-10-29 Bertil Gralvik, KTH Ingenjörsskolan 1 Addera två tal Algoritmen Summera tal Mata in två tal Beräkna Skriv ut resultat Mata in tal 1 Mata in
Läs merDynamiskt minne. Vad är dynamiskt minne Motivering Hur gör man i C Övningar
Dynamiskt minne Agenda Vad är dynamiskt minne Motivering Hur gör man i C Övningar Minne Datorns primärminne används till olika ändamål De flesta system partitionerar minnet efter användningen: Programkoden
Läs merFunktionspekare, inledning: funktionsanropsmekanismen. Anrop via pekare
Funktionspekare, inledning: funktionsanropsmekanismen Vid funktionsanrop läggs aktuella argumentvärden och återhoppsadressen på stacken, därefter sker ett hopp till adressen för funktionens första instruktion.
Läs merLösningar till uppgifterna sätts ut på kurssidan på nätet i dag kl 19.00. Tentamen i Programmering C, Fri, Kväll, 041211.
1(8) ÖREBRO UNIVERSITET INSTITUTIONEN FÖR TEKNIK Lösningar till uppgifterna sätts ut på kurssidan på nätet i dag kl 19.00. Denna tenta kommer att vara färdigrättad Ti 14/12 och kan då hämtas på mitt tjänsterum,
Läs merFöreläsning 4: Filer och strömmar
Föreläsning 4: Filer och strömmar PROGRAM OPERATIV- SYSTEM EXTERNA (IO-)ENHETER cout > x; STANDARD INSTRÖM ifstream infil A.TXT infil >> str; INGÅENDE FILSTRÖM
Läs merAnmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper
Tentamen Programmeringsteknik I 2016-03-17 Skrivtid: 1400 1900 Tänk på följande Skriv läsligt. Använd inte rödpenna. Skriv bara på framsidan av varje papper. Lägg uppgifterna i ordning. Skriv uppgiftsnummer
Läs merFöreläsning 7 Strängar
Föreläsning 7 Strängar I C använder vi strängar för att lagra text. Strängar kommer in ganska sent i kursen, det är jag inte så glad över, men det finns också fördelar, vi har grundat oss rejält nu i funktioner,
Läs merRecap Mera om nya typer Kort Fält. Programmering. Sommarkurs 2007 www.hh.se/staff/vero/programmering. Verónica Gaspes. IDE-sektionen.
Programmering Sommarkurs 2007 www.hh.se/staff/vero/programmering Verónica Gaspes IDE-sektionen Juni 14 Utkast 1 Recap 2 Mera om nya typer 3 Kort 4 Fält Recap Man kan ge namn till typer. Vi undersökte enum
Läs merAnmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper
Tentamen Programmeringsteknik I 2016-03-17 Skrivtid: 1400 1900 Tänk på följande Skriv läsligt. Använd inte rödpenna. Skriv bara på framsidan av varje papper. Lägg uppgifterna i ordning. Skriv uppgiftsnummer
Läs merLösningar till tentauppgifterna sätts ut på kurssidan på nätet idag kl 19. Omtentamen i Programmering C, 5p, fristående, kväll, 040110.
1(8) ÖREBRO UNIVERSITET INSTITUTIONEN FÖR TEKNIK Lösningar till tentauppgifterna sätts ut på kurssidan på nätet idag kl 19. Denna tenta kommer att vara färdigrättad On 14/1-04 och kan då hämtas på mitt
Läs merProgrammeringsteknisk översiktskurs för yrkeshögskoleprogram
Programmeringsteknisk översiktskurs för yrkeshögskoleprogram Föreläsning 12 Våren 2005 Innehåll Palindrom Hur man hittar fel i program, debuggning Felhantering, hur man förhindrar program att krascha Ev.
Läs merHI1024, Programmering, grundkurs, 8hp KTH STH TENTAMEN. HI1024:TEN2 - Praktisk tentamen Tid: Fredagen den 21 oktober 2011,
KTH STH TENTAMEN HI1024:TEN2 - Praktisk tentamen Tid: Fredagen den 21 oktober 2011, 8.15-13.15 Gamla kurskoder: HI1900, 6E2950, etc. Examinator: Johnny Panrike Rättande lärare: Nicklas Brandefelt, Johnny
Läs merDatorlära 3 Octave Workspace ovh mijlö Skriva text på skärmen Värdesiffror Variabler och typer Strängar Makro Vektorer
Datorlära 1 Introduktion till datasystemet, epost konto, afs hemkonto Introduktion till datorer och datasalar Open Office Calculator Beräkningar med Open Office Calc Diagram med OO Calc Datorlära 2 Utforma
Läs mer*Pekarvärden *Pekarvariabler & *
*Pekarvärden *Pekarvariabler & * Motivering Pekare är ett fundamentalt koncept i C (och C++) Multipla returvärden från funktioner. Arrayer hanteras via pekare Dynamiskt minne (kommer i slutet av kursen)
Läs merOrdlistor, filhantering och ut på webben. Linda Mannila 20.11.2007
Ordlistor, filhantering och ut på webben Linda Mannila 20.11.2007 Vad kan vi nu? Primitiva datatyper Tal, strängar, booleska värden Samlingsdatatyp Listan Utskrift Indata Felhantering Funktioner och moduler
Läs merSkriv i mån av plats dina lösningar direkt i tentamen. Skriv ditt kodnummer längst upp på varje blad.
5(16) Tentamen på kurserna Programmeringsteknik med C och Matlab Programmering i C Tid: 2/11-11, kl. 9-13 Lärare: Jonny Pettersson Totalt: 60 poäng Betyg 3: 30 poäng Betyg 4: 39 poäng Betyg 5: 48 poäng
Läs merJohan Karlsson Datavetenskap för teknisk kemi, 10p, moment 1 Datavetenskap Umeå Universitet. Tentamen
Tentamen för teknisk kemi, 10p, moment 1 29 november 1999 Skrivtid 9-15 Hjälpmedel: av följande böcker. - U. Bilting och J. Skansholm: Vägen till C - A. Kelley & I. Pohl: A Book on C Maxpoäng: Gräns för
Läs merAnmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper
Tentamen Programmeringsteknik I 2016-06-11 Skrivtid: 0900 1400 Tänk på följande Skriv läsligt. Använd inte rödpenna. Skriv bara på framsidan av varje papper. Lägg uppgifterna i ordning. Skriv uppgiftsnummer
Läs merDatorlära 6. Arbeta med strängar Inmatning med tangentbordet Bygga ett program med inmatning, funktioner, osv
Datorlära 6 Arbeta med strängar Inmatning med tangentbordet Bygga ett program med inmatning, funktioner, osv 1 Arbeta med Strängar Strängar skapas med text inom citattecken, enkla eller dubbla.!>> str=
Läs merProgrammera i C Varför programmera i C när det finns språk som Simula och Pascal??
Programmera i C Varför programmera i C när det finns språk som Simula och Pascal?? C är ett språk på relativt låg nivå vilket gör det möjligt att konstruera effektiva kompilatorer, samt att komma nära
Läs mer6.1 Kompilering och lite grundläggande information
6 Förhoppningsvis ska de C-konstruktioner som gås igenom här tillsammans med de exempelprogram som ges här och i andra delar av lab-pm vara tillräckliga för att ni ska kunna klara av laborationerna. Syftet
Läs merOperativsystem ID1200/06 (ID2200/06 6hp) Tentamen :00-18:00
Operativsystem ID1200/06 (ID2200/06 6hp) Tentamen 2019-04-16 14:00-18:00 Instruktioner Du får, förutom skrivmateriel, endast ha med dig en egenhändigt handskriven A4 med anteckningar. Anteckningarna lämnas
Läs merProgrammering, grundkurs, 8.0 hp HI1024, HI1900 etc., Tentamen TEN1. Måndagen den 10 januari 2011,
Programmering, grundkurs, 8.0 hp HI1024, HI1900 etc., Tentamen TEN1 Måndagen den 10 januari 2011, 8.15 12.15 Tentamen består av två delar, del A och del B. Del A innehåller 10 kryssfrågor på olika teman
Läs merTextsträngar från/till skärm eller fil
Textsträngar från/till skärm eller fil Textsträngar [Kapitel 8.1] In- och utmatning till skärm [Kapitel 8.2] Rekursion Gränssnitt Felhantering In- och utmatning till fil Histogram 2010-10-25 Datorlära,
Läs merAnvändarhandledning Version 1.2
Användarhandledning Version 1.2 Innehåll Bakgrund... 2 Börja programmera i Xtat... 3 Allmänna tips... 3 Grunderna... 3 Kommentarer i språket... 4 Variabler... 4 Matematik... 5 Arrayer... 5 på skärmen...
Läs mer#include <stdio.h> #include <string.h>
#include #include void fun(char s[]) int i=-1; while(s[++i]!=0) if('a'
Läs merGenerell säkerhet. Loggning - Hur mycket ska man logga? Inloggningsrutinerna i Unix. Loggning fortsättning
Generell säkerhet Här finns det inga direkta rätt eller fel. Snarare saker man bör tänka på när man implementerar ett program. Kort sagt: Efter att du kommit på hur du tänkt göra, sov på saken och tänk
Läs merTentamen i Programmering grundkurs och Programmering C
1 of 7 Örebro universitet Institutionen för naturvetenskap och teknik Thomas Padron-McCarthy (thomas.padron-mccarthy@oru.se) Tentamen i Programmering grundkurs och Programmering C för D1 m fl, även distanskursen
Läs merDen klassiska programmodellen. Introduktion till programmering D0009E. Föreläsning 11: Filer och undantag. Filsystem. Interaktiva program.
Den klassiska programmodellen Introduktion till programmering D0009E indata Hur kan data överleva en programkörning? utdata indata utdata Föreläsning 11: Filer och undantag Program A Program B Filsystem
Läs merE02 "The Review" Föreläsning 2, HT2013 Grunderna, repetition. Johan Leitet. Kurs: 1dv403 Webbteknik I
E02 "The Review" Föreläsning 2, HT2013 Grunderna, repetition Kurs: 1dv403 Webbteknik I Johan Leitet E02 - "The Review" Dagens agenda Identifierare Kommentarer Variabler Datatyper Operatorer Villkorssatser
Läs merLäsning, skrivning, tangentbord, skärm. F6: Filhantering (kap. 8) Tabell på skärmen. save
F6: Filhantering (kap. 8) Läsning från tangentbordet, skrivning på skärmen Binär skrivning och läsning med save och load Skrivning på och läsning från textfil med save och load Användning av filreferenser,
Läs merTentamen i. Programmering i språket C
1 of 8 Örebro universitet Institutionen för naturvetenskap och teknik Thomas Padron-McCarthy (thomas.padron-mccarthy@oru.se) Tentamen i Programmering i språket C för D1 m fl, även distanskursen torsdag
Läs merLösningar till uppgifterna sätts ut på kurssidan på nätet idag kl 13.00. Omtentamen i Programmering C, 5p, A1, D1, E1, Fri, Pr1, Te/Ek1, 040607.
1(8) ÖREBRO UNIVERSITET INSTITUTIONEN FÖR TEKNIK Lösningar till uppgifterna sätts ut på kurssidan på nätet idag kl 13.00. Denna tenta kommer att vara färdigrättad On 9/6 och kan då hämtas på mitt tjänsterum,
Läs merInnehållsförteckning. Exempel. Åtkomst & användarhandledning
Framsidan Framsidan på din labrapport kan du utforma ganska fritt. Tänk bara på att den ska vara läsbar, och innehålla (minst) följande information: Ditt namn Din e-mail adress här på CS! Kursens namn
Läs merTentamen PC-teknik 5 p
Tentamen PC-teknik 5 p Namn:. Klass:... Program: Di2, Em3, Et3 Datum: 03-08-15 Tid: 13:30-18:30 Lokal: E171 Hjälpmedel: Linjal, miniräknare, Instruktionsrepertoar för 8086 (utdelas), Lathund, Pacific C
Läs merProgrammering B med Visual C++ 2008
Programmering B med Visual C++ 2008 Innehållsförteckning 1 Repetition och lite nytt...5 I detta kapitel... 5 Programexekvering... 5 Loop... 5 Källkod... 6 Verktyg... 6 Säkerhetskopiera... 6 Öppna, kompilera,
Läs merProgrammeringsteknik för Ingenjörer VT06. Föreläsning 10
Programmeringsteknik för Ingenjörer VT06 Föreläsning 10 Dagens föreläsning Repetition Strukturer Programmeringsteknik för ingenjörer, VT06 2 Deklaration: char name1[10]; char *name2; Repetition - Strängar
Läs merTentamen ges för: Tentamensdatum: Tid:
Programmering E 7,5 högskolepoäng Provmoment: Ladokkod: Tentamen ges för: Tentamen TE081B El2 Tentamensdatum: 2012-04-13 Tid: 900 1300 Hjälpmedel: Kursbok Kelley, Pohl: A Book on C, Fourth Edition Tillåtet
Läs merLösningar till uppgifterna sätts ut på kurssidan på nätet i dag kl 13. Omtentamen i Programmering C, 5p, A1, D1, PA1, Fri,
1(8) ÖREBRO UNIVERSITET INSTITUTIONEN FÖR TEKNIK Lösningar till uppgifterna sätts ut på kurssidan på nätet i dag kl 13. Denna tenta kommer att vara färdigrättad Må 13/6 och kan då hämtas på mitt tjänsterum,
Läs merTentamen. 5DV105, Programmeringsteknik med Python och Matlab 5DV106, Programmering i Python. 27 oktober 2009
Sid: 1(8) Tentamen 5DV105, Programmeringsteknik med Python och Matlab 5DV106, Programmering i Python Examinator: Skrivtid: 9 13 Hjälpmedel: Inga böcker Tentamen har två delar. Första delen består av tre
Läs merPekare. Pekare. Varför använder vi pekare? Vad är en pekare? Pekare. Deklaration/initiering av pekare
Vad är en pekare? Varför använder vi pekare? Hur används pekare? Hur deklarerar vi pekare i C? Hur kommer vi åt pekarvärdet? DAVA07/08 JE,MG,MG,PS 2 DAVA07/08 JE,MG,MG,PS Vad är en pekare? En pekare är
Läs merDagens föreläsning. Repetition. Repetition - Programmering i C. Repetition - Vad C består av. Repetition Ett första C-program
Dagens föreläsning Programmeringsteknik för Ingenjörer VT05 Föreläsning 3-4 Repetition Datatyper Uttryck Operatorer Satser Algoritmer Programmeringsteknik för ingenjörer, VT06 2 Repetition Repetition -
Läs merTypkonvertering. Java versus C
Typer Objektorienterad programmering E Typkonvertering Typkonvertering Satser: while, for, if Objekt Föreläsning 2 Implicit konvertering Antag att vi i ett program deklarerat int n=3; double x = 5.2; Då
Läs merTecken & Strängar. Kapitel 7
Tecken & Strängar Kapitel 7 Datatypen char Alla tecken i teckenuppsättningen Synliga och andra ASCII American Standard Code for Information Interchange Numera 256 tecken (8 bitar (2 8 ) numreras 0..255)
Läs merTentamen i. för D1 m fl, även distanskursen. fredag 13 januari 2012
1 of 6 Örebro universitet Akademin för naturvetenskap och teknik Thomas Padron-McCarthy (thomas.padron-mccarthy@oru.se) Tentamen i Programmering grundkurs och Programmering C för D1 m fl, även distanskursen
Läs merAtt använda pekare i. C-kod
Att använda pekare i C-kod (Bör användas av de som känner sig lite hemma med C-programmering!) Rev 1, 2005-11-23 av Ted Wolfram www.wolfram.se Syfte: Man kan tycka att det är komplicerat att använda pekare
Läs merBINÄRA TRÄD. (X = pekarvärdet NULL): struct int_bt_node *pivot, *ny; X X X 12 X X 12 X X -3 X X
Algoritmer och Datastrukturer Kary FRÄMLING/Göran PULKKIS (v23) Kap. 7, Sid 1 BINÄRA TRÄD Träd används för att representera olika slags hierarkier som ordnats på något sätt. Den mest använda trädstrukturen
Läs merProgrammering av inbyggda system. Pekare och Arrayer. Viktor Kämpe
Pekare och Arrayer Viktor Kämpe Pekare Pekarens värde är en adress. Pekarens typ berättar hur man tolkar bitarna som finns på adressen. unsigned char* pek 0x3026 0x3026 0110 0001 typ värdet är en adress...
Läs merTentamen i Programmering grundkurs och Programmering C
1 of 6 Örebro universitet Akademin för naturvetenskap och teknik Thomas Padron-McCarthy (Thomas.Padron-McCarthy@oru.se) Tentamen i Programmering grundkurs och Programmering C för D1 m fl, även distanskursen
Läs merTentamen i Programmering grundkurs och Programmering C
1 of 6 Örebro universitet Institutionen för naturvetenskap och teknik Thomas Padron-McCarthy (thomas.padron-mccarthy@oru.se) Tentamen i Programmering grundkurs och Programmering C för D1 m fl, även distanskursen
Läs merFöreläsning 18 Filer och avbildningar
Föreläsning 18 Filer och avbildningar Grundkurs i programmering Jan Lönnberg Institutionen för datateknik -universitetets högskola för teknikvetenskaper 15.11.2011 Avbildningar Hur skulle du göra en: Ordlista
Läs merFöreläsning 7: Filer
Genomgånget på FÖ: Föreläsning 7: Filer Undantag: Liten mall för undantag ("exceptions") och vad man har det till. Dock inte med betoning på allt, men det väsentliga är upptaget. Filer: P. Open(filvar,
Läs merI Skapa Hej.java och skriv programmet. I Kompilera med javac Hej.java. I Rätta fel och repetera tills du lyckas kompilera ditt program
Kompilera och köra programmet Objektorienterad Programmering (TDDC77) Föreläsning II: utmatning, variabler, typer Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 under terminal 2: I Skapa Hej.java
Läs merObjektorienterad Programmering (TDDC77)
Objektorienterad Programmering (TDDC77) Föreläsning II: utmatning, variabler, typer Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 Kompilera och köra programmet under terminal 2: I Skapa Hej.java
Läs merUppgifter teknik HT17 (uppdaterad v. 40)
Uppgifter teknik HT17 (uppdaterad v. 40) Uppgifterna bedöms inte, de är bara till för att öva. Samarbeta gärna med andra! Du behöver inte skriva ner svaren, men se till att du förstår lösningarna! 1. Det
Läs mer