/  16
 
 
Programmastructuurdiagrammen
J. van DortMollerlyceumBergen op Zoom
Tweede, herziene, versie. '03
 
Programmastructuurdiagrammen jvd13-3-2003
2
Programmastructuurdiagrammen
§1 Inleiding
In de komende lessen gaan we een begin maken met programmeren. Programmeren isin feite niets anders dan het vertellen aan een computer van wat je wilt dat hij doet. Datgaat (helaas) niet in gewone spreektaal, want die is vaak voor meerdere uitleg vatbaar.Er zijn daarom verschillende speciale programmeertalen ontwikkeld. Dit zijn talen meteen beperkt aantal 'woorden' (opdrachten e.d.) waarvan de betekenis precies vastligt.Ook de syntax (de manier waarop 'zinnen' gemaakt moeten worden) ligt precies vast.Daardoor kan de computer de door jou gegeven opdrachten (de programmacode) opprecies één manier vertalen naar bewerkingen die door de processor uitgevoerd kunnenworden.Het schrijven van een (groter) programma is vaak een hele klus, waarvan het typen vande programmacode slechts een klein deel uitmaakt. De meeste tijd gaat zitten in hettesten van het programma (doet het wel wat ik wil?; kan het tegen 'verkeerde' invoere.d.?) en het bedenken van hóe je de oplossing van het gegeven probleem gaataanpakken. In het algemeen is het het makkelijkst eerst de hoofdlijnen vast te leggen endaarna de details uit te werken. Het vastleggen van de
structuur van de oplossing
(het
algoritme
) gebeurt in een
programmastructuurdiagram
(PSD). Je bent ze al eenstegengekomen in een van de eerdere hoofdstukken.Je gaat vanaf opdracht 5 werken met het programma StruktoGraaf dat het tekenen vaneen PSD voor je doet. Het invullen van het PSD moet je zelf doen, maar dat is juist hetinteressante en leuke aan programmeren…………Maar StruktoGraaf doet meer: als je de juiste aanpak gekozen hebt, vertaalt het jouwPSD in een computerprogramma dat direct uitgevoerd kan worden. Je hoeft dus zelf (nog) geen echte programmeertaal te gebruiken.Je kunt een demoversie van StruktoGraaf downloaden vanwww.sichemsoft.nl. Met dezedemo kan je geen PSD 's opslaan, maar je kan je PSD's wél bewaren door ze m.b.v.knippen en plakken in een Word-document te plakken.
§2 Wat is een programmastructuurdiagram?
Een PSD (programmastructuurdiagram) is een schema dat de onderlinge volgorde ensamenhang van opdrachten binnen een programma weergeeft. PSD's worden nietgeschreven in een programmeertaal, maar dienen om de structuur van een programmavast te leggen. Dit is onafhankelijk van de programmeertaal die je (later) gebruikt. Hetvertalen naar programma-code gaat daarna een stuk eenvoudiger.Een PSD bestaat uit een rechthoek (of als je ingewikkelder programma's gaat maken, uitmeerdere rechthoeken), waarbinnen tekst of een aantal basisfiguren voorkomt.De drie meest gebruikte basisstructuren zijn: de
opdracht,
de
keuze
en de
herhaling.
 (StruktoGraaf bevat er nog meer, maar die zullen wij niet gebruiken.)Door deze basisstructuren te combineren kan je voor elk programma een PSD maken.
§3 De
opbouw van een PSD
De opdrachten en acties die uitgevoerd moeten worden in een PSD worden in principevan boven naar beneden uitgevoerd. Bekijk het volgende voorbeeld maar eens. De teksttussen accolades maakt geen deel uit van de programmacode, maar is commentaar (zieook §4).
opdracht keuze herhaling
 
Programmastructuurdiagrammen jvd13-3-2003
3Dit programma doet hetvolgende:Eerst wordt er een tekst ophet scherm afgedrukt: devraag 'Van welk getal wil jehet kwadraat?'. (Dat wattussen de aanhalingstekensstaat wordt letterlijkafgedrukt.)De volgende opdracht 'leesgetal' laat het programmawachten totdat de gebruikereen getal ingetoetst heeft. De term
getal 
kan je zien als de naam van eengeheugenplaats in de computer en die kan elke waarde bevatten die de gebruiker vanhet programma intikt. We noemen dit een
variabele
omdat
getal 
elke keer een andere(dus veranderlijke) waarde kan krijgen. De term
kwadraat 
is dus ook een variabele.
Er zijn verschillende soorten variabelen. De twee hoofdtypen zijn: numerieke variabelen, voor het opslaan van getallen; alfanumerieke, voor het opslaan van tekenreeksen (Eng: strings). Er zijnaparte numerieke typen variabelen voor het opslaan van gehele getallen (Eng: integer) en voor reële getallen (Eng: real, of: double). Met numerieke variabelen kan je rekenen, alfanumeriekevariabelen worden gebruikt om tekst op te slaan.
De volgende opdracht maakt de waarde van de variabele
kwadraat 
gelijk aan de waardevan
getal 
maal
getal 
. Anders gezegd: aan (de variabele)
kwadraat 
wordt de waarde
getal * getal 
toegekend. Het symbool
:=
gebruik je bij
de toekennings-opdracht
:
kwadraat 
wordt
getal 
keer
getal 
.De volgende opdracht is weer een schrijfopdracht voor een regel tekst (te herkennen aande aanhalingstekens).De laatste opdracht is ook een schrijfopdracht, maar nu wordt de waarde van devariabele
kwadraat 
afgedrukt (geen aanhalingstekens!).
Opgave 1
Maak in je schrift een PSD dat drie getallen leest en het gemiddelde van die drie getallenafdrukt.Zorg er voor dat aan de gebruiker van het programma duidelijk gemaakt wordt wat er van hem verlangd wordt. Een leeg scherm met een knipperende cursor zegt de meestemensen niets, dus laat bijv. het doel van het programma afdrukken ("Dit programmaberekent het gemiddelde van drie door U in te voeren getallen.") Vraag daarna om diegetallen in te voeren, en vermeld de betekenis van de uitvoer.In het algemeen geldt:
maak programma's gebruikersvriendelijk!!! 
 
§4 Commentaar
Commentaar is tekst (géén programmacode) die in een programma tussengevoegdwordt en bijvoorbeeld nuttig is bij een latere wijziging of uitbreiding van het programma,of om bepaalde gedeelten van een programmacode of PSD toe te lichten. Zie de teksttussen accolades in het PSD hierboven. Begin een programma steeds met een stukjecommentaar waarin je de auteur van het programma aangeeft en een korte omschrijvingvan het doel van het programma. Bij het huiswerk vermeld je ook steeds het nummervan de opgave.
Opgave 2
Een stalen balk met hoogte h en breedte b die voor een lengte l uit een (stevige)constructie steekt kan aan zijn uiteinde maximaal een gewicht g dragen dat berekend 

Share & Embed

More from this user

Add a Comment

Characters: ...