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 Ja Zolang voorwaarde 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 Schrijf: Hoe heet je? Jan Lees: voornaam Jan Schrijf: Welkom voornaam. Hoe oud ben je? 17 Ja n Lees: leeftijd 17 verschil := 37 - leeftijd 20 17 Schrijf: verschil 20 Intern geheugen Jan 17 20 Programma in Pascal Programma-naam + omschrijving Variabelen declareren Hoofdprogramma 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} Var naam type voornaam: String; leeftijd: Integer; verschil: Integer; Begin write('Wat is je voornaam? '); readln(voornaam); writeln; write('Hallo ',voornaam, '. Welkom bij de eerste programmeerles.'); writeln; write('Hoe oud ben je? '); readln(leeftijd); verschil := 37-leeftijd; write('Je bent ',verschil, ' jaar jonger dan je informaticadocent.'); readln; End. Opeenvolging in de praktijk. We gaan nu het programma laten uitvoeren in Pascal Keuze / selectie Voorwaarde Ja Nee 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 Schrijf: Hoe heet je? Pim Lees: voornaam Intern geheugen Pim Schrijf: Hallo voornaam. Pim Aantal sigaretten per dag? 5 Lees: aantal 5 Ja Voorwaarde aantal = 0 5 Schrijf : “Houden zo!” Nee Schrijf : “Tijd om te stoppen!” Schrijf: “Tot ziens”. Pim 5 Programma in Pascal Programma-naam + omschrijving Variabelen declareren Hoofdprogramma 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”.} Var naam type voornaam: String; aantal: Integer; 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’); writeln; write(‘Tot ziens’); readln; End. 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 Zolang voorwaarde getal >= 0 Schrijf: getal getal := getal - 1 Schrijf: We have a liftoff... 10 6 2 9 5 1 8 4 7 3 0 Programma in Pascal Programma-naam + omschrijving Variabelen declareren Zolang voorwaarde Hoofdprogramma Program countdown; {Laat een programma de getallen 10 tot en met 0 op het beeldscherm afdrukken.} Var naam type getal: Integer; Begin getal := 10; while getal >= 0 do begin writeln(getal); getal := getal-1; end; writeln(‘We have a liftoff…’); readln; End. Herhaling / iteratie in de praktijk. We gaan nu het programma “Countdown” laten uitvoeren in Pascal