Syntax van opdracht opdracht naam naam ( expressie ) ; . , expressie

Slides:



Advertisements
Verwante presentaties

Advertisements

Objecten Hoofdstuk 6 Hoofdstuk 6 Hoofdstuk 6 1.
Het type int Tekenen met Java operatoren
Klassen en objecten.
Hoofdstuk 6: Controle structuren
Hoofdstuk 2 Hallo, C# !.
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.
Consoletoepassing Variabelen Klassen
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.
Hoofdstuk 5 Interactie. Controls Form Label Button Label TextBox.
Hoorcollege 2 Basis gameprogrammeren. Soorten programma’s Console- applicatie.
Variabelen en berekeningen
Animatie nAnimatie: “tekenfilm” programma toont automatisch veranderende beelden nGemakkelijk te programmeren met gebruik van de klasse Thread “draadje”
Hoofdstuk 11.3 Algoritmen: Zoeken in een netwerk.
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;
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
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);
Imperatief programmeren nJeroen Fokker. Wat heb je nodig? nCollegediktaat ukopen bij A-Eskwadraat (BBG-238) uof zelf downloaden en uitprinten nSolis-id.
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.
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 :
Programma opdrachten methoden klasse variabelen en Geheugen objecten klasse zijn gegroepeerd in hebben als type veranderen bewerken.
Windows-applicatie class HalloWin1 { static void Main ( ) { } Form scherm; scherm = new Form( ); Application.Run(scherm); using System.Windows.Forms; scherm.Text.
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.
De definitie van een object. Een object is een verzameling van eigenschappen en bewerkingen. Veel voorkomende objecten zijn: D (display) Gui (user interface)
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
Gameprogrammeren: Overerving
Hoofdstuk 9.2 Strings.
Gameprogrammeren: Variabelen, declaraties en toekenningen
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.
Publieksvraag // schrijf een static methode die telt hoe // vaak een symbool voorkomt in een string // voorbeeld-aanroep: int n; n = Demo . Freq(’e’,
Basis Gameprogrammeren
Gameprogrammeren: Afsluiting
Gameprogrammeren: Herhalingen
1. Een klasse is… Een groepje opdrachten Een groepje variabelen
Tinpro015b-les6 Templates.
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
Gameprogrammeren: Klassen en objecten
Exceptions Exception:
Eerste deeltentamen Nagekeken werk ligt voor in de zaal
Software Development fundamentals
Transcript van de presentatie:

Syntax van opdracht opdracht naam naam ( expressie ) ; . , expressie klasse naam methode naam ( expressie ) ; . , object expressie property naam += variabele = expressie ;

Static gewone methoden static methoden static Bewerken een object Bewerken geen object Aanroep: object . methode (…) Aanroep: klasse . methode (…) In de body van de definitie: this is dat object In de body van de definitie: this bestaat niet Voorbeeld: Voorbeeld: Controls.Add(groet); Application.Run(scherm); Constructormethoden zijn nooit static Main is altijd static

Aanroep van een methode voert opdrachten uit in de body daarvan Nieuwe methoden Methode: groepje opdrachten met een naam private void tekenHuis(…) { … . DrawRectangle (…); … . DrawLine (…); … . DrawLine (…); } public void TekenScherm (object o, PaintEventArgs pea) { … . tekenHuis (…); … . tekenHuis (…); … . tekenHuis (…); } Aanroep van een methode voert opdrachten uit in de body daarvan

Methoden met parameters declaratie van parameters Methoden met parameters private void tekenHuis (Graphics gr, … ) { int x, int y, int br) int tx, ty; tx = x + br/2; ty = y – br – br/2; (tx,ty) gr.DrawRect (pen, … ); gr.DrawLine (pen, … ); gr.DrawLine (pen, … ); x, y-br, br, br x, y-br, tx, ty tx, ty, x+br, y-br } (x,y) br public void TekenScherm(object o, PaintEventArgs pea) { this . tekenHuis (pea.Graphics, …); this . tekenHuis (pea.Graphics, …); this . tekenHuis (pea.Graphics, …); 20, 100, 40); 70, 100, 40); 120, 100, 60); } parameters krijgen een waarde

Communicatie met methoden Parameters : aanroeper geeft waarde door aan de methode Methode-resultaat : methode geeft waarde terug aan de aanroeper net zoals een wiskundige functie

Methoden met een resultaat type van het resultaat private double kwadraat (double x) { return x*x ; } waarde van het resultaat in speciale return-opdracht

Hoofdstuk 4 Objecten en methoden

