Arteveldehogeschool – OSO VS Informatica – Algoritmiek Samenvatting AHS/PBAOSO/729/1 2009-2010 Sonny Coddens-Cornelis Algoritmiek Structogram: visuele voorstelling in de algoritmiek. Een Programmastructuur-diagram (Soms geschreven als: Programma Structuur Diagram), afgekort tot PSD, is een schematechniek ter voorbereiding op het programmeren van software. Een Programmastructuur-diagram wordt ook wel een Nassi-Shneiderman-Diagram genoemd. Het PSD is in 1972 ontworpen door Isaac Nassi en Ben Shneiderman. Een PSD is een schema dat de samenhang – de structuur – van instructies binnen een programma weergeeft. PSD’s bestaan uit: Rechthoeken Driehoeken Tekst Deze elementen worden benut ter voorbereiding op het coderen in een programmeertaal. Ze zijn programmeertaalonafhankelijk. Bovendien gelden er geen strenge taalregels; de probleemoplossing staat centraal. Voor het creëren van Programmastructuur-diagrammen kan gebruik worden gemaakt van bijvoorbeeld Microsoft Visio. Bron:Wikipedia 1. Algoritme Definitie: Een algoritme is een handleiding of een voorschrijft dat stap voor stap aangeeft hoe je een bepaald probleem kan oplossen. 1.1.Een deel algoritme Definitie: De verschillende stappen die je in een algoritme vindt, zijn deelalgoritmen. Deze kunnen op hun beurt uit een aantal stappen bestaan (samengesteld) of uit één enkele stap (elementair). 1. De processor Degene die het programma uitvoert is de processor. Dit kan een persoon of machine zijn. 2. Proces Definitie: Het algoritme dat uitgevoerd wordt door de processor noemt het proces. 1 Arteveldehogeschool – OSO VS Informatica – Algoritmiek Samenvatting AHS/PBAOSO/729/1 2009-2010 Sonny Coddens-Cornelis 3. Het programma Definitie: De algoritmen waar de computer met werkt, noemen we computeralgoritmen of programma’s. Daarin staat beschreven (in een taal die de computer begrijpt: programmeertaal) wat deze moet doen om een bepaalde taak uit te voeren. Een geheel van programma’s waarmee de computer kan werken noemt men software. 4. Kenmerken van een algoritme - De processor moet de stappen kunnen uitvoeren (uitvoerbaar) De processor moet de stappen verstaan (verstaanbaar) Het algoritme en de samengestelde algoritmen hebben een naam (naam) Het algoritme kan eindigen (eindigend proces) 5. Opeenvolging of sequentie Definitie: Bij de opeenvolging of sequentie volgen alle stappen van het algoritme elkaar één voor één op NSD: --Titel-Var1=LEES(“De gebruiker moet iets invullen”) Var2=LEES(“De gebruiker moet iets invullen”) Var3=Var1 & Var2 SCHRIJF(“De samenvoeging van de twee ingaves van de gebruiker is: “ & Var3) Invoer / Verwerking / Uitvoer “LEES”: gebruiker krijgt een vraag/opdracht, het resultaat is een variabele opgeslagen in het geheugen “SCHRIJF”: zet iets op het scherm van de gebruiker “Variabele”: geheugenplaats “=” is de toekenningoperator of het toekenningsteken 2 Arteveldehogeschool – OSO VS Informatica – Algoritmiek Samenvatting AHS/PBAOSO/729/1 2009-2010 Sonny Coddens-Cornelis 6. Operatoren 6.1.Wiskundige operatoren (|) ^ * | / | \=”DIV” (de gehele oplossing van een deling) | MOD (de rest van een gehele deling) +|- 6.2.Logische operatoren < | >| <= | >= | <> | = 6.3.Boleaanse operatoren AND | OR | NOT Getallen splitsen doen we met DIV en MOD 3 Arteveldehogeschool – OSO VS Informatica – Algoritmiek Samenvatting AHS/PBAOSO/729/1 2009-2010 Sonny Coddens-Cornelis 7. De keuze of selectie 7.1.Tweevoudigekeuze Definitie: De tweevoudige keuze of tweevoudige selectie bestaat uit een voorwaarde, een waar-algoritme en een vals-algoritme. Het waar-algoritme wordt uitgevoerd als de voorwaarde waar is, het valsalgoritme wordt uigevoerd als de voorwaarde vals is. NSD: voorwaarde W waar-algoritme V vals-algoritme 7.2.Enkelvoudige keuze Definitie: De enkelvoudige keuze of enkelvoudige selectie bestaat uit een voorwaarde en een waar – algoritme. Het waar algoritme wordt uigevoerd als de voorwaarde waar is. NSD: voorwaarde W waar-algoritme V 4 Arteveldehogeschool – OSO VS Informatica – Algoritmiek Samenvatting AHS/PBAOSO/729/1 2009-2010 Sonny Coddens-Cornelis 7.3.Meervoudige keuze Een meervoudige keuze is een controle structuur die gebruikt wordt wanneer één variabele tot een aantal categorieën kan behoren. Afhankelijk van de waarde van die variabele wordt een bepaalde categorie uitgevoerd. Opmerkingen: als een variabele tot meerdere categorieën behoort, dan wordt het algoritme bij de eerste passende categorie gekozen. De categorie ANDERS is optioneel. Het is mogelijk dat de variabele tot geen enkele categorie behoort. Er wordt dan ook geen algoritme uitgevoerd. Het algoritme dat bij een categorie hoort kan uit meerdere instructies bestaan. NSD: SELECTEER variabele Voorwaarde categorie 1 Algo categorie 1 Voorwaarde categorie 2 Algo categorie 2 Voorwaarde categorie 3 Algo categorie 3 Voorwaarde categorie 4 Algo categorie 5 Voorwaarde categorie … Algo categorie … ANDERS Algo als var niet tot bovenstaande categorieën behoort. 5 Arteveldehogeschool – OSO VS Informatica – Algoritmiek Samenvatting AHS/PBAOSO/729/1 2009-2010 Sonny Coddens-Cornelis 8. De herhaling of iteratie Als er sprake is van een begrensde herhaling kan er geen oneindige lus voorkomen. Als in een begrensde herhaling niet met de teller wordt gefoefeld kan er geen oneindige lus voorkomen. 8.1.De begrensde herhaling Bij de begrensde herhaling worden één of een aantal instructies meerdere keren uitgevoerd. We spreken van een begrensde herhaling omdat we precies weten hoeveel keren de opdracht uigevoerd moet worden. Tijdens het programmeren zal een begrensde herhaling vrij veel voorkomen om veel te lange programma’s en de onoverzichtelijkheid die hiermee gepaard gaat tegen te gaan. NSD: VOOR variabele = beginwaarde TOT eindwaarde te herhalen algoritme te herhalen algoritme 8.2.Voorwoordelijke herhaling met aanvangsvoorwaarde Eerst controleren en dan pas doen. Veiligste manier Definitie: De voorwaardelijke herhaling met aanvangsvoorwaarde is een controlestructuur opgebouwd uit een aanvangsvoorwaarde en herhalingsinstructies. Zolang de aanvangsvoorwaarde waar is, wordt de herhaling uitgevoerd. De herhalingsinstructies worden 0 of meerdere keren uitgevoerd. NSD: ZOLANG voorwaarde Te herhalen algoritme 6 Arteveldehogeschool – OSO VS Informatica – Algoritmiek Samenvatting AHS/PBAOSO/729/1 2009-2010 Sonny Coddens-Cornelis 8.3.Voorwaardelijke herhaling met afbreekvoorwaarde Eerst doen en dan pas controleren Wordt gebruikt bij invoercontrole Het te herhalen algoritme wordt eerst uitgevoerd, en dan pas wordt gecontroleerd of aan de voorwaarde voldaan is. De voorwaardelijke herhaling met afbreekvoorwaarde is een controlestructuur opgebouwd uit herhalingsopdrachten en een afbreekvoorwaarde. De herhaling wordt uitgevoerd totdat de afbreekvoorwaarde waar is. De herhalingsinstructies worden 1 of meerdere keren uitgevoerd. NSD: Te herhalen algoritme TOTDAT voorwaarde Bijgevolg: bij een voorwaardelijke herhaling met aanvangsvoorwaarde zal het te herhalen algoritme 0 of meerdere keren uitgevoerd worden. Bij een voorwaardelijke herhaling met afbreekvoorwaarde worden de instructies 1 of meerdere keren uitgevoerd. 7