Opgaven 25 maart 2000

Tweede ronde Nederlandse Informatica Olympiade.

Inhoud:

Inleiding Blz. 1

Een voorbeeldprogramma met in- en uitvoerbestanden Blz. 2

Opgave 1. Eenendertigen Blz. 4

Opgave 2. Tekst voorspellen door letters tellen? Blz. 7

Inleiding

Je krijgt vandaag twee opgaven, elk met een aantal onderdelen. Bestudeer die goed, en probeer zoveel mogelijk deelprogramma’s te maken. Waarschijnlijk zal niemand alle onderdelen af kunnen krijgen binnen de tijd!

De uitslag van vandaag kun je ook niet vergelijken met die van een proefwerk of examen. Het is een selectieronde, waaruit maar weinig deelnemers zich kunnen plaatsen voor het vervolg.

Opdracht

Je krijgt opdrachten die uit meerdere delen zijn opgebouwd. Voor alle delen kun je punten verzamelen. Als je voor een deelopdracht niet snel een oplossing weet kun je deze altijd overslaan en met de volgende verder gaan. Alle deelopdrachten worden namelijk apart beoordeeld.

Let op dat je je precies aan de instructies in de opdracht houdt. Als er staat dat je twee regels met op elke regel een getal moet uitvoeren, moet je dit ook precies doen. Eén regel wordt fout gerekend; drie regels wordt ook fout gerekend.

Je programma

De programma's die je schrijft moet je bewaren en inleveren onder de aangegeven naam. De extensie is afhankelijk van de programmeertaal die je gebruikt:

.BAS Basic bestand

.PAS Pascal bestand.

CPP C++ programma.

C C programma

Je moet van je programma ook een gecompileerde versie (.EXE bestand) inleveren. Dit is het programma dat gejureerd zal worden. Let er op dat je altijd je laatste versie compileert!

In- en uitvoer

Alle programma's die je schrijft krijgen hun invoer uit een tekstbestand. De invoer zal altijd goede invoer zijn die voldoet aan de beschrijving van de opdracht. Je hoeft niet te controleren op correctheid van de invoer, behalve wanneer dat in de opdracht gevraagd wordt. Let op dat je programma leest uit het bestand dat in de opgave genoemd wordt!

Je programma moet de uitvoer naar een tekstbestand schrijven. Eventuele uitvoer naar het scherm wordt niet beoordeeld. Let op dat het programma de oplossing schrijft naar het bestand dat in de opgave genoemd wordt!

Je programma mag niet wachten op invoer van het toetsenbord. Tijdens het jureren wordt geen invoer gegeven. Een programma dat oneindig lang blijft wachten op invoer van het toetsenbord zal dus 0 punten halen.

Een eigen uitvoerbestand.

In één geval (onderdeel 2G) wordt een eigen uitvoerbestand van je gevraagd. Zorg ervoor dat je ook dat onder de aangegeven naam bewaart!

 

De unit CRT in Turbopascal

Gebruik van de unit crt in Turbopascal levert op snelle computers vaak een foutmelding (division by zero). Je hebt deze unit voor geen van de te schrijven programma’s nodig. Liever niet gebruiken dus!

Testen

Voor iedere opgave zijn testbestanden met voorbeeld invoer beschikbaar. De naam van het testbestand staat bij de opgave gegeven. In de deelopgaven staat ook aangegeven hoe de uitvoer er uit zou moeten/kunnen zien.

Er zijn testprogramma's aanwezig die je kunt gebruiken om je programma op te starten. Deze programma’s zorgen ervoor dat je programma de goede invoer krijgt. Let op dat deze programma's niet controleren of de uitvoer ook correct is.

Inleveren

Je moet je programma inleveren op twee identieke diskettes. Op de diskette moet zowel de broncode van je programma staan, als het gecompileerde .EXE bestand. Op het etiket van de diskettes moet je je naam, adres en eventueel inlognummer schrijven. Op de derde diskette die je krijgt mag je je werk mee naar huis nemen.

Jurering

De jurering vindt automatisch plaats op een Pentium II-266. Bij elke opgave wordt een tijdslimiet gehanteerd. Hierbij wordt ook van deze Pentium II-266 uitgegaan. Als je programma meer tijd nodig heeft dan de tijdslimiet krijg je geen punten voor de uitgevoerde test.

Succes!!

 

Een voorbeeldprogramma met in- en uitvoerbestanden.

