vandaag èn vrijdag deadline maandag 12 dec.

Slides:



Advertisements
Verwante presentaties

Advertisements

Practica Computerlinguistiek Tekst en uitleg:
Het type int Tekenen met Java operatoren
Hoofdstuk 6: Controle structuren
Hoofdstuk 2 Hallo, C# !.
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){
Hoofdstuk 7 verplicht… Keuze.
Hoofdstuk 8.5 Subklassen. versie-management problematiek Voortborduren op eerder gedaan werk nEerste poging: “knip&plak” class Twee { int x, y; int oud.
Hoofdstuk 8 Objecten en klassen.
LauwersCollege Buitenpost Java Applet programma dat op een website zichtbaar is Java Application programma dat zelfstandig werkt Javascript Scripttaal.
Opgave 1a: void nvoid staat in de header van een methode die geen resultaatwaarde heeft nde aanroep van een void-methode is dan een opdracht i.p.v. een.
Opgave 2a nMet een InputStream lees je bytes uit een binare file nMet een Reader lees je characters uit een tekstfile.
Hoofdstuk 5 Interactie. Controls Form Label Button Label TextBox.
Hoorcollege 14 Vijanden, excepties. Overzicht programmaconstructies Opdrachten Toekenning Aanroep void-methode return-opdracht while-opdracht for(each)-opdracht.
Animatie nAnimatie: “tekenfilm” programma toont automatisch veranderende beelden nGemakkelijk te programmeren met gebruik van de klasse Thread “draadje”
Tircms03-p les 2 Hfdst 3,4 Meer operatoren Functies.
Hoofdstuk 11.3 Algoritmen: Zoeken in een netwerk.
Hoofdstuk 8.5 Subklassen. versie-management problematiek Voortborduren op eerder gedaan werk nEerste poging: “knip&plak” class Twee { int x, y; int oud.
Hoofdstuk 3 Methoden om te tekenen.
Hoofdstuk 7 Herhaling Nieuw!. while ( x
Hoofdstuk 8 Keuze verplicht…. Opdrachten voorwaardelijk uitvoeren opdracht wordt alleen uitgevoerd als voorwaarde geldt if (temperatuur
Opgave 1a ncompiler: vertaalt broncode naar machine-uitvoerbare code ninterpreter: voert broncode direct uit.
Hoofdstuk 3 Tekenen en rekenen.
Hoofdstuk 4 Nieuwe methoden. Tekenen g.drawRect(20,60,40,40); g.drawLine(20,60,40,40); g.drawLine(40,40,60,60); g.drawRect(70,60,40,40); g.drawLine(70,60,90,40);
Declaratie en toekenningen nEén keer declarareren nMogelijk meerdere toekenningen int x; x = 100; x = 250; x = x + 1; x = 2 * x; int x = 100; x = 100;
Programma opdrachten methoden klasse variabelen en Geheugen objecten klasse zijn gegroepeerd in hebben als type veranderen bewerken.
Hoofdstuk 2 Hallo, C# !. Opbouw broncode nOpdrachten om het geheugen te veranderen nOpdrachten zijn gegroepeerd in methoden nMethoden zijn gegroepeerd.
Programma opdrachten methoden klasse variabelen en Geheugen objecten klasse zijn gegroepeerd in hebben als type veranderen bewerken.
Klasse uit library Android.App Activity Bij het starten van een app: nOperating system maakt een Activity -object aan… n…en neemt dat onderhanden met de.
Klasse uit library Android.App Activity Bij het starten van een app: nOperating system maakt een Activity -object aan… n…en neemt dat onderhanden met de.
Soorten programma’s nConsole- applicatie. Soorten programma’s nConsole- applicatie nWindows- applicatie.
Eerste deeltentamen nNagekeken werk ligt voor in de zaal nNeem je eigen werk mee: in het college wordt het besproken nVragen over de beoordeling: in de.
Aangepaste timing nTheorie (16 colleges + 2 deeltentamens) nPraktijk (16 keer, 3 inleveropdrachten) college Tent. 1 Tent. 3 college prakt. 1 prakt. 3 prakt.
Aangepaste timing nTheorie (16 colleges + 2 deeltentamens) nPraktijk (16 keer, 2 inleveropdrachten) college Tent. 1 Tent. 2 college prakt. 1 prakt. 2 prakt.
Resources. Kompas } { protected override void OnDraw(Canvas canv) { base.OnDraw(canv); } public KompasView(Context c) : base(c) { } class KompasView :
Windows-applicatie class HalloWin1 { static void Main ( ) { } Form scherm; scherm = new Form( ); Application.Run(scherm); using System.Windows.Forms; scherm.Text.
Exceptions Exception: nUitzonderlijke toestand die door een methode wordt opgeworpen nDe situatie moet door de aanroeper van de methode worden opgevangen.
IF() ELSE() LES 4: VOORWAARDEN. BOOL Een variabele die slechts 2 mogelijke waarden kan hebben: true(waar) of false(niet waar) duid je aan met bool bool.
Informatie beoordelen If else Switch En Wiskunde.
Windows-applicatie using System.Windows.Forms; using System.Drawing;
Activity Bij het starten van een app:
Aanroep van een methode voert opdrachten uit in de body daarvan
ISensorEventListener
1e Deeltentamen Nagekeken werk ligt voor in de zaal (alfabetisch op achternaam) Neem het even mee, de uitwerking wordt in het college besproken Discussies.
Gameprogrammeren: Objecten en geheugen
Gameprogrammeren: Keuzeopdrachten
Hoofdstuk 9.2 Strings.
Wat gaan we doen? Theorie (14 colleges + 3 deeltentamens)
Gameprogrammeren: Expressies
Windows-applicatie using System.Windows.Forms; using System.Drawing;
Gameprogrammeren: Methoden
Publieksvraag // schrijf een static methode die telt hoe // vaak een symbool voorkomt in een string // voorbeeld-aanroep: int n; n = Demo . Freq(’e’,
Tinpro015b-les 1 C++ voor C-kenners Voor Technische Informatica.
Basis Gameprogrammeren
Gameprogrammeren: Afsluiting
Gameprogrammeren: Herhalingen
Tinpro015b-les3 Hfdst 3,4 Meer operatoren Functies.
Declaratie Declaratie reserveert geheugenruimte
1. Een klasse is… Een groepje opdrachten Een groepje variabelen
Syntax van opdracht opdracht naam naam ( expressie ) ; . , expressie
Voorbeeld: Simulatie van bewegende deeltjes
Wat gaan we doen? Theorie (14 colleges + 3 deeltentamens)
Voortborduren op eerder gedaan werk
Opdrachten herhalen public void tekenScherm (object o, PEA pea)
Willekeurigheid en Herhaling
Aanroep van een methode voert opdrachten uit in de body daarvan
Implementatie Zoekboom
Exceptions Exception:
Eerste deeltentamen Nagekeken werk ligt voor in de zaal
Gameprogrammeren: Enemies in Tick Tick
Transcript van de presentatie:

vandaag èn vrijdag deadline maandag 12 dec.

Herhaling met een teller int t ; t = 0; t = 0; for while ( t<x ) for ( t=0 ; t<x ; t++ ) { // doe iets nuttigs // met t t ++ ; t ++ ; }

Herhaalde herhaling Body van een for-opdracht is een opdracht dat kan zelf ook een for-opdracht zijn! int x, y; for (y=0; y<10; y++) for (x=0; x<10; x++) gr.DrawString( "+", br, ft , 10*x, 10*(y+1) ); + + + + + + + + + +

Vergelijk-operatoren < kleiner dan <= kleiner dan of gelijk aan > groter dan >= groter dan of gelijk aan == gelijk aan != ongelijk aan x=5 x wordt 5 ! x==5 is x gelijk aan 5 ?

Bool expressies Vergelijken van waarden x <= y Combineren van andere bool-expressies met logische operatoren && and || or ! not George Boole (1815-1864) x<0 && y>0 ! (x==0 && y==0) x!=0 || y!=0

Constanten Constanten met een getal als waarde 2 -5 137 Constanten met een tekst als waarde "Hallo" "@#$%" "123" "" "true" Constanten met een waarheid als waarde true false

Gebruik van bool expressies Als voorwaarde van een while-opdracht while (x<10) ... Rechts van een toekenningsopdracht bool b; b = x<10 ; Als resultaat van een methode return x<10 ;

Het Halting-problem is onoplosbaar Er bestaan dus onoplosbare problemen! Alan Turing (1936): On computable numbers, with an application to the Entscheidungsproblem door Hilbert in 1900 bedachte uitdaging voor de nieuwe eeuw

Syntax van opdrachten opdracht naam naam ( expressie ) ; . , expressie klasse naam methode naam ( expressie ) ; . , object expressie property naam += variabele = expressie ; return expressie ; while ) ( expressie opdracht for ) ( expr opdracht ; blok

Syntax van opdrachten opdracht return expressie ; while ) ( expressie for ) ( expr opdracht ; blok

Type-controle Compiler controleert type van toe te kennen waardes int x, y ; double d; Color c; x = 3; x = y; d = 3.14; c = Color.Red; x = 3.14; x = "hoi"; d = c; c = 3;

Type-conversie getallen int x, y ; double c, d; type klopt x = 5; d = 3.14; int-waarde past ook in een double-variabele d = 7; c = x; double past afgekapt in int, mits programmeur accoord x = (int) d; y = (int) (c/2);

Type-conversie strings int x; string s; x = 123; s = x.ToString(); s = "123"; x = int.Parse(s);

Type-controle parameters Compiler controleert of parameters van methoden het goede type hebben g.DrawString ( "hallo", br, ft, 10, 20 ); string int Brush Font x = 100; y = 10; waarde = 37; g.DrawString ( waarde , br, ft , 0.3 * x , y ); . ToString() (int)( )

Overzicht programma-constructies kun je doen kun je uitrekenen Opdrachten Toekenning Aanroep void-methode return-opdracht while-opdracht for-opdracht { ... } - bundeling Expressies Constante Variabele Aanroep methode Expressie met operatoren Expressie met haakjes new-expressie this (cast)-conversie

Overzicht programma-constructies waarde-verzameling van een expressie geeft het type van variabelen Declaratie Lokale variabele voor tijdelijk gebruik Member permanent deel van het object Parameter om waarden door te spelen aan methode Type Primitief type int double bool Object-type Color, String enz. TextBox, Button enz. Form, HalloForm, enz.

Hoofdstuk 7 verplicht… Keuze

Opdrachten voorwaardelijk uitvoeren opdracht wordt steeds opnieuw uitgevoerd zolang voorwaarde geldt if while (temperatuur<0) temperatuur += 5; if (temperatuur<0) uitvoer.Text = "Het vriest!"; opdracht wordt alleen uitgevoerd als voorwaarde geldt

opdracht wordt alleen uitgevoerd als voorwaarde niet geldt Twee alternatieven if (temperatuur<0) uitvoer.Text = "Het vriest!”; else uitvoer.Text = "Het dooit."; opdracht wordt alleen uitgevoerd als voorwaarde niet geldt

Keuze is ook een opdracht for (n=1; n<20; n++) if (n%3==0) uitvoer.Text += (n + " drievoud"); else uitvoer.Text += (n + " geen drievoud"); één opdracht dus geen accolades nodig! if-opdracht dient in z’n geheel als body van for-opdracht

Meer opdrachten als body if (temperatuur<0) lab1.Text = "Het vriest"; { } lab2.Text = "Koud he!"; accolades maken twee opdrachten tot één body

Meerdere alternatieven if (leeftijd<4) uitvoer.Text = "Gratis"; else if (leeftijd<12) uitvoer.Text = "Railrunner"; else if (leeftijd<65) uitvoer.Text = "Vol tarief"; else uitvoer.Text = "Senioren"; if-opdracht dient in z’n geheel als body van else-deel if-opdracht dient in z’n geheel als body van else-deel

Meerdere alternatieven if (leeftijd<4) uitvoer.Text = "Gratis"; else if (leeftijd<12) uitvoer.Text = "Railrunner"; else if (leeftijd<65) uitvoer.Text = "Railrunner"; else if (leeftijd<65) uitvoer.Text = "Vol tarief"; else uitvoer.Text = "Senioren"; uitvoer.Text = "Vol tarief"; else uitvoer.Text = "Senioren"; uitzondering op gewoonte om body in te springen

Meerdere alternatieven bij return-opdracht is methode beëindigd private string tarief(int leeftijd) { } if (leeftijd<4) return "Gratis"; else if (leeftijd<12) return "Railrunner"; else if (leeftijd<65) return "Vol tarief"; else return "Seniorenkaart"; if (leeftijd<4) return "Gratis"; if (leeftijd<12) return "Railrunner"; if (leeftijd<65) return "Vol tarief"; return "Seniorenkaart";

CirkelGroei class Cirkel : Form { Button kleiner, groter; int straal = 100; Cirkel() { kleiner = new Button(); groter = new Button(); kleiner.Text = "Kleiner"; kleiner.Location = ...; // etc. this.Controls.Add(kleiner); this.Controls.Add(groter); this.Paint += this.teken; this.kleiner.Click += this.klik; this.groter.Click += this.klik; } }

CirkelGroei class Cirkel : Form { Button kleiner, groter; int straal = 100; void teken(object o, PEA pea) { pea.Graphics.FillEllipse( , Brushes.Green , 150–this.straal, 150–this.straal , 2*this.straal, 2*this.straal ); } void klik(object obj, EA ea) { if (obj==kleiner) && straal>10) this.straal –= 10; if (obj==groter) && straal<150) this.straal += 10; this.Invalidate(); } }

Geheime tekening class Geheim : Form { bool open; Geheim ( ) { open = false; this.Paint += this.teken; } TextBox pass; pass = new TextBox(); this.Controls.Add(pass); pass.TextChanged += this.controleer; } void teken (object o, PEA pea) { pea.Graphics.FillEllipse(Brushes,Yellow,10,10,100,100); pea.Graphics.DrawArc(Pens.Blue,25,25,50,50,45,90); } if (open) { }

Geheime tekening class Geheim : Form { bool open; Geheim ( ) { open = false; this.Paint += this.teken; } TextBox pass; pass = new TextBox(); this.Controls.Add(pass); pass.TextChanged += this.controleer; } const string sleutel = "geheim"; void controleer (object o, EA ea) { } if (pass.Text == sleutel) { } open = true; this.Invalidate(); pass.Visible=false;

Thermometer partial class Thermo : Form { TrackBar min, temp, max; Button reset; Thermo() { this.InitializeComponent(); temp.Scroll += temp_Scroll; reset.Click += reset_Click; } void temp_Scroll(object o, EA ea) { int x = this.temp.Value; if (x < this.min.Value) this.min.Value = x; } void reset_Click(object o, EA ea) { this.min.Value = this.temp.Value; } }

Exceptions Exception: Uitzonderlijke toestand die door een methode wordt opgeworpen De situatie moet door de aanroeper van de methode worden opgevangen throw catch

Voorbeeld van Exception kan een Exception opwerpen try { } s = invoer . Text; n = int . Parse (s); uitvoer . Text = ( "kwadraat is " + n*n ); catch ( Exception e ) { uitvoer . Text = ( s + " is geen getal" ); } opvangen van het probleem

Meerdere catch-delen try { // open een file } // en lees de inhoud als er een Exception optreedt, wordt de eerste catch gekozen met een passend type try { } // open een file // en lees de inhoud catch ( FileNotFoundException f ) { uitvoer . Text = ( s + " bestaat niet" ); } catch ( IOException i ) { uitvoer . Text = ( s + " is onleesbaar" ); }

Grafiek-tekenprogramma TextBox : ingevoerde waarden abc Label : nulpunten volgens abc-formule Panel : grafiek van een parabool y = a∙x2 + b∙x + c

Parabool: tekst ingevoerd TextBox aBox, bBox, cBox; double a, b, c; void invoer_TextChanged(object box, EventArgs ea) { try { a = double.Parse(aBox.Text); b = double.Parse(bBox.Text); c = double.Parse(cBox.Text); uitvoer.Text = this.oplossingen(); grafiek.Invalidate(); } catch (Exception e) { ((TextBox) ) box . BackColor = Color.Red; uitvoer.Text = e.Message; } }

Parabool: oplossingen string oplossingen ( ) { } -b ± b2-4ac 2a double discriminant, noemer, wortel; discriminant = b*b – 4*a*c; noemer = 2*a; if (discriminant<0) return "geen nulpunten"; else { } wortel = Math.sqrt(discriminant); return ( (–b –wortel)/noemer + " en " +(–b+wortel)/noemer );

Parabool: functie uitrekenen double functie ( double x) { return a * x * x + b * x + c; }

Parabool: grafiek tekenen void grafiek_Paint (object o, PaintEventArgs pea ) { Graphics gr = pea.Graphics; int x, y,oldy; double xw, yw, schaal; schaal = 0.03; oldy = 0; for ( x=0 ; x<500 ; x++ ) { } xw = schaal * x ; w w y = yw / schaal ; ( -250) y = this.functie ( x ); (int) (250-( )) if (x>0) gr.DrawLine(Pens.Blue, , , x, y ); x-1 oldy oldy = y; }

Type-conversie strings int x; string s; x = 123; s = x.ToString(); s = "123"; x = int.Parse(s);

Type-conversie strings double d; string s; d = 3.14159; s = d.ToString(); (CultureInfo.InvariantCulture) s = "3.14159"; d = double.Parse(s); (s, CultureInfo.InvariantCulture)

Overzicht programma-constructies kun je doen kun je uitrekenen Opdrachten Toekenning Aanroep void-methode return-opdracht while-opdracht for-opdracht { ... } - bundeling if-opdracht try/catch-opdracht Expressies Constante Variabele Aanroep methode Expressie met operatoren Expressie met haakjes new-expressie this (cast)-conversie

Practicum groep di 17-19 vr 15-17 begeleider 1 103 175 Victor 2 115 201 Maaike 3 106 Tim 4 109 Suzan 5 165 001 Susan 6 Jos