Variabelen Variabele: geheugenplaats met een naam Declaratie: aangifte van het type van de variabele int x, y; x y 20 Toekenningsopdracht: variabele krijgt waarde x = 20;

Toekenningsopdrachten int x, y; x = 20 ; x y 20 50 25 26 Expressie aan de rechterkant mag andere variabelen gebruiken y = x + 5 ; Vorige waarde gaat verloren x = y * 2 ; y = y + 1 ;

Declaratie en toekenningen Eén keer declarareren Mogelijk meerdere toekenningen Declaratie en eerste toekenning int x; int x = 100; x = 100; x = 100; x = 250; x = x + 1; x = 2 * x;

Type van variabelen int geheel getal double benadering van reëel getal int x; double d; x 10 3 d 3.3333333333 10.0 3.141592653 int geheel getal double benadering van reëel getal x = 10 ; d = 3.141592653 ; d = 10 ; x = x / 3 ; d = d / 3 ;

Const declaratie const double Pi = 3.1415926535897938; Latere toekenningen verboden void PrintOppervlak ( double r ) { Console.WriteLine( Pi * r * r ); } Pi = 4.0;

Standaardtypes gehele getallen met een decimale punt 1 byte sbyte ± 127 byte 0..255 28-1 2 bytes short ± 32767 ushort 0..65535 216-1 4 bytes int ± 2 miljard uint 0..4 miljard 232-1 8 bytes long ± 1018 ulong 0..1019 264-1 met een decimale punt 4 bytes float 7 cijfers, afgerond, ≤1038 8 bytes double 15 cijfers, afgerond, ≤10300 16 bytes decimal 28 cijfers, exact, ≤1028

Constanten geheel getal (kleinst passende) met een decimale punt string hexadecimaal 137 –25 0x1A 0xFF 26 255 0.5 –273.15 6.02E23 1E3 3E–11 602000000000000000000000 1000 0.00000000003 "Hallo!" "A" "" "een \"citaat\"" "\n" "\\"

Typering van operatoren 2 + 5 3 * 4 5 / 2 Beide argumenten geheel  resultaatwaarde geheel 0.5 * 7 10 / 3.0 1.5 * 2.5 Minstens één floating  resultaatwaarde floating bij + operator ook: Minstens één string  resultaatwaarde string “in” + “fo” “€” + bedrag

Objecten Object: groepje variabelen dat bij elkaar hoort 100 w 20 h h ! 255 r g b 3 aantal 199.95 prijs

Objecten "vraag niet hoe het kan... " Om een object te gebruiken, hoef je niet te weten uit welke variabelen het object bestaat "maar profiteer ervan! " Je hoeft alleen te weten welke methoden er zijn welke properties er zijn

Programma en Geheugen opdrachten variabelen methoden objecten klasse veranderen zijn gegroepeerd in zijn gegroepeerd in methoden objecten bewerken zijn gegroepeerd in hebben als type klasse klasse klasse

Hoofdstuk 5 Interactie

Controls Form Label Label TextBox Button Label

CirkelCalc constructor class Scherm : Form { public Scherm( ) { this.Text = "CirkelCalc"; this.ClientSize = new Size(240, 60); Label tekst, uitvoer; Button knop; TextBox invoer; tekst = new Label(); knop = new Button(); uitvoer=new Label(); invoer = new TextBox(); tekst.Location = new Point(65,10); tekst.Size = new Size(35,20); tekst.Text = "straal: "; // enzovoorts... knop.Click += this.bereken; this.Controls . Add(tekst); // enzovoorts... } Event-property afhandelingsmethode }

CirkelCalc klik-afhandeling class Scherm : Form { "leeg" resultaat public void bereken(object o, EventArgs ea) { double straal = double.Parse( invoer.Text ) ; double opp = this.oppervlakte(straal); uitvoer.Text = opp.ToString(); methode met een resultaat } type van het resultaat private double oppervlakte(double x) { } return Math.PI * x * x; waarde van het resultaat }

gedeclareerd in een andere methode! CirkelCalc gedeclareerd in een andere methode! class Scherm : Form { public void bereken(...) { ...Parse(invoer.Text); public Scherm( ) { ...this.oppervlakte(...)... Button knop; TextBox invoer; Label tekst, uitvoer; uitvoer.Text = ... } ...new...Size...Add... private double oppervlakte(...) { knop.Click = this.bereken; return ... } } }

CirkelCalc mag je gebruiken in alle methodes gedeclareerd los in de klasse class Scherm : Form { TextBox invoer; Label uitvoer; public void bereken(...) { ...Parse(invoer.Text); public Scherm( ) { Scherm ......this .oppervlakte(...)... Button knop; TextBox invoer; Label tekst, uitvoer; uitvoer.Text = ... } static ...new...Size...Add... private double oppervlakte(...) { knop.Click = this.bereken; return ... } } heeft de variabelen niet nodig }

Grafische User Interface (GUI) TrackBar 8 declaraties 8 keer new ... 8 keer this.Controls.Add(...) 42 property-toekenningen Panel Button Label 8 declaraties 8 keer new ... 8 keer this.Controls.Add(...) 42 property-toekenningen

Visual Studio Design Mode

Code gegenereerd door Visual Studio Designer Program.cs Mixer.cs namespace Mixer namespace Mixer { { class Mixer : Form class Program { { Button b; public static void Main() public Mixer() { { Application . Run (new Mixer()); Mixer m; m = new Mixer(); Application . Run(m); b = new Button(); b.Text = "Zwart"; b.Click += aktie; this.Controls.Add(b); } } } public void aktie (object o, EventArgs ea) } { // doe iets... } } }

Code gegenereerd door Visual Studio Designer afblijven! Program.cs Mixer.cs Mixer.Designer.cs namespace Mixer namespace Mixer namespace Mixer { { { partial partial class Mixer : Form class Mixer class Program { { { #region generated code public static void Main() void InitializeComponent() public Mixer() { { { this. InitializeComponent(); Application . Run (new Mixer()); Mixer m; m = new Mixer(); Application . Run(m); b = new Button(); b = new Button(); b.Text = "Zwart"; b.Text = "Zwart"; b.Click += aktie; b.Click += aktie; this.Controls.Add(b); this.Controls.Add(b); } } } } public void aktie (object o, EventArgs ea) #endregion } { // doe iets... Button b; } } } } }

Hoofdstuk 6 Nieuw! Herhaling

Opdrachten herhalen public void tekenScherm (object o, PEA pea) { int x; x = 1; pea.Graphics . DrawString ( x.ToString() , ft, br, 10, 10); } zolang de voorwaarde geldig is while ( x<1000 ) x = 2*x; body wordt steeds opnieuw uitgevoerd X 1024 512 256 128 64 16 32 4 1 2 8

Meer opdrachten herhalen private static int Naam ( ) { TweeLog (int n) int x, t; x=1; t=0; while ( x<1000 ) { x = 2*x; t = t+1; } teller telt hoe vaak er wordt verdubbeld n accolades smeden twee opdrachten tot één body return t; }

Herhalen met een teller public void tekenScherm (object o, PaintEventArgs pea) { int t; t=0; while ( t<10 ) { pea.Graphics.DrawString( ":-)", br, ft, 0, 20*t ); t = t+1; } teller bepaalt het aantal herhalingen en komt goed van pas in de body

oude publieksvraag Schrijf een methode driewerf met een String-parameter, die 3 herhalingen ervan oplevert this.driewerf("Hoera!") "Hoera!Hoera!Hoera!" private string driewerf (string x) { } return x+x+x;

Publieksvraag Schrijf een methode driewerf met een String-parameter, die 3 herhalingen ervan oplevert this.driewerf("Hoera!") "Hoera!Hoera!Hoera!" Schrijf een methode veelwerf met een String-parameter, en een getal n die n herhalingen van de String oplevert

Veelwerf-methode private static string veelwerf (string x, int n) { string result; int t; t = 0; result = ""; while ( t<n ) { t = t+1 ; } result = result + x ; return result; }

Publieksvraag Maak een methode macht met twee parameters grondtal (reëel getal) exponent (natuurlijk getal) die de waarde oplevert van grondtalexponent

Machtsverhef-methode private static double macht (double x, int n) { double result; int t; t = 0; result = 1; while ( t<n ) { t = t+1 ; } result = result * x ; return result; }

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 ?

Expressies Expressie met een getal als waarde 2 * (lengte + breedte) type int value Expressie met een tekst als waarde "Hallo " + persoon type string object- Expressie met een waarheid als waarde teller < exponent type bool value

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

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

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 ;

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

Practicum 2: Mandelbrot Voor elke (x,y) : 2 zet (a,b)=(x,y) is |(a,b)|>2 ? dan (x,y) wit doe a=a2-b2+x en b=2*a*b+y is |(a,b)|>2 ? dan (x,y) zwart -2 -2 enzovoorts... 2

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