Opgave:De eerste regel van het bestand INPUT.TXT bevat het aantal n aan vrachtwagens dat gesorteerd moet worden (1 £ n £ 10). Elk van de volgende n regels beschrijft een vrachtwagen door een tekst van minstens 1 en hoogstens 20 kleine letters (van 'a' tot en met 'z').

Het gewicht van een vrachtwagen wordt bepaald door de lengte van de gegeven tekst. Alle vrachtwagens verschillen van elkaar in gewicht.

Op de eerste regel van het bestand OUTPUT.TXT moet je programma het gewicht van de lichtste en het gewicht van de zwaarste vrachtwagen schrijven. Op de volgende n regels moet het de ingevoerde teksten schrijven in volgorde van oplopend gewicht, één tekst per regel.

Een voorbeeld van in- en uitvoer:

INPUT.TXT

OUTPUT.TXT

4

aabbcc

klm

z

ns

1 6

z

ns

klm

aabbcc

Hieronder zie je in elk van de drie talen hoe je in een programma invoer kunt inlezen uit een bestand INPUT.TXT en uitvoer kunt wegschrijven naar een bestand OUTPUT.TXT

 

Programma in Turbo Pascal:

var inp, out: text;

n, i, wl, wh: integer;

s: array[1..10] of string[20];

begin

assign(inp,'INPUT.TXT'); reset(inp);

assign(out,'OUTPUT.TXT'); rewrite(out);

readln(inp,n);

for i:=1 to n do readln(inp,s[i]);

...

writeln(out,wl,' ',wh);

for i:=1 to n do writeln(out,s[i]);

close(out)

end.

Programma in Turbo C++:

#include <fstream.h>

ifstream inp ("INPUT.TXT");

ofstream out ("OUTPUT.TXT");

int n, i, wl, wh;

char s[11][21];

int main()

{ inp >> n;

for (i=1; i<=n; ++i) in >> s[i];

...

out << wl << ' ' << wh << '\n';

for (i=1; i<=n; ++i) out << s[i] << '\n';

return 0;

}

Programma in QuickBasic:

OPEN "INPUT.TXT" FOR INPUT AS #1

OPEN "OUTPUT.TXT" FOR OUTPUT AS #3

DEFINT A-Z

DIM s(1 TO 10) AS STRING

INPUT #1, n

FOR i=1 TO n

INPUT #1, s

NEXT i

...

PRINT #3, wl; wh

FOR i=1 TO n

PRINT #3, s

NEXT i

END

 

Opgave 1. Eenendertigen.

Bij het kaartspel eenendertigen worden van een kaartspel 32 kaarten gebruikt, de aas tot en met de zeven van klaveren, ruiten, harten en schoppen. Iedere speler (er zijn minstens twee en minder dan tien spelers) krijgt drie kaarten; op tafel komt de pot te liggen, die ook bestaat uit drie kaarten. De pot ligt open, dus de kaarten ervan zijn voor alle spelers zichtbaar. Doel van het spel voor een speler is het halen van zoveel mogelijk punten; zodra één van de spelers 31 punten heeft gehaald is het spel afgelopen. Je mag om beurten één van je kaarten ruilen met één van de kaarten van de pot; als je niet wilt ruilen moet je passen, daarna kom je niet meer aan de beurt. Als alle spelers op één na gepast hebben mag de laatste speler nog eenmaal een kaart ruilen.

De kaarten hebben de volgende waarde:

Aas 11

Heer 10

Vrouw 10

Boer 10

Tien 10

Negen 9

Acht 8

Zeven 7

Alleen de punten van kaarten van dezelfde soort (schoppen, harten, ruiten of klaveren) mag je bij elkaar optellen. Soms kun je dan op verschillende puntenaantallen uitkomen, afhankelijk van welke soort je telt. Zo heb je met schoppenaas, harten zeven en harten acht 11 punten als je van de schoppen uitgaat, of 15 als je van de harten uitgaat. Je kiest altijd het hoogste aantal als je je punten telt.

Een bijzonder geval doet zich voor als je drie kaarten van dezelfde hoogte hebt (bijvoorbeeld drie negens); dan heb je 30½.

Andere regels, die je wellicht zelf gebruikt als je dit spel speelt, gelden bij deze opgave niet!

In deze opgave krijg je telkens een kaartverdeling van een spel eenendertigen in een invoerbestand. Je programma's moeten een aantal vragen bij zo'n kaartverdeling beantwoorden door het maken van een uitvoerbestand.

