Tircms03-p les 2 Hfdst 3,4 Meer operatoren Functies.

Slides:



Advertisements
Verwante presentaties

Advertisements

Inleiding programmeren in C++ Life Science & Technology 26 januari Universiteit Leiden.

Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Operatoren, Arrays, Command-line tools.

Arduino project.
Practica Computerlinguistiek Tekst en uitleg:
GESPRG Les 14 Gestructureerd programmeren in C. 174 Details! The devil is in the details.
‘Inleiding programmeren in Java’ SWI cursus: ‘Inleiding programmeren in Java’ 4e college Woe 19 januari 2000 drs. F. de Vries.
Conditionele expressie
Hogeschool HZ Zeeland 19 augustus 2003augustus 2003 Data Structuren & Algoritmen Week 5.

Hoofdstuk 6: Controle structuren
1 SOCS Hoofdstuk 1 Programmeertaal C. 2 Kenmerken van C Hogere programmeertaal  Grote verzameling types, strenge type controle  Zelf nieuwe types definiëren.
VHDL Peter Slaets KHLim Functies en procedures Functies –type conversie functies »bit vector to integer en omgekeerd –verkorte componenten met maar 1 output.
Les 2 Basisbouwstenen (deel 1)
Numerieke Natuurkunde
Flow controle Keuzes maken. Het if-statement Soms moet code alleen in bepaalde situaties uit gevoerd worden Hiervoor heeft C de if-else constructie: if(voorwaarde1){
MICPRG Les 11 Microcontroller Programmeren in C. 112 Datastructuren in C Werkgeheugen (PC en microcontroller): Statische datastructuren (vaste grootte):
GESPRG Les 7 Gestructureerd programmeren in C. 92 Verwisselen Schrijf een functie waarmee twee int variabelen verwisseld kunnen worden. void wissel(int.
Static Keyword static voor functieleden functie niet voor een object aangeroepen class K {... static int minimum( int i, int j); } aanroep: K::minimum(
Inleiding programmeren in C++ Life Science & Technology 9 februari Universiteit Leiden.
CONTROLESTRUCTUREN (DEEL 1)
PHP functies.
Consoletoepassing Variabelen Klassen
Algoritmiek Object-georiënteerd Programmeren
Algoritmiek Dataweergave en bewerking Hoorcollege 2 - Ma. 11 sept L.M. Bosveld-de Smet.
Deel I: Programmeertaal C 6. Arrays en Pointers
P. 1 Vakgroep Informatietechnologie Structuur Deel II C++ Classes Namespaces Type casting Reference types Constructors en Destructors Memory Management.
DU2PRES1 : C vervolg Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Beginselen van C opgaves… volgende week: ARM.
LauwersCollege Buitenpost Java Applet programma dat op een website zichtbaar is Java Application programma dat zelfstandig werkt Javascript Scripttaal.
Optimalisatie technieken. Things should be made as simple as possible, but not any simpler. Optimalisatie technieken.
PHP & MYSQL LES 02 PHP & FORMULIEREN. PHP & MYSQL 01 PHP BASICS 02 PHP & FORMULIEREN 03 PHP & DATABASES 04 CMS: BEST PRACTICE.
Inleiding Informatica Prof. Dr. O. De Troyer Hoofdstuk 3: Werken met numerieke gegevens.
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.
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.
Variabelen en berekeningen
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 top-down decompositie Opdrachten:
AWK A Pattern scanning and processing language made by Aho Weinberger Kernighan and explained by Albert Montijn.
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1  Een (vaste) melodie spelen op de PC speaker 
Tircms03-p les 1 C++ voor C-kenners Voor Technische Informatica.
Hoofdstuk 3 Tekenen en rekenen.
Les 0 Structured Query Language SQL. Programma Les 0 – Introductieopdracht Les 1 Les 2 Les 3 Schriftelijke toets.
1 PI1 week 9 Complexiteit Sorteren Zoeken. 2 Complexiteit van algoritmen Hoeveel werk kost het uitvoeren van een algoritme (efficiëntie)? –tel het aantal.
Aangepaste timing nTheorie (16 colleges + 2 deeltentamens) nPraktijk (16 keer, 3 inleveropdrachten) college Tent. 1 Tent. 3 college prakt. 1 prakt. 3 prakt.
Welkom! maandag 16 November 2015 Les B-2.
Codetuts Academy Les 6 Module 2a Php Fundamentals 1.
Les 3 - Operators Workshop Php Basic. ICT Academy Php Basic Content Operators Wiskundig Toewijzing Vergelijking.
Informatie beoordelen If else Switch En Wiskunde.
Aanroep van een methode voert opdrachten uit in de body daarvan
Gameprogrammeren: Keuzeopdrachten
Hoofdstuk 9.2 Strings.
Gameprogrammeren: Char en String
Gameprogrammeren: Expressies
Tinpro015b-les 1 C++ voor C-kenners Voor Technische Informatica.
Basis Gameprogrammeren
Tinpro015b-les5 Invoer en Uitvoer.
Tinpro015b-les3 Hfdst 3,4 Meer operatoren Functies.
Tinpro015b-les6 Templates.
Voorbeeld: Simulatie van bewegende deeltjes
Opdrachten herhalen public void tekenScherm (object o, PEA pea)
Binaire getallen 1. binair → decimaal 2. decimaal → binair.
Gameprogrammeren: Arrays
Python – For loop + strings
Transcript van de presentatie:

tircms03-p les 2 Hfdst 3,4 Meer operatoren Functies

Meer operatoren s= s+i; is identiek aan s+=i; i=i+1; is identiek aan i++; (increment) j=j-1; is identiek aan i--; (decrement) eerst i gebruiken,daarna verhogen i=i+1; is identiek aan ++i; (increment) j=j-1; is identiek aan --i; (decrement) eerst i verhogen daarna i gebruiken

Meer Operatoren i=5 ; k=(j=3)+(++i) geeft i=6;j=3;k=9; i=5 ; k=(j=3)+(i++) geeft i=6;j=3;k=8; ++ en -- hebben hoogste prioriteit k=i---j is k=(i--)-j de - is een unaire operator ( de + niet) x=-5; is correct x=+5; is fout

Meer operatoren assignment operatoren: += -= *= /= x = x*3; is identiek aan x*=3; hebben de laagste priotiteit i-=j + k; is identiek aan i-=(j+k); is identiek aan i= i - (j+k);

Bit manipulatie & logische en bitsgewijs | logische of bitsgewijs ^ exclusief of bitsgewijs << schuiven naar links >> schuiven naar rechts ~1-complement (unaire operator

Bitmanipulatie 23 & 26 logisch and binair: = 23 ( 8bit) = 26 ( 8 bit) & = 18 ( 8bit)

Conditionele expressies 1. If ( a< b) z=a+1 ; else z= b-1; Korter: 4. z = a< b ? a+1 : b-1

Komma operator S=0; while ( cin >> n, n> 0 ) s+=n; 3 acties: 1. lezen getal (cin) 2. de test n>0 in het midden 3. het verhogen van s met n De expressie evalueren van links naar rechts, de laatste bepaalt de waarde

Associativiteit a - b - c = (a -b) -c de binaire operator - associeert van links naar rechts alle andere associeren van rechts naar links a < b ? p : c < d ? q : r is gelijk aan: a < b ? p : ( c< d ? q : r )

Overzicht operatoren operator () [] ->. ! ~ (type) * & sizeof (alle unair ) * / % + - > = == != & ^ | && || ?: = += -= etc.,

Overzicht operatoren !logische ontkenning (not), unaire operator ~1~complement, bitsgewijs, unaire operator ++increment, verhogen met 1, unaire operator --decrement, verlagen met 1, unaire operator -minus, zowel unair als binair +plus *maal /gedeeld door %rest bij geheeltallige deling << schuiven naar links >>schuiven naar rechts <kleiner dan >groter dan <=kleiner dan of gelijk aan >=groter dan of gelijk aan ==gelijk aan !=ongelijk aan &bitsgewijs en |bitsgewijs of ^bitsgewijs exclusief of &&logisch en ||logisch of ?:conditionele expressie =assignment +=plus-operator met assignment; analoog -=, *=, etc.,komma-operator

Typeconversie int i ; float f ; char ch ; long l; double d; f+i  i wordt naar float geconverteerd ch + i is mogelijk, ‘A’ + 2 = = 67 = ‘C’ 65 is de ASCII waarde van ‘A’ f = ‘A’ = = (char  float) f= 5.9 ; i=f  i= 5 ( afgekapt) l=45 ; i= l geeft een fout resultaat

Cast- operator Naast impliciete conversie kennen we expliciete conversie ( Cast operator) int i ; i=12 ; float(i) levert: ( totaal 5 karakters, 3 achter de komma) (float) heet een cast operator

Functies 1. main() 2. { int k; k = 10 ; cout << fac(k); } 3. int fac(int n) 4. { int f; f= 1; 5. while ( n>1) { f=f*n ; n=n-1;} 6. return f; 7. }

Functies In regel 2 wordt de functie fac(k) aangeroepen k= parameter ( value) functies zijn altijd extern functies binnen functies mag niet In regel 3 wordt de functie gedefinieerd De functie waarde is integer Het argument n is integer

Functies Het voorbeeld berekent n! = 1*2*3*....*n Moderne notatie: int fac( int n) Het argument moet van het zelfde type zijn als de formele parameter.  Vb: schrijf( float x) { cout << x ;}  Dan moet de aanroep zijn schrijf(123,0)  En niet schrijf(123)

Overloading 2 of meer functies hebben zelfde naam Mits verschillen in aantal en type argument

Overloading In C: int iabs(int x) { return (x<0 ? -x : x); } float fabs(float x) { return (x<0.0 ? -x : x); } main() {... iabs(3) + fabs(-2.7)...}

Overloading In C++: int abs(int x) { return (x<0 ? -x : x); } float abs(float x) { return (x<0.0 ? -x : x);} main() {... abs(3) + abs(-2.7)...}

Overloading Default-parameters float macht(float x, int n) { r = 1; for (i=0; i<n; i++) r *= x; return r; } float macht(float x) { return macht(x,2); }

Overloading Default-parameters Maar nog handiger is: float macht(float x, int n=2) { r = 1; for (i=0; i<n; i++) r *= x; return r;}

Huiswerk les 2 Maak de opgaven 3.3, 3.4 uit C++-boek Maak de opgaven 4.3, 4.4, 4.6 uit C++-boek Bestudeer Hfdst 5,6 uit C++-boek