In het handboek zijn een zestal opgaven voorzien op het einde van het hoofdstuk (zie blz 97). De oefeningen 1,2,4,6 zijn opgelost op de CD-ROM. U kunt ze ook downloaden van deze website. Ook de tweede oefensessie bevat opgaven omtrent modulair programmeren.

501. Schrijf de functie converteer(getal, van, naar). De parameters van en naar kunnen zijn: centimeters, meters, inches. Dus, de functie converteer(100,"centimeter","meter") moet als waarde 1 teruggeven (een inch is gelijk aan 2.54 centimeter). [oplossing]

502. Bereken de jaarlijkse interest voor een in te geven kapitaal, rentevoet en looptijd. Schrijf de invoermodule zo dat de gebruiker na het ingeven van de drie gegevens deze kan controleren op het scherm met de mogelijkheid één of meerdere ervan te corrigeren.

503. Schrijf een algoritme dat berekent hoeveel wisselgeld een kassier moet teruggeven aan een klant. Niet enkel het totaal terug te geven bedrag moet worden afgedrukt maar het wisselgeld moet worden opgesplitst in de verschillende coupures (bijv. € 634,33 = 1 x 500 + 0 x 200 + 1 x 100 + 0 x 50 + 1 x 20 + 2 x 5 + 2 x 2 + 0 x 1 + 0 x 0,50 + 1 x 0,20 + 1 x 0,10 + 0 x 0,05 + 1 x 0,02 + 1 x 0,01). Ga uit van een terug te geven bedrag kleiner dan 1000 Euro.

504. U wilt het ‘Raad mij’-spelletje programmeren. De computer kiest een willekeurig getal tussen 1 en 100. Gebruik hiervoor de Excel VBA functie rnd(). U moet het zo snel mogelijk raden, waarbij de computer als tip ‘lager’,’hoger’ of ‘correct’ geeft. Verander daarna het programma zodanig dat u kunt kiezen wie er begint (u of de computer). Welke strategie ontwikkelt u voor de computer?

505. Schrijf een algoritme dat de metingen van een experiment inleest. De metingen zijn positieve getallen en de reeks wordt afgesloten met –1. In de rij metingen treden ‘runs’ op, dit zijn deelrijen stijgende getallen. Bijvoorbeeld:
3 5 9 12 6 7 9 13 1 2 4 7 –1
bevat drie runs. Het algoritme dient het aantal runs te berekenen en af te drukken.

506. ‘Ik denk aan een woord met zeven letters. Raad het!’. Schrijf een programma dat de gebruiker vraagt een brontekst (een zin of woord) in te voeren. Daarna moet het programma een doeltekst genereren en beide vergelijken. Als bron- en doeltekst gelijk zijn, moet het programma stoppen.
Tip

507. Verander de oplossing van oef4314 (vorige oefening) zodat u een afrond-functie verkrijgt. De functie heeft als invoerparameter een decimaal getal en geeft als uitvoerparameter een geheel getal, afgerond op de dichtstbijzijnde eenheid.

508. Schrijf de functie die een te betalen bedrag (inclusief BTW) berekent. De (invoer) argumenten zijn : het aantal stuks, de eenheidsprijs (exclusief BTW) en de BTW-code. Er zijn dus drie invoerparameters.

509. Schrijf de functie die de drie datumdelen (jaar-maand-dag) opvraagt en deze controleert op hun geldigheid. De functie aanvaardt alle jaren tussen 1980 en 2020. De maand moet uiteraard een geheel getal zijn tussen 1 en 12. Het maximum aantal dagen kan ofwel 28, 30 of 31 zijn afhankelijk van de maand (test daarop).

U dient geen rekening te houden met schrikkeljaren (m.a.w. februari telt altijd 28 dagen). De functie geeft 'waar' als resultaat als het een geldige datum betreft of 'onwaar' als de datumdelen een ongeldige datum opleveren.

510. U ontdekt een Excel-werkboek met de volgende gegevens in het bereik A2:P2.

n d q k h w q r j i o d x z h u

U vermoedt dat het hier om een gecodeerde boodschap gaat en uiteraard wil u deze ontcijferen! U beschikt over de twee functies: zetomNaarGetal en zetomNaarLetter. Deze staan in het handboek vermeld op blz 92-93.

511. Schrijf een functie die uit een in te lezen tekst alle spaties verwijdert. De invoerparameter moet zowel een tekst (string) kunnen zijn als een celreferentie.
Het laatste kunt u alleen testen bij het oproepen van de functie vanuit een werkblad. Gebruik de tekstfuncties op blz 95 uit het handboek. U hebt de LEN-functie en de MID-functie nodig.

512. Schrijf een functie die het einde van de maand berekent. De invoerparameter is dus een datum. De uitvoer is een datum die de laatste dag van de maand (van de invoerdatum) teruggeeft. U dient geen rekening te houden met schrikkeljaren. Bijvoorbeeld, als de invoerdatum 15/01/04 is dan is de uitvoerdatum 31/01/04.

513. Schrijf een functie die een getal vraagt aan een gebruiker (via de inputbox-functie). Indien de gebruiker geen getal ingeeft (maar bv. een tekst of niets), dient de functie de vraag opnieuw te stellen. Gebruik hiervoor de ingebouwde functie ISNUMERIC (zie boek blz 96).

514. Schrijf een functie die een celreferentie vraagt aan een gebruiker via de inputbox-methode. Gebruik hiervoor de methode Application.InputBox. Zie blz 56 handboek voor een summiere uitleg of zoek in de Help-functie.

515. Schrijf een functie die op basis van een bedrag en een munteenheid (USD of JPY), het equivalent in euro berekent. Roep de functie op in een Excel werkblad. Maak zelf enkele uitbreidingen op deze oefening!

516. Teken het PSD dat de som maakt van 10 op te vragen getallen. Enkel als het getal oneven is, telt het mee. Gebruik een functie om te bepalen of een getal even of oneven is. Teken eerst het PSD voor de functie "bepaalOneven" en nadien het PSD voor het opvragen van de getallen.

©  H. Schouppe
Laatste wijziging: 2004-05-12