PSD Basisstructuren programmeren
Wat is een programmastructuurdiagram? Voor het opzetten en weergeven van deze programmastructuur is een speciale schematechniek ontwikkeld: het programmastructuurdiagram (PSD). Dit schema geeft de samenhang (de structuur) van de instructies binnen een programma weer.. Bij een PSD gaat het alleen om de probleemoplossing en gelden er geen strenge taalregels. De uitgewerkte probleemoplossing (PSD) is voor alle programmeertalen te gebruiken. PSD’s zijn taalonafhankelijk. Bij het maken van een PSD wordt gebruik gemaakt van drie (basis)structuren
De basisstructuren van het PSD Opeenvolging Keuze Herhaling Eerst dit... Dan dat... Voorwaarde Zolang voorwaarde Ja Nee
Opeenvolging / sequentie Eerst dit... Dan dat... Vervolgens dat...
De Programmeer-opdracht Vraag iemand naar zijn voornaam en heet hem daarna persoonlijk welkom. Vraag naar zijn leeftijd. Bereken het verschil met de leeftijd van de informatica-docent. Druk dit leeftijdsverschil af op het beeldscherm. Wat is in bovenstaande tekst variabel? Met andere woorden: Welke woorden krijgen steeds een andere waarde wanneer het programma door verschillende personen wordt uitgevoerd?
De PSD-opdracht Maak een PSD waarin de drie soorten opdrachten (lees, schrijf, wordt) duidelijk worden aangegeven. Geef door middel van onderstrepen aan welke de variabelen zijn.
Opeenvolging Jan Jan Jan Jan Schrijf: Hoe heet je? Intern geheugen Lees: voornaam Jan Jan 17 20 Schrijf: Welkom voornaam. Hoe oud ben je? Jan 17 Lees: leeftijd 17 verschil := 37 - leeftijd 20 17 Schrijf: verschil 20
Programma in Pascal PSD Programma-naam + omschrijving program opeenvolging; {Vraag iemand naar zijn voornaam en heet hem daarna welkom. Vraag naar zijn leeftijd en bereken het verschil met de leeftijd van de informaticadocent} Programma-naam + omschrijving Var voornaam: String; leeftijd: Integer; verschil: Integer; naam type Variabelen declareren Begin write('Wat is je voornaam? '); readln(voornaam); writeln; write('Hallo ',voornaam, '. Welkom bij de eerste programmeerles.'); write('Hoe oud ben je? '); readln(leeftijd); verschil := 37-leeftijd; write('Je bent ',verschil, ' jaar jonger dan je informaticadocent.'); readln; End. PSD Hoofd-programma
Opeenvolging in de praktijk. We gaan nu het programma laten uitvoeren in Pascal
Keuze / selectie Voorwaarde Nee Ja
De Programmeer-opdracht Vraag iemand naar zijn voornaam en heet hem daarna persoonlijk welkom. Vraag hem hoeveel sigaretten hij per dag rookt. Als het aantal nul is druk dan af: “Houden zo!” Als het aantal méér dan nul is druk dan af: “Tijd om te stoppen!” Druk af “Tot ziens”. Wat is in bovenstaande tekst variabel? Met andere woorden: Welke woorden krijgen steeds een andere waarde wanneer het programma door verschillende personen wordt uitgevoerd?
Het PSD Pim Pim Pim Pim Schrijf: Hoe heet je? Intern geheugen Lees: voornaam Pim Pim Schrijf: Hallo voornaam. Aantal sigaretten per dag? Pim 5 5 Lees: aantal 5 Voorwaarde aantal = 0 Ja Nee 5 Schrijf : “Houden zo!” Schrijf : “Tijd om te stoppen!” Schrijf: “Tot ziens”.
Programma in Pascal PSD Programma-naam + omschrijving program roken; {Vraag iemand naar zijn voornaam en heet hem daarna persoonlijk welkom. Vraag hem hoeveel sigaretten hij per dag rookt. Als het aantal nul is druk dan af: “Houden zo!”Als het aantal méér dan nul is druk dan af: “Tijd om te stoppen!”Druk af “Tot ziens”.} Programma-naam + omschrijving Variabelen declareren Var voornaam: String; aantal: Integer; naam type Begin write('Wat is je voornaam? '); readln(voornaam); writeln; write('Hallo ',voornaam, '. Hoeveel sigaretten rook jij per dag? '); readln(aantal); if aantal = 0 then write(’Houden zo!') else write(‘Tijd om te stoppen’); write(‘Tot ziens’); readln; End. PSD Hoofd-programma
Keuze / selectie in de praktijk. We gaan nu het programma “Roken” laten uitvoeren in Pascal
Herhaling / repetitie / iteratie Zolang voorwaarde
De Programmeer-opdracht Laat een programma de getallen 10 tot en met 0 op het beeldscherm afdrukken. Wat is in bovenstaande tekst variabel? Met andere woorden: Welke woorden krijgen steeds een andere waarde wanneer het programma door verschillende personen wordt uitgevoerd?
Het PSD Intern geheugen getal := 10 getal >= 0 Schrijf: getal 6 2 Zolang voorwaarde 9 5 getal >= 0 1 8 4 7 3 Schrijf: getal getal := getal - 1 Schrijf: We have a liftoff...
Programma in Pascal PSD Programma-naam + omschrijving Program countdown; {Laat een programma de getallen 10 tot en met 0 op het beeldscherm afdrukken.} Programma-naam + omschrijving Variabelen declareren Var getal: Integer; naam type PSD Begin getal := 10; while getal >= 0 do begin writeln(getal); getal := getal-1; end; writeln(‘We have a liftoff…’); readln; End. Zolang voorwaarde Hoofd-programma
Herhaling / iteratie in de praktijk. We gaan nu het programma “Countdown” laten uitvoeren in Pascal