• No results found

Structuur van Computerprogrammas 1 proefexamen 2010 2011

N/A
N/A
Protected

Academic year: 2021

Share "Structuur van Computerprogrammas 1 proefexamen 2010 2011"

Copied!
2
0
0

Bezig met laden.... (Bekijk nu de volledige tekst)

Hele tekst

(1)

STRUCTUUR VAN COMPUTERPROGRAMMA’S I

Tussentijdse evaluatie - 4 november 2010

Eerste bachelor computerwetenschappen + eerste bachelor wiskunde + schakelprogramma's

Dit examen is gesloten boek. Neem voor elke vraag een volledig nieuw blad en schrijf op elk blad

je naam, richting en het nummer van de vraag.

Veel succes!

Vraag 1 theorie: procedurele abstractie

a) Waarom is het mechanisme van proceduredefinitie en procedureoproep een abstractiemechanisme (en niet ‘maar’ een combinatiemechanisme)? b) Wat is het nut van parameters in een functie of proceduredefinitie? c) Wat is het verschil tussen formele en actuele parameters?

Vraag 2 recursie/iteratie

a) De produkten in een supermarkt worden gescand en in een lijst doorgegeven aan het kassasysteem. Een lijst van gescande produkten ziet er als volgt uit: ((brood 2 1.9) (zalm 1 5.5) (spa 3 0.7))

waarbij het eerste element in elke deellijst de naam van een produkt is, het tweede element is het aantal dat van dat produkt wordt gekocht en het laatste is de eenheidsprijs van het gekochte produkt. Schrijf nu een functie (maak-rekening lijst) die een dergelijke lijst als invoer neemt en als resultaat de totale prijs teruggeeft. Bijvoorbeeld:

(maak-rekening ‘((brood 2 1.9) (zalm 1 5.5) (spa 3 0.7))) => 11.4

b) Levert je oplossing voor a) een recursief of iteratief proces? Leg in je eigen woorden uit waarom je dit antwoord geeft (argumenteer bondig). Schrijf de andere versie voor a.

Vraag 3 hogere orde

a) Schrijf een procedure (bereken f l) die als eerste parameter een functie van twee argumenten neemt, en als tweede parameter een lijst l, en als resultaat een nieuwe lijst genereert door telkens de functie f op 2 opeenvolgende elementen van de oorspronkelijke lijst l toe te passen. Schematisch:

(e1    e2    e3  ...  en-­‐1    en)  =>  (f(e1,e2)    f(e2,e3)  ...  f(en-­‐1,en))  

 

b) Gebruik bereken om een functie gemiddelde-snelheden te definiëren, die als input een lijst van snelheden krijgt, en resulteert in een lijst van de gemiddelden van telkens twee opeenvolgende snelheden uit de inputlijst. Bijvoorbeeld:

(gemiddelde-snelheden '(70 90 110 60 50 70)) => (80 100 85 55 60)

c) Maak gebruik van de procedure bereken om een procedure snelheids-verschillen te definieren die een lijst van opeenvolgende maximaal toegelaten snelheden langs een route als invoer neemt en als resultaat een lijst van snelheidstoenames (of afnames) teruggeeft door telkens het verschil te maken tussen de volgende en de vorige snelheid. Bijvoorbeeld: (snelheids-verschillen '(70 90 110 60 50 70))

(2)

Vraag 4 Omgevingsmodel

a) Peter moet in zijn toepassing regelmatig een getal delen door een constante. Hij besluit om als volgt te werk te gaan:

(define n 3) (define (deel x) (/ x n))

Hij test deze code even uit: >>>(deel 15) 5

Vervolgens schrijft hij de volgende definitie om het gemiddelde van 2 getallen te berekenen: (define (gemiddelde x y)

(let ((n 2))

(deel (+ x y))))

Als hij dan zijn code test, krijgt hij 5 in plaats van de verwachte 7.5: >>>(gemiddelde 5 10)

5

Beschrijf in detail welke omgevingen er in welke volgorde gecreëerd worden om dit resultaat te bekomen. Beschrijf in enkele zinnen wat er verkeerd loopt.

b) Peter denkt het probleem gevonden te hebben en herschrijft zijn procedure gemiddelde als volgt:

(define (gemiddelde x y) (define (deel x) (/ x n)) (let ((n 2))

(deel (+ x y))))

Opnieuw test Peter zijn procedure gemiddelde uit: >>>(gemiddelde 5 10)

Wat is het resultaat van deze procedureoproep? Beschrijf opnieuw aan de hand van omgevingen hoe dit resultaat bekomen wordt en leg uit waarom.

Referenties

GERELATEERDE DOCUMENTEN

Als u uw stem aan de CHU geeft, moet u weten vanuit welke achtergrond de CHU werkt en voor welke practische punten zij zich de komen- de vier jaren zal inzetten. Dit zijn een

In onderstaande tabel staan de parameters die ten grondslag liggen aan

[r]

De ‘bloeirijpheid’ correleerde in experimenten met Vriesea splendens (Zimmer 1964, 1986) en Tillandsia brachycaulos (Cervantes et al., 2005) met een kritisch minimum

In 2004 is de totale exportwaarde van snijbloemen, pot- en tuinplanten gestegen met 2,3% tot 4.663 miljoen euro (tabel 8.3).. Dat geldt niet voor pot-en tuinplanten waar in

Met deze en andere, nog verder te ontwikkelen maatregelen zetten de provincies zich in voor een gunstig vestigingsklimaat voor de noordelijke glastuinbouw, met

Projectleiders, coaches, vrijwilligers en deelnemers van Buurtcirkels kunnen het kwadrant gebruiken om te analyseren welke elementen bestaande cirkels hanteren of juist nog missen

The upper panel shows the results obtained selecting the parameter using the L-curve and the cross validation (log ( λ ) ∈ [ 0, 9 ] ).. The lower panels reproduce the L-curve