• No results found

- Zak2Cellen

In document Algoritmen met Excel (pagina 40-46)

Next ....i End Sub en tot slot:

-- VerbergCelcursor --

SELECTEER cel B10 zullen we coderen als:

Sub VerbergCelcursor()

...SELECTEER ("C7")

End Sub

:

Opdracht 9 (vervolg)

• Vul de programmacode aan.

• Bewaar je bestand. Het is trouwens aangewezen om je bestanden geregeld te bewaren. Met programmeren weet je nooit. Bewaar zeker vóór je test!!

Verfijning diepte 2

-- Zak2Cellen --

Herhaal 2 keer

CELOMLAAG

Dit zullen we als volgt schrijven:

Sub Zak2Cellen()

For ...i = 1 To ....2 ...CELOMLAAG Next ....i

Tot slot zullen we nog een macro moeten opnemen. Welke? ...KleurAchtergrondWit

:

Opdracht 9 (vervolg)

• Vul de programmacode aan.

• Neem de macro op.

• Bewaar je bestand nogmaals.

e) Testen

:

Opdracht 9 (vervolg)

• Start je programma op en kijk of het werkt.

• Als er fouten in staan, probeer die te lokaliseren en verbeter ze.

f) documenteren

Dit hebben we in feite al gedaan toen we aan het programmeren waren. Maar misschien zijn er nog een aantal aanvullingen die je wil maken. Werk de documentatie van je programma af. Nu is het klaar. Bewaar je werkmap nu definitief.

3.6 Oefeningen

1. Zebrapad

Maak een algoritme dat 10 zebrapaden naast elkaar tekent, met een afstand van 4 cellen tussen twee zebrapaden. Je baseert je best op de voorbeeldoefening. Breid die verder uit.

Bestaande zebrapaden moeten niet gewist worden in de uitvoering van het programma. Na de uitvoering van je algoritme staat de ccelcursor in de cel C7 (achter de knop).

Maak een volledige analyse en doorloop alle stappen (analyse, NS-diagram maken, programmeren, testen, documenteren). Noteer alles opnieuw!!

Bewaar je algoritme met dezelfde naam (Zebrapad)

Uitbreiding:

Vraag de gebruiker hoeveel zebrapaden hij wil laten tekenen. Let wel dat de leesinstructie het ingevoerde getal in de actieve cel noteert. Zorg dan ook dat je algoritme dat getal weer wist. Laat het algoritme de bestaande zebrapaden eerst weer wissen.

2. Dambordpatroon

Maak een algoritme dat een dambordpatroon tekent. Bewaar het met als naam Dambord

Het dambord is een vierkant van 6 bij 6 vakjes. De achtergrond van je werkblad is lichtgeel, zodat je het dambord goed ziet liggen. De linkerbovenhoek van het dambord ligt op de actieve cel op het moment dat je het algoritme start. Het speelt geen rol waar de celcursor staat op het einde.

Voorzie in de titelruimte van je werkblad een knop om het algoritme te starten. Voorzie ook een knop om het dambordpatroon weer te wissen (hiermee worden alle cellen in het werkblad lichtgeel gekleurd). Het vorige patroon moet niet automatisch gewist worden als het programma gestart wordt.

Het dambord bestaat uit zwarte en witte vakjes. Eén vakje op het dambord beslaat 3 onder elkaar liggende cellen.

Uitbreiding voor de bollebozen:

Laat het programma aan de gebruiker vragen uit hoeveel rijen en hoeveel kolommen het dambord moet bestaan. Dit aantal moet een even aantal zijn. We gaan ervan uit dat de gebruiker het programma juist gebruikt dus is het nie nodig om de invoer hierop te controleren (dat hebben we trouwens nog niet gezien).

Let op: bij het gebruik van de leesinstructie wordt in de actieve cel de invoer geplaatst. Zorg dat het algoritme dit weer wist.

3.7 Wat je moet kennen en kunnen

• Het begrip sequentie (opeenvolging) kunnen uitleggen

• Een probleem opsplitsen in deelproblemen (stapsgewijze verfijning)

• Een probleem analyseren en de oplossing in een NS-diagram voorstellen

• De stappen nodig om een probleem gestructureerd op te lossen kunnen toepassen op een opgave.

• Een algoritme van een NS-diagram kunnen omzetten in broncode

De VBA -editor kunnen opstarten en gebruiken

• De eisen waaraan een goed algoritme voldoet moet je blijven kennen (vorig hoofdstuk) en moet je kunnen toepassen

• Deelalgoritmen een zinnige naam geven die aan de eisen uit het vorig hoofdstuk voldoet

• Een knop maken om een algoritme te kunnen starten

• Je algoritmen uitvoerig kunnen documenteren en structureren

• De concrete deelalgoritmen kunnen gebruiken. Die moet je niet “van buiten” kennen. Je kan er de snelzoekkaart bij deze cursus voor gebruiken.

• Weten wat variabelen zijn en variabelen kunnen gebruiken

• Het verschil kennen tussen procedures en functies

• Een functie kunnen maken

• Een zelfgemaakte functie kunnen gebruiken in een werkblad

• Een zelfgemaakte functie kunnen gebruiken in een deelalgoritme

Het begrip begrensde herhaling kunnen uitleggen

• Een begrensde herhaling in een NS-diagram kunnen voorstellen

Een begrensde herhaling in VBA kunnen invoeren

• Een probleem dat verschillende controlestructuren bevat kunnen oplossen met behulp van de stapsgewijze verfijning.

• “Patronen” in een opgave kunnen herkennen om op die manier efficiënt van de begrensde herhaling gebruik te kunnen maken

Hoofdstuk 4: de selectie

4.1 De selectie of keuzestructuur

Tot nu toe lagen alle opdrachten die in het algoritme uitgevoerd zouden worden, op voorhand vast. Het kan nu ook zijn dat, afhankelijk van bijvoorbeeld de invoer, of afhankelijk van verkregen informatie, er andere opdrachten genomen moeten worden. Daarvoor gebruiken we een nieuwe controlestructuur: de selectie of keuzestructuur.

Bijvoorbeeld:

Je hebt € 15 en je wil een CD kopen. Het zal afhankelijk zijn van hoeveel de gewenste CD kost of je hem al dan niet zal kunnen kopen.

-- CD-speurtocht --

prijs ≤ € 15

WAAR NIET WAAR

Koop de CD

Verlaat de winkel

De selectie werkt dus in feite als een wissel op een spoorweg: ze bepaalt in welke richting een programma verdergaat. Het verloop van het programma kan je op deze manier afhankelijk maken van een ingevoerde waarde of van het resultaat van een berekening.

4.2 Eenzijdige en tweezijdige selectie

4.2.1 Eenzijdige selectie

In het voorbeeld van de “CD-speurtocht” spreken we van een eenzijdige (of enkelzijdige) selectie. Het is een selectie waar enkel een opdracht uitgevoerd wordt als er aan de voorwaarde voldaan is. Is er niet aan de voorwaarde voldaan, dan wordt er niets uitgevoerd en gaat de sequentie waarin de selectie stond gewoon verder. Dit is de eenvoudigste vorm van de keuzestructuur.

In sommige eenvoudige programmeertalen is het enkel mogelijk om met eenzijdige selecties te werken.

Een eenzijdige selectie wordt in een Nassi-Schneidermann-diagram als volgt voorgesteld: voorwaarde

WAAR NIET WAAR

Opdrachten

De opdrachten bij een eenzijdige selectie worden altijd in het blok WAAR gezet, nooit in NIET WAAR. Desnoods moet je je voorwaarde maar wat aanpassen.

:

Opdracht 12

• Je krijgt korting op je aankoop als je meer dan 10 exemplaren van eenzelfde artikel koopt. Schrijf een programma dat vraagt hoeveel exemplaren je van een (niet nader bepaald) artikel hebt gekocht. Als dat er meer dan 10 zijn moet het programma daar naast schrijven “Je krijgt korting”. De celcursor komt onder het ingevoerde aantal.

• Maak het NS-diagram van dit algoritme. Deze opgave is zo eenvoudig dat verfijnen niet nodig is.

In document Algoritmen met Excel (pagina 40-46)