Invoer:

Je programma's krijgen een bestand KAARTEN.IN als invoer. Dat bestand bestaat uit één regel tekst; twee opvolgende symbolen geven één specifieke kaart aan, drie opvolgende kaarten geven de kaarten van een speler aan. De eerste drie kaarten zijn van speler A, de volgende drie van speler B en zo verder. De laatste drie kaarten zijn van de pot.

Een kaart wordt aangeduid met twee symbolen: Eerst een hoofdletter voor de soort (S voor schoppen, H voor harten, R voor ruiten of K voor klaveren), vervolgens een hoofdletter of cijfer voor de hoogte (A voor aas, H voor heer, V voor vrouw, B voor boer, T voor tien, 9, 8 of 7).

Voorbeeld:

SASBHTKAR8H7RTK7K9HVRVSVS8H9KT

Dit bestand hoort bij de volgende kaartverdeling:

Speler A ª A ª B © 10

Speler B § A ¨ 8 © 7

Speler C ¨ 10 § 7 § 9

Speler D © V ¨ V ª V

De pot ª 8 © 9 § 10

Dit bestand KAARTEN0.IN wordt bij alle onderdelen als voorbeeld gebruikt.

 

Voorbeeldbestanden en testen:

Er zijn bestanden KAARTEN0.IN, KAARTEN1.IN tot en met KAARTEN5.IN beschikbaar waarmee je je programma’s kunt uitproberen.

Er is een batchfile TEST1.BAT die je kunt gebruiken op de volgende manier:

TEST1 NIO1A KAARTEN0.IN

Met deze opdracht test je het programma NIO1A (of op deze plaats één van je andere programma’s), waarbij vooraf eerst de invoer uit KAARTEN0.IN (of op deze plaats één van de andere bestanden) naar het bestand KAARTEN.IN wordt gekopieerd. Je zult zelf moeten controleren of het programma binnen de tijdlimiet stopt en de goede uitvoerfile maakt.

Onderdeel 1A. Hoeveel spelers doen er mee?

Schrijf een programma NIO1A. Invoer is een bestand KAARTEN.IN en uitvoerbestand is een tekstbestand 1A.UIT van één regel. Daarop staat aangegeven het aantal spelers dat aan het spel van de invoer deelneemt (dit aantal is tenminste 2 en ten hoogste 9).

Voorbeeld: 4

Onderdeel 1B. Welke kaarten doen dit spel niet mee?

Schrijf een programma NIO1B. Invoer is een bestand KAARTEN.IN en uitvoerbestand is een tekstbestand 1B.UIT van één regel. Daarop staan de kaarten aangegeven die tijdens dit spel niet meedoen, eerst alle schoppen van aas tot en met zeven, dan de harten, de ruiten en de klaveren.

Voorbeeld: SHSTS9S7HAHHHBH8RARHRBR9R7KHKVKBK8

(Dit zijn zeventien kaarten, omdat er vijftien wel meedoen)

Onderdeel 1C. Hoeveel punten heeft iedere speler?

Schrijf een programma NIO1C. Invoer is een bestand KAARTEN.IN en uitvoerbestand is een tekstbestand 1C.UIT met voor iedere speler één regel. Op deze regel staat het aantal punten dat de betreffende speler heeft; 30½ wordt aangeduid met "30.5". De spelers staan in de volgorde waarin ze in de invoer voorkomen; de punten van de pot worden niet gevraagd.

Voorbeeld: 21

11

16

30.5

Onderdeel 1D. Wat is de maximaal haalbare score?

Schrijf een programma NIO1D. Invoer is een bestand KAARTEN.IN en uitvoerbestand is een tekstbestand 1D.UIT van één regel. Hierop staan drie kaarten uit de invoer die samen de hoogst mogelijke score bij deze kaartverdeling aangeven.

Voorbeeld: SASBSV

 

Onderdeel 1E. Hoe gaat een gretig spel?

Een gretig spel betekent dat iedere speler uitsluitend een kaart ruilt als zijn puntenaantal daardoor stijgt; bij keuze tussen verschillende alternatieven wordt de ruil uitgevoerd waarmee hij zoveel mogelijk punten krijgt. Als bij het weggooien van kaarten alternatieven zijn wordt de kaart die het minst waard is weggegooid.

