Tinpro015b-les3 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.

Inleiding programmeren in C++ Life Science & Technology 1 maart Universiteit Leiden.
Arduino project.
Practica Computerlinguistiek Tekst en uitleg:
GESPRG Les 14 Gestructureerd programmeren in C. 174 Details! The devil is in the details.
VBA en VBS Een introductie.
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.
PHP functies.
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.
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.
Tircms03-p les 2 Hfdst 3,4 Meer operatoren Functies.
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,
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 
Inleiding computersystemen en netwerken Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 2.1 Programmeren (2.9) assembler,
Tircms03-p les 1 C++ voor C-kenners Voor Technische Informatica.
1 PI1 week 9 Complexiteit Sorteren Zoeken. 2 Complexiteit van algoritmen Hoeveel werk kost het uitvoeren van een algoritme (efficiëntie)? –tel het aantal.
 C++ heeft een inheritance mechanisme  Manier om functionaliteit te ‘erfen’ van een parrent class ◦ Polymorphisme ◦ Zoals we het ook in C# kennen.
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.
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
vandaag èn vrijdag deadline maandag 12 dec.
Tinpro015b-les 1 C++ voor C-kenners Voor Technische Informatica.
Basis Gameprogrammeren
Tinpro015b-les5 Invoer en Uitvoer.
C++ • C++ als een verbetering van C • Abstracte datatypen met classes • Constructoren en destructoren • Subklassen • binding van functies 1.
Tinpro015b-les6 Templates.
Tinpro015b-les4 Klassen.
Voorbeeld: Simulatie van bewegende deeltjes
Voortborduren op eerder gedaan werk
Opdrachten herhalen public void tekenScherm (object o, PEA pea)
Binaire getallen 1. binair → decimaal 2. decimaal → binair.
Gameprogrammeren: Enemies in Tick Tick
Gameprogrammeren: Arrays
Python – For loop + strings
Transcript van de presentatie:

tinpro015b-les3 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; ++ 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: 00010111 = 23 ( 8bit) 00011010 = 26 ( 8 bit) -------------------- & 00010010 = 18 ( 8bit)

Conditionele expressies If ( a< b) z=a+1 ; else z= b-1; Korter: 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 = 65 +2 = 67 = ‘C’ 65 is de ASCII waarde van ‘A’ f = 3.14 + ‘A’ = 3.14+65 = 68.14 (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: 12.000 ( totaal 5 karakters , 3 achter de komma) (float) heet een cast operator

Functies main() { int k; k = 10 ; cout << fac(k); } int fac(int n) { int f; f= 1; while ( n>1) { f=f*n ; n=n-1;} return f; }

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 float macht(float x, int n) { r = 1; 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 Bestudeer Hfdst 5,6 uit C++-boek