Informatica
2e graad 2e jaar
De Mol W.
Inhoudstafel Inhoudstafel .............................................................................................. 2 Algoritmes ............................................................................................... 3 1.1 Algemeen...........................................................................3 1.2 Het algoritme ......................................................................4 1.3 Opstellen van het algoritme.....................................................5 1.4 Stapsgewijs verfijnen van het algoritme ......................................6 1.5 Oefeningen op de controlestructuren..........................................7 1.6 Voorbeeld van een algoritme ...................................................9 1.7 Oefeningen algoritmes ......................................................... 11 1.7.1 Op reis ...................................................................... 11
De Mol Wim - Cursus Javascript 2e graad
Pagina 2/11
Algoritmes 1.1 Algemeen Wij staan er niet echt bij stil maar als mensen zijn wij dagelijks constant bezig met het bedenken van oplossingen voor grotere of kleinere kleine problemen. Vanaf het moment dat je opstaat ‘s morgens bedenk je constant oplossingen voor dagelijkse problemen, je moet je wassen en aankleden, de tafel dekken, eten, zorgen dat je rugzak klaarstaat, zorgen dat je fiets in klaarstaat,, je moet op tijd op school geraken.. In ons hoofd spelen zich dus constant processen af voor het oplossen van deze dagdagelijkse problemen: van de meest eenvoudige (bv het onszelf aankleden) tot en met de moeilijke( moeilijke bv het oplossen van een ingewikkeld wiskundig vraagstuk).
Een computer kan echter niet nadenken uit zichzelf en heeft geen flauw benul van jouw leefwereld! Als we de computer willen inschakelen voor het oplossen van problemen zal het nodig zijn dat wij deze machine stap voor stap uitleggen hoe bepaalde problemen moeten moet opgelost worden. Dit kan men doen door de computer te programmeren. Definitie’s: Het bedenken van een oplossing en het neerschrijven van deze oplossing noemt men programmeren. Het omzetten van de oplossing die we bedacht hebben naar een voor de computer verstaanbare taal en de oplossing dan invoeren in de computer noemt men coderen.
De Mol Wim - Cursus Javascript 2e graad
Pagina 3/11
1.2 Het algoritme Om een computer te leren hoe een bepaald probleem moet opgelost worden moeten we een aantal stappen doorlopen. Definitie: De manier waarop we een probleem oplossen noemt men ook wel een algoritme. Een computeralgoritme bestaat meestal uit een aantal stappen die doorlopen moeten worden voor het bekomen van de oplossing:
STAP 1: Definitie van het probleem Hierbij stelt men zich de volgende vragen: Wat is het probleem? Welke gegevens heb ik nodig om het probleem op te lossen? Welke resultaten wens ik?
STAP 2: Analyse en opstellen van het algoritme Een computerprogramma bestaat bijna altijd uit de volgende drie onderdelen: 1) Invoer van gegevens: Bij het opstellen van het algoritme gaat men dus starten van de beginsituatie: Welke gegevens heb ik ter beschikking? 2) Verwerking van de gegevens (= het algoritme !!) Indien men weet welke gegevens men ter beschikking heeft moet men beslissen hoe we deze gegevens gaan verwerken. In de praktijk betekent dit bijvoorbeeld dat je bekijkt welke formules je moet gebruiken om de gegevens te verwerken. 3) Tenslotte toont men het resultaat op het scherm of stuurt men het resultaat naar een ander uitvoerapparaat (bv. een printer).
STAP 3: Coderen en uittesten van je programma Na het opstellen van je algoritme codeer je je gevonden oplossing in een taal die de computer kan begrijpen en test je nadien je oplossing
De Mol Wim - Cursus Javascript 2e graad
Pagina 4/11
1.3 Opstellen van het algoritme Voor het opstellen van een computeralgoritme maakt men gebruik van zogenaamde controlestructuren. Er zijn drie soorten controlestructuren:
1. De sequentie: De sequentiestructuur bestaat uit een opeenvolging van programmeerinstructies. Een programmeerinstructie stellen we steeds voor dmv een RECHTHOEK., voor de opvolging van de instructies tekent men PIJLTJES.
2. De selectie: De selectiestructuur is een programmastructuur waar men kan beslissen welke instructies moeten uitgevoerd worden en welke niet. Een selectiestructuur wordt altijd voorgesteld dmv een RUIT.
De Mol Wim - Cursus Javascript 2e graad
Pagina 5/11
3. De herhaling (of iteratie) De herhalingsstructuur is een programmastructuur waarmee men kan aangeven dat een aantal instructies herhaaldelijk moeten uitgevoerd worden. De zwarte pijlen geven aan dat de instructies herhaald worden als aan de voorwaarde niet is voldaan.
1.4 Stapsgewijs verfijnen van het algoritme Aan de hand van de bovenstaande 3 controlestructuren kan men nu zelf algoritme’s opstellen voor elk willekeurig probleem. In de praktijk zal men vertrekken van een algemeen algoritme en zal men dit algoritme stap voor stap gaan verfijnen. Dit verfijnen kan men doen door het probleem op te splitsen in deelproblemen en vervolgens deze deelproblemen ook verder op te splitsen. Hoever je nu moet gaan met het verfijnen van een algoritme moet je geval per geval bekijken, hier bestaat niet echt een regel voor. Hoe gedetailleerder je algoritme echter is hoe eenvoudiger het zal zijn om achteraf je algoritme om te zetten in programmeercode, m.a.w. je programma te coderen.
De Mol Wim - Cursus Javascript 2e graad
Pagina 6/11
1.5 Oefeningen op de controlestructuren Maak een algoritme voor de volgende problemen: Als het mooi weer is gaan we naar zee anders blijven we thuis.
Als het koud is buiten hakken we hout en eten we erwtensoep anders gaan we wandelen.
Schrijf 100x : ik mag geen boekbespreking kopiëren van het internet.
De Mol Wim - Cursus Javascript 2e graad
Pagina 7/11
Ik dek de tafel voor 6 personen, iedereen heeft een bestek, 2 glazen, een bord en een servet nodig.
De Mol Wim - Cursus Javascript 2e graad
Pagina 8/11
1.6 Voorbeeld van een algoritme Als oefening maken we nu een algoritme van een probleemsituatie uit het dagelijkse leven : Definitie van het probleem
Stel een algoritme op voor het opruimen van je slaapkamer. Hiervoor zullen we een aantal opeenvolgende handelingen (= sequentiestructuur) nodig hebben: De wasmand halen, de vuile kleren in de wasmand gooien, de wasmand wegbrengen, papiertjes oprapen en in de prullenmand gooien en tenslotte de prullenmand legen. Als er geen papier meer op de grond ligt is onze kamer opgeruimd. (= selectiestructuur) Zolang er nog papiertjes op de grond liggen moeten we deze oprapen en in de prullenmand gooien. (= herhalingsstructuur). Analyse van het probleem en opstellen van een algoritme:
Werk deze oefening nu zelf uit a.d.h.v. de “Hot Potatoes” opdracht op http://humaniora.be Vul nadien het blokschema aan op de volgende bladzijde.
De Mol Wim - Cursus Javascript 2e graad
Pagina 9/11
De Mol Wim - Cursus Javascript 2e graad
Pagina 10/11
1.7 Oefeningen algoritmes 1.7.1 Op reis Je vertrekt binnenkort op reis en je moet je rugzak maken. Uiteraard zullen er een aantal beslissingen genomen moeten worden. Ga je naar een warm land? Regent het daar? Welk vervoermiddel ga je gebruiken? Ga je te voet, met de fiets of met het vliegtuig? Als de afstand minder dan 200 km is ga je te voet, anders neem je de fiets of het vliegtuig. Als de afstand groter is dan 500 km neem je het vliegtuig. Als je niet naar een warm land reist neem je best een paraplu mee, anders neem je een kleine parasol mee. Als je naar een bergachtige omgeving trekt neem je geschikte wandelschoenen en 7 paar sokken, als je naar de zee gaat neem je je sandalen mee. . Maak een algoritme voor bovenstaand probleem. Maak eerst een kladversie van je algoritme in potlood. Tip : Na het maken van je afgewerkte kladversie kan je dan MSPowerpoint gebruiken voor het in het net uittekenen van je algoritme. Bij de “autovormen” kan je gebruik maken van de elementen “stroomdiagram” voor het tekenen van je stroomschema. Teken je oplossing nadien over op een taakblad.
De Mol Wim - Cursus Javascript 2e graad
Pagina 11/11