Vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Onderwerpen voor vandaag GUI  command line redirection.

Slides:



Advertisements
Verwante presentaties
Vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Een programma opbouwen.
Advertisements

HM-ES-th1 Les 9 Hardware/Software Codesign with SystemC.
Inleiding computersystemen en netwerken deel 3 Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
1/1/ / faculty of Computer Science eindhoven university of technology 5B040:Computerarchitectuur 2M200:Inleiding Computersystemen Sessie 8(1): Het Operating.
Ronde (Sport & Spel) Quiz Night !
Vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Onderwerpen voor vandaag Backtracking: –Permutaties –Koninginnen.
Vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Onderwerpen voor vandaag Gelinkte lijsten Finite State.
PROS2 Les 11 Programmeren en Software Engineering 2.
Datastructuren Analyse van Algoritmen en O
Omgevingen zijn dan geïmplementeerd als Symbol Tables. Symbol Table mapt een symbool met een Binding Meerdere noties van binding –Meerdere manieren te.
WISKUNDIGE FORMULES.

1/1/ / faculty of Computer Science eindhoven university of technology 5B040:Computerarchitectuur 2M200:Inleiding Computersystemen Sessie 8(2): Multi-processing.
1/1/ / faculty of Computer Science eindhoven university of technology 5JJ20:Computerarchitectuur 2M200:Inleiding Computersystemen Sessie 7(2): Vertalen.
Numerieke Natuurkunde
3.6 Architecture of HIS. 3.7 Integrity & Integration within HIS Suraja Padarath /10/2007.
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 12 Gestructureerd programmeren in C. 152 Huiswerk Uitwerking void reverse(int a[], int n) { int first = 0, last = n - 1; while (first < last)
WxHaskell part II Martijn Schrage (speciale versie van de slides, met screenshots toegevoegd als pictures)
Hoorcollege 7 Collections, arrays. Programma ‘Snowflakes’ Sneeuwvlok object.
CONTROLESTRUCTUREN (DEEL 2)
Werken aan Intergenerationele Samenwerking en Expertise.
PLAYBOY Kalender 2006 Dit is wat mannen boeit!.
DB&SQL8- 1 VBA Visual Basics for Applications: eigen Office versie vanaf Office2000 gelijk voor alle applicaties Programmeren onder meer nodig voor Het.
1 HOOFDSTUK 5 CONTROLESTRUCTUREN (DEEL 2) 5.1. INTRODUCTIE  Vervolg discussie omtrent gestructureerd programmeren  Introductie van de overblijvende controlestructuren.
Computerarchitectuur
Computertechniek 2 – ARM assembler Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1  D3EEMS1  programmed I/O: de.
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren 1 Les 3 - onderwerpen Het.
KPRES1 : C vervolg Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology Les 2 sheet 1 Wat gaan we doen:  Een (vaste) melodie.
2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 1 Les 4 - onderwerpen DB038 hardware : LEDs en displays.
2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 1 Les 4 - onderwerpen DB038 hardware : LEDs en displays.
Vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Onderwerpen voor vandaag Het ARM bord met wat library functies.
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1  basis files: ram-rom.zip.
2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 1 Les 3 - onderwerpen Instruction timing Shadow.
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Wouter van Ooijen Mail:
DU2PRES1 : C vervolg Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Beginselen van C opgaves… volgende week: ARM.
Computertechniek 2 – ARM assembler Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1  herhaling ARM assembler instructies.
Mail: Jan Zuurbier  Mail:
2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 1 Les 6 - onderwerpen seriele interface (UART -
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Wouter van Ooijen Mail:
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren 1 Les 5 - onderwerpen Errata.
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren 1 Les 2 - onderwerpen PIC16F688.
Hoofdstuk 2 Java. Soorten Java-programma’s nJava Applet programma “leeft” op een WWW-pagina nJava Application programma heeft een eigen window nJavascript.
Hoofdstuk 13.6 File-I/O. Files n40 verschillende klassen in library java.io Exceptions niet meegeteld... nMethodes voor het plegen van Input en Output.
Voorrangsregels bij rekenen (1)
Shortest path with negative arc-costs allowed. Dijkstra?
TOPIC O: Pointers | pag. 1 Pointer = adres in het geheugen, is zelf geen geheugen! Expliciet geheugen aanvragen vóór gebruik.
2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 1 Les 6 - onderwerpen Code paging Switch bounce.
Computertechniek 2 – ARM assembler Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1  herhaling ARM assembler instructies.
De financiële functie: Integrale bedrijfsanalyse©
Link Popularity Het principe van linkpopulariteit kun je als volgt samenvatten: hoe meer webpagina's er naar een bepaalde webpagina linken, des te belangrijker.
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.
1 Zie ook identiteit.pdf willen denkenvoelen 5 Zie ook identiteit.pdf.
Tircms02-p les 4 Preprocessor In- en uitvoer Diversen.
Mail: (of Sheets en verdere info: Onderwerp: vervolg C
DU2PRES1 : C vervolg Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Arrays en pointers lichtkrant op het ARM bordje.
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1  een MIDI track interpreteren, laten zien en afspelen.
Computertechniek 2 – ARM assembler Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1  programma draaien vanuit ROM.
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 C programmeren voor niet-C programmeurs les 3 redirection,
Vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Onderwerpen voor vandaag User-defined characters op de.
Vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Onderwerpen voor vandaag top-down decompositie Opdrachten:
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1  Een (vaste) melodie spelen op de PC speaker 
Vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Onderwerpen voor vandaag Een embedded systeem: ARM bord.
Hoofdstuk 9.2 Strings.
Tinpro015b-les 1 C++ voor C-kenners Voor Technische Informatica.
Transcript van de presentatie:

vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Onderwerpen voor vandaag GUI  command line redirection Characters Command line parameters Opgave: ”+13”

vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 2 GUI programa’s interactief, vaak WIMP GUI doe veel met 1 tool handig voor de ‘eindgebruiker’ minder handig voor de ‘programmeur’: vaak geen command line IE / Netscape (print...)

vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 3 command-line tools (unix style) niet interactief doe 1 ding, doe dat goed werk als filter (1 stap in een lopende band) handig voor de ‘programmeur’ als onderdeel van een geheel minder handig voor de ‘eindgebruiker’ words : splits een text in regels van 1 woord lines : give line count sort : sorteer unique : remove duplicates from a sorted list grep x : filter (verwijder) alles behalve x

vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 4 Command line opstarten

vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 5 ‘command box’ / ‘dos prompt’ ”C:\ ………… T03202>” is de prompt ”C:\ ………… T03202” is de huidige directory Commando’s zijn bv: X: cd directory exit

vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 6 redirection work> kopieer lezen van toetsenbord schrijven naar beeldscherm Einde invoer geeft je aan met CTRL-Z work> kopieer <a.txt lezen uit de file a.txt en schrijven naar beeldscherm work> kopieer > b.txt lezen van toetsenbord en schrijven naar de file b.txt

vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 7 redirection work> kopieer b.txt lezen uit de file a.txt en schrijven naar de file b.txt work> kopieer b.txt –txtkopieer temp –sorteer b.txt lezen, via tussenstap wegschrijven

vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 8 characters Characters (tekens) worden opgeslagen volgens de ASCII code ASCII is 7 bits, hoogste bit is standaard 0 Constanten: tussen enkele quotes: ’a’

vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 9 ASCII tabel

vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 10 characters Let op: ’0’ is iets heel anders dan 0 char x; x = 0;  Welke integer waarde en welk character staan er nu in x? char x; x = ’0’;  Welke integer waarde en welk character staan er nu in x?

vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 11 Speciale characters ’\n’ Dit is het teken dat zorgt dat het schrijven verder gaat aan het begin van de volgende regel (er zijn er nog veel meer)

vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 12 characters Datatypes in C: signed char, unsigned char, char signed char : unsigned char : char : is een van beiden, de compiler mag kiezen  Welke range kan je veilig gebruiken als je een char gebruikt?

vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 13 characters Chars zijn (kleine) integers, je kan er mee rekenen char x; x = ’a’; x = x + 2;  Welk bitpatroon staat er nu in x?  Welk ASCII character stelt dat bitpatroon voor?

vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 14 characters char x; x = ’f’; x = ( x – ’a’ ) + ’A’;  Welk ASCII character staat er nu in X?  waarom die haakjes?

vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 15 Character input / output : stdio.h #include int c; putchar( c ); c = getchar(); let op: –getchar() geeft bij einde invoer EOF terug –EOF is een waarde die buiten de char ranges valt –geeft dus een int terug, geen char

vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 16 Voorbeeld : copy input to outut #include int main( int argc, char *argv[] ){ int x; x = getchar(); while( x != EOF ){ putchar( x ); x = getchar(); } return 0; }

vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 17 Command line parameters int main( int argc, char **argv ){ … } argc = aantal parameters argv = array van parameters, iedere parameter is een string = een array van characters argv[ 1 ] = eerste parameter argv[ 1 ][ 0 ] = eerste letter van eerste parameter  Wat is hier onlogisch?

vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 18 Opdracht 1 ”parameters” Maak een programma dat zijn parameters afdrukt, precies in dit formaat: Program name : Project1.exe Number of parameters : 2 Parameter 1 : ’hello’ Parameter 2 : ’world’ Print zoveel ‘parameter N’ regels als er parameters zijn.

vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 19 Opdracht 2a : schrijf een functie… 1.IsLowercase met 1 char parameter en int result, die teruggeeft of de parameter een kleine letter is. 2.IsUppercasercase met 1 char parameter en int result, die teruggeeft of de parameter een hoofdletter is. 3.CharNr met 1 char parameter en int result, die 0 teruggeeft als de parameter geen letter is, en anders teruggeeft de hoeveelste letter het is (voor zowel hoofd als kleine letters, a=1, b=2, etc) 4.IntShift met een twee int parameters en int result, die de som van de twee ints teruggeeft, modulo 26. dus bv IntShift( 25, 2 ) = = 1 5.LetterShift met een char en een int N parameter en char result, die het character + N teruggeeft, maar cyclisch, dus bv CharShift( ’z’, 1 ) = = ’a’. Let op: kleine letters blijven kleine letters, hoofdletters blijven hoofdletters! Gebruik geen C library functies. Test je functies!

vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 20 Opdracht 2b : ”Ceasar” Maak een programma dat 1 command line parameter moet krijgen: een letter (het mag een hoofdletter of een kleine letter zijn). Als er geen command line parameter is, of als het eerste teken ervan geen letter is, dan moet het programma een geschikte foutmelding geven. Het programma leest zijn invoer en schrijft die weer weg naar zijn uitvoer, maar daarbij worden alle letters N plekken verschoven (cyclisch, dus ’a’ + 1 == ’b’, maar ’Z’ + 1 = = ’A’), waarbij N wordt bepaald door de letter op de command line: ’A’==1, ‘B’==2, etc. Gebruik waar mogelijk de functies van 2a!