Fundamenten ontwerpen Karine Van Driessche Hogent Best
Hoofdstuk 1 De bouwstenen van het programmeren
invoer = gegevens programma = acties uitvoer = verwerkte gegevens Wat is een programma? invoer = gegevens programma = acties uitvoer = verwerkte gegevens
sequentiestructuur selectiestructuur iteratiestructuur De drie bouwstenen sequentiestructuur selectiestructuur iteratiestructuur
De sequentiestructuur Definitie: opeenvolging van meerdere opdrachten elke opdracht wordt volledig uitgevoerd en in volgorde frequent voorkomende structuur
De sequentiestructuur Voorstellingen: Pseudo-code: opdracht_1 opdracht_2 … opdracht_n
De sequentiestructuur Voorstellingen: Grafische voorstelling:
De sequentiestructuur
De sequentiestructuur Voorbeeld: berekenen van de omtrek van een cirkel
De sequentiestructuur Verband tussen pseudo-code en grafische voorstelling
De selectiestructuur Definitie: voorwaardelijke opdrachten basis = predikaat : voorwaarde, conditie of vraagstelling tweeledig karakter: 2 mogelijke antwoorden : ja of nee afhankelijk van antwoord wordt een bepaalde actie al dan niet uitgevoerd
De selectiestructuur Voorstellingen: Pseudo-code: ALS (voorwaarde) DAN component_1 ANDERS component_2 EINDE_ALS_DAN
De selectiestructuur + antwoord : -> DAN-tak -> EINDE_ALS_DAN -> ANDERS-tak -> EINDE_ALS_DAN
De selectiestructuur
De eenzijdige selectiestructuur Geen actie in de ANDERS-tak Voorstellingen: Pseudo-code: ALS (voorwaarde) DAN component_1 EINDE_ALS_DAN
De eenzijdige selectiestructuur
De meervoudige selectiestructuur Voorwaarde: meer dan twee mogelijke toestanden Pseudo-code: ALS ( selectievariabele) = toestand-1 : component-1 = toestand-2 : component-2 ...... : ...... = toestand-n : component-n EINDE_ALS
De meervoudige selectiestructuur selectievariabele = toestand-i -> component-i -> EINDE_ALS 1 component komt aan bod => toestanden vormen een exhaustief geheel (onderlinge uitsluiting en alle mogelijkheden komen voor)
De selectiestructuur Grafische voorstelling:
De meervoudige selectiestructuur Voorbeeld : In een kledingzaak zijn er verschillende kleuren prijskaartjes in gebruik. Alleen bij de kleuren rood (= 50% korting), blauw (= 40% korting), groen (= 30% korting) en geel (= 20% korting) is er korting. Schrijf een programma dat aan de kassierster meedeelt hoeveel korting er op het kledingstuk is, na invoeren van de kleur van het prijskaartje.
De meervoudige selectiestructuur - voorbeeld Pseudo-code:
De meervoudige selectiestructuur - voorbeeld Grafische voorstelling:
De meervoudige selectiestructuur - voorbeeld Codes voor grafische voorstelling:
De iteratiestructuur Definitie: het automatisch meermaal uitvoeren van een bepaalde reeks opdrachten twee structuren; van elkaar afleidbaar ZOLANG_DOE-structuur DOE_TOTDAT-structuur
De iteratiestructuur ZOLANG_DOE-structuur Definitie: Bestaat uit iteratievoorwaarde en een iteratiecomponent Zolang aan iteratievoorwaarde voldaan -> component opnieuw uitvoeren
De iteratiestructuur ZOLANG_DOE-structuur Voorstellingen: Pseudo-code: ZOLANG (iteratievoorwaarde) DOE iteratiecomponent EINDE_ZOLANG_DOE
De iteratiestructuur DOE_TOTDAT-structuur Definitie: Bestaat uit iteratievoorwaarde en een iteratiecomponent Zolang aan iteratievoorwaarde NIET voldaan -> component opnieuw uitvoeren
De iteratiestructuur DOE_TOTDAT-structuur Voorstellingen: Pseudo-code: DOE iteratiecomponent TOTDAT (iteratievoorwaarde) EINDE_DOE_TOTDAT
De iteratiestructuur Vergelijking tussen de ZOLANG_DOE en de DOE_TOTDAT-structuur:
De iteratiestructuur Grafische voorstelling:
De iteratiestructuur - voorbeeld Schrijf een programma dat op het scherm van 1 tot 10 telt. Pseudo-code: BEGIN i = 1 VOERUIT( Scherm, ”Tellen van 1 tot 10 :”, NIEUWE LIJN) ZOLANG ( i <= 10 ) DOE VOERUIT( Scherm, i,” , “) i = i + 1 EINDE_ZOLANG_DOE EINDE
De iteratiestructuur - voorbeeld Grafische voorstelling:
De iteratiestructuur - voorbeeld Grafische voorstelling: Codes:
Niet-elementaire programmastructuren De negatielogica Samengestelde voorwaarden Geneste selectiestructuren Geneste iteratiestructuren
De negatielogica Wat als? ALS (voorwaarde) DAN geen actie ANDERS component EINDE_ALS_DAN Dus enkel actie in de ANDERS-tak
De negatielogica Oplossing: ALS (NIET(voorwaarde)) DAN component ANDERS geen actie EINDE_ALS_DAN eenzijdige selectie structuur
De negatielogica Gedrag van de NIET-operator
Samengestelde voorwaarden = combinatie van voorwaarden door middel van EN- en OF-operator.
Geneste selectiestructuren Als tweeledigheid van de vw niet voldoende is -> verdere vw alternatief : samengestelde voorwaarden (niet altijd mogelijk)
Geneste selectiestructuren
Geneste iteratiestructuren Analoog aan geneste selectiestructuren