• No results found

Imperatief Programmeren, toets 1 (INFOIMP) 22 september 2004

N/A
N/A
Protected

Academic year: 2021

Share "Imperatief Programmeren, toets 1 (INFOIMP) 22 september 2004"

Copied!
3
0
0

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

Hele tekst

(1)

Departement Informatica en Informatiekunde, Faculteit B`etawetenschappen, UU.

In elektronische vorm beschikbaar gemaakt door de TBC van A−Eskwadraat.

Het college INFOIMP werd in 2004/2005 gegeven door Jeroen Fokker.

Imperatief Programmeren, toets 1 (INFOIMP) 22 september 2004

Opgave 3 en 4 vragen een stukje programma.

Kleine schrijffoutjes (hoofdletters, puntkomma’s enz.) worden niet streng afgerekend, maar de elementen die de structuur van het programma bepalen (haakjes, accolades, aanhalingstekens enz.) zijn wel belangrijk. Schrijf die dus duidelijk en op de goede plaats op!

Het is toegestaan (maar niet nodig) om Java-constructies die (nog) niet zijn behandeld toch te gebruiken.

Opgave 1 (2 punten)

De volgende methode haalt een waarde aantal uit de HTML-file, die een aantal schapen voorstelt.

De methode toont het aantal poten dat deze schapen samen hebben, horizontaal ongeveer midden in het scherm. Er zitten echter een aantal fouten in het programma.

public void paint(g) { int x, y, n, p;

n = this.getParameter("aantal");

p = 4 * n;

x = 0.5 * this.getWidth();

g.drawString( p, x, 100 );

}

a) Wat is er fout in de header van de methode, en hoe kan dat verbeterd worden?

b) Wat is er fout in de toekenning aan n, en hoe kan dat verbeterd worden?

c) Wat is er fout in de toekenning aan x, en hoe kan dat verbeterd worden?

d) Wat is er fout in de laatste methode-aanroep, en hoe kan dat verbeterd worden?

e) Hoe ziet de HTML-code eruit, die deze applet op het scherm zet en het aantal poten van 25 schapen uitrekent?

Opgave 2 (2 punten)

Hieronder staan zestien fragmenten uit een programma (in een blok van 4 bij 4). Schrijf op je antwoordblad ook een blok van 4 bij 4 vakjes, en zet in elk vakje een letter passend bij het overeenkomstige fragment:

• Een T als het programmafragment een type is

• Een E als het programmafragment een expressie is

• Een O als het programmafragment een opdracht is

• Een D als het programmafragment een declaratie is

int x=5+2; Color.blue return 5;

"int" x==5+2 Color blue; boolean five;

int x x//=2; Color 5

(int) x x%=2 new Color(0,0,0) false

(2)

Opgave 3 (3 punten)

Een benadering van de sinus van een (re¨eel) getal x kun je berekenen door:

x 1!−x3

3! +x5 5! −x7

7! +x9 9! −x11

11! + . . .

Let op: de termen worden dus afwisselend bij het resultaat opgeteld en afgetrokken. Het resultaat is ook weer een re¨eel getal. De notatie “5!” betekent “5 faculteit”, dat is alle getallen van 1 tot en met 5 met elkaar vermenigvuldigd.

Schrijf een methode sinus die deze benadering uitvoert door 20 van deze termen te sommeren, en de waarde als resultaat oplevert.

Het is hierbij niet toegestaan om de bestaande methodes, zoals cos en sin en pow, uit de klasse Math te gebruiken. Ook is het niet toegestaan om alle 20 termen helemaal uit te schrijven.

Je mag, maar hoeft niet, hierbij wel zelf extra hulp-methoden defini¨eren.

Opgave 4 (3 punten)

Schrijf een complete applet met de volgende werking. Je hoeft alleen de Java-file te schrijven, en je mag daarin de import-regels weglaten.

Op het scherm zijn twee tekstvelden te zien, waarin de gebruiker een getal kan intikken.

Aan het begin zijn automatisch al de getallen 5 en 7 ingevuld.

Daaronder worden twee torens getekend, met het door de getallen aangegeven aantal verdiepingen.

Elke verdieping bestaat uit een balk, met twee spitsen aan de uiteinden.

Het bovenste plaatje hieronder laat de beginsituatie zien.

Als de gebruiker de getallen in de tekstvelden aanpast en op Enter drukt, moet het plaatje angepast worden aan het nieuwe aantal verdiepingen.

Onder staat bijvoorbeeld het plaatje met 10 en 2 verdiepingen.

Je mag er zonder controle van uitgaan dat de gebruiker alleen getallen intikt, die niet kleiner zijn dan 0, en niet groter dan 10. De basis van de torens is 200 beeldpunten breed.

Vermijd in dit programma om (ongeveer) dezelfde code meerdere malen op te schrijven, als dat met behulp van de mechanismes die Java daarvoor biedt kan worden vermeden.

(3)

Referenties

GERELATEERDE DOCUMENTEN

Deze methode levert een nieuwe string op, waarin elk voorkomen van het character dat als eerste parameter wordt meegegeven, is vervangen door het character dat als tweede

Zie het tweede plaatje: er is tweemaal op de knop geklikt, en er zijn dus een zwarte buitenring, een donkergrijze band, een lichtgrijze band, en een witte kern. Op het derde plaatje

Het antwoord op dit onderdeel heeft dus een vaste vorm: voor elk van de zes variabelen x1 t/m x6 het woord sub, super, impl of prim, met daarachter de naam van de klasse, interface,

b) Welke relatie bestaat er tussen het begrip klasse en het begrip object ? En welke tussen het begrip klasse en het begip methode?.. Wat is het verband tussen die

De methode sluit test of speler kleur, door te zetten op veld (x, y), ´ e´ en of meer stenen van de tegenstander insluit in de richting (dx, dy), waarbij dx en dy −1, 0 of 1 zijn?.

Deze methode levert 0 op als de string die door de methode onder handen wordt genomen, en de string die als parameter wordt meegegeven, precies gelijk zijn.. De methode levert

In het tweede plaatje heeft de gebruiker driemaal op de knop gedrukt, en zijn er rond elk steentje dus vier kringen zichtbaar. In het derde plaatje heeft de gebruiker tienmaal op

die, gegeven een tekst die uit door spaties en regelovergangen gescheiden woorden bestaat, diezelfde tekst teruggeeft met daarin de eerste letter van elk woord door de