Informatica, deel 1: antwoorden oude examenvragen.

advertisement
Informatica, deel 1: antwoorden oude examenvragen.
SOCS
1. Hoe komt het dat het trager gaat om informatie van een diskette te halen dan van de harde
schijf?
Bij een diskette staan de schrijf- en leeskop in rechtsreeks contact met de schijf, om slijtage te
voorkomen draait de schijf enkel wanneer ze geraadpleegd wordt. Het opstarten van de schijf
zorgt voor een wachttijd van 0.5-2 seconden
2. Hoe komt het dat men meer informatie kan opslaan op een harde schijf da, op een diskette?
Een harde schijf bestaat uit meerdere aluminium schijfjes met elk 2 magnetiseerbare toplagen,
dit zorgt voor grote opslagcapaciteit. Harde schijven moeten niet verplaatst worden en mogen
daarom fragiler zijn en dus ook beter gecomprimeerd. (De leeskop kan veel preciezer lezen door
het vaste aangrijpingspunt. De motor mag sneller draaien dan bij de diskette want er is hier geen
aanraking en dus geen brandgevaar.)
3. Wat zouden de gevolgen zijn indien IBM zijn pc’s geheim zou hebben gehouden?
Leg ook de wet van Moore en bijhorende wet van Nathan uit.
Er zouden geen andere compatibele computers met de IBM-pc zijn en dus minder
concurrentiestrijd (enkel met Apple). Pc’s zouden waarschijnlijk duurder zijn en er zouden minder
sterke ontwikkelingen zijn gebeurd.
Wet van Moore: Het aantal transistors per chip en dus de rekenkracht verdubbelt elke 18
maanden. Deze wordt in stand gehouden door een cyclus (nieuwe technologieën brengen
nieuwe mogelijkheden), door de wet van Nathan en door de concurrentiestrijd.
Wet van Nathan: Software is een gas, het vult het recipiënt waarin het zich bevindt. D.w.z.
programma’s waaraan steeds meer mogelijkheden worden toegevoegd, versterken voortdurend
de vraag naar meer geheugen.
4. Zoek de foute bit in het codewoord. Bij welk opslagmedium wordt dit het meest gebruikt?
101001010010101001
Parity bits
101001010010101001 oneven: fout
101001010010101001 oneven: fout
101001010010101001 oneven: fout
101001010010101001 even: juist
101001010010101001 oneven: fout
1+2+4+16=23 bit is fout (zogezegd, vb klopt niet helemaal)
Cachegeheugen (omdat dit een kopie is van het hoofdgeheugen), optische en magnetische
schijven (er moet maar een kras of stroomstoring met magnetisatie zijn of er treedt al een fout
op).
5. Wat zijn de voor- en nadelen van de microcode?
Voordelen:
- Instructieset gescheiden van ontwerp van de microprocessor
-
Veel beperktere verzameling van instructies
Eliminatie van enkele fetch-decode-execute-cycli: de instructies worden in 1 keer opgehaald
en de microcode kan dan 1 voor 1 telkens het datapad doorlopen, waardoor men maar 1
keer de fetch-decode-execute-cyclus moet uitvoeren en gewoon meerdere keren het
datapad.
- Achterwaartse compatibiliteit: de oude instructiesets kunnen nog steeds gebruikt worden
want de microprocessor moet enkel de oude instructies vertalen naar zijn nieuwe microcode.
Nadelen:
- Extra vertaalstap nodig  trager: het duurt langer door het ophelen van de instructies uit
het geheugen.
6. Zijn convergentieproblemen bij LCD-schermen mogelijk?
Nee, enkel bij CRT-schermen. CRT-schermen werken met een kathodestraalbuis: een
elektronenstraal wordt afgevuurd door een kathode op een fosforescerend beeldvlak. Bij een
kleurenscherm zijn er 3 elektronenstralen (voor elke kleur 1). Als de 3 elektronenstralen een
beeldelement afbeelden op een verschillende plaats op het beeldvlak dan worden de 3
kleurencomponenten van het beeld lichtjes t.o.v. elkaar verschoven zodat er een
regenboogeffect ontstaat, dit zijn convergentieproblemen. Aangezien een LCD-scherm werkt met
vloeibare kristallen waardoor een stroom wordt gestuurd en niet met elektronenstralen, is er bij
LCD-schermen geen sprake van convergentieproblemen.
7. Beargumenteer: de ruimte op een harde schijf wordt onefficiënt gebruikt.
De ruimte op een harde schijf wordt nooit volledig benut. Er zijn 2 strategieën, constante of
variabele frequentie. Bij constante frequentie neemt de afstand tussen 2 bits sterk toe met de
afstand tot de as, het aantal bits dat per omwenteling voorbijkomt blijft constant. Bij variabele
frequentie is een schijf ingedeeld in zones. Per zone blijft het aantal sectoren per spoor constant.
Ook hier wordt de maximale ruimte niet benut omdat de bits op de buitenste sporen van een
zone verder uit elkaar staan dan nodig.
8. Stel je bent producent van microprocessors, wat bepaalt welke instructieset je gebruikt?
De software, dus welke programma’s je gebruikt.
9. Waarom is 1 kilobyte gelijk aan 1024 bytes en niet 1000 bytes?
Omdat adressen binair worden opgeslagen, zal het aantal cellen in een geheugen steeds gelijk
zijn aan een macht van 2. 1024 = 210
10. Wat is de functie van transistoren bij een TFT-scherm?
Per beeldelement beschikt een TFT-scherm over een aparte transistor. De transistors zorgen voor
de nodige stroom op de kristallen zodat hun moleculaire structuur wordt verbroken en de
polariteit van het licht ongewijzigd blijft (bij geen stroom draait de polariteit van het licht 90°). De
voorste polaroidplaat zal dan het licht dat door de achterste doorgelaten werd, tegenhouden.
11. Toon aan dat de formule van Hamming 2n ≥ m+n klopt. M is het aantal bits en n het aantal
parity bits.
–Een combinatie van n parity bits kan 2n plaatsen aanduiden want het kan 2n waardes aannemen.
-Er kunnen in het codewoord m+n fouten zitten, namelijk het totaal aantal bits. Dit is de lengte
van het woord.
-Om alle fouten te kunnen aanduiden zal 2n dus groter dan of gelijk moeten zijn aan m+n.
12. Hoe kunnen pc’s van één generatie compatibel zijn met hun voorgangers?
Door een gepaste vertaalstap naar hun eigen microcode.
13. Hoe zou de computerwereld er volgens u uitzien als halfgeleiders nooit waren uitgevonden?
Als halfgeleiders nooit waren uitgevonden, zouden transistors en chips niet bestaan. Computers
zouden dan nog steeds reusachtig zijn met duizenden snoeren en contacten. Computers zouden
enkel gebruikt worden voor zeer grote doeleinden of de technologie zou uitgestorven zijn zodat
we geen informaticarevolutie hebben gehad.
14. Wat zorgt voor de schakeling tussen hardware en software? Instructieset of microcode?
Microcode, de machinetaal wordt geïnterpreteerd door de microcode, dat dan direct door de
hardware wordt uitgevoerd.
15. Wat is het verschil tussen een coprocessor en een versneller?
Een coprocessor worden de instructies van de grafische kaart op het niveau van de
sturingsprogramma’s al gescheiden en neemt alle opdrachten van de grafische kaart voor zijn
rekening zodat de CPU er niets meer mee te maken heeft. Een coprocessor kan ook
geprogrammeerd worden.
Een versneller is een afgeslankte versie van de coprocessor. Een versneller kan niet
geprogrammeerd worden, maar ontvangt opdrachten van de CPU en voert ze uit. Zo is de CPU
nog steeds verantwoordelijk voor het berekenen van het beeld maar delegeert de moeilijkste
taken.
16. Is convergentie bij zwart-wit CRT-schermen mogelijk?
Nee, bij zwart-wit CRT-schermen wordt er maar 1 elektronenstraal gebruikt. Bij
convergentieproblemen verschuiven de 3 kleurencomponenten licht t.o.v. elkaar doordat de 3
elektronenstralen een beeldelement op een verschillende plaats op het beeldvlak afbeelden. Dit
is dus niet mogelijk als er maar 1 elektronenstraal is.
17. Je krijgt de opbouw van een CD te zien.
A) Welk medium is dit?
B) Hoe worden de gegevens gelezen?
C) Hoe wordt het onderscheid tussen een 1 en een 0 gemaakt?
D) Is er een verband tussen de laser en de hoogte van de bultjes?
E) Is het nodig hier een foutencorrectie in te bouwen?
A) Optische schijf
B) De putjes in de polycarbonaatlaag zijn geschikt langs een continue spiraal die begint in de
buurt van het midden en uitwaaiert naar de rand. Bij het aflezen volgt een laser de spiraal langs
de polycarbonaatzijde, zodat hij de putjes in de reflecterende laag als bultjes ziet. De bultjes
hebben een hoogte gelijk aan een kwart van de golflengte van het laserlicht, zodat de stralen die
door een bultje gereflecteerd worden een faseverschuiving vertonen van precies een halve
golflengte t.o.v. het licht dat door de zones rond het bultje wordt weerkaatst. Beide signalen
interfereren, waardoor er minder licht wordt teruggestuurd naar de optische detector die
gemonteerd staat. Op die manier kan de Cd-speler het verschil zien tussen een bultje en een vlak
stuk.
C) De overgang van een bultje naar een vlak stuk of omgekeerd wordt geïnterpreteerd als een 1,
de afwezigheid daarvan een 0.
D) hoogte bultjes = ¼ golflengte laser
E) Ja, de kleinste kras die op de schijf komt te staan, kan al voor fouten zorgen.
18. Benoem alle delen en leg de werking van transistoren en elektrodenplaten uit.
Actieve matrix:
Per beeldelement beschikt een TFT-scherm over een aparte transistor. De transistors zorgen voor
de nodige stroom op de kristallen zodat hun moleculaire structuur wordt verbroken en de
polariteit van het licht ongewijzigd blijft (bij geen stroom draait de polariteit van het licht 90°). De
voorste polaroidplaat zal dan het licht dat door de achterste doorgelaten werd, tegenhouden.
De elektrodenplaten zorgen voor de elektrische signalen.
19. Er zijn 2 computers A en B. Sommige programma’s van A werken op B. Wat weet je over de
computers, instructieset en microcode?
A en B zijn compatibel. A is een oudere computer dan B. B beschikt over een geschikte vertaling
van de instructieset van A naar zijn eigen microcode.
20. Ontwerp een mechanisme voor een kleurenlaserprinter.
Tekening
21. Men heeft voor een byte 8 bits gekozen, is het nodig dat dit een macht van 2 is?
Nee, een byte hoeft niet uit 8 bits te bestaan. De reden om 8 bits te gebruiken is dat een byte
28=256 verschillende waarden kan bevatten, dit is net genoeg voor het aantal tekens van het
westerse geschrift. Deze waarde werd ingevoerd door IBM, door hun grote invloed hebben de
meeste producenten deze waarde overgenomen. (Een byte zou evengoed 9,10,11… bits kunnen
bevatten.)
22. Geef de grootte van een frame buffer voor een broodrooster met resolutie van 256 x 256 en
256 kleuren.
256 x 256 pixels x 1 byte/pixel (256 grijskleuren) = 28 x 28 bytes = 216 bytes = 216/210 KB = 26 KB =
64 KB
*In de grafische kaart (verbinding tussen computer en monitor)
*Computerinterface (verbinding met computer) en videointerface (verbinding met monitor)
*zie vraag 16
23. Kan ghosting voorkomen bij CRT-schermen?
Nee, ghosting komt enkel voor bij LCD-schermen omdat de beeldelementen zich moeten
herstellen. Ghosting is het fenomeen waarbij het eerst doorlopen beeldelement al teruggekeerd
is naar zijn oorspronkelijke toestand nog voor het laatste beeldelement doorlopen is.
24. Zijn RISC-processoren achtwerwaarts compatibel?
Ja, zijn instructieset wordt telkens meegenomen. Ze zijn echter niet compatibel met de oude
computers voor de opsplitsing RISC en CISC omdat bij het ontwerpen van RISC-processoren geen
rekening werd gehouden met al bestaand computerarchitecturen.
25. Wat is de minimale grootte van de frame buffer bij een schermresolutie van 1600 x 1200 voor
16 miljoen kleuren?
1600 x 1200 pixels x 3 bytes/pixel = 5 760 000 bytes = 5.5 MB
26. Bespreek: het binair talstelsel is het meest efficiënte.
Bijvraag: Je hebt 1 computer van Intel en 1 van AMD, met hetzelfde programmasysteem
(bijvoorbeeld Windows). Wat is er anders? Microprocessor of instructieset?
Er zijn slechts 2 spanningsniveaus die onderscheiden moeten kunnen worden. Zo blijft het
verschil tussen 2 opeenvolgende niveaus maximaal en is de kans op fouten minimaal.
*bijvraag: microcode (instructieset wordt bepaald door het programmasysteem)
27. Vergelijk een CD-RW met een ZIP-schijf.
ZIP
Opslagmedium
Magneetschijf
750 MB
Niet herschrijfbaar
Van de markt verdwenen
CD-RW
opslagmedium
Optische schijf
700 MB
herschrijfbaar
nog steeds aanwezig op de markt
28. Geef een evolutie, uitvinding… met een duidelijk commercieel gevolg.
System 360
-computerfamilie: compatibel
-multiprogramming: op elk moment kon het geheugen meer dan één programma bevatten
-kon ander systeem emuleren: kon programma`s verwerken die eigenlijk voor een ander(soms
verouderd)computersysteem zijn geschreven
-voor die tijd enorm geheugen: 16 MB
29. Wat zijn de voor- en nadelen van een microchip?
Voordelen: kleiner, sneller goedkoper
Nadelen: gevoelig voor oververhitting.
30. Is het kleurenstelsel van beeldschermen en printers dezelfde? Wat is er verschillend? Hoe
verkrijgt men rood bij een printer? Waarom?
Nee, bij beeldschermen wordt een additief kleurenstelsel gebruikt, bij printers een subtractief.
Additief: licht met verschillende frequenties worden opgeteld om een kleur te bekomen.
Subtractief: Er wordt gebruik gemaakt van de complementen van de basiskleuren die elk één van
de basiskleuren uitfilteren. Een bepaalde kleur wordt bekomen door basiskleuren van wit licht af
te trekken.
Rood verkrijgt men door magenta en gele inkt over elkaar op het papier te zetten. Cyaan inkt
wordt niet gebruikt want dat zou het rood licht uitfilteren.
31. Becommentarieer volgende stelling: de microcode werd misbruikt om rekenkracht te
verkrijgen.
Onjuist, zie vraag 32
32. Werd de microcode gebruikt om het systeem te versnellen? Waarom wel/niet?
Nee, maar wel om het systeem efficiënter te maken. Nieuwe technologieën konden makkelijker
ontwikkeld worden: radicaal nieuwe processorontwerpen konden compatibel gemaakt worden
met de oudere mits een geschikte vertaling naar hun eigen microcode.
33. Convergentie komt voor bij CRT-schermen. Bij welk printersoort kan een dergelijk probleem
voorvallen?
Bij laserprinters, voor kleur plaatsen ze in feite 4 printers achter elkaar: dit is te wijten aan het
feit dat de rollen niet goed tegenover elkaar afgesteld zijn.
34. Waarom wordt de leeskop bij een diskette tegen de schijf geplaatst en bij de harde schijf niet?
De schijf van een floppy kan soms schuin bewegen tijdens het draaien, als de schijf tegen de
leeskop is geplaatst, kan de leeskop de schijf goed volgen. De harde schijf zit vast in de processor
en kan dit niet voor hebben.
35. Zijn LCD-schermen ook rasterscanapparaten?
Ja, passieve matrixen zeker want er kan telkens maar één kruispunt van 2 draden opgelicht
worden. Bij actieve is het iets anders, indien de transistoren via een draadnet hun stroom krijgen,
zijn het ook rasterscans. Als elke transistor apart stroom krijgt van een onafhankelijke draad, zijn
het geen rasterscans. (Rasterscanapparaten zijn toestellen die een beeld lijn per lijn creëren.)
36. Stel je een theaterspot voor. Voor deze spot wordt een gekleurde plaat geplaatst zodat men
rood licht bekomt. Is dit een voorbeeld van additief of subtractief kleurgebruik?
Subtractief: een theaterspot zendt wit licht uit (bevat alle kleuren), de kleur die men wil
bekomen door er een gekleurde plaat voor het wit licht te zetten, wordt eruit gefilterd.
37. Bespreek het verschil tussen actieve en passieve matrix bij LCD-schermen.
Passief: Aan weerszijden van de vloeibare kristallen bevindt zich een net van evenwijdige
elektroden. Het voorste horizontaal, het achterste verticaal. Door precies 1 paar van deze draden
te activeren (1 van elke plaat), wordt er een elektrische stroom gestuurd doorheen de laag van
de kristallen, precies op de plaats waar beide stroomdraden elkaar kruisen. Op die plaats wordt
de polariteit van het licht niet meer gedraaid, en zal het licht door combinatie van de voorste en
achterste polaroidplaat tegengehouden worden. Wanneer de stroom wordt onderbroken, duurt
het even vooraleer de moleculaire structuur hersteld is. Als in die responstijd alle paren van
elektroden doorlopen worden, krijgt het menselijke oog de indruk dat er een volledig beeld op
het scherm staat.
Actief: Per beeldelement beschikt een TFT-scherm over een aparte transistor. Een erg kleine
elektrische impuls volstaat opdat de transistor de nodige stroom zou aanbrengen op de vloeibare
kristallen. Omdat de elektrische signalen zoveel kleiner kunnen zijn, duurt het veel minder lang
om alle beeldelementen te doorlopen en kan er dus gewerkt worden met kristallen van een
kortere responstijd.
38. Beschrijf het mechanisme van een kleurenlaserprinter.
Er zijn 2 manieren.
Eerste: werken met 1 printrol: het papier voor elke kleur een keer langs de printrol voeren. 4x
langer, goedkoop
Tweede: werken met 4 printrollen (en dus eigenlijk 4 laserprinters): elke printrol heeft zijn eigen
kleur en het hele traject kan in 1 keer afgelegd worden. Kortere afdruktijd, duur, zwaar
39. Op welk principe steunt het cachegeheugen?
Lokaliteitprincipe: erg vaak zijn de gevraagde gegevens en instructies in de loop van een
programma in de directe nabijheid van de laatst gebruikte gegevens en instructies in het
hoofdgeheugen opgeslagen.
40. Is de vraag of computer A compatibel is met computer B afhankelijk van of het een RISC of CISC
computer is?
Nee, enkel de instructieset moet min of meer overeen komen.
41. Zal een codewoord met de methode van Hamming ooit een lengte hebben van een macht 2?
Nee, want dan zou er op de laatste plaats een parity bit staan die de bits daarna moet
controleren maar die zijn er niet en dus zou die parity bit nutteloos zijn. (die is er dus ook niet)
JAVA
1. Leg uit: klasse. Waaruit bestaat het?
Een klasse is een groep van objecten. De klasse beschrijft de aard van het object. De objecten zelf
zijn opzichzelfbestaande exemplaren van de klasse.
Klassen bevatten velden, constructors en methodes die de toestand en het gedrag van objecten
bepalen.
2. Hoe kan men in Java objecten groeperen? Geef voor- en nadelen + voorbeelden.
M.b.v. collecties: collectieobjecten zijn objecten die een willekeurig aantal andere objecten
kunnen bevatten.
-(Array)List: collectieklasse uit de bibliotheekklasse van Java die een veranderlijke omvang heeft.
(memo’s)
Voordelen: interne capaciteit kan aangepast worden, eigen teller van het huidige aantal
opgeslagen items, houdt de volgorde van de items bij
-arrayobject: speciaal type collectie waarin een onveranderlijk aantal elementen kan worden
opgeslagen. (uren in een dag)
Voordelen: het benaderen van items is efficiënter, kunnen objecten of waarden van primitieve
types bevatten
Nadeel: onveranderlijk omvang
-map: Collectie waarin sleutel-waardeparen als records worden opgeslagen. De waarden kunnen
worden opgezocht aan de hand van de bijhorende sleutel. (telefoonboek: persoon – nummer)
Voordelen: waarden kunnen gemakkelijk gevonden worden a.d.v. de sleutel (en dus niet index)
-set: Collectie waarin elk afzonderlijk element slechts eenmaal kan worden opgeslagen. De set
houdt geen bepaalde volgorde in stand. (helpdesk: vraag zien als aparte woorden en die
woorden opslaan in een set)
Voordelen: geen bepaalde volgorde van de elementen, elk element komt maximaal 1 keer voor
3. Wat zijn lussen? Waarvoor worden ze gebruikt? Bespreek de eindigheid. Hoe kan je goed
design van lussen testen?
Lussen zijn methodes/mechanismen. Ze worden gebruikt om een reeks statements steeds
opnieuw uit te voeren, zonder dat de reeks steeds opnieuw geschreven hoeft te worden. De forlus en de for-each-lus doorlopen heel de collectie. De while-lus doorloopt een collectie zolang als
de booleaanse expressie waar is. Als de index op het einde van de body bij een while-lus niet
wordt opgehoogd, blijft de expressie waar en wordt de lus een oneindige lus. Hoe testen
4. Wat zou er gebeuren als private vervangen wordt door public?
Dat deel van de klasse is nu ook zichtbaar voor andere klassen, andere klassen kunnen dit stukje
broncode lezen en weten nu hoe dat stukje werkt.
5. Leg elke term van een klassendefinitie in Java uit.
1) Velden of instantievariabelen bevatten gegevens die door een object worden gebruikt.
2) Constructors worden gebruikt om een object op de juiste manier in te stellen wanneer het
wordt gemaakt.
3) Methodes: accessormethodes retourneren informatie over de toestand van het object en
mutatormethodes veranderen de toestand van het object.
6. Hoe wordt een lus gevormd? Bespreek voor- en nadelen.
- For-each-lus
Voordelen: itereren over alle elementen in een collectie
Nadelen: Houdt geen teller bij, enkel bruikbaar voor collecties
- For-lus
Voordelen: houdt een teller bij, handig als je op voorhand weet hoeveel iteraties je nodig hebt
- While-lus
Voordelen: handig als je niet weet hoeveel iteraties je nodig hebt
Nadelen: je moet zelf een variabele voor het indexnummer buiten de lijst declareren, deze
variabele moet je zelf initialiseren met de waarde 0, de waarde van de elementen moet je zelf
toekennen aan een variabele, je moet zelf een teller bijhouden, je moet zelf de tellervariabele
verhogen
7. Leg het verschil uit tussen attributen, parameters en lokale variabelen.
Attributen zijn instantievariabelen die gegevens bevatten die door een object gebruikt worden.
Hun levensduur is gelijk aan de levensduur van het object waartoe het behoort.
Parameters bevatten extra informatie voor een bepaalde taak, deze kan slaan op een constructor
of een methode, parameters komen overeen met een waarde. Hun levensduur blijft beperkt tot
1 aanroep van een constructor of methode.
Lokale variabelen worden gedeclareerd en gebruikt binnen 1 methode, hun levensduur is dan
ook beperkt tot die methode zelf.
8. Definieer kort: private, public, static en final.
Private: private elementen kunnen alleen worden benaderd vanuit dezelfde klasse
Public: publieke elementen kunnen ook worden benaderd vanuit andere klassen
Static: sleutelwoord dat klassenvariabelen definieert. Klassenvariabelen worden opgeslagen in de
klasse zelf en worden gemeenschappelijk door objecten van deze klasse gebruikt.
Final: sleutelwoord dat constanten definieert. Constanten zijn vergelijkbaar met variabelen maar
hun waarde kan tijdens uitvoering van een toepassing niet veranderd worden.
9. Leg itereren uit met de mogelijkheden en de voor- en nadelen.
Itereren = elementen van een collectie doorlopen. Mogelijkheden: 3 lussen + iteratorobject
Lussen: zie vraag 6
Iterator: voordeel: werkt voor alle collecties in de java klassenbibliotheek
In combinatie met for-lus: om elementen tijdens het itereren te verwijderen
In combinatie met while-lus: om de uitvoering van de lus te kunnen beëindigen nog voor het
einde van de collectie bereikt is: de gehele lusindexvariabele (om de positie in de lijst bij te
houden) wordt vervangen door een iteratorobject.
10. Bespreek sets, maps, HashSets, HashMaps. Wat zijn hun verbanden?
Sets en maps zijn collecties. HashSets en HashMaps zijn specifieke collecties hiervan. Set en map
geven aan welke gegevens de klasse opslaat. Hash- geeft de manier aan waarop dit gebeurt.
Uitleg set en map, zie vraag 2.
11. Bij methode heb je argumenten, parameters, lokale variabelen en returnwaarden. Bespreek
deze elementen en geef voorbeelden. Is er een verschil bij deze elementen als men objecten of
primitieve waarden gebruikt?
Argument = header, signatuur van de methode: bevat informatie nodig om de methode aan te
roepen
Algemeen uitzicht: public/private typMethode naamMethode (typeParameter
naamParameter)
Parameters: bevatten aanvullende informatie voor een bepaalde taak, staan op het einde van
het argument tussen haakjes, ze komen overeen met een waarde, die waarde moet in het begin
van de methode toegekend worden door de gebruiker, hun levensduur blijft beperkt tot 1
aanroep van de methode
Vb: … (int uur)
Lokale variabelen: variabele die binnen de methode (dus in de body) gedeclareerd en gebruikt
wordt, levensduur blijft beperkt tot die methode
Vb: public int refundBalance ()
{int amoundToRefund;
amountToRefund = balance;
balance = 0;
return amountToRefund;}
returnwaarden:
12. Wat is het voordel van klasse georiënteerd programmeren? Hoe ziet een klasse eruit?
Klasse georiënteerd programmeren: zwakke afhankelijkheid (inkapseling, wijzigingen lokaal
houden), sterke cohesie (ontwerpen op basis van verantwoordelijkheden): Dankzij een goede
klassenontwerp maakt het gemakkelijker wanneer een toepassing gewijzigd, gecorrigeerd of
uitgebreid moet worden. Het biedt ook de mogelijkheid om onderdelen van de toepassing in
andere contexten (bijvoorbeeld voor andere projecten) opnieuw te gebruiken.
13. Wat wordt er bedoeld met cohesie en koppeling van klassen? Waarom? Hoe kunnen we dat
bekomen?
Een sterk coherente klasse heeft de verantwoordelijkheid voor een goed afgebakende entiteit.
Elke methode in die klasse staat in voor een duidelijke, afgebakende taak. Met de koppeling van
klassen bedoelt men de afhankelijkheid, de onderlinge verbondenheid van klassen. We streven in
ons ontwerp naar een sterke cohesie en een zwakke afhankelijkheid. Sterke cohesie kunnen we
bekomen door ontwerpen op basis van verantwoordelijkheden: elke klasse implementeert een
taak van een toepassing. Zwakke afhankelijkheid wordt bekomen door inkapseling: enkel de
informatie over wat een klasse kan doen zou zichtbaar mogen zijn (interface) en niet hoe de
klasse dat doet (implementatie) en door wijzigingen lokaal te houden: een wijziging in de ene
klasse moet een minimaal effect hebben op een andere klasse. Waarom: zie vraag 12
14. A) Wat hebben we gezien zodat er in software zo min mogelijk fouten komen?
B) Als er dan toch fouten zijn, hoe kan je die opsporen?
A) sterke cohesie en zwakke afhankelijkheid
B) testen van componenten, positief testen, negatief testen, regressietests, automatisering van
tests, object inspectors gebruiken, testklassen, debuggen, handmatig de code doorlopen,
afdrukstatements
Download