1 / 23

Hoofdstuk 7

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

hovan
Download Presentation

Hoofdstuk 7

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Hoofdstuk 7 verplicht… Keuze

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

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

  4. 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

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

  6. 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

  7. Meerdere alternatieven if (leeftijd<4) uitvoer.Text = "Gratis"; elseif (leeftijd<12) uitvoer.Text = "Railrunner"; elseif (leeftijd<65) uitvoer.Text = "Railrunner"; elseif (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

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

  9. 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; } }

  10. 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) { && straal>10) if (obj==kleiner) this.straal –= 10; if (obj==groter) && straal<150) this.straal += 10; this.Invalidate(); } }

  11. 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) { }

  12. 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;

  13. partial Thermometer 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; } }

  14. Exceptions Exception: • Uitzonderlijke toestand diedoor een methode wordt opgeworpen • De situatie moet door de aanroepervan de methode worden opgevangen throw catch

  15. 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 vanhet probleem

  16. Meerdere catch-delen 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" ); }

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

  18. 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; } }

  19. -b ± b2-4ac 2a Parabool: oplossingen string oplossingen ( ) { } 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 );

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

  21. 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++ ) { } ( -250) xw = schaal * x ; w w y = yw / schaal ; y = this.functie ( x ); (int) (250-( )) if (x>0) gr.DrawLine(Pens.Blue, , , x, y ); x-1 oldy oldy = y; }

  22. 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 Overzicht programma-constructies kun je doen kun je uitrekenen

  23. Declaratie Lokale variabelevoor tijdelijk gebruik Fieldpermanent deel vanhet object Parameterom waarden doorte spelen aan methode Type Primitief type int double bool Object-type Color, String enz. TextBox, Button enz. Form, HalloForm, enz. Overzicht programma-constructies waarde-verzamelingvan een expressie geeft het typevan variabelen

More Related