2005 / Vraag 9

Jaarvak op 7 studiepunten
Forumregels
Misschien werd je vraag al vorig jaar gesteld? Gebruik dus eerst de zoekoptie!

Er zijn formularia/samenvattingen aanwezig op de volgende link: viewtopic.php?f=19&t=93
Pieter
Regelmatig forumgebruiker
Regelmatig forumgebruiker
Berichten: 88
Lid geworden op: 17 dec 2007, 22:20
Contacteer:

2005 / Vraag 9

Berichtdoor Pieter » 31 jan 2008, 20:24

Toch nog maar eens proberen:
Weet iemand hoe je vraag 9 (berekenen van geheugengebruik) van examen 2005 oplost?
maxime
heeft den knop voor het posten van berichten gevonden!
heeft den knop voor het posten van berichten gevonden!
Berichten: 17
Lid geworden op: 11 dec 2007, 21:45

Re: 2005 / Vraag 9

Berichtdoor maxime » 31 jan 2008, 20:32

ja kzou da eig ook wel is duidelijk wille weten...
wim
Master in de forumwetenschappen
Master in de forumwetenschappen
Berichten: 1991
Lid geworden op: 27 dec 2007, 21:40
Locatie: Sint-Pieters-Woluwe

Re: 2005 / Vraag 9

Berichtdoor wim » 31 jan 2008, 21:35

Speciaal voor de laat-avond-studenten zal ik het ook eens proberen uit te leggen (gebaseerd op de uitleg van Tibi).
Verbeteringen zijn altijd welkom.

Hij zegt in zijn vraag dat een adres en een CARDINAL elk 4 bytes groot zijn. Op de volgende manier bereken je dan het geheugen nodig voor de verschillende procedures:

Search:
Return address, static & dynamic links: 3 * 4 bytes (dit zijn 3 adressen die moeten bijgehouden worden)
VAR parameter: 4 bytes (een VAR parameter is ook een adres)
CARDINAL parameter: 4 bytes
CARDINAL terugkeerwaarde: 4 bytes
2 lokale variabelen Min en Max: 2 * 4 bytes
TOTAAL: 32 bytes

Src:
Return address, static & dynamic links: 3 * 4 bytes
2 CARDINAL parameters: 2 x 4 bytes
TOTAAL: 20 bytes

Het gaat hier om het binary search algoritme, waarvan er gezegd is dat die log2(n) keer Src aanroept. n is hier 1000000.
Het totaal aantal bytes nodig voor het aanroepen van Search is dus:
32 + 20 * log2(1000000) bytes
= 32 + 20 * log2(10^6)
= 32 + 120 * log2(10)
= 32 + 120 * 4 (<- eerste gehele getal groter dan log2(10) )
= 512 bytes

Eigenlijk is dit het aantal extra bytes nodig voor de aanroep van Search.
Bij de grootte van het beschikbare geheugen dat nodig is om dit programma te draaien moet dan nog dat van de module Test10 geteld worden. In de vraag staat dat de module Test10 gezien mag worden als een procedure en heeft dus deze hoeveelheid geheugen nodig:

Test10:
Return address, static & dynamic links: 3 * 4 bytes
ARRAY[0..1000000] OF CARDINAL: 1000001 x 4 bytes (vergeet de 0 niet)
2 CARDINALs: 2 x 4 bytes
TOTAAL: 4000024 bytes

TOTAAL van het TOTAAL:
4000024 + 512 = 4000536 bytes

Eerlijk gezegd ben ik het niet eens met deze berekening, want ik heb nog geen enkel besturingssysteem gezien waar programma's zo in het geheugen staan, maar ik zal toch maar meedoen met wat onze professor zegt :)
Afbeelding
- I only wear my sunglasses at night -
Pieter
Regelmatig forumgebruiker
Regelmatig forumgebruiker
Berichten: 88
Lid geworden op: 17 dec 2007, 22:20
Contacteer:

Re: 2005 / Vraag 9

Berichtdoor Pieter » 31 jan 2008, 21:38

Heel hard bedankt:)
maxime
heeft den knop voor het posten van berichten gevonden!
heeft den knop voor het posten van berichten gevonden!
Berichten: 17
Lid geworden op: 11 dec 2007, 21:45

Re: 2005 / Vraag 9

Berichtdoor maxime » 31 jan 2008, 22:06

stomme vraag mss ma vanwaar die 3*4 int begin?
Simen
Beginnend forumgebruiker
Beginnend forumgebruiker
Berichten: 30
Lid geworden op: 28 nov 2007, 07:43

Re: 2005 / Vraag 9

Berichtdoor Simen » 31 jan 2008, 22:08

3*4 is standaard voor een procedure.
De drie impliceert de adressen die de procedure nodig heeft, de 4 komt van het aantal bytes 1 adres inneemt (uit het gegeven).
Gebruikersavatar
Ruben
Doctor in de forumwetenschappen
Doctor in de forumwetenschappen
Berichten: 4848
Lid geworden op: 20 dec 2007, 21:15
Locatie: Steenhuffel

Re: 2005 / Vraag 9

Berichtdoor Ruben » 31 jan 2008, 22:22

Nooit gedacht dat ik die vraag zou snappen, bedankt wim.
Ruben
Ruben - Delivering awesomeness since 1989
Aushim
Master in de forumwetenschappen
Master in de forumwetenschappen
Berichten: 2628
Lid geworden op: 23 nov 2007, 23:02
Locatie: Haren
Contacteer:

Re: 2005 / Vraag 9

Berichtdoor Aushim » 31 jan 2008, 22:44

Ik heb twee vragen, hopelijk kan iemand nog antwoorden...

Waarom is het aantal lokale variabelen 2 en niet 3 (min, max en m)?
Van waar kom die CARDINAL terugkeerwaarde?

EDIT: Oups, ik denk dat m je CARDINAL terugkeerwaarde is, niet waar?
wim
Master in de forumwetenschappen
Master in de forumwetenschappen
Berichten: 1991
Lid geworden op: 27 dec 2007, 21:40
Locatie: Sint-Pieters-Woluwe

Re: 2005 / Vraag 9

Berichtdoor wim » 01 feb 2008, 15:09

Sorry, het maakt inderdaad weeral niet meer uit, maar voor alle duidelijkheid: ik had de variabele m niet gezien :? Het totaal aantal lokale variabelen is dus 3. De CARDINAL terugkeerwaarde is de waarde die de functie Search op het einde geeft bij de RETURN.
Hopelijk hebben zij die dit topic hebben gelezen hun vraag op het examen goed beantwoord ;)
Afbeelding
- I only wear my sunglasses at night -
Gebruikersavatar
Tom V
Master in de forumwetenschappen
Master in de forumwetenschappen
Berichten: 2996
Lid geworden op: 28 nov 2007, 20:09
Contacteer:

Re: 2005 / Vraag 9

Berichtdoor Tom V » 01 feb 2008, 20:10

wim schreef:Hopelijk hebben zij die dit topic hebben gelezen hun vraag op het examen goed beantwoord ;)

Ik hoop alleszins dat gij die vraag op uw examen goed hebt beantwoord :D
Dit bericht kreeg een Chuck Norris quality label:

Afbeelding

Terug naar “Informatica”

Wie is er online

Gebruikers op dit forum: Geen geregistreerde gebruikers en 1 gast

cron