Download de presentatie
De presentatie wordt gedownload. Even geduld aub
GepubliceerdBertha Smets Laatst gewijzigd meer dan 10 jaar geleden
2
‘Inleiding programmeren in Java’ SWI cursus: ‘Inleiding programmeren in Java’ 4e college Woe 19 januari 2000 drs. F. de Vries
3
Programma vandaag s Deadline s Bezemgroep? s Deitel
4
De stof van vandaag s Deitel & Deitel, –hoofdstuk 4
5
Deitel hoofdstuk 4 s (4.1 - 4.4) introductie controle structuren s (4.5 - 4.6) if en if - else s (4.7 - 4.10) while s (4.11 - 4.12) assignment s (4.13) primitieve datatypen
6
Drie samenwerkende controlestructuren s Sequentie s Sequentie: stuk voor stuk statements uitvoeren s Selectie s Selectie: statement(s) alleen onder bepaalde conditie uitvoeren s Iteratie s Iteratie: herhaling van uitvoeren van statement(s)
7
1. Sequentie s In aangegeven volgorde uitvoeren s Een schijnbaar eenvoudige structuur s Probleemgebieden: –volgorde ontwerp –aansluiting globale-locale volgordes –multi-threading s Voorbeeld: aanpak datum/klok
8
Voorbeeld datum/klok s Welke volgorde ontwerpen? –Het totaal uitsplitsen van onderaf (ms) of van bovenaf (jaar)? –Restdagen in een jaar: beginnen bij januari of bij december? –Vaststellen schrikkeljaar: vroeg of laat? s Konklusie: volgorde is een probleem
9
2. Selectie if - else s En nu een echte vork: if - else s Een vork in een vork: –if u if - else –else u if - else dangling else s Gevaar: dangling else probleem
10
Dangling else elseif s Hoort else bij 1e of 2e if statement? if if if ; else ; ; s Oplossing: { …. } om binnenste if compound s Geneste sequentie: compound statement
11
Ontwerpen van selectie s Net als bij volgorde is het ontwerpen van selectie niet triviaal s Bepalende factoren: –overzichtelijkheid –kans op fouten –efficiëncy s Voorbeeld
12
Vaststellen maand s Vergelijk 3 alternatieven: –1. Meest eenvoudige sequentie –2. Een vlakke uitsplitsing –3. Een diepe uitsplitsing (omslachtig, maar correct ge-nest if - else statement)
13
Meest eenvoudig s If (maand ==1) label=“januari”; s If (maand ==2) label=“februari”; s If (maand ==3) label=“maart”; s If (maand ==4) label=“april”; s If (maand ==5) label=“mei”; s If (maand ==6) label=“juni”; s If (maand ==7) label=“juli”;
14
Een vlakke uitsplitsing if (maand ==1) label=“januari”; else if (maand ==2) label=“februari”; else if (maand ==3) label=“maart”; else if (maand ==4) label=“april”; else if (maand ==5) label=“mei”; else if (maand ==6) label=“juni”; else if (maand ==7) label=“juli”; else if (maand ==8) label=….
15
Een diepe uitsplitsing 1 2 3 4 5 6 7 8 9 10 11 12
17
Herhaling s Lus-structuren in diverse vormen hoofdstuk 4: –while hoofdstuk 5: –do while –for ( )
18
Een enkele while lus s Fig. 4.7: Average1 s Fig. 4.9: Average2 s Fig. 4.11: Analysis s In hoofdstuk 4, opdracht 1
19
Is een willekeurig getal deelbaar? s Zonder lus constructie niet uitvoerbaar s kritieke ontwerppunten: –starten en stoppen van de lus –uiterste waarden –gevaar: oneindige lus –inefficiënte lus
20
Kritieke ontwerppunten s Starten-stoppen: –beginwaarde expressie, wijziging expressie s Uiterste waarden –minimale, maximale stuurwaarden s Oneindige lus: –while (true)
21
Een lus binnen een lus s Komt veel voor in algoritmen s Dubbel gevaar, dubbel lastig s extra probleem: terugzetten waarden binnenste lus s Voorbeeld: hoofdstuk 4, opdracht 2
22
Zoek priemgetallen in interval s Binnenste lus uit vorige opdracht –kleinste = 2 –grootste = max int ? (of max long) s ondergrens interval = 2 s bovengrens = max int (of max long)
23
Lus in een lus s Hier: de binnenste lus krijgt van de buitenste lus steeds een nieuwe waarde aangereikt s Andere vorm: binnenste lus doorloopt steeds dezelfde waarden, bv lezen van een matrix (hfst 7)
24
Binnenlus: van 2 tot (n-1)
25
Afwerking belangrijk s Interval niet correct s er zijn geen priemgetallen gevonden s gevonden priemgetallen zijn correct s nummering van gevonden getallen s minimum interval correct: [ 2.. 2 ] s maximum interval?
26
Speciale assignments s c += 1, ++c en c++ zijn slechts verkorte schrijfwijzen van s c = c + 1 s Komt de duidelijkheid van het programma niet ten goede
27
Primitieven s boolean s char s byte - short - int - long s float - double s dit zijn géén objecten
28
Boolean s Declaratie: –boolean stoppen; s Assignment: –stoppen = false; s Bewerking: –if (n ==10) stoppen = true; s Gebruik: –if (stoppen) ;
29
Volgende week s Hoofdstuk 5 s weer in zaal A-B
Verwante presentaties
© 2024 SlidePlayer.nl Inc.
All rights reserved.