GESPRG Les 12 Gestructureerd programmeren in C. 152 Huiswerk Uitwerking void reverse(int a[], int n) { int first = 0, last = n - 1; while (first < last)

Slides:



Advertisements
Verwante presentaties

Advertisements





Vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Een programma opbouwen.
Project Software Engineering Universiteit AntwerpenPlanning 4.1 Hoe snel loopt iemand de 100 meter ?
HM-ES-th1 Les 9 Hardware/Software Codesign with SystemC.
Real-Time Systems (RTSYST) Week C++ concurrent programmeren C++ heeft sinds C++11 een standaard library voor concurrent programmeren. Alternatieve.

Programmeren in Java met BlueJ
Gestructureerd programmeren in C
Vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Onderwerpen voor vandaag Gelinkte lijsten Finite State.
Instructie Programmeren Task 8 5JJ70. PAGE 2 Task 8: Double Linked List Het doel van deze opdracht is: Het opbouwen van een tweetal klassen, die samen.
GESPRG Les 14 Gestructureerd programmeren in C. 174 Details! The devil is in the details.
Enumerate typedef struct union functiepointers 1.
Omgevingen zijn dan geïmplementeerd als Symbol Tables. Symbol Table mapt een symbool met een Binding Meerdere noties van binding –Meerdere manieren te.

Instructie Programmeren Task 1 5JJ70. Task 1.1: Hello World Klik naast de laatste accolade in de grijze kantlijn om een breakpoint neer te zetten, anders.
Instructie Programmeren Debuggen 5JJ70. Debuggen: Wat is het probleem Je programma compileert, maar werkt niet zoals verwacht, wat nu? Vraag je af: wat.

Computervaardigheden en Programmatie Universiteit AntwerpenObjecten 4.1 Computervaardigheden en Programmatie 1rste BAC Toegepaste Biologische Wetenschappen.
Informatica Universiteit AntwerpenScripting 5.1 Informatica 1rste BAC Biologie Hoofdstuk 5 Scripting.
Java C++ zVeilig zMachine- onafhankelijk zVeel libraries, ook voor Internet-I/O zSnel zNative executables zLibraries optimaal voor specifiek OS.
Numerieke Natuurkunde
Algoritmen en Datastructuren (ALDAT) EVMINX4 Dagdeel 2.
MICPRG Les 11 Microcontroller Programmeren in C. 112 Datastructuren in C Werkgeheugen (PC en microcontroller): Statische datastructuren (vaste grootte):
GESPRG Les 8 Gestructureerd programmeren in C. 101 Array Meerdere variabelen van hetzelfde type kun je samennemen in één array variabele. Stel in een.
GESPRG Les 9 Gestructureerd programmeren in C dimensionale array Array van array’s int i = 31; int a[4] = {7, 23, 6, 2}; int m[2][4] = { {1, 1,
Real-Time Systems (RTSYST) Week IPC inter process communication Shared variabele based (H5) Message based (H6) Kan ook gebruikt worden in systemen.
GESPRG Les 7 Gestructureerd programmeren in C. 92 Verwisselen Schrijf een functie waarmee twee int variabelen verwisseld kunnen worden. void wissel(int.
MICPRG Les 14 Microcontroller Programmeren in C. 153 Duurzaam AVR gebruik De AVR ATmega32A is de opvolger van de ATmega32. De A versie is ongeveer 40%
Hoofdstuk 7 verplicht… Keuze.
Eerste deeltoets Uitwerking. Resultaten Gemiddeld: 6,01 Tips voor de volgende keer: – Werk in klad uit, schrijf duidelijk – Oefenen met loops en tellertjes.
Programmeren met Algebra André van Delft 6 februari 2012 Presentatie op Grotius College Delft.
Inleiding programmeren in C++ Life Science & Technology 9 februari Universiteit Leiden.
DB&SQL8- 1 VBA Visual Basics for Applications: eigen Office versie vanaf Office2000 gelijk voor alle applicaties Programmeren onder meer nodig voor Het.
JAVA1 H 22. COLLECTIONS FRAMEWORK. 1. INLEIDING. Collections framework Is een verzameling van data structuren, interfaces en algoritmen Meest voorkomende.
P. 1 Vakgroep Informatietechnologie Scanf voorbeeld #include int main(void) { int i=-1,j=-1,k=-1,l=-1; int b; b=scanf("%d %d %d %d",&i,&j,&k,&l); printf("res=%d.
Vakgroep Informatietechnologie – SoftwareOntwikkeling 1 SoftwareOntwikkeling 1 Conditionele compilatie in C met de macropreprocessor.
Deel I: Programmeertaal C 6. Arrays en Pointers
P. 1 Deel I: Programmeertaal C 4. Functies en Macro’s Prof.Dr.Ir. Filip De Turck.
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren 1 Les 3 - onderwerpen Het.
Vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Onderwerpen voor vandaag Het ARM bord met wat library functies.
2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 1 Les 3 - onderwerpen Instruction timing Shadow.
DU2PRES1 : C vervolg Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Beginselen van C opgaves… volgende week: ARM.
Vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Onderwerpen voor vandaag GUI  command line redirection.
Hoofdstuk 2 Java. Soorten Java-programma’s nJava Applet programma “leeft” op een WWW-pagina nJava Application programma heeft een eigen window nJavascript.
OO Analyse in de praktijk OO Analyse in de praktijk V Enkele Design Patterns.
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 C programmeren voor niet-C programmeurs les 7 onze.
C++ C++ als een verbetering van C Abstracte datatypen met classes Constructoren en destructoren Subklassen binding van functies 1.
Tircms02-p les 7 systemcalls linux vervolg. Inleiding Onder /usr/include/linux staan bestanden die de linuxkernel o.a. gebruikt om drivers aan te spreken.
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 C programmeren voor niet-C programmeurs les 2 definitie.
Tircms02-p les 4 Preprocessor In- en uitvoer Diversen.
ZijActief Koningslust Gelaatkunde door Romy Jongmans
Tircms03-p les 6 Templates. Functietemplates void verwissel(int &x, int &y); { int w=x;x=y;y=w;} Dezelfde functie voor meerdere types heet een functietemplate.
Tircms03-p les 7 Standaardfuncties. In header opnemen bijv: using namespace std // C++ // oude C.
Tircms02-p les 3 Functies Strings Structuren. Functies 1. main() 2. { int k; k = 10 ; printf(“%d\n”,fac(k)); } 3. int fac(n) int n; 4. { int f; f= 1;
Tircms02-p les 2 Meer operatoren Arrays en pointers Types en conversie.
tircms02-p les 1 Operating Systems practicum
Tircms03-p les 4 Klassen. Abstracte datatypes in C struct stack { char info[100]; int top; }; void reset(stack *s) { s->top = -1; } void push(stack *s,
Vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Onderwerpen voor vandaag User-defined characters op de.
Tircms03-p les 1 C++ voor C-kenners Voor Technische Informatica.
Vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Onderwerpen voor vandaag Een embedded systeem: ARM bord.
1 PI1 week 9 Complexiteit Sorteren Zoeken. 2 Complexiteit van algoritmen Hoeveel werk kost het uitvoeren van een algoritme (efficiëntie)? –tel het aantal.
Tinpro015b-les 1 C++ voor C-kenners Voor Technische Informatica.
Tinpro015b-les5 Invoer en Uitvoer.
Tinpro015b-les3 Hfdst 3,4 Meer operatoren Functies.
Tinpro015b-les6 Templates.
Tinpro015b-les4 Klassen.
Transcript van de presentatie:

GESPRG Les 12 Gestructureerd programmeren in C

152 Huiswerk Uitwerking void reverse(int a[], int n) { int first = 0, last = n - 1; while (first < last) { wissel(&a[first], &a[last]); first = first + 1; last = last - 1; } void reverse(int a[], int n) { int first = 0, last = n - 1; while (first < last) { wissel(&a[first++], &a[last--]); } Kan het nog korter?

153 Huiswerk Uitwerking void reverse(int a[], int n) { int first = 0, last = n - 1; while (first < last) { wissel(&a[first++], &a[last--]); } void reverse(int a[], int n) { int first = 0, last = n; while (first < --last) { wissel(&a[first++], &a[last]); } Kan het nog korter?

154 Huiswerk Uitwerking void reverse(int a[], int n) { int first = 0, last = n; while (first < --last) { wissel(&a[first++], &a[last]); } void reverse(int *a, int n) { int *last = a + n; while (a < --last) { wissel(a++, last); } Kan het nog korter?

155 C preprocessor Wordt uitgevoerd voordat de “echte” compiler wordt gestart. #include invoegen van andere bestanden #define definiëren van macro’s. #if conditionele compilatie

156 #include Include file bevat prototypes (code zit in library die meegelinkt wordt). /*oops include vergeten!*/ int main(void) { printf("%.15lf", sin(1,2)); getchar(); return 0; } Uitvoer: Warning: ' printf ' undefined Warning: ' sin ' undefined Warning: ' getchar ' undefined Compiler:

157 #include Include file bevat declaraties (definities zitten in library die meegelinkt wordt). #include int main(void) { printf("%.15lf", sin(1,2)); getchar(); return 0; } Error: ' sin ' : too many arguments for call Compiler:

158 #include Include file bevat declaraties (definities zitten in library die meegelinkt wordt). #include int main(void) { printf("%.15lf", sin(1.2)); getchar(); return 0; } Uitvoer:

159 Zelfgemaakte include files #include Zoek in de standaard include directories. #include "homemade.h" Zoek in het directory waar de.c file staat en daarna in standaard include directories. #include "h:/mijn_includes/homemade.h" Zoek in het directory h:/mijn_includes/.

160 Macro’s (zonder argumenten) Zoek en vervang (voor het compileren). #include #define AANTAL 10 int main(void) { int kwadraten[AANTAL]; int i; for (i = 0; i < AANTAL; i = i + 1) { kwadraten[i] = i * i; } Voordeel?

161 Macro’s (met argumenten) Zoek en vervang (voor het compileren) met parameter(s). #include #define KWAD(x) x * x int main(void) { printf("%d\n", KWAD(8)); printf("%d\n", KWAD(4 + 4)); getchar(); return 0; } Uitvoer: Wat is er mis?

162 Macro’s (met argumenten) Zoek en vervang (voor het compileren) met parameter(s). #include #define KWAD(x) ((x) * (x)) int main(void) { int i = 7; printf("%d\n", KWAD(8)); printf("%d\n", KWAD(4 + 4)); printf("%d\n", KWAD(++i)); getchar(); return 0; } Uitvoer: Wat is er mis?

163 No Macro’s (met argumenten) Gebruik functie’s #include int kwad(x) { return x * x; } int main(void) { int i = 7; printf("%d\n", kwad(8)); printf("%d\n", kwad(4 + 4)); printf("%d\n", kwad(++i)); getchar(); return 0; } 64 Uitvoer:

164 Huiswerk Bestudeer C boek: paragrafen 8.1 t/m 8.3. paragraaf 8.7.