Hoofdstuk 8 Keuze verplicht…. Opdrachten voorwaardelijk uitvoeren opdracht wordt alleen uitgevoerd als voorwaarde geldt if (temperatuur<0) gr.drawString(“Het.

Slides:



Advertisements
Verwante presentaties
Het type int Tekenen met Java operatoren
Advertisements

Hoofdstuk 6: Controle structuren
Inleiding Informatica Prof. Dr. O. De Troyer Hoofdstuk 10: Omgaan met problemen.
Hoofdstuk 2 Hallo, C# !.
Hoofdstuk 10 Overerving.
Hoofdstuk 7 verplicht… Keuze.
Hoofdstuk 8 Objecten en klassen.
Oefeningen Hoofdstuk 3.
Algoritmiek Object-georiënteerd Programmeren
6.1 Inleiding HOOFDSTUK 6 METHODEN
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 9 Objecten en klassen.
Arrays.
Hoorcollege 14 Vijanden, excepties. Overzicht programmaconstructies Opdrachten Toekenning Aanroep void-methode return-opdracht while-opdracht for(each)-opdracht.
Variabelen Part deux.. Variabelen week 3 0. Herhaling 1. De NullPointerException (p101) 2. Primitieven 3. Scope en levensduur van variabelen 4. Meerdere.
Hoofdstuk 14.1 Algoritmen: Zoeken in een netwerk.
Beslissingen. Inhoud: Booleaanse expressies: wat? Booleaanse expressies: wat? Relationele en logische operatoren Relationele en logische operatoren De.
Hoofdstuk 3 Methoden om te tekenen.
Hoofdstuk 11 Strings en arrays. TextArea en String class LetterTeller extends Applet { void init ( ) { invoer = new TextArea (5, 40); uitvoer = new TextField(40);
Hoofdstuk 7 Herhaling Nieuw!. while ( x
Hoofdstuk 12 Ontwerp van programma’s. Ontwerp van de GUI nStandaard in Applets: alle met add toegevoegde componenten komen naast elkaar (totdat de regel.
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);
Java Objectgeoriënteerd Programmeren in Java met BlueJ
Java Objectgeoriënteerd Programmeren in Java met BlueJ Hoofdstuk 8: Gebruikersinterface © 2014, Gertjan Laan, versie 2.
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.
Gelijkheid van Strings static bool Gelijk( string s, string t) { } int m = s.Length; int n = t.Length; for (i=0; i
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.
Loops en errors Array's Random try catch for loop while loop do while loop.
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
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
vandaag èn vrijdag deadline maandag 12 dec.
Tinpro015b-les 1 C++ voor C-kenners Voor Technische Informatica.
Basis Gameprogrammeren
Gameprogrammeren: Afsluiting
Gameprogrammeren: Herhalingen
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)
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:

Hoofdstuk 8 Keuze verplicht…

Opdrachten voorwaardelijk uitvoeren opdracht wordt alleen uitgevoerd als voorwaarde geldt if (temperatuur<0) gr.drawString(“Het vriest!”, 10, 10); opdracht wordt steeds opnieuw uitgevoerd zolang voorwaarde geldt if while (temperatuur<0) temperatuur += 5;

Twee alternatieven opdracht wordt alleen uitgevoerd als voorwaarde niet geldt if (temperatuur<0) gr.drawString(“Het vriest!”, 10, 10); else gr.drawString(“Het dooit.”, 10, 10);

Keuze is ook een opdracht if (n%3==0) gr.drawString(n + “drievoud”, 10, 10 ); else gr.drawString(n + “niet”, 10, 10 ); for (n=1; n<20; n++) *n if-opdracht dient in z’n geheel als body van for-opdracht één opdracht dus geen accolades nodig!

Meer opdrachten als body accolades maken twee opdrachten tot één body if (temperatuur<0) gr.drawString(“Het vriest!”, 10, 10); gr.drawString(“Koud he!”, 10, 20); {}{}

Meerdere alternatieven if (leeftijd<65) tf.setText(“Vol tarief”); else tf.setText(“Seniorenkaart”); if (leeftijd<12) tf.setText(“Railrunner”); else if (leeftijd<4) tf.setText(“Gratis”); else 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) tf.setText(“Gratis”); else if (leeftijd<12) tf.setText(“Railrunner”); else if (leeftijd<65) tf.setText(“vol tarief”); else tf.setText(“Seniorenkaart”); uitzondering op gewoonte om body in te springen tf.setText(“Railrunner”); else if (leeftijd<65) tf.setText(“Vol tarief”); else tf.setText(“Seniorenkaart”);

private String tarief(int leeftijd) { } Meerdere alternatieven 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”; bij return-opdracht is methode beëindigd

Button b; public void init ( ) { straal = 100; b = new Button(“groter”); this.add(b); b.addActionListener(this); Cirkel tekenen class Cirkel extends Applet { } public void paint(Graphics gr) { gr.fillOval(150-straal,150-straal,2*straal,2*straal); } int straal; public void init ( ) { straal = 100; } public void actionPerformed(ActionEvent e) { straal += 10; this.repaint(); } implements ActionListener

Cirkel tekenen class Cirkel extends Applet { int straal; Button klein, groot; public void init ( ) { straal = 10; klein = new Button(“kleiner”); this.add(klein); groot = new Button(“groter”); this.add(groot); klein.addActionListener(this); groot.addActionListener(this); } implements ActionListener

Cirkel tekenen public void actionPerformed(ActionEvent e) { if ( e.getSource() == klein && straal>10 ) straal -= 10; if ( e.getSource() == groot && straal<150 ) straal += 10; this. repaint(); } gelijkheid van Button-object-verwijzingen) public void actionPerformed(ActionEvent e) { if ( e.getSource() == klein ) straal -= 10; if ( e.getSource() == groot ) straal += 10; this. repaint(); } e.getSource()

Geheime tekening class Geheim extends Applet { public void paint (Graphics gr) { gr.setColor(Color.GREEN); gr.fillOval(50,50,100,100); gr.setColor(Color.BLUE); gr.fillOval(81,85,8,8); gr.fillOval(111,85,8,8); gr.drawArc(75,75,50,50,225,90); } boolean open; public void init () { open = false; } if (open) { } TextField pass; pass = new TextField(20); this.add(pass); pass.addActionListener(this); }

Geheime tekening class Geheim extends Applet implements ActionListener { boolean open; TextField pass; public void actionPerformed (ActionEvent e) { open = true; this. repaint(); } if ( pass.getText(). equals (“geheim”) ) { } pass. setVisible(false);

operator == of methode equals ? n== test gelijkheid van variabelen nequals test gelijkheid van String-inhoud 5 5 x y s t hoi s t s t s t methode voor String- objecten truefalsetrue

Min./max. thermometer class Thermo extends Applet { Scrollbar meter; public void init () { Button reset; meter = new Scrollbar( Scrollbar.HORIZONTAL,0,1,-50,50); reset = new Button(“reset”); } this.add(meter); this.add(reset); meter.addAdjustmentListener(this); reset.addActionListener(this); int minimum, maximum; minimum = 0; maximum = 0; impelements AdjustmentListener, ActionListener

Min./max. thermometer public void paint (Graphics gr) { gr.drawString( “hoogste ” + maximum, 50,50); gr.drawString( “laagste ” + minimum, 50,70); } public void adjustmentValueChanged( AdjustmentEvent e ) { this.repaint(); } maximum = minimum = if (waarde>maximum) waarde; if (waarde<minimum) waarde; int waarde; waarde = meter.getValue();

Grafiek-tekenprogramma grafiek van een parabool nulpunten volgens abc-formule ingevoerde waarden abc

Opzet van klasse Parabool ndeclaratie Objectvariabelen nmethode init nmethode actionPerformed nmethode paint nmethode nulpunten nmethode assen nmethode grafiek nmethode parabool bouwt interface converteert a,b,c “regisseert” het tekenen doen het eigenlijke tekenwerk berekent ax 2 +bx+c

Parabool: init class Parabool extends Applet implements ActionListener { TextField abox, bbox, cbox; double a, b, c; public void init () { a = 0.5; b = 2.0; c = -4.0; } abox = new TextField( “”+a, 8 ); bbox = new TextField( “”+b, 8 ); cbox = new TextField( “”+c, 8 ); this.add(abox); this.add(bbox); this.add(cbox); abox.addActionListener(this); bbox.addActionListener(this); cbox.addActionListener(this);

Parabool: actionPerformed public void actionPerformed(ActionEvent e) { } a = b = c = this.repaint (); abox.getText() bbox.getText() cbox.getText() Double.parseDouble( );

Parabool: paint public void paint (Graphics gr) { } nulpunten assen grafiek this. (gr); gr. setColor( Color.BLACK ); gr. setColor( Color.RED ); gr. setColor( Color.BLUE ); private void assen (Graphics gr) { gr.drawLine(0, 250, 500, 250); gr.drawLine(250, 0, 250, 500); }

Parabool: nulpunten public void nulpunten (Graphics gr) { } gr.drawString( (-b -wortel)/noemer + “ en ” +(-b+wortel)/noemer, 50, 50 ); wortel = Math.sqrt(discriminant); discriminant = b*b - 4*a*c; noemer = 2*a; if (discriminant<0) gr.drawString(“geen nulpunten”); else { } -b ± b 2 -4ac 2a

Parabool: grafiek public void grafiek (Graphics gr) { } for ( x=0 ; x<500 ; x++ ) { } y = this.parabool( x ); gr.drawLine(,, x, y );x-1 oldy oldy = y; oldy = 0; if (x>0) schaal = 0.03; xw = schaal * x ; w w y = yw / schaal ; ( -250) (int) (250-( )) int x, y,oldy; double xw, yw, schaal;

Testen van een reeks mogelijke waarden if (x==1) else if (x==2) else if (x==3) else if (x==4) else if (x==5) else if (x==6) else if (x==7) else this.een(); this.twee(); this.drie(); this.vier(); this.vijf(); this.zes(); this.zeven(); this.meer(); case 1: case 2: case 3: case 4: case 5: case 6: case 7: default: switch (x) { } break;

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

Voorbeeld van Exception s = invoer. getText ( ); n = Integer. parseInt (s); uitvoer. setText ( “kwadraat is ” + n*n ); try { } catch ( Exception e ) { uitvoer. setText ( s + “ is geen getal” ); } kan een Exception opwerpen opvangen van het probleem

Soorten Exceptions Subklassen van Exception nNumberFormatException nNullPointerException nInterruptedException nIOException uFileNotFoundException n... vrijwillig op te vangen verplicht op te vangen

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

Overzicht programma- constructies Opdrachten nToekenning nAanroep void-methode nreturn-opdracht nwhile-opdracht nfor-opdracht n{... } - bundeling nif-opdracht ntry/catch-opdracht Expressies n Constante n Variabele n Aanroep methode n Expressie met operatoren n Expressie met haakjes n new-expressie n this kun je doenkun je uitrekenen nswitch-opdracht nbreak-opdracht

Overzicht programma- constructies Declaratie nLokale variabele voor tijdelijk gebruik nObject-variabele permanent deel van het object nParameter om waarden door te spelen aan methode Type n Primitief type uint udouble uboolean n Object-type uColor, String enz. uTextField, Button enz. uApplet, Hallo, enz. geeft het type van variabelen waarde-verzameling van een expressie