Als je bij het pakken van een kaart kunt kiezen tussen verschillende kaarten die evenveel waard zijn geef je in eerste instantie de voorkeur aan heren boven vrouwen, vrouwen boven boeren en boeren boven tienen; als je uit twee kaarten van dezelfde waarde en hoogte kunt kiezen geef je de voorkeur aan schoppen boven harten, harten boven ruiten en ruiten boven klaveren. Dat geldt ook als je moet kiezen welke kaart van dezelfde waarde en hoogte je blijft vasthouden als je een kaart aan de pot geeft.

Schrijf een programma NIO1E. Invoer is een bestand KAARTEN.IN en uitvoerbestand is een tekstbestand 1E.UIT met op iedere regel een zet in het spel, afgesloten met een regel met het woord "Klaar". Een zet wordt aangegeven door de letter van de speler (Speler A mag beginnen, daarna B, enz.), gevolgd na een spatie door het woordje "Pas" of door de kaart die wordt weggelegd en de kaart uit de pot die wordt gepakt. Het spel eindigt zodra één van de spelers 31 punten heeft of als alle spelers hebben gepast. Als alle spelers op één na hebben gepast mag de laatste speler nog maar één keer een kaart ruilen.

Voorbeeld: A HTS8

B H7KT

C Pas

D Pas

A Pas

B Pas

Klaar

Onderdeel 1F. De snelste weg naar de beste score.

Schrijf een programma NIO1F. Invoer is uit KAARTEN.IN en uitvoerbestand is een tekstbestand 1F.UIT met op iedere regel een zet in het spel, afgesloten met een regel met het woord "Hoogste". Je moet het kortste spelverloop vinden waardoor één van de deelnemers de best mogelijk score kan halen (zie onderdeel 1D). Zodra dat gelukt is hoeft het spel niet verder te worden voortgezet.

Voorbeeld: A HTS8

B Pas

C Pas

D SVHT

A S8SV

Hoogste

 

Opgave 1. Overzicht.

Onderdeel

Programma

Uitvoer

Tijdlimiet

Aantal testen

Punten per test

Totaal

1A

NIO1A

1A.UIT

5 sec

5

2

10

1B

NIO1B

1B.UIT

5 sec

5

2

10

1C

NIO1C

1C.UIT

5 sec

5

3

15

1D

NIO1D

1D.UIT

5 sec

5

4

20

1E

NIO1E

1E.UIT

5 sec

4

6

24

1F

NIO1F

1F.UIT

10 sec

3

7

21

 

 

Opgave 2. Tekst voorspellen door letters tellen?

Veel onderzoekers zijn geïntrigeerd door de mogelijkheid om teksten te laten genereren door een computerprogramma. Charles Brenner schreef in de jaren zestig een programma om de frequenties van symbolen en symboolgroepen in een tekst te turven, waarna hij met een toevalsproces teksten liet schrijven waarvan de frequentie van deze symbolen en symboolgroepen overeenkwam met de oorspronkelijke tekst. En Brian Hayes suggereert dat dergelijke frequenties kenmerkend zijn voor de auteur van de tekst. In deze opgave gaan we enkele experimenten doen op basis van het turven van symbolen en symboolgroepen.

Invoer.

Alle programma's krijgen invoer uit een bestand TEKST.IN dat bestaat uit minstens één en hoogstens honderd regels tekst, voorafgegaan door een regel met daarop een getal dat het aantal tekstregels aangeeft. Alle tekst is in kleine letters; de enige leestekens zijn de spatie en de punt. Na iedere punt komt een spatie; iedere regel eindigt op een spatie. Een tekstregel bevat minder dan 80 symbolen. Er zijn geen lege regels in de invoer.

Een tekst bevat dus nooit meer dan 100 x 79 = 7900 symbolen.

Voorbeeld:

4dit is een eenvoudige voorbeeldtekst. je ziet hierin weliswaar

geen duidelijke regelovergangen gecombineerd met spaties en leestekens

maar toch geeft het een goed voorbeeld van het gebruik van het programma

om letters te tellen en daarmee te voorspellen.

Dit bestand TEKST0.IN wordt bij alle onderdelen als voorbeeld gebruikt.

Voorbeeldbestanden en testen:

Er zijn bestanden TEKST0.IN, TEKST1.IN tot en met TEKST5.IN beschikbaar waarmee je je programma’s kunt uitproberen.

Er is een batchfile TEST2.BAT die je kunt gebruiken op de volgende manier:

TEST2 NIO2A TEKST0.IN

Met deze opdracht test je het programma NIO2A (of op deze plaats één van je andere programma’s), waarbij vooraf eerst de invoer uit TEKST0.IN (of op deze plaats één van de andere bestanden) naar het bestand TEKST.IN wordt gekopieerd. Je zult zelf moeten controleren of het programma binnen de tijdlimiet stopt en de goede uitvoerfile maakt.

 

Onderdeel 2A. Het aantal symbolen in de tekst.

Schrijf een programma NIO2A. Invoer is een bestand TEKST.IN en uitvoerbestand is een tekstbestand 2A.UIT van één regel. Daarop staat aangegeven uit hoeveel symbolen de te analyseren tekst in totaal bestaat. Alle spaties in de invoer tellen mee!

Voorbeeld: 255

 

Onderdeel 2B. Symboolfrequenties.

Schrijf een programma NIO2B. Invoer is een bestand TEKST.IN en uitvoerbestand is een tekstbestand 2B.UIT dat bestaat uit 28 regels. Eerst wordt voor alle letters (op alfabetische volgorde) aangegeven hoe vaak ze voorkomen in de invoer, vervolgens voor de spatie en tenslotte voor de punt.

 

Voorbeeld (voor de leesbaarheid in twee kolommen geplaatst):

12

4

2

9

52

1

10

5

12

2

4

11

7

15

13

3

0

14

9

17

3

7

2

0

0

1

38

2

 

Onderdeel 2C. Voorspellen.

Voor ieder symbool geldt dat de relatieve frequentie in het invoerbestand gelijk is aan het aantal keren dat het symbool voorkomt, gedeeld door het totaal aantal symbolen in de invoer. De relatieve frequentie van de 'a' in het voorbeeld is 12/255, die van de 'x' is 0.

In dit onderdeel moet je een nieuwe tekst maken die als eigenschap heeft dat voor elk begin van de tekst geldt dat de som voor alle symbolen van de absolute waarden van de verschillen in relatieve frequentie tussen de invoer en de gemaakte tekst tot dan toe zo klein mogelijk is. Zie de tabel voor het voorbeeld van de berekening van dit verschil voor de eerste twee symbolen van deze nieuwe tekst, ‘e ’. Voor de leesbaarheid zijn alle breuken vermenigvuldigd met 510.

Teken

Invoerbestand

Nieuwe bestand

Verschil

Frequentie

Rel. Freq. * 510

Frequentie

Rel. Freq.* 510

* 510

a

12

24

0

0

24

b

4

8

0

0

8

c

2

4

0

0

4

d

9

18

0

0

18

e

52

104

1

255

151

f

1

2

0

0

4

g

10

20

0

0

20

h

5

10

0

0

10

i

12

24

0

0

24

j

2

4

0

0

4

k

4

8

0

0

8

l

11

22

0

0

22

m

7

14

0

0

14

n

15

30

0

0

30

o

13

26

0

0

26

p

3

6

0

0

6

q

0

0

0

0

0

r

14

28

0

0

28

s

9

18

0

0

18

t

17

34

0

0

34

u

3

6

0

0

6

v

7

14

0

0

14

w

2

4

0

0

4

x

0

0

0

0

0

y

0

0

0

0

0

z

1

2

0

0

2

spatie

38

76

0

255

179

.

2

4

0

0

4

Totaal

255

2

662

Tabel met demonstratie van de berekening van onderdeel 2C.

Zowel na de ‘e’ als na de ‘ ’ is het zo berekende verschil minimaal (na ‘e ’ is het verschil zo 662/510).

Als je moet kiezen tussen meerdere oplossingen die exact hetzelfde verschil opleveren kies je voor de eerste letter in het alfabet, of anders de spatie.

Schrijf een programma NIO2C. Invoer is een bestand TEKST.IN en uitvoerbestand is een tekstbestand 2C.UIT dat bestaat uit één regel. Op de regel staat een "zin" van zeventig symbolen die voldoet aan de hierboven beschreven eigenschap.

Voorbeeld:

e tnroeai lgedsm evhte nbreko aeilpue tgden sreoc aetimve lnjew rget.o

 

Onderdeel 2D. 3-grammen.

Een groepje van drie opeenvolgende symbolen noemen we in navolging van "Opperlandse taal- en letterkunde"van Battus een 3-gram. In totaal zijn er 28 x 28 x 28 = 21952 verschillende 3-grammen mogelijk bij de invoer.

Je moet de 3-grammen in de invoer tellen; om ook de eerste twee symbolen te kunnen meetellen moet je er van uit gaan dat de tekst wordt voorafgegaan door een punt en een spatie (het einde van de "vorige zin").

Voor ieder symbool in de invoer zoek je nu het 3-gram met dit symbool dat het vaakst voorkomt in de invoer; als er meerdere zijn geef je degene die het eerst komt als je de 3-grammen op "alfabetische volgorde" zet, waarbij de spatie en de punt in die volgorde na de ‘z’ komen.

Belangrijk (ook voor het vervolg): Een invoerbestand bestaat nooit uit meer dan 500 verschillende 3-grammen.

Schrijf een programma NIO2D. Invoer is een bestand TEKST.IN en uitvoerbestand is een tekstbestand 2D.UIT dat bestaat uit 28 regels. Voor ieder symbool wordt het 3-gram gegeven waarin dit symbool het meest voorkomt (volgens de aanwijzingen hierboven), en het aantal malen dat dit 3-gram voorkomt, gescheiden door een spatie.

Voorbeeld:

aar 3

bee 2

ch 1

d v 2

en 7

eef 1

ge 4

het 3

eli 2

ijk 1

tek 2

eel 2

amm 1

en 7

oor 3

pat 1

aaq 0

aar 3

s e 2

et 5

bru 1

voo 3

isw 1

aax 0

aay 0

e z 1

en 7

en. 1

 

Onderdeel 2E. Het aantal 3-grammen.

Bij onderdeel 2D is al aangegeven dat er niet meer dan 500 verschillende 3-grammen in de invoer zullen voorkomen!

Schrijf een programma NIO2E. Invoer is een bestand TEKST.IN en uitvoerbestand is een tekstbestand 2E.UIT dat bestaat uit één regel. Op de regel staat het aantal verschillende 3-grammen dat in de invoer voorkomt.

Voorbeeld:

196

 

Onderdeel 2F. Voorspellen met 3-grammen.

Nu gaan we de werkwijze van onderdeel 2C herhalen. Voor ieder 3-gram is de relatieve frequentie gelijk aan het aantal malen dat het 3-gram in de invoer voorkomt gedeeld door het totaal aantal 3-grammen in de invoer.

In dit onderdeel moet je een nieuwe tekst maken die als eigenschap heeft dat voor elk begin van de tekst geldt dat de som voor alle 3-grammen van de absolute waarden van de verschillen in relatieve frequentie tussen de invoer en de gemaakte tekst tot dan toe zo klein mogelijk is. Omdat de eerste twee letters anders niet te bepalen zouden zijn ga je er van uit dat de zeventig symbolen worden voorafgegaan door een punt en een spatie (het einde van de "vorige zin").

Als je moet kiezen tussen meerdere oplossingen die hetzelfde verschil opleveren kies je voor de eerste letter in het alfabet, of anders de spatie.

Schrijf een programma NIO2F. Invoer is een bestand TEKST.IN en uitvoerbestand is een tekstbestand 2F.UIT dat bestaat uit één regel. Op de regel staat een "zin" van zeventig symbolen die voldoet aan de hierboven beschreven eigenschap.

Voorbeeld:

daar geen digebruideldtekens eelijke te voorbeeft het en eaaaaaaaaaaaa

 

Onderdeel 2G: Verklaar de a’s.

In het voorbeeld bij onderdeel 2F zie je dat de gemaakte tekst ineens overgaat in een rijtje a’s.

Schrijf een tekstbestand 2G.UIT waarin je in maximaal vijf regels tekst uitlegt waarom bij het voorbeeld van onderdeel 2F de laatste twaalf symbolen allemaal een ‘a’ zijn.

Opgave 2. Overzicht.

Onderdeel

Programma

Uitvoer

Tijdlimiet

Aantal testen

Punten per test

Totaal

2A

NIO2A

2A.UIT

5 sec

4

2

8

2B

NIO2B

2B.UIT

5 sec

4

3

12

2C

NIO2C

2C.UIT

5 sec

4

5

20

2D

NIO2D

2D.UIT

5 sec

4

4

16

2E

NIO2E

2E.UIT

5 sec

4

3

12

2F

NIO2F

2F.UIT

5 sec

4

6

24

2G

geen

2G.UIT

n.v.t.

1

8

8