Welkom! maandag 16 November 2015 Les B-2
Module 4.2 en 4.3 PSD’s maken & imperatief programmeren Les B-2
Inhoud van de les Hoe maak je een programma structuur? PSD sequentie iteratie selectie Boole vars pars arrays syntax Hoe maak je een programma structuur? Wat houdt een algoritme in? Wat is sequentie, iteratie / selectie, en waarvoor gebruik je het? Wat is een Booleaanse expressie? Welke soorten (numerieke) variabelen zijn er? Wat is een array? Wat zijn parameters? Wat is een syntax? Les B-2
Programmeren Inhoud PSD sequentie iteratie selectie Boole vars pars arrays syntax Stel: ik wil een dambord programmeren, met alle damschijfjes erop. Vraag: wat is de eerste stap die ik neem om tot een programma te komen? Antwoord: begin met overzichtelijk te maken wat het programma moet doen! SCHRIJF EERST OP EEN KLADBLAADJE! Les B-2
Klad Wat moet het programma doen? Alle spelvakken maken; Inhoud PSD sequentie iteratie selectie Boole vars pars arrays syntax Wat moet het programma doen? Alle spelvakken maken; 50 witte en 50 zwarte Alle damschijven neerleggen; 20 witte en 20 zwarte Al deze figuren inkleuren. Een lijst aan instructies in een programma heet ook wel een algoritme. Les B-2
Hoe te werk gaan? Je kàn programmeren Inhoud PSD sequentie iteratie selectie Boole vars pars arrays syntax Je kàn programmeren Dit overzicht heet een PSD (programma structuur diagram) Een aaneenvolging van regels heet een sequentie. Maar zoals je ziet, zijn dat veel bijna gelijke instructies en broncode. Je wil de broncode kleiner maken! Les B-2
Iteraties Ik kan ook maken Inhoud PSD sequentie iteratie selectie Boole vars pars arrays syntax Ik kan ook maken Nu loopt die telkens dezelfde regel af voor een 100 keer of 40 keer. Dit heet een iteratie. Les B-2
Iteraties Inhoud PSD sequentie iteratie selectie Boole vars pars arrays syntax Je kan meerdere regels achter elkaar uitvoeren in een iteratie. Dit programma loopt veel sneller. Waarom? Minder iteraties! Les B-2
programmasnelheid Inhoud PSD sequentie iteratie selectie Boole vars pars arrays syntax In een computerprogramma moet je onderscheid maken in: Het aantal regels in het programma Het aantal bewerkingen door de computer Voorbeeld: Evenveel regels, maar de rechter kost weer rekenwerk. Les B-2
Selectie Inhoud PSD sequentie iteratie selectie Boole vars pars arrays syntax Het programma weet nog niet wanneer het zwart moet kleuren, of wanneer wit. We kunnen een selectie maken. Hierbij wordt telkens gekeken welk vaknummer we hebben. Is het oneven: wit Is het even: zwart Les B-2
Soorten schema’s PSD (= Programma Structuur Diagram) Inhoud PSD sequentie iteratie selectie Boole vars pars arrays syntax PSD (= Programma Structuur Diagram) Opeenvolging (sequentie) Keuze (selectie) Herhaling (iteratie) Les B-2
Alternatief voor PSD Flow chart ( = stroomdiagram) Inhoud PSD sequentie iteratie selectie Boole vars pars arrays syntax Flow chart ( = stroomdiagram) Les B-2
Flow chart Waar zit hier de selectie? iteratie? Inhoud PSD sequentie Boole vars pars arrays syntax Waar zit hier de selectie? iteratie? Les B-2
Booleaanse logica Gecreëerd door George Boole Inhoud PSD sequentie iteratie selectie Boole vars pars arrays syntax Gecreëerd door George Boole Vergelijkingen waarbij het resultaat enkel WAAR of NIET WAAR is. Ook wel: waar = 0, niet waar = 1 Voorbeeld: Als 𝑆𝐸1≥5,5 dan voldoende Anders onvoldoende Les B-2
Booleaanse logica Inhoud PSD sequentie iteratie selectie Boole vars pars arrays syntax De veelgebruikte operatoren in Booleaanse logica zijn: AND – als 𝐴=𝑤𝑎𝑎𝑟 én 𝐵=𝑤𝑎𝑎𝑟, dan is het resultaat waar OR – als 𝐴=𝑤𝑎𝑎𝑟 óf 𝐵=𝑤𝑎𝑎𝑟 óf beide zijn waar, dan is het resultaat waar NOT – als 𝐴=𝑤𝑎𝑎𝑟, dan is NOT 𝐴 onwaar (NOT 𝐴 is ook wel ¬𝐴 of 𝐴 ) XOR – als óf 𝐴=𝑤𝑎𝑎𝑟, óf 𝐵=𝑤𝑎𝑎𝑟, maar niet beiden, dan is het resultaat waar Les B-2
Booleaanse schema’s Inhoud PSD sequentie iteratie selectie Boole vars pars arrays syntax Les B-2
Variabelen Er zijn verschillende variabelen te gebruiken Inhoud PSD sequentie iteratie selectie Boole vars pars arrays syntax Er zijn verschillende variabelen te gebruiken Bij Java heb je bijvoorbeeld: Variabele bereik byte [-128 , 127] short [-32.768 , 32.767] int(eger) [-2.147.483.648 , 2.147.483.647] long [-9.223.372.036.854.775.808 , 9.223.372.036.854.775.807] float komma getallen tussen − 2 128 en 2 128 double komma getallen tussen 2 −1024 en 2 1024 char(acter) karaktertekens, zoals “a” of “@” bool(ean) -1 (WAAR) of 0 (NIET WAAR) Les B-2
Variabele keuze Waarom zou je byte gebruiken, als je ook long hebt? Inhoud PSD sequentie iteratie selectie Boole vars pars arrays syntax Waarom zou je byte gebruiken, als je ook long hebt? Antwoord: Besparing ruimte! Variabele bereik Geheugenruimte byte [-128 , 127] 1 byte short [-32.768 , 32.767] 2 byte int(eger) [-2.147.483.648 , 2.147.483.647] 4 byte long [-9.223.372.036.854.775.808 , 9.223.372.036.854.775.807] 8 byte float komma getallen tussen − 2 128 en 2 128 double komma getallen tussen 2 −1024 en 2 1024 char(acter) karaktertekens, zoals “a” of “@” bool(ean) -1 (WAAR) of 0 (NIET WAAR) 1 bit Les B-2
Parameters Inhoud PSD sequentie iteratie selectie Boole vars pars arrays syntax Variabelen zijn waarden die gerelateerd zijn met andere waarden zoals 𝑥 en 𝑦 of 𝑞 (productie) en 𝑝 (prijs) in economie Parameters zijn waarden die voor een specifieke functie vaststaan. Zodra er een verband is tussen variabelen, ligt dat verband vast in de parameters. zoals de 𝑎 en 𝑏 in 𝑦=𝑎𝑥+𝑏 of 𝑏 en 𝑔 in 𝑁=𝑏∙ 𝑔 𝑡 Bij de formule C=20∙ 1,161 𝑡 is er een relatie tussen de variabelen 𝑡 en 𝐶, maar de parameters blijven hetzelfde. Les B-2
Array Array is Engels voor “reeks” Inhoud PSD sequentie iteratie selectie Boole vars pars arrays syntax Array is Engels voor “reeks” Een array is een reeks aan verschillende (variabele) waarden. Elk waarde in de array noemen we een element. Elk element heeft een index. Voorbeeld: int[] A = { 4,7,2,5}; Les B-2
Array Een array kan meerdere dimensies hebben. 1-dimensionaal: Inhoud PSD sequentie iteratie selectie Boole vars pars arrays syntax Een array kan meerdere dimensies hebben. 1-dimensionaal: int[] A = {4,7,2,5}; 2-dimensionaal: int[][] B = { {1,2,3,4}, {5,6,7,8}, {9,10,11,12} }; Les B-2
Syntax De grammatica van een programmeertaal Inhoud PSD sequentie iteratie selectie Boole vars pars arrays syntax De grammatica van een programmeertaal Denk aan het afsluiten met een puntkomma of het hoofdlettergebruik Een syntax error zijn dus foutjes zoals bijvoorbeeld het ontbreken van een puntkomma Les B-2
Inhoud van de les Vragen? PSD sequentie iteratie selectie Boole vars pars arrays syntax Hoe maak je een programma structuur? Wat houdt een algoritme in? Wat is sequentie, iteratie / selectie, en waarvoor gebruik je het? Wat is een Booleaanse expressie? Welke soorten (numerieke) variabelen zijn er? Wat is een array? Wat zijn parameters? Wat is een syntax? Vragen? Les B-2