1 / 27

Componenten van een Algoritme

Componenten van een Algoritme. Variabelen en hun Inhoud Instructies Sekwenties Selecties Herhalingen Procedures Modules Documentatie. Inhoud. Metingen, tellingen, hoeveelheden, frekwenties, tekst,… Numeriek - Tekens Eenheden die verband houden met gebruik (doel) Voorbeeld:

wirt
Download Presentation

Componenten van een Algoritme

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Componenten van een Algoritme • Variabelen en hun Inhoud • Instructies • Sekwenties • Selecties • Herhalingen • Procedures • Modules • Documentatie

  2. Inhoud • Metingen, tellingen, hoeveelheden, frekwenties, tekst,… • Numeriek - Tekens • Eenheden die verband houden met gebruik (doel) • Voorbeeld: • Ingredienten van recept…

  3. 1/2 quantity Shotcrust Pastry 185 g unsalted butter 100 g castor sugar 5 tablespoons honey 50 ml cream 50 mlbrandy or any other liqueur or spirit 300 g flaked almonds Almond and Honey Slice Preheat oven for 200° C Line a 30 cm  20 cm baking tray with baking paper, and then with pastry Bake blind for 20 minutes, then remove weights and foil Turn oven up to 220° C. Bring remaining ingredients to a boil, stirring. Spread evenly over pastry. Bake until topping is bubbling and has caramelised evenly, about 15 minutes. Cool before cutting into fingers or squares. From: Stephanie Alexander, The Cook’s Companion, Viking/Penguin, Ringwood, Victoria, 1996, p. 349.

  4. 1/2 quantity Shotcrust Pastry 185 g unsalted butter 100 g castor sugar 5 tablespoons honey 50 ml cream 50 ml brandy or any other liqueur or spirit 300 g flaked almonds Almond and Honey Slice Preheat oven for 200° C Line a 30 cm  20 cm baking tray with baking paper, and then with pastry Bake blind for 20 minutes, then remove weights and foil Turn oven up to 220° C. Bring remaining ingredients to a boil, stirring. Spread evenly over pastry. Bake until topping is bubbling and has caramelised evenly, about 15 minutes. Cool before cutting into fingers or squares. From: Stephanie Alexander, The Cook’s Companion, Viking/Penguin, Ringwood, Victoria, 1996, p. 349.

  5. Variabele Inhoud 10 koekjes 50 gram suiker 3 stukjes cake etc. Deze pot kan bevatten… Variabelen • Containers voor waarden, getallen, hoeveelheden, tekst, etc… • Geheugenplaatsen

  6. Variabelen - Inhoud • Toekenning • Naam := waarde • Naam := naam • A := 2 (populaties) • breedte := 34 (milimeters) • B := breedte • naam := ‘een tekst’ • ‘B’ WORDT 34 • ‘groet’ WORDT ‘Goede morgen samen …’

  7. Variabelen - Inhoud • Beperkingen… • … m.b.t. een bepaald type inhoud: • Type: • Getal • Teken

  8. Componenten van een algoritme • Variabelen en hun Inhoud • Instructies • Sekwenties (van instructies) • Selecties (tussen instructies) • Herhalingen (van instructies) • Procedures (functionele verzameling van instructies) • Modules (= idem, als black box) • Documentatie

  9. Instructie • Een aktie die eenvoudig is… • … en ondubbelzinnig … • … waarvan het systeem kennis heeft (kan begrijpen)… • … en die het ook echt uit kan voeren.

  10. Instructies • Sommige instructies kunnen alleen worden toegepast op een bepaalde variabele, of een bepaalde inhoud van een variabele… Hak fijn...

  11. Instructies • Als je een algoritme schrijft, maak dan iedere instructie zo eenvoudig mogelijk, en voor maar 1 uitleg vatbaar… Snij de kip in stukjes en braad die aan alle zijden in een casserole in hete olijfolie. Snij de kip in stukjes. Verwarm olijfolie in een casserole. Braad de stukjes kip in de casserole.

  12. Stapsgewijze verfijning • Top-Down ontwerp • 1 kopje koffie algoritme • Kook water • Doe koffie in kopje • Schenk water in kopje • Proces is in stappen verdeeld • Elke stap kan beschreven worden door een kleiner en eenvoudiger algoritme

  13. Top-Down ontwerp • 1 kopje koffie algoritme • Kook water • Vul de ketel • Zet ketel op fornuis • Wacht tot het water kookt • Haal de ketel van het fornuis • Doe poeder-koffie in kopje • Open de koffie-bus • Neem er een schepje poeder-koffie uit • Doe de koffie in een kopje • Sluit de koffie-bus • …

  14. Stepwise refinement • Doorgaan tot verfijning voldoende gedetailleerd en nauwkeurig is om uitvoering door de betreffende processor mogelijk te maken • Interpretatief vermogen van de processor wordt bekend verondersteld • Computer interpreteert alles wat op correcte wijze in een programmeertaal is geformuleerd • Stoppen met verfijnen wanneer elke stap van het algoritme in de betreffende taal is geformuleerd.

  15. Structuren in de taal • Opeenvolging = sekwentie van instructies • De stappen worden 1 voor 1 uitgevoerd • Elke stap wordt precies 1 maal uitgevoerd - geen enkele stap wordt overgeslagen of herhaald • De volgorde waarin de stappen worden uitgevoerd is dezelfde als die waarin ze opgeschreven staan • Het beeïndigen van de laatste stap betekent beeïndiging van het algoritme

  16. Almond and Honey Slice 1/2 quantity Shotcrust Pastry 185 g unsalted butter 100 g castor sugar 5 tablespoons honey 50 ml cream 50 ml brandy or any other liqueur or spirit 300 g flaked almonds Preheat oven for 200° C Line a 30 cm  20 cm baking tray with baking paper, and then with pastry Bake blind for 20 minutes, then remove weights and foil Turn oven up to 220° C. Bring remaining ingredients to a boil, stirring. Spread evenly over pastry. Bake until topping is bubbling and has caramelised evenly, about 15 minutes. Cool before cutting into fingers or squares. Instructies worden gegeven in de volgorde waarin ze worden uitgevoerd (“executed”) From: Stephanie Alexander, The Cook’s Companion, Viking/Penguin, Ringwood, Victoria, 1996, p. 349.

  17. Structuren in de taal • Sekwentie • Nadelen: • Zeer star algoritme • Verloop van de uitvoering staat vast - kan niet o.i.v. de omstandigheden worden veranderd • Geen voorwaardelijke uitvoering van stappen mogelijk • Geen herhaling van stappen mogelijk

  18. Componenten van een algoritme • Variabelen en hun Inhoud • Instructies • Sekwenties(van instructies) • Selecties (tussen instructies) • Herhalingen (van instructies) • Procedures (functionele verzameling van instructies) • Modules (= idem, als black box) • Documentatie

  19. Structuren in de taal • Controle structuur --> Selectie • Waarheidstabel (truth-table)

  20. Structuren in de taal • Logica <--> Selectie • Variabelen van type boolean: • TRUE (1) en FALSE (0) • Vergelijkingen: • 2 = 2 TRUE • 4 = 3 + 1 TRUE • 3 > 4 FALSE • Modules: • EN (2=2) EN (4=3+1) <-> TRUE • OF (2=2) OF (3>4) <-> TRUE • XOF • NIET

  21. … voorwaarde … opdracht 1 0 Selectie • Als … Dan … Eindals • voorwaarde: • Ja /Nee <-> TRUE /FALSE <-> 0 / 1 Alsvoorwaarde Dan opdracht Eindals

  22. 1 0 Eindals Selectie • Als … Dan … Anders… Eindals • … voorwaarde • … opdracht • … opdracht Alsvoorwaarde Dan opdracht Andersopdracht

  23. 1: 0: 1: 0: Selectie • Als voorwaarde • Dan opdracht • Anders opdracht • Als voorwaarde • Dan opdracht • Anders opdracht • Eindals • Eindals

  24. Selectie • 3 soorten fouten: • Grensgevallen (‘boundary conditions’) • Bij selectie via GROTER DAN • Wat gebeurt er bij gelijkheid ? • Onmogelijke gevallen • Expressie die nooit TRUE kan zijn: • Als ((leeftijd < 18) EN (leeftijd > 34)) Dan • Onvermijdbare gevallen • Expressie die nooit FALSE kan zijn: • Als ((leeftijd >18) OF (leeftijd < 34)) Dan

  25. Selectie • Als voorwaarde • Dan opdracht • Anders • SCHRIJF ‘Dit had ik niet verwacht …!’ • Eindals

  26. 1: 0: Selectie • Wanneer • voorwaarden • opdrachten • alternatief 1 • alternatief 2 • . • . • alternatief n • [Anders] [optioneel] • [opdracht] • Eindwanneer

  27. Componenten van een algoritme • Variabelen en hun Inhoud • Instructies • Sekwenties(van instructies) • Selecties (tussen instructies) • Herhalingen (van instructies) • Procedures (functionele verzameling van instructies) • Modules (= idem, als black box) • Documentatie

More Related