‘Inleiding programmeren in Java’ SWI cursus: ‘Inleiding programmeren in Java’ 4e college Woe 19 januari 2000 drs. F. de Vries.

Slides:



Advertisements
Verwante presentaties

Advertisements

PSD Basisstructuren programmeren.
PSD Basisstructuren programmeren.

Inleiding programmeren in C++ Life Science & Technology 1 maart Universiteit Leiden.
Programmeren met Alice
Hogeschool HZ Zeeland 19 augustus 2003augustus 2003 Data Structuren & Algoritmen Week 1.
Hoofdstuk 8: Recursie.
Practica Computerlinguistiek Tekst en uitleg:
GESPRG Les 14 Gestructureerd programmeren in C. 174 Details! The devil is in the details.
Conditionele expressie
Hogeschool HZ Zeeland 19 augustus 2003augustus 2003 Data Structuren & Algoritmen Week 5.
1 Tentamen 21 januari 2008 uitleg Algemene kennisvragen a)“Wat verstaan we onder de complexiteit van een algoritme?” –Cruciaal: wat gebeurt er met.
Computervaardigheden Hoofdstuk 4 — Scripting (Let op: dit is enkel voor studenten Biologie.)
Hoofdstuk 6: Controle structuren
1 SOCS Hoofdstuk 1 Programmeertaal C. 2 Kenmerken van C Hogere programmeertaal  Grote verzameling types, strenge type controle  Zelf nieuwe types definiëren.
1 Datastructuren Sorteren: alleen of niet alleen vergelijkingen College 5.
1 Datastructuren Sorteren: alleen of niet alleen vergelijkingen (II) College 6.
Parallelle Algoritmen String matching. 1 Beter algoritme patroonanalyse Bottleneck in eenvoudig algoritme: WITNESS(j) (j = kandidaat in eerste i-blok)
Verdieping Programmeren in Java - deel 1 college 6 mei 2001.
Frank Stalpers en Ad Baars
Inleidend probleem Data structuur (hiërarchie van classes)
Numerieke Natuurkunde
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){
MICPRG Les 11 Microcontroller Programmeren in C. 112 Datastructuren in C Werkgeheugen (PC en microcontroller): Statische datastructuren (vaste grootte):
SWI cursus: ‘Inleiding programmeren in Java’
1 Inleiding Programmeren in Java Ma 29 januari 2001.
1 Datastructuren Skiplists. 2 Skiplists  Vrij eenvoudige datastructuur  “Makkelijker” dan gebalanceerde bomen  Kunnen hetzelfde als gebalanceerde bomen.
Inleiding programmeren in C++ Life Science & Technology 9 februari Universiteit Leiden.
CONTROLESTRUCTUREN (DEEL 1)
Algoritmiek Object-georiënteerd Programmeren
Algoritmiek Dataweergave en bewerking Hoorcollege 2 - Ma. 11 sept L.M. Bosveld-de Smet.
Hogeschool HZ Zeeland 19 augustus 2003augustus 2003 Data Structuren & Algoritmen Week 3.
C/S varianten s /CSpaginas/
Datastructuren Sorteren, zoeken en tijdsanalyse
Arrays.
OO Analyse in de praktijk OO Analyse in de praktijk V Enkele Design Patterns.
PHP & MYSQL LES 02 PHP & FORMULIEREN. PHP & MYSQL 01 PHP BASICS 02 PHP & FORMULIEREN 03 PHP & DATABASES 04 CMS: BEST PRACTICE.
Programma Structuur Diagrammen (PSD’s)
Variabelen Part deux.. Variabelen week 3 0. Herhaling 1. De NullPointerException (p101) 2. Primitieven 3. Scope en levensduur van variabelen 4. Meerdere.
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 C programmeren voor niet-C programmeurs les 2 definitie.
Variabelen Part deux.. Variabelen week 3 0. Herhaling 1. De NullPointerException (p101) 2. Primitieven 3. Scope en levensduur van variabelen 4. Meerdere.
Woordenschat groep 5 Thema 2 Les 1
Les 3 Basisbouwstenen (deel 2) Programmeren met Visual Basic Karl Moens.
CONTROLESTRUCTUREN (DEEL 1)
Tircms03-p les 2 Hfdst 3,4 Meer operatoren Functies.
Hoofdstuk 3 - Conditionele logica
Tircms02-p les 2 Meer operatoren Arrays en pointers Types en conversie.
JAVA: een platformonafhankelijke taal
Beslissingen. Inhoud: Booleaanse expressies: wat? Booleaanse expressies: wat? Relationele en logische operatoren Relationele en logische operatoren De.
1 PI1 week 9 Complexiteit Sorteren Zoeken. 2 Complexiteit van algoritmen Hoeveel werk kost het uitvoeren van een algoritme (efficiëntie)? –tel het aantal.
Reken- Ben je er klaar voor?.
Welkom! maandag 16 November 2015 Les B-2.
Codetuts Academy Les 6 Module 2a Php Fundamentals 1.
Loops en errors Array's Random try catch for loop while loop do while loop.
Divide & Conquer: Verdeel en Heers vervolg Algoritmiek.
Hoofdstuk 9.2 Strings.
Tinpro015b-les 1 C++ voor C-kenners Voor Technische Informatica.
Gameprogrammeren: Herhalingen
Programmeren woensdag 4 oktober 2017.
Programmastructuurdiagrammen (PSD)
Kiezen met Kaarten.
Small Basic Console deel 2
Kiezen met Kaarten.
Kiezen met Kaarten.
GGD en KGV.
Software Development fundamentals
<Naam bijeenkomst>
Gameprogrammeren: Arrays
Transcript van de presentatie:

‘Inleiding programmeren in Java’ SWI cursus: ‘Inleiding programmeren in Java’ 4e college Woe 19 januari 2000 drs. F. de Vries

Programma vandaag s Deadline s Bezemgroep? s Deitel

De stof van vandaag s Deitel & Deitel, –hoofdstuk 4

Deitel hoofdstuk 4 s ( ) introductie controle structuren s ( ) if en if - else s ( ) while s ( ) assignment s (4.13) primitieve datatypen

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)

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

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

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

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

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

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)

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”;

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=….

Een diepe uitsplitsing

Herhaling s Lus-structuren in diverse vormen hoofdstuk 4: –while hoofdstuk 5: –do while –for ( )

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

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

Kritieke ontwerppunten s Starten-stoppen: –beginwaarde expressie, wijziging expressie s Uiterste waarden –minimale, maximale stuurwaarden s Oneindige lus: –while (true)

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

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)

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)

Binnenlus: van 2 tot (n-1)

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: [ ] s maximum interval?

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

Primitieven s boolean s char s byte - short - int - long s float - double s dit zijn géén objecten

Boolean s Declaratie: –boolean stoppen; s Assignment: –stoppen = false; s Bewerking: –if (n ==10) stoppen = true; s Gebruik: –if (stoppen) ;

Volgende week s Hoofdstuk 5 s weer in zaal A-B