Astronomie · PalmOS software · Roosteren · Informatica · Windows software · Natuurkunde · Wiskunde · Meteorologie · Fietsen · Diversen

Informatica

Algemeen
lesmateriaal 4H/4V
lesmateriaal 5V/5H
lesmateriaal 5H/6V
lesmateriaal: Verdie
PO: Programmeren
PO: Projecten
PO: Werkstukken
PO: CT
PO: Afgerond
tips: Algemeen
tips: Delphi
tips: Delphi (2)
tips: Logo
tips: NSBasic
tips: OpenOffice
links: Software
links: websites
cc: Voorlopig
cc: Voorlichting
cc: Lokaalgeboden
cc: Excursies
cc: Puzzels
Haiti
tips: Small Basic
PO: Programmeren2008
PO: Programmeren2009
PO: Programmeren2010
PO: Programmeren2011
Gamemaker

Programmeer-opdrachten

 

 

Voorlopig vul ik op deze pagina even aan, ook al is het inmiddels 2012... eh, bijna 2016.

Tot nu toe (in 2012) al 110 aardige ideeën.

en in 2013 al 39 en in 2014 al 1.

 

Contact

28 januari 2015

Schrijf een programma waarmee je kunt bijhouden wanneer je contact had met iemand.

Voor verschillende kennissen moet je kunnen bijhouden wanneer je ze ien, gebeld, gemaild of geskypet hebt.

 

mogelijkheden: Maak het mogelijk om voor een groep mensen aan te geven wie elkaar gezien hebben. Je zou kunnen denken aan een cirkel waarop punten staan. Elk punt is een persoon. Als twee mensen elkaar gezien hebben teken je een lijn tussen deze mensen. Op dezelfde manier teken je verbindingen voor als ze elkaar gebeld, gemaild of geskypet.

Het programma kan de gebruiker helpen: aje iemand aanklikt worden de mensen waarmee het vaakst contact hebt met groter stippen weergegeven.

 

 

 

Fijnstof 2

7 januari 2014

Gebruik de Raspberry om live (fijn-)stof te meten.

Laat een felle witte LED-lamp schijnen. Als er een stofdeeltje door de lichtbundel beweegt zie je deze oplichten. Een webcam moet deze lichtflitsjes waarnemen en tellen.

 

 

Fijnstof 1

15 december 2013

Schrijf een programma dat de meetgegevens van fijnstof periodiek download en in een bestand bewaard.

 

 

Uitslag

25 november 2013

Schrijf een programma waarmee je gemakkelijk uitslagen kunt tekenen.

Je moet daarbij rond een punt kunnen cirkelen, zoals met een passer.

Die cirkels worden lichtgrijs getekend. Op de snijpunten van cirkels kun je een punt zetten. In de buurt van een snijpunt worden de boogjes dan wat zwarter getekend.

Aan een punt kun je een letter koppelen.

Tussen twee punten kun je een lijnstuk tekenen.

Als een lijnstuk een kniplijn is kun je er een schaartje naast tekenen.

Als de tekening klaar is, kun je ervoor kiezen om alleen de boogjes te laten tekenen die in de buurt van punten liggen.

 

Zeewatertemperatuur

25 november 2013

Schrijf een programma waarmee je de afbeelding van de zeewatertemperatuur van het knmi kunt downloaden. De bestanden moeten worden opgeslagen met de actuele datum in de bestandsnaam, bijvoorbeeld: 20131125zeewater-europa.`png en 20131125zeewater-nederland.png

 

 

 

Letterkapstok

20 november 2013

Maak een programma waarmee je aan de (grote) letters van een titel kleine letters kunt hangen. Het moet eruit zien alsof de letter rond de stokken van de letter zijn geworpen. Een soort ringwerpen met letters.

 

 

Zoeken in 2D

6 november 2013

Schrijf een programma dat een simulatie van een zoekalgoritme laat zien. Denk daarbij aan de algoritmen die je in 5VWO geleerd hebt: bubble sort, twee richtingen, insertion sort, quicksort, zoeken in 2D (bomen), zoeken in 2D (cirkels).

 

 

Random Branch

6 november

Schrijf een programma dat een willekeurige programma met elementaire instructies genereert. Het programma moet een simulatie van het programma kunnen doorlopen, waarbij de inhoud van de variabelen steeds bijgewerkt wordt.

 

CoCo

6 november 2013

Schrijf en programma dat twee mappen met Delphi-projecten kan vergelijken.

Het programma hoeft alleen de .pas-bestanden te vergelijken.

Als de bestanden dezelfde namen hebben zou je ze op grond van de naam met elkaar kunnen vergelijken, maar het hoeft natuurlijk niet zo te zijn dat twee bestanden met dezelfde naam ook echt bij elkaar horen. Geef de gebruiker daarom de mogelijkheid om zelf aan te geven welke bestanden bij elkaar horen.

Het vergelijken van twee bestanden hoeft ook niet voor de hand liggend te zijn: misschien doet een procedure uit het ene bestand wel hetzelfde als een procedure uit het andere bestand, maar hebben ze een andere naam!

Als eenmaal duidelijk is welke bestanden en routines bij elkaar horen kan het vergelijken beginnen.

 

Weersvoorspelling

29 oktober 2013

Schrijf een programma dat de weersvoorspelling van het KNMI als HTML-tabel in een tekstbestand opslaan. Gebruik de datum en de tijd als bestandsnaam, bijvoorbeeld: 201310291530.html.

Het programma moet regelmatig controleren of de tabel veranderd is. In dat geval slaat het de gewijzigde tabel op.

Je programma moet werken op een raspberry PI.

 

 

Neerslagradar

29 oktober 2013

Schrijf een programma dat een plaatje van de neerslagradar opslaat. Hoe vaak zo een plaatje ververst wordt, hangt af van de website die je gebruikt. Vaak is dat om het kwartier. Gebruik de datum en de tijd als bestandsnaam, bijvoorbeeld: 201310291530.jpg.

Je programma moet werken op een Raspberry PI.

 

 

Elementair programma

23 oktober 2013

Schrijf een programma dat willekeurige elementaire programma's maakt.

Bijvoorbeeld:

 

 

1  A=6

2  B=3

3  B=B-1

4  A=A*2

5  IF B>0 JUMP 3

6  HALT

 

Het programma moet het programma kunnen doorlopen om te laten zien hoe het programma werkt.

 

mogelijkheid: maak het mogelijk dat de gebruiker zelf elementaire opdrachten onder elkaar schrijft. Het programma moet incorrecte instructies kunnen ontdekken (denk aan: A, IF JUMP 5, A-1=A).

 

 

Woordentest

21 oktober 2013

De universiteit van Gent heeft een mooie website gemaakt waar je moet aangeven of je denkt dat een woord een echt Nederlands woord is.

Schrijf een programma waarmee je op een soortgelijke manier woorden aan een gebruiker voorlegt. Laat de gebruiker inloggen.

De antwoorden van een gebruiker moeten worden bewaard. Per woord moet op te vragen zijn hoe vaak het juist of onjuist herkend werd.

 

mogelijkheid: maak het mogelijk om een kruistabel te maken waarin woord A tegen woord B wordt uitgezet met een kans. Bijvoorbeeld de kans dat beide woorden juist herkend werden )of een andere combinatie:Juist-Onjuist, Onjuist-Onjuist, Onjuist, Onjuist.

 

 

Dyslexie

21 oktober 2013

Schrijf een programma met de volgende test. Het programma schrijft in een willekeurige volgorde 5 kleiner of groter-dan-tekens achterelkaar. Bijvoorbeeld <<><>.

De gebruiker moet invoeren of het middelste teken een < of een > is.

 

In een tweede mode geeft het programma vlak voor het verschijnen van de tekenreeks een hint. Voor <<><> is de hint >. In een klein aantal gevallen is de hint echter onjuist. De gebruiker wordt soms dus op het verkeerde been gezet.

 

Het programma kiest een tijd waarbinnen het antwoord gegeven moet zijn. Als er binnen die tijd geen antwoord volgt, wordt een nieuwe opgave getoond.

 

Het programma moet per test het volgende onthouden:

- gebruikersnaam

- datum

- tijd

- wat de hint was (kan leeg zijn)

- wat de tekenreeks was

- wat volgens de gebruiker het middelste teken was (kan leeg zijn)

- na hoeveel tijd (milliseconde) het antwoord gegeven werd.

 

De gebruik krijgt aan het eind te zien hoe vaak zij/hij het juiste antwoord gaf.

 

 

Logische schakelingen

9 oktober 2013

Bij het onderwerp Logische Schakelingen heb je het programma MM-logic gebruikt om schakelingen te bouwen. Je kon de schakelingen zelf laten werken binnen de computer.

Het nadeel van MM-Logic is dat de gekleurde poorten en schakelaars op een zwart-wit afdruk niet zo mooi uit de verf komen.

Schrijf een programma waarmee je met eenvoudige zwart-wit-symbolen logische schakelingen kunt tekenen. Het is niet de bedoeling dat je de schakelingen ook echt laat werken. Het ontwerpen van een schakeling is voldoende.

 

 

 

DateDiff

3 oktober 2013

Schrijf een programma waarmee je het tijdverschil tussen twee datums kunt bepalen.

Maak het mogelijk om de start- of de einddatum te fixeren.

De gebruiker moet op een aantal manieren het tijdverschil te zien krijgen:

- aantal dagen

- aantal weken + rest dagen

Verder moet het mogelijk zijn om met checkboxes te bepalen of de start- en einddatum mee moet tellen, of juist niet.

 

 

Supertaaltrainer

2 oktober 2013

Schrijf een verbeterde versie van de taaltrainer. Een leerling moet een lijst kunnen maken en wijzigen.

Als de leerling gaat oefenen leest zij één of meer lijsten in. Het programma onthoudt daarbij in een bestand alle antwoorden bij die op een vraag gegeven werden. Bovendien houdt het programma in een bestand bij hoe vaak het antwoord juist en onjuist was.

Het verschil tussen het aantal keer goed en het aantal keer fout beantwoorden noemen we V. Als V>0 is, is de vraag vaker goed dan fout beantwoord. Als V<0 is, is de vraag vaker fout dan goed beantwoord. Het programma moet vragen met een lage V-waarde vaker stellen dan vragen met een hoge V-waarde.

 

mogelijkheden: laat leerlingen inloggen, zodat het programma de resultaten per leerling kan bijhouden. 

 

 

Differentiator

2 oktober 2013

Een webcam maakt periodiek opnamen. Schrijf een programma dat van een foto het verschil met de vorige opname kan bepalen. Daarbij moet het programma zich niet van de wijs laten brengen door minuscule veranderingen van een pixel.

De gevonden verschillen worden als uitsnede in een apart bestand bewaard.

 

 

Middelaar

2 oktober 2013

Een webcam maakt periodiek opnamen. Schrijf een programma dat uit deze opname 'gemiddelde opnamen' kan bepalen. Bij een 'gemiddelde opname' wordt per pixel de gemiddelde kleur bepaald.

De gebruiker moet de periode van een dag en de periode van een jaar kunnen bepalen waarover het gemiddelde berekend wordt.

Bijvoorbeeld:

- als de gebruiker voor de periode voor een dag: 1 dag (=de hele dag) instelt en voor het het jaar ook een dag. Dan wordt voor elke dag van het jaar een gemiddelde opname bepaald waarvoor alle opnamen van die dag gebruikt worden.

- als de gebruiker voor de periode voor een dag: 1 uur instelt en voor het jaar een maand, wordt voor elke dag 24 gemiddelde opnamen berekend aan de hand van de opnamen in één maand.

 

 

 

 

30693

23 september 2013

Het kwadraat van 30693 is 942060249. Als je 942060249 van achter naar voor leest krijg je hetzelfde getal.

Een getal waarbij dat kan heet een palindroom.

Als je tussen 3069 en 3 één of meer keer 3069 schrijft krijgt je grotere getallen zoals 306930693 en 3069306930693. Als je deze getallen kwadrateert krijg je soms ook een palindroom.

We noteren het getal als 3069[n]3. n staat daarbij voor het aantal keer dat 3069 ingevoegd is.

Voor n=0 is 3069[0]3 is het kwadraat een palindroom.

Het grootst bekende palindroom van deze soort dat op dit moment bekend is, begint met 1373512530649258635292477609 (en daarna dezelfde cijfers in omgekeerde volgorde).

Schrijf een programma dat voor grote getallen van de vorm 3069[n]3 (n>0) kan onderzoeken of het kwadraat een palindroom is.

Je kunt geen standaardtypen zoals integer gebruiken, omdat het programma met zeer grote getallen moet kunnen rekenen.

 

 

 

 

Ruim je bureau op!

18 september 2013

Dit programma ruimt automatisch je bureaublad (van Windows...) op.

Telkens als het programma start bekijkt het welke bestanden op het bureaublad staan.

Als het bestand er te lang staat wordt het na een door de gebruiker in te stellen tijd naar een map gekopieerd en van het bureaublad gewist.

De gebruiker kan van een bestand opgeven dat het nooit verplaatst mag worden.

 

mogelijkheid:

- ruim mappen op als ze leeg zijn

- laat een popupscherm verschijnen met de bestanden die zojuist opgeruimd zijn.

- laat het programma als icoontje in de taakbalk verschijnen. De gebruiker kan met de rechtermuisknop een lijst opvragen van bestanden die binnenkort opgeruimd zullen worden. De gebruiker kan dan bijvoorbeeld een week verlenging geven.

 

 

 

LinkIndex

18 september 2013

Met dit programma kan een gebruiker zijn links bewaren. Als de gebruiker een link toevoegt, wordt ook de datum bewaard. Optioneel kan de gebruiker ook een korte beschrijving toevoegen. Het bijzonder van dit programma is dat LinkIndex zélf kernwoorden toevoegt. Alle woorden uit de tekst worden toegevoegd, tenzij ze te weinig voorkomen (de gebruiker kan deze grens opgeven) óf als ze in een lijst met uitgesloten woorden staan (lidwoorden, voorzetsels e.d. zullen daarin voorkomen).

De gebruiker kan de uitgesloten woorden wijzigen.

Het programma heeft een zoekoptie. Het programma laat alle links zien waarvan de beschrijving de reeks opgegeven zoekwoorden bevat.

 

 

Smnvttr

18 september 2013

De Samenvatter is een programma dat van een tekst semi-automatisch een samenvatting genereert. Allereerst maakt het programma een lijst van alle woorden in de tekst. Daarna kan de gebruiker woorden uit die lijst selecteren. Alle zinnen of paragrafen waarin die woorden voorkomen worden in de samenvatting gezet.

 

 

Mindmapify

18 september 2013

Schrijf een programma dat van een tekst een mindmap maakt.

Het programma extraheert alle woorden uit de tekst.

Daarna kan de gebruiker van elk woord aangeven of het in de mindmap moet komen te staan. Van de geselecteerde woorden bekijkt het programma of ze in één zin of in één paragraaf voorkomen. Elke tweetal woorden (woord1-woord2) krijgt een startgewicht van 0.

Twee (geselecteerde) woorden in een zin krijgen een extra gewicht A (bijvoorbeeld A=10). Woordenparen die in een paragraaf voorkomen krijgen een extra gewicht B (bijvoorbeeld B=1). Zo krijgt elk woordpaar een totaalgewicht.

 

De gebruiker markeert 1 woord voor het centrum van de mindmap. Alle woordparen waarin dat woord voorkomt met een gewicht groter dan nul zorgen voor vertakking vanuit het centrum.

 

Bijvoorbeeld:

Het centrale woord is 'informatica'. In de lijst met woordparen hebben de volgende paren met het woord 'informatica' een totaalgewicht groter dan nul: ('informatica','wiskunde'), ('informatica','computer'), ('informatica','algoritme'). Daardoor komen de woorden 'wiskunde', 'computer' en 'algoritme'. Rond het centrale woord te staan. Vanuit deze woorden komen eventueel weer vertakkingen door woordparen waarin 'wiskunde', 'computer' of 'algoritme' voorkomen.

 

mogelijkheid: de gebruiker kan een ondergrens instellen voor het totaalgewicht. Alleen combinaties met gewichten boven deze grens worden in de mindmap opgenomen.

 

mogelijkheid: maak het mogelijk om één of meer Wikipedia-pagina's in te lezen. De links vanuit deze pagina('s) worden tot een in te stellen aantal stappen gevolgd. Vanuit deze set van teksten wordt hetzelfde recept toegepast.

 

 

 

Origami

17 september 2013

Schrijf een programma waarmee je papier virtueel kunt vouwen. Op het papier moet je een vouwlijn kunnen toevoegen, waarna je het papier over die lijn kunt vouwen.

 

Mogelijkheden: de gebruiker kan het eindresultaat (papier met vouwlijnen en vouwhoeken) opslaan in een bestand.

 

 

Koala's to the Max

17 september 2013

Op de website van Koalas's to the Max kun je een foto laten zien in de vorm van cirkels.

Schrijf een programma waarmee je een foto kunt inlezen en daarna als cirkels weergeeft. De gebruiker kiest welke cirkels opgedeeld worden door er met de muis op te klikken.

Het resultaat kan als afbeelding bewaard worden.

 

katrol

27 mei 2013

Schrijf een programma waarmee katrollen te simuleren zijn. De gebruiker trekt door middel van de muis aan het touw. Het programma laat zien wat er gebeurd met de touwen en de katrollen.

Je kunt in dit programma opties inbouwen om te laten zien welke krachten er op de touwen en de katrollen werken en onder welke hoek de touwen lopen.

 

Verkeersmeting

27 mei 2013

Je kent waarschijnlijk de kabels wel waarmee verkeersmetingen gedaan worden.

 

 

In eerste instantie meet je het verkeer op één punt. Meestal staan er in een gebied een groot aantal van deze installaties. De vraag is nu of je in principe een individuele auto zou kunnen volgen. Als de afstand en de gemiddelde snelheid tussen twee meetpunten bekend is zou je kunnen achterhalen of een bestuurder van het ene naar het andere meetpunt gereden is.

In jouw programma moet je een eenvoudig netwerk van wegen met meetpunten kunnen invoeren.

Daarna simuleert het een aantal auto's die willekeurige route door het netwerk rijden. Dat resulteert in een aantal metingen.

Ten slotte moet het programma uit de metingen afleiden of het van een auto kan achterhalen of het van het ene naar een ander meetpunt gereden is.

 

 

 

Nieuwsverband

27 mei 2013

Een cabaretier wil graag inspelen op actuele nieuwsfeiten, dat doet hij door op een humoristische en verrassende manier verbanden te leggen.

Daarom legt een database aan met nieuwsfeiten. Deze bestaan uit teksten met een datum.

Daarnaast kan hij verbindingen leggen tussen nieuwsartikelen. Hoe jouw programma dat doet moet je zelf gaan bepalen.

Je zou bijvoorbeeld een paar artikelen aan elkaar kunnen koppelen door een tekst.

 

- tekst (lijst van kernwoorden)

- lijst met artikelen

 

 

Hexagonaal menu

27 mei 2013

Meestal staan de items in een menu onder of naast elkaar.

De vorm die je hier beneden ziet (zeshoekig vlakken) is veel speelser.

 

 

Je kunt zo een menu maken door gebruik te maken van CSS3.

Je zou zo een menu ook zonder CSS kunnen maken door het menu als afbeelding te presenteren waarop aanklikbare gebieden gemaakt zijn.

 

Schrijf een programma waar je zo een menu op een gemakkelijke manier kunt ontwerpen.

Het programma moet de code voor de webpagina dan kunnen exporteren zodat je deze in een website kunt verwerken.

 

 

Priemafstand

22 maart 2013

Zolang de getallen klein zijn is de afstand tussen twee opeenvolgende priemgetallen niet zo groot: 2,3,5,7,11,13,17,19... Ook bij grote getallen komt het voor dat twee priemgetallen elkaar met de kleinste afstand opvolgen. De afstand is dan 2. Zo een paar heet een priemtweeling.

Maar als de getallen groter worden, wordt ook de gemiddelde afstand ook groter.

Maar wat is de grootste afstand tussen twee priemgetallen als je deze getallen mag kiezen tussen twee grenzen x en y?

 

Schrijf een programma dat de grootste afstand tussen twee priemgetallen bepaalt voor gegeven grenzen x en y.

Het programma moet kunnen werken met getallen tot 10^40.

 

mogelijkheden

Maak het mogelijk om bij te houden welke reeksen onderzocht zijn en wat daarvan de grootst gevonden afstand is.

Je denkt misschien dat je getal na getal moet gaan bepalen of het getal een priemgetal is, of niet. Het is waarschijnlijk veel handiger om van een hele reeks getallen te bepalen welke getallen door een klein getal deelbaar zijn. Zo houdt je alleen getallen of die óf een groter deler hebben, óf priem zijn.

 

 

Circaliseren

22 maart 2013

Vul een figuur met cirkels. Dat klinkt eenvoudiger dan het is.

De gebruiker leest een afbeelding in. Daarna moet het programma te weten komen welk gebied met cirkels gevuld moet worden. De cirkels moeten tegen elkaar aan liggen.

Hoe vul je ten slotte dat gebied?

 

mogelijkheid

Geef de gebruiker de mogelijkheid om de minimale en maximale straal op te geven van de cirkels die gebruikt worden.

 

 

Point and shoot

8 maart 2013

Maak het mogelijk om met een raspberry pi te meten hoe sterk de zon schijnt, ofwel hoe dik de wolken zijn. Je moet niet alleen kunnen programmeren je moet je ook handig zijn met elektronica. Je zou de opgewekte spanning kunnen meten met een zonnecel. Hoe bepaal je echter of deze exact op het zuiden gericht is? Is dat eigenlijk wel nodig?

 

 

retype

8 maart 2013

Schrijf een tekstverwerker die alle spelfouten opslaat. Of een tekst een spelfout is bepaalt het programma aan de hand van een woordenlijst. De gebruiker krijgt te zien dat het woord fout gespeld is. Als de gebruiker het woord verbetert is er weer een onjuiste schrijfwijze van een woord gevonden.

 

 

kansbepaling

4 maart 2013

Als je vanavond en gisteravond een ballon over zag vliegen zou je haast gaan denken dat de kans dat er 's avonds een ballon over vliegt één is....

Natuurlijk is er daarna meestal een periode dat er geen ballon te bekennen is.

Als je in w waarnemingen g keer een gebeurtenis ziet, neem je al snel aan dat de kans g/w is. Maar het kan natuurlijk zijn dat er toevallig wat te veel of te weinig gebeurtenissen te zien waren.

 

{todo}

 

baaldagplanner

4 maart 2013

Er zijn dagen met een hoge productiviteit en er zijn dagen met een lage productiviteit.

Die laatste dagen noemen we baaldagen. De productiviteit meten we in uren per dag.

Op baaldagen is het aantal uren dus laag, misschien zelfs nul.

 

Over d dagen met een klus af zijn waar je u uren aan moet werken. De kans op een baaldag is p. Hoeveel uur moet je per dag werken om de klus op tijd af te hebben?

In d dagen vallen d*p baaldagen. Effectief heb je dus d*(1-p) dagen de tijd.

Per dag moet je dus u/(d*(1-p)) uur per dag werken.

 

Echter.. er is ook een kans dat er toevallig meer baaldagen voorkomen dan gemiddeld.

Als je daar geen rekening mee houdt loop je het risico dat de klus aan het eind niet af is.

Het is daarom slim om aan het begin wat meer tijd in je opdracht te steken, zodat je 'onverwacht veel voorkomende baaldagen' kunt opvangen.

 

Je kunt de kans berekenen dat er in d dagen 1, 2, 3, .... baaldagen zijn. Elk aantal baaldagen resulteert in een aantal te werken uren.

 

Schrijf een programma waarmee je een veilig aantal werkuren kunt berekenen.

 

 

uitgesproken

4 maart 2013

In december schrijf je drie e's die elk op een andere manier uitgesproken worden.

De eerste e is een ee, de tweede een e en de derde een u. Bovendien is de c een s.

December spreek je dus uit als deesembur.

Schrijf een programma waarmee je woorden kunt laten schrijven zoals je ze uitspreekt.

 

 

Double typer

20 februari 2013

Schrijf een programma waarmee meerdere mensen (minimaal 2) tegelijkertijd in een tekst kunnen typen. Je zou de programma's alle letters (tekens) die ingevoerd worden naar de andere schrijvers kunnen laten sturen, maar als je snel typt kunnen dat er al snel een paar per seconde zijn.

Misschien dat het daarom beter is als je een reeks na s seconde verstuurd.

Bedenk je dat de plek waar de cursor staat belangrijk is. Op deze plek kunnen tekens worden ingevoerd en gewist.

Misschien dat het handig is om het uitwisselen van veranderingen aan de tekst via een PHP-script op een webserver te laten gebeuren.


Neusplek

20 februari 2013

Sommige mensen maken regelmatig een foto van zichzelf of een bekende. Na een tijd levert dat een serie foto's op waarop je langzaam ouder wordt. Ga er vanuit dat de foto's in één map staan.

Schrijf een programma waarmee je van elke foto een uitsnede kunt opgeven. Deze moeten zo worden gekozen dat bij opeenvolgende foto's de neus op dezelfde plek staat én dat het gezicht (ongeveer) dezelfde grootte heeft.

De uitsnede wordt in een apart bestand bewaard. Daarin staat de positie van de neus, en de breedte en hoogte van de uitsnede.


Met je programma moet je op twee manieren door de foto's kunnen bladeren:

  • door de originelen

  • door de uitsneden



Mogelijkheid

maak het mogelijk om de uitsnede over een (meestal kleine) hoek te roteren.


 

Sterrenbeeld

(4 december 2012)

Schrijf een programma waarmee je een willekeurig sterrenbeeld langs de zuidelijke hemel laat draaien (op het Noordelijk halfrond). Je kunt dit zien als een klok waarbij het draaipunt ergens onderin buiten het venster staat. Er draaien punten rond het draaipunt, maar die punten zijn niet met het draaipunt verbonden zoals bij een wijzerklok, maar met een ander punt.

 

mogelijkheden: laat ook af en toe de zon verschijnen. De hemel kleurt dan lichtblauw. Als de zon ondergaat wordt de hemel weer zwart.

 

 

Duobal

(4 december 2012)

Twee speler besturen elk hun eigen bal. Samen moeten ze een derde bal in een doel proberen te krijgen. Schrijf dit spel.

 

Paperplane 2

(4 december 2012)

Schrijf een spel waarbij je een papieren vliegtuigje zo lang/ver mogelijk moet laten vliegen door op de juiste momenten wat wind te laten waaien.

 

 

Weierstrass

(4 december 2012)

Als je op de grafiek van de weierstrass-functie inzoomt geeft de indruk van een willekeurig landschap (zie de animatie hieronder). Schrijf een programma waarmee je vloeiend kunt in- of uitzoomen op de grafiek.

 

 

megascrabble

(4 december 2012)

Stel je een oneindig groot scrabblebord voor. Je heb ook onbeperkt letters tot je beschikking. Je mag dus aanleggen wat je wilt.

Het wordt interessant als je alleen woorden mag aanleggen die nooit eerder gelegd zijn.

 

mogelijkheden:

- maak een schakelaar waarmee je kunt instellen of een woord meer dan één keer gelegd mag worden.

- maak het mogelijk om te zoeken naar een woord

 

alfabetdesigner

(4 december 2012)

Schrijf een programma om letters (en andere tekens) te ontwerpen in een raster.

Je moet het ontwerp natuurlijk kunnen opslaan en weer kunnen inlezen.

 

Je alfabet wordt pas echt bruikbaar als je er teksten mee kunt schrijven. Maak het daarom mogelijk om een tekst te schrijven met je eigen alfabet.

 

mogelijkheid: maak het mogelijk om de letters als afbeeldingen op te slaan. De tekst kun je dan opslaan als een HTML-bestand dat de plaatjes inleest.

 

 

 

werkgeheugen

(1 december 2012)

Een mens heeft een korte termijn geheugen en een lange termijn geheugen.

 

Het kortetermijngeheugen kun je testen met rijtjes getallen. Als het rijtje te lang wordt kan niemand het meer onthouden, bij de meeste mensen is het langste rijtje dat men kan onthouden 7 of 8 getallen.

 

Schrijf een programma dat een gebruiker laat inloggen. Daarna krijgt de gebruiker een rijtje getallen. Het programma laat de getallen een tijdje zien. Een tijdje later mag de gebruiker de getallen invoeren. De computer houdt bij hoe lang de gebruiker er over deed. Tenslotte kijkt het programma hoeveel getallen juist ingevoerd werden

 

Op dezelfde manier kun je ook vragen om het rijtje achterstevoren in te voeren.

 

Het programma houdt per test het volgende bij:

- gebruikersid

- getal

- kijktijd

- wachttijd

- invoerrichting

- invoertijd

- aantal fouten

 

 

mogelijkheden: laat het programma ook letterreeksen maken.

 

 

112

(1 december 2012)

Schrijf een programma voor het stukje 112 op de wiskundepagina.

Het programma moet op twee manieren werken:

 

- bij een leeftijd de andere schrijfwijzen in andere talstelsels geven

- bij een schrijfwijze uitzoeken welke leertijden erbij horen.

 

Spellingscontrole 2

(1 december 2012)

Een gebruiker voert een tekst in.

 

Daarna maakt het programma voor elk woord een lijst met woorden die een kleine Levenshtein-afstand hebben tot het ingevoerde woord. Daarvoor wordt gebruik gemaakt van een lijst met Nederlandse woorden.

 

Spellingscontrole 1

(1 december 2012)

Dit programma gebruikt de letterkansen van het programma 'letterfrequentie'.

 

Een gebruiker voert een tekst in. Het programma bepaalt van elk woord hoe waarschijnlijk het woord is volgens de 4 kansen.

 

Daarna maakt het programma voor elk woord een lijst met woorden die een hogere kans hebben. Die lijst wordt gemaakt door 1 of meer letters te vervangen, daarna twee letters, etc.

De gevormde woorden hoeven natuurlijk geen bestaande woorden te zijn.

 

mogelijkheid: geef de gebruiker de mogelijkheid om niet-bestaande woorden uit de gegenereerde lijst te wissen.

 

 

woordgenerator

(1 december 2012)

Dit programma gebruikt de letterkansen van het programma 'letterfrequentie'.

Laat het programma een willekeurig woord genereren, maar dan zo dat de kans groter is dat woorden met veelvoorkomende plaatsen/volgorden eerder gekozen worden.

 

 

 

lettervolgorde

(1 december 2012)

Dit programma gebruikt de letterkansen van het programma 'letterfrequentie'.

 

Dit programma berekent van een woord hoe groot de kans is dat het gevormd wordt van de kansen die het programma 'letterkans' bepaald heeft.

 

Het kan de berekening maken voor één ingevoerd woorden, of voor alle woorden in een tekstbestand.

 

De kans kan op drie manieren bepaald worden:

- door te kijken naar de kans dat een letter op een bepaalde plek in het woord staat

- door te kijken naar de kans dat een letter op een andere letter volgt.

- door te kijken naar de kans dat een letter voor een andere letter staat.

 

De kansen voor de opeenvolgende letters worden vermenigvuldigd en geven zo een kans voor het hele woord (dit zijn kleine getallen!).

 

Het programma bewaard het resultaat als een tekstbestand:

- woord, letter-plaats-kans, letter-na-kans, letter-voor-kans, letter-plaats-terug-kans

 

 

letterfrequentie/letterkans

(1 december 2012)

Een programma heeft een grote lijst met Nederlandse woorden. Het programma telt op een aantal manieren hoe vaak een letter op een bepaalde plek voorkomt.

Het moet daarbij absolute en relatieve aantallen (percentages) bijhouden

 

- hoe vaak een letter op een plek in de tekst voorkomt, als je vooraan begint te tellen

- hoe vaak een letter na een andere letter voorkomt.

- hoe vaak een letter voor een andere letter voorkomt.

- hoe vaak een letter op een plek in de tekst voorkomt, als je ACHTERAAN terug begint te tellen

 

Bedenk een handige manier waarop het programma de resultaten kan bewaren.

 

 

loterij

(1 december 2012)
Een familie wil lootjes trekken voor Sinterklaas. Daarbij willen ze echter geen lot krijgen van een gezinslid.

 

Schrijf een programma waarmee je een lijst familieleden kunt maken. Bij elk familielid moet je kunnen opgeven van wie hij/zij geen lot kan trekken.

 

Als de invoer compleet is trekt het programma voor iedereen een lot.

 

De deelnemers kunnen één voor één hun lot bekijken door op hun naam te klikken.

 

 

Rham-curve

(10 november 2012)

Let op: deze opdracht heeft alleen zin als je weet wat complexe getallen.

Schrijf een programma waarmee je Rham-curves kunt onderzoeken.

 

 

Dyson-getallen

(10 november 2012)

Neem een getal in gedachten, bijvoorbeeld 112. Zet het laatste cijfer vooraan, zodat in het voorbeeld 211 ontstaat.

211 is nu bijna 2 x 112.

Als het getal exact 2x zo groot was geweest noem je het Dyson-getal 2.

Het getal is 18 cijfers lang!

Je kunt je zo ook afvragen of er een Dyson-getal bestaat voor 1,3,4,5,6,7,8,9.

 

Er zijn ook omgekeerde-Dyson-getallen. Je moet dan net het voorste cijfer achteraan zetten.

 

Schrijf een programma dat alle (omgekeerde) Dyson-getallen zoekt.

 

 

SparseCopy

(10 november 2012)

Je wilt een grote verzameling bestanden van schijf A naar schijf B kopiëren.

Schrijf een programma dat uit uit alle mappen willekeurig bestanden kiest die nog niet gekopieerd zijn.

Uiteindelijk moeten alle bestanden gekopieerd zijn, maar niet map voor map.

 

 

Minecraft-log

(10 november 2012)

Schrijf een programma dat log-bestanden van Minecraft inleest en hier informatie uit destilleert.

Bijvoorbeeld:

- wie is nu online

- wie heeft de server ooit bezocht? En hoe vaak?

- laat alle zinnen zien van user U, of met woord W

- geef alle ernstige foutmeldingen [SEVERE], liefst met de plugin die de fout veroorzaakt.

 

 

Meta-Binario

(9 oktober 2012)

Binario is een leuk spel dat wat op sudoku lijkt.

Schrijf een programma waarmee je een binario kunt oplossen. Je moet daarvoor eerst een matrix invullen die aan de voorwaarden voldoet.

Daarna maak ze één voor één cellen leeg. Maar je moet er natuurlijk wel voor zorgen dat de de puzzel oplosbaar blijft.

 

 

mogelijkheden:

- omdat je voor meta-binario een oplossingsroutine moet maken, kun je ook willekeurige spellen oplossen.

- laat het programma een binario zoeken met zo veel mogelijk open cellen.

 

 

 

De criticaster

(7 oktober 2012)

Een docent wil graag kritiek van zijn studenten krijgen. Daartoe moeten de leerlingen anoniem hun mening kunnen geven.

Anderzijds moet de docent zeker kunnen weten dat de studenten hun mening geven en niet een willekeurige voorbijganger.

 

Daartoe hebben ze het volgende systeem bedacht. Een website geeft de docent een willekeurig getal. De docent geeft dit getal aan de student. De student logt in met dit getal. Het systeem verandert het getal in een tweede getal dat nog de student of de docent kennen. Nu weet de docent dat alleen zijn studenten inloggen en de student weet dat de docent niet weet wie welke kritiek gaf.

 

mogelijkheden:

- maak het ook mogelijk om 'op naam' kritiek te geven.

- maak het nummer geldig voor een bepaald onderwerp (talstelsel, logische schakelingen), zodat per onderwerp kritiek gegeven kan worden.

- maak het mogelijk om de kritiek in een paar elementen op te splitsen: kritiek van de student op de docent, van de student op zichzelf, van de student op het lesmateriaal, verbeterpunten voor de docent, verbeterpunten voor de student etc.

 

 

Microblog

(7 oktober 2012)

Een kind wil graag een blog maken. De blog moet bestaan uit korte teksten en afbeeldingen.

De laatste items staan bovenaan.

Een afbeelding kan worden toegevoegd door er één van het klembord te plakken, óf door een bestand in te lezen.

 

mogelijkheden:

- maak het mogelijk of een tekst of afbeelding in een andere volgorde te zetten.

- maak het mogelijk om uit een screenshot een rechthoekig deel te scheiden voor het in de blog gezet wordt.

- geef elk item dat datum waarop het is aangemaakt, en de datum waarop het voor het laatst is gewijzigd.

 

 

Wegstreeppriem

(7 oktober 2012)

Als je van 2333 het rechtse getal wegstreept krijg je 233. Dat getal is ook weer priem.

Hetzelfde geldt voor 23 en 2.

Van de vorm abbbbbb (een getal a met daarachter een paar keer getal b) is dit de langste rij voor getallen kleiner dan 10^15.

 

Schrijf een programma waarmee je nog verder kunt zoeken naar rijen (als ze bestaan).

Je daarvoor speciale routines gebruiken die met grote getallen kunnen rekenen.

 

mogelijkheden:

 

- Laat het programma ook onderzoeken of er langere rijen zijn voor willekeurige getallen waarvan je het rechtse getal wegstreept.

- Laat het programma links of rechts een getal wegstrepen, welke lange rijen zijn er dan?

 

 

Presentator

(30 september 2012)

Met dit programma kun je de tekeningen en de teksten op een dia stap voor stap laten verschijnen.

Als dia scan je een A4 met tekeningen en teksten in. Deze wordt als een witte dia getoond. Daarna kun je met een cirkelvormige penseel delen van de dia laten verschijnen. Elke tekenactie (eigenlijk een toon-actie) wordt in een tijdlijn vastgelegd.

De gebruiker kan de tijdlijn waarin de delen van de tekening verschijnen later wijzigen.

Hij kan bijvoorbeeld:

- een pauze invoegen

- de tijd voor een actie versnellen of vertragen

- achteraf de diameter van de penseel vergroten of verkleinen om foutjes te corrigeren

- op een tijdstip een geluidsbestand invoegen.

 

mogelijkheden:

- laat de gebruiker meerdere dia's aanmaken

- bewaar de dia's, de scans en de geluidsbestanden in één zip-bestand.

 

 

 

 

 

Isometrische projectie

(30 september 2012)

Met dit programma moet je gemakkelijk een tekening in isometrische projectie kunnen maken. Het programma begint met 1 punt in de oorsprong. Vandaar uit kun je in de richting van de assen over een in te voeren afstand een lijn tekenen.

Van een lijn kun je aangeven of die doorgetrokken of gestreept getekend moet worden.

 

Het programma voegt het eindpunt van een getekende lijn toe aan de lijst met punten als deze niet samenvalt met een eerder punt.

 

mogelijkheden:

- geef de gebruiker de mogelijkheid om tussen twee punten een lijn te tekenen, ook als deze niet evenwijdig met een as loopt.

- maak het mogelijk om een lijn als onzichtbare hulplijn te tekenen. Tijdens het tekenen zijn de hulplijnen wel zichtbaar, maar voor een afdruk kunnen deze worden uitgezet.

- maak het mogelijk om snijpunten van lijnen als een nieuw punt te nemen. Het programma moet controleren of de twee lijnstukken ook echt snijden in de driedimensionale ruimte.

 

 

namenchecker

(30 september 2012)

Schrijf een programma waarmee een gebruiker alle 'bekenden' kan invoeren.

Als er nog iemand is met dezelfde achternaam laat het programma dat zien.

 

Maak het mogelijk dat de gebruiker vrij velden kan aanmaken bij een persoon, bijvoorbeeld:

- klas

- schooljaar

- van-televisie

 

mogelijkheden:

maak het mogelijk om iemand als 'shared' aan te geven. De betreffende persoon wordt dan via een website met andere gebruikers gedeeld, ook als ze hem/haar niet in de lijst hebben staan.

 

 

Werkwoorden 1

(13 september 2012)

Schrijf een computerprogramma waarmee je kinderen van groep 78 werkwoorden kunt laten oefenen.

Het programma laat een zin zien met het hele werkwoord tussen haakjes.

De leerling moet het werkwoord op de juiste manier invullen in het vak achter de zin.

Voorbeelden van zinnen vind je op deze website.

 

 

mogelijkheden:

Laat het programma bijhouden welke vragen een leerling al beantwoord heeft en wat het antwoord was. Je kunt deze lijst presenteren aan een docent.

 

Ken aan de vragen een categorie toe zodat gemakkelijker te herkennen is welke soort opgaven een leerlingen wel/niet beheerst.

 

 

Werkwoorden 2

(13 september 2012)

Maak een programma waarmee je een meerkeuze werkwoordspel kunt spelen.

 

 

Lijnen verbinden

(13 september 2012)

Het spelletje lijnen verbinden is apart. De bogen en de rechte stukken aan de oogjes draaien over 120 graden als je er op klikt.

De puzzel is opgelost alle lijnen met elkaar verbonden zijn.

Schrijf een programma waarmee je dit spel kunt spelen.

 

 

Letterarcering

(13 september 2012)

Schrijf een programma dat een tekst met gearceerde letters laat zien.

De gebruiker moet de arcering kunnen aanpassen:

- welke twee kleuren worden afgewisseld

- welke 'dikte' heeft de ene kleur, welke 'dikte' heeft de andere kleur

- onder welke hoek loopt de arcering

 

mogelijkheden:

Maak het mogelijk dat de achtergrond ook een arcering heeft.

Maak het mogelijk dat de achtergrond dezelfde arcering heeft als de letters, maar dan met de kleuren verwisseld.

 

 

Arcering

(13 september 2012)

Schrijf een programma dat arceringen maakt zoals een tekenaar dat zou doen.

De gebruiker moet uit verschillende soorten arceringen kunnen kiezen.

De lijnen moeten onregelmatig zijn, net als bij een tekening die door een mens gemaakte is.

De lijndikte moet wat variëren, de aanzet wat dikker. De afstand tussen de lijnen is onregelmatige, ook de lengte varieert.

Deze factoren moeten door de gebruiker te beïnvloeden (veranderen, aanzetten, uitzetten) zijn.

 

 

Ken Burns Effect

(13 september 2012)

Schrijf een programma waarmee foto's na elkaar afspeelt. Bij elke foto moet op een rechthoek ingezoomd worden, zoals bij het Ken Burns-effect.

 

De gebruiker moet door de foto's kunnen bladeren en bij elke foto de gewenste rechthoek op het scherm kunnen tekenen. De gekozen rechthoek wordt bewaard in een tekstbestand met dezelfde naam als de foto, maar met de extensie .kbe

 

 

 

Bordplanning

(13 september 2012)

Een school heeft in elk lokaal een digibord. Daarop moet op bepaalde tijden een planning voor de komende tijd zichtbaar zijn. Items in de planning moeten alleen in geselecteerde groepen zichtbaar zijn.

 

Dat juffrouw Ingrid jarig is moet in alle lokalen te zien zijn.

Dat groep 8 op kamp gaat, alleen bij meester Henk en juffrouw Rianne.

 

- maak het mogelijk om in te stellen op welke tijdstippen van de dag de bordplanning automatisch in beeld komt.

- maak het mogelijk om in te stellen voor hoeveel dagen in de toekomst vooruit er items getoond worden.

- maak het mogelijk dat een docent een activiteit toevoegt.

- maak het mogelijk dat een docent bij door een ander ingevoerde activiteit een kruisje zet, zodat deze ook in haar groep zichtbaar worden.

- maak het mogelijk om een activiteit vet of met een andere kleur te tonen.

 

mogelijkheden:

maak het mogelijk om een item gemakkelijk een paar dagen te verplaatsen

 

 

 

klasindeler 1

(13 september 2012)

Een docent heeft N opdrachten, deze zijn genummerd van 1 tot N. Bovendien heeft hij L leerlingen. Elke leerling moet willekeurig A opdrachten maken.

Schrijf een programma dat A opdrachten kiest en de indeling in een tabel zet.

 

 

mogelijkheden:

Vaak zijn de eerste opdrachten gemakkelijk en de laatste moeilijk. Maar het mogelijk om bij elke leerling te eisen dat het gemiddelde opdrachtnummer minimaal X moet zijn.

 

Maak het mogelijk dat de eerste en de laatste opgavenummer minimaal Y verschillen.

 

De docent moet achteraf de indeling kunnen wijzigen, bijvoorbeeld omdat leerlingen opdrachten willen ruilen.

 

 

klasindeler 2

(13 september 2012)

 

Een juffrouw moet bij L leerlingen 3 opdrachten indelen. De drie opdrachten zouden bijvoorbeeld verslagen kunnen zijn: één over een boek, één over een thema en één over Wereldoriëntatie. Elke leerling moet de drie verschillende opdrachten krijgen, maar met een redelijke tijd ertussen.

 

Schrijf een programma dat de 3 opdrachten over de L leerlingen verdeeld, zó dat de opdrachten niet te dicht op elkaar gepland worden.

 

Let op: het is verleidelijk om de 3 opdrachten met een versprongen schema over de leerlingen te verdelen. Dat is niet de bedoeling. De indeling moet echt willekeurig zijn.

 

mogelijkheden:

Maak het mogelijk om uit een ander aantal dan 3 opdrachten te moeten kiezen (dus bijvoorbeeld 1,2,4...)

 

De juffrouw moet achteraf de indeling kunnen wijzigen, bijvoorbeeld omdat leerlingen opdrachten willen ruilen.

 

De minimale gemiddelde tijd tussen drie opdrachten is 1 week, de maximale (aantal weken in een schooljaar - 1)/2.

Laat de docent kiezen hoeveel tijd er minimaal tussen twee opdrachten moet zitten.

 

 

 

stoplicht

(13 september 2012)

Een basisschool/juffrouw wil op haar digibord een stoplicht laten zien.

Bij een rood licht mogen de kinderen niet praten of overleggen. Bij een oranje licht mag er zachtjes overlegt worden. Bij een groen licht hoeft het helemaal niet rustig te zijn.

De juffrouw moet kunnen instellen na hoeveel tijd het stoplicht van rood naar oranje, of van oranje naar groen overschakelt. Bovendien moet ze kunnen instellen of er een geluidsbestand wordt afgespeeld als de kleur veranderd.

 

mogelijkheden:

 

Laat je alleen de actieve kleur zien, of is het echt een stoplicht waarvan steeds 3 lichten zichtbaar zijn (maar er maar één van schijnt)?

 

 

 

alle antwoorden

(15 augustus 2012)

Schrijf een programma (website of voor een mobiel apparaat) dat een antwoord heeft op alle vragen.

 

 

 

 

lettergreepgrijper

(15 augustus 2012)

Dit programma krijgt een grote tekstbestand met (Nederlandse) woorden: nederlandswoorden.txt.

Allereerst onderzoekt het programma welke lettervolgordes veel voorkomen door alle woorden te doorlopen. Dat resultaat wordt bewaard, zodat het bij de volgende start van het programma niet opnieuw onderzocht hoeft te worden.

 

Het programma maakt een lijst met frequenties voor lettervolgorden van 2 tot en met n letters. De gebruiker moet dat aantal zelf kunnen wijzigen. Als de gebruiker n verhoogt moet het programma de ontbrekende tellingen gaan aanvullen.

 

Daarna kiest het programma een woord uit de lijst dat nog niet in lettergrepen opgedeeld is. Op grond van de veelvoorkomen lettervolgorde doet het programma een paar suggesties om het woord op te breken.

 

De gebruiker kiest de opdeling die klopt, of vult zelf de streepjes op de juiste plek aan.

Het programma bewaart de opgedeelde woorden in nederlandslettergrepen.txt

 

Bij de woorden die het programma daarna kiest kijkt het programma of dit woord al opgedeeld is.

 

De gebruiker moet achteraf voor de opgedeelde woorden de opdeling kunnen aanpassen om fouten te herstellen.

 

speel-af-of-speel-op-doel

(15 augustus 2012)

In een rechthoekig gebied zijn n witte en n rode spelers geplaatst. Verder zijn er twee goals. Een van de spelers heeft de bal. Deze speler moet beslissen of de bal afgespeeld wordt naar een medespeler, of dat hij op goal schiet. 

Voor de spelers zonder bal geldt dat ze moeten bepalen waar ze moeten gaan staan om de bal aan te kunnen nemen (partij met balbezit) of om de bal te kunnen onderscheppen (speler of keeper van de partij zonder balbezit).

Schrijf een programma dat op grond van de posities van de spelers voor elke speler een analyse maakt en deze speler zo goed mogelijk laat spelen.

 

 

 

MBTI

(15 augustus 2012)

De Myers-Briggs-Type-Index is een manier om de persoonlijkheid van iemand te omschrijven met vier kenmerken. Elk van de vier kenmerken kan op twee manieren ingevuld worden. Zo zijn er zestien combinaties die iemand omschrijven.

 

Deze manier is natuurlijk erg star. Om te beginnen zijn er andere kenmerken te bedenken die iemand omschrijven. Verder is is de schaal voor elk kenmerk erg grof met slechts twee mogelijkheden.

 

Schrijf een programma voor een website waarop verschillende gebruikers hun kenmerk kunnen vastleggen door het beantwoorden van vragen. De vragen vind je op de bovenstaande website. Vragen om te bepalen of iemand introvert of extravert is staan hier.

 

 

 

Magische driehoeken

(14 augustus 2012)

Schrijf een programma waarmee je magische driehoeken kunt vinden.

Schrijf het programma zo, dat de gebruiker het aantal getallen langs een zijde zelf kan instellen.

 

Dobbelloop

(14 augustus 2012)

Er is een graaf gegeven. Vanuit een bepaald startpunt moet het programma alle punten van de graaf bezoeken.

Het probleem de dobbelsteen bepaalt waar het volgende rustpunt ligt. Alleen als je in het punt rust, telt het punt als een bezocht punt. Punten waar je langs reist tellen niet als een bezocht punt.

 

Eigenlijk bestaat dit probleem uit twee problemen:

- weet je vooraf welke getallen de dobbelsteen gooit?

- of gooi je bij elk rustpunt opnieuw met de dobbelsteen om te bepalen hoeveel zetten je mag doen?

 

mogelijkheden: de gebruiker kan instellen hoeveel vlakken de dobbelsteen heeft (dus eventueel minder of meer dan zes).

 

Hamiltontrouble

(14 augustus 2012)

Een hamilton-wandeling is een wandeling door een graaf die alle knooppunten precies 1x aandoet.

Als je ook nog bij het startpunt eindigt heet het een hamilton-cycle.

 

Stel nu dat je sommige punten meer dan 1x moet bezoeken. Als alle punten 1x bezocht moeten worden en 1 punt 2x, dan moet het punt dat twee keer bezocht wordt het startpunt zijn.

 

mogelijkheden:

- laat de gebruiker kiezen tussen wandelingen en cycles

- laat de gebruiker met een muisklik (links of rechts) het aantal keer dat het punt bezocht wordt ophogen of verlagen

- maak een milde variant mogelijk waarbij het niet erg is als een punt meer dan het gevraagde aantal keer bezocht wordt (minder mag natuurlijk niet!)

 

 

Vogelvlucht

(9 augustus 2012)

Schrijf een programma dat een vlucht vogels imiteert. Het gaat niet om de vorm van de de vogels, maar om de manier hoe de vogels op elkaar reageren en samen (maar onafhankelijk van elkaar) een zwerm blijven vormen, ook als er een vogel van de koers afwijkt.

 

 

 

 

 

Spikkelschrijft

(9 augustus 2012)

Een oud kopieerapparaat en een fax hebben maar twee kleuren om een afbeelding (dus ook een tekst) weer te geven.

In de afbeelding hieronder zie in de witte delen soms een zwarte spikkel. De donkere vlakken lijken wel op tijgervel.

 

Schrijf een programma dat van een afbeelding een zwart-wit afbeelding maakt dat zoveel mogelijk op het onderstaande voorbeeld lijkt.

 

 

 

 

Cirkelsector

(9 augustus 2012)

In de afbeelding hieronder zie je cirkels die steeds in zes delen verdeelt zijn.

Per cirkel zijn de volgens zaken te veranderen

- de positie (x,y)

- de straal r

- de straal van de binnenste cirkel

- de kleur van elk van de zes segmenten

- de laag (een getal dat weergeeft hoe hoog de cirkel ligt, cirkels met een hoog nummer worden bovenop cirkels met een lager nummer getekend).

 

Schrijf een programma waarmee je zulke afbeeldingen kunt maken

 

 

 

 

 

Trapsgewijs

(9 augustus 2012)

In de afbeelding hieronder zie je de illusie van een trap met 4 kleuren.

Schrijf een programma dat zo een trap willekeurig genereert.

 

 

 

Ontwijking

(9 augustus 2012)

Van links komen rode banen die de bomen rechts moeten ontwijken.

Schrijf een programma dat zulke afbeeldingen maakt.

 

De gebruiker kan veel dingen instellen:

- het aantal banen

- de dikte van een baan

- de kleur van een baan

- de positie van een boom (d.m.v. klikken met de muis, klikken op een boom haalt de boom weg)

- kleur van de boom

 

 

 

 

Cirkeldeel

(9 augustus 2012)

In de afbeelding hieronder zie je een cirkel met daarbinnen cirkeldelen.

Schrijf een programma dat dit soort diagrammen genereert.

 

Denk aan een tabel waarin je per cirkel een boogje van een paar graden een kleur kunt geven.

 

 

 

Blauwbord

(9 augustus 2012)

De camera's van telefoon hebben genoeg megaPixels om duidelijke foto's van anwb-borden te maken.

Schrijf een programma dat periodiek foto's maakt en daarin blauw vlakken zoekt.

Als die gevonden worden (van het bord rechts is de blauwe kleur niet zo duidelijk), wordt de foto bewaard. Daarnaast bewaart het programma bij dit foto een klein tekstbestandje met datum, tijd, positie en op-een-na-laatste positie.

Uit de twee posities is de rijrichting te bepalen.

 

 

 

 

 

belijning

(9 augustus 2012)

De camera's van telefoons hebben genoeg megapixels om duidelijke foto's van de belijning van de weg te maken.

Schrijf een programma dat de belijning van de weg bewaart als lijnstukjes, blokjes en driehoekjes.

Voor een positie maakt het programma een tekstbestandje waarin het volgende staat:

 

- datum

- tijd

- positie

- vorige positie

- lijst met posities lijnstukken

- lijst met posities van blokken

- lijst met posities van driehoeken

- naam vorig bestand

 

De naam van het bestandje is de positie (geografisch lengte, breedte) met een volgnummer: GGMMSS-GGMMSS-XXX)

Op 1 punt kan immers in verschillende richtingen gekeken worden.

 

Uit de twee opeenvolgende posities is de kijkrichting te bepalen.

 

Mogelijkheden:

-laat de gebruiker door de vereenvoudigde weergave van wegen bladeren

-geef in de afbeelding de posities van volgende punten aan

-geef de gebruiker de mogelijkheid om zich om te draaien

 

 

 

 

Wereldbol

(9 augustus 2012)

Schrijf een programma dat kleine stukje uit de afbeelding van een wereldkaart in mini-aardbollen veranderd. Die mini-aardbollen moeten willekeurig bij elkaar gelegd worden zoals in de afbeelding.

 

 

Strandbal

(9 augustus 2012)

Schrijf een programma dat willekeurige strandballen genereert zoals in de afbeelding hieronder. De bal is in vier gelijke delen verdeeld die afwisselend geel en rood zijn.

 

 

 

 

Water

(9 augustus 2012)

Op de kaft van dit boek staat een prachtige afbeelding van de zee.

Schrijf een programma dat zo'n zee willekeurig genereert.

 

 

 

Web

(9 augustus 2012)

De tekening hieronder lijkt op een zeer eenvoudige kaart. Er zijn dorpen en steden.

Tussen sommige dorpen en steden lopen wegen, vooral als ze dicht bij elkaar liggen.

Schrijf een programma waarmee je zulke afbeeldingen kunt maken.

 

 

 

Kaft

(9 augustus 2012)

Schrijf een programma waarmee je een kaft zoals in de afbeelding hieronder kunt maken, opslaan en bewerken.

 

mogelijkheid:

- de tekst zijn aan te passen

- de 5 kleuren zijn aan te passen

- lettertype en -grootte van de fonts zijn aan te passen

- het aantal etages in de zigzag-figuur is aan te passen

 

 

 

Para

(9 augustus 2012)

Para is een leuke puzzel. Het bestaat uit 10 fiches met sterren en 3x3 fiches met symbolen.

Eerst leg je de fiches met sterren willekeurig in een cirkel. Er mogen daarbij niet twee dezelfde fiches naast elkaar liggen. Daarna leg je de negen symbolen (toverboek, toverhoed en konijn in hoed) over de sterren. Een fiche met sterren blijft daarbij onbezet. In de foto hieronder is dat de fiche met twee sterren.

 

Het doel is nu om de 3x3 fiches stapsgewijs te verplaatsen totdat ze groepsgewijs naast elkaar liggen (dus drie toverhoeden naast elkaar, 3 toverboeken naast elkaar en 3 konijnen in hoed naast elkaar).

 

Welke fiches je kunt verplaatsen wordt bepaalt door de vrije sterren: in dit geval twee.

Je kunt de fiches die twee plaatsen links of rechts van de vrije plek naar die vrije plek laten springen. Het aantal sterren dat nu vrij komt, bepaalt welke vrije zetten daarna mogelijk zijn.

 

Na een tijdje ontdek je dat sommige symbolen nooit van hun plaats kunnen komen.

Het toverboek bij de fiche met 1 ster bovenaan is een voorbeeld. Er naast liggen alleen fiches met twee sterren. Twee stappen ervan af liggen drie en 1 ster. Op 3 stappen er naast liggen 4 en 1 ster. Op 4 stappen ernaast liggen 3 en 2 sterren). Meer dan 4 stappen spring je niet in 1 beurt, dus dan dit toverboek niet van zijn plaats. Dat betekent dat de andere twee toverboeken wel van hun plaats moeten kunnen!

 

Schrijf een programma dat een beginsituatie genereert en de bijbehorende oplossing zoekt.

 

Mogelijkheid:

-laat de gebruiker ster-fiches of symbolen verwisselen, zodat zij/hij zelf een beginsituatie kan maken

-laat het programma onderzoeken of er onoplosbare beginsituaties zijn.

-laat het programma een oplossing zoeken als het alleen van het vrije ster-fiche het aantal sterren kan zien. Je het aantal fiches dat het programma kan onthouden instelbaar maken tussen 1 en 10. Als het aantal kleiner dan 10 is kun je nog laten instellen welk fiche vergeten wordt; het fiche dat het langst geleden gezien werd of een willekeurig fiche.

-maak het mogelijk om met een andere verzameling ster-fiches te werken.

-maak het mogelijk om eenvoudigere of moeilijkere puzzels te ontwerpen met bijvoorbeeld 3x2, 4x3, 4x4 of een ander aantal symbolen

 

 

 

 

 

krabbelvierkant

(9 augustus 2012)

In het spel Draw Something zit een animatie van een potlood dat een krabbel in een vierkant maakt.

 

Schrijf een programma dat willekeurig van ene zijde naar de andere zijde van een vierkant tekent.

 

mogelijkheden:

- laat de potloodstreep over de rand van het vierkant vallen.

- laat de kleur verlopen

 

 

 

 

 

Somdriehoek

(12 juli 2012)

In een rekenboek voor groep 5 zag ik de onderstaande opgave staan.

In de 10 vakken moeten de getallen 1 tot en met 9 ingevuld worden, zodat de som van de getallen langs de zijden opgeteld 20 is. Het getal 2 staat al ingevuld.

Probeer de puzzel eens op te lossen! Lukt het ook als je de 2 in een 3 veranderd?

 

Schrijf een computerprogramma dat deze puzzels kan oplossen. Een of meer getallen moeten vast ingevuld kunnen worden.

 

Mogelijkheden:

- Laat een computerprogramma onderzoeken of er behalve 20 ook andere totalen mogelijk zijn.

- Je kunt een gemakkelijkere puzzel maken met 3 vakken langs elke zijde, waarin de getallen 1 tot en met 6 ingevuld moeten worden.

- Maak het mogelijk om een puzzel te ontwerpen en die als afbeelding op te slaan.

- Laat het programma onderzoeken hoeveel verschillende oplossingen er zijn.

- Maak ook grotere puzzels met 5 of meer vakken langs de zijden mogelijk.

 

 

 

T(w)o bal

(8 juni 2012)

Twee spelers hebben een kleine bal die ze met het toetsenbord kunnen besturen.

Met de kleine ballen moeten ze samen een grote bal zo snel mogelijk in een doel duwen.

 

mogelijkheden: Zet hindernissen op het speelveld die het moeilijker maken om de grote bal te verplaatsen. Muren kunnen het gemakkelijker maken (je duwt de bal langs de wand naar voren), ronde pilaren kunnen in de weg staan.

 

 

Createster

(8 juni 2012)

Een programma zet een aantal punten op het scherm.

De gebruiker krijgt de opdracht om deze punten om zo veel mogelijk verschillende manieren met elkaar te verbinden. De gebruiker krijgt daarvoor een bepaalde tijd.

 

Het programma houdt bij hoeveel verschillende combinaties van verbindingen de gebruiker maakte.

 

Het programma moet natuurlijk wel voldoende punten op het scherm zetten.

De afstand tussen twee punten moet niet te klein zijn.

 

mogelijkheid: de gebruiker mag alleen punten van een bepaalde kleur met elkaar verbinden. Er moeten natuurlijk wel voldoende punten van die kleur op het scherm staan. Het is misschien zinvol om dit te koppelen aan de vraag in hoe verre de gebruiker kleuren of kleurverschillen wel goed kan zien.

 

Het programma moet natuurlijk wel controleren of er geen punten zijn die niet met een ander punt verbonden zijn.

 

Het programma moet de resultaten voor elke gebruiker opslaan. Denk er goed over na hoe je dat kunt doen.

 

mogelijkheid: de test kan op twee manieren uitgevoerd worden. Als de gebruiker een punt met 1 of twee punten mag verbinden krijg je een slang van punten. Als de gebruiker ook meer dan twee verbindingen per punt mag maken krijg je een netwerk.

 

mogelijkheid: Het is in te stellen of er lussen in de verbindingen voor mogen komen.

 

 

Colorsort

(8 juni 2012)

Een programma laat de gebruiker een aantal gekleurde vierkanten zien.

De kleurverschillen tussen deze vierkanten is minimaal. De gebruiker moet de vierkanten met dezelfde kleur bij elkaar zetten in een groep.

Als er bijvoorbeeld tien vierkanten zijn moeten hier bijvoorbeeld 2 tot 5 groepen van gemaakt worden.

 

Het programma moet de resultaten voor elke gebruiker opslaan. Denk er goed over na hoe je dat kunt doen.

 

 

Botrecorder

(8 juni 2012)

Een chatbot kan leren van echte gesprekken tussen mensen.

Met dit programma worden gesprekken tussen mensen vastgelegd.

 

Dit programma kan bijvoorbeeld als website uitgevoerd worden. Een gebruiker logt in en kijkt wie er online is. Elk bericht tussen gebruiker A en B wordt als volgt vast:

 

tijd van naar bericht

3   A   B      hallo, hoe is het?

9   B   A      prima, en met jou?

15 A   B      ook goed

19 A   B      ik heb een vraag over talstelsel

25 B   A      daar weet ik alles van

31 A   B      hoe schrijf je 21 in het tweetallig stelsel

35 B   A      21=16+4+1, dus 10101

 

Van een gebruiker is op te vragen hoeveel regels zij/hij aan gesprekken heeft bijgedragen.

 

 

Vliegtuigontwerper

(8 juni 2012)

Schrijf een programma waarmee iemand de dwarsdoorsnede van de romp van een passagiersvliegtuig kan ontwerpen. Hieronder staat de doorsnede van een Airbus A380.

 

 

 

Bij jouw programma mag je er van uitgaan dat de romp een cirkel is. Er is maar 1 dek met stoelen. Daarvan moet de gebruiker kunnen bepalen op welke hoogte het ligt.

Verder moet de gebruiker de volgende maten kunnen opgeven:

 

- de breedte van de stoelen

- het aantal stoelen

- de afstand tussen twee stoelen

- de breedte van een gangpad

- het aantal gangpaden

- de loophoogte in een gangpad

- de hoogte en breedte van de bagagerekken

 

 

 

 

geheugenverstoring

(8 juni 2012)

Hoeveel onthoudt een mens? Schrijf een programma waarmee je dat kunt onderzoeken.

We gaan uit van een eenvoudig model. Een item in het geheugen stellen we ons voor als een cirkeltje met een bepaalde kans dat het herinnert wordt.

Items die een altijd herinnerd worden hebben een kans van 1. Items die nooit meer herinnerd worden hebben een kans van nul. De kans bepaalt ook de diameter waarmee een cirkeltje in een diagram getekend word.

 

In de loop van de tijd doen zich items voor die onthouden worden. Die doen zich toevallig (met een bepaalde kans) voor.

 

Voor een mensenleven kun je per jaar een groot aantal factoren instellen.

Deze factoren kunnen van jaar tot jaar verschillen.

 

- het aantal te onthouden items per jaar dat aangeboden wordt

- kans per jaar dat een te onthouden item echt in het geheugen terecht komt

- het aantal keer per jaar dat er een item uit het geheugen gekozen wordt. elk gekozen items krijgt een  hoger kans om de volgende keer opnieuw gekozen te worden (hoe zou je dat kunnen doen?)

- van niet gekozen items wordt de kans elk jaar verlaagd (hoe zou je dat kunnen doen?)

 

Deze factoren zijn deels afhankelijk van het deel per dag dat je slaap/wakker bent.

 

Te onthouden items worden alleen aangeboden als je wakker bent. Tijdens je slaap worden (recente) items beter in het geheugen vastgelegd.

 

Het programma moet met een diagram weergeven hoeveel items er al n jaar in het geheugen zitten.

 

earth walk

(24 mei 2012)

Schrijf een programma dat een miniwereld maakt zoals in de afbeelding hieronder.

Kijk op deze pagina (of deze, of deze (hier kun je overigens nalezen hoe je zo'n foto maakt)) voor meer inspiratie. Je kunt online zelf een miniwereld maken met dit spel.

 

 

world walk

(24 mei 2012)

Je kunt ook alleen naar het bovenste deel van de miniwereld kijken.

Laat het mannetje lopen. De wereld draait zo mee, dat het mannetje steeds bovenop de wereld staat. Schrijf een programma waarmee je door een miniwereld kunt lopen.

 

 

cilinderwereld

(24 mei 2012)

Schrijf een programma waarmee door een cilinderwereld kunt lopen.

In tegenstelling tot een bol is de wereld maar in 1 richting gekromd.

Twee gezichtspunten zijn in het bijzonder interessant: als de kromming in de richting van de horizon loopt, of als ze van links naar rechts loopt.

 

 

 

walk man 1

(24 mei 2012)

Schrijf een programma dat een mannetje over een lijn laat lopen.

 

Mogelijkheid: bestuur het mannetje met de pijltjes naar links en rechts.

 

 

 

walk man 2

(24 mei 2012)

Schrijf een programma dat een mannetje met knie-gewrichten en voeten realistisch laat lopen over een lijn.

 

Mogelijkheid:

- bestuur het mannetje met de pijltjes naar links en rechts

- laat het versnellen en remmen

- laat het ook berg op en af lopen

 

zandloper 1

(24 mei 2012)

Schrijf een programma waarmee je een zandloper simuleert.

Werkt het programma ook realistisch als je de zandloper schuin houdt?

 

 

zandloper 2

(24 mei 2012)

Schrijf een programma dat stap voor stap een spoor van voetstappen in het zand laat verschijnen. De persoon zelf is onzichtbaar.

Na een tijd verwaaien de sporen.

 

 

Roomdivider

(26 april 2012)

Waarom staat een tv niet voor het raam en een kast niet voor de deur? Waarom zit de deur van de koelkast aan de voorkant?

De antwoorden zijn nogal voor de hand liggende: de inwoners van het huis willen naar buiten kunnen kijken, door een deur kunnen en de deur van de koelkast kunnen openen en sluiten.

De plaats en oriëntatie van objecten in een woning moet dus aan verschillende eisen voldoen.

 

Schrijf een programma waarmee je eisen aan objecten op kunt leggen. Daarna maakt het programma aan de hand van die eisen het een geldige inrichting.

Dan kan blijken dat er ongewenst opstellingen worden gemaakt, die je kunt voorkomen door extra eisen toe te voegen.

 

Mogelijkheden/voorbeelden van eisen:

- geen objecten voor ramen of deuren.

- geen deuren van (koel-)kasten naar de muur.

- er moet ergens een vrije oppervlakte zijn van 4x3m

- de loopafstand om meubilair heen tussen A en B moet zo groot mogelijk zijn.

 

 

 

 

Stroop

(26 april 2012)

Bij de stroop-test moet je de kleur van een woord oplezen. De woorden zijn ook de namen van kleuren. Daardoor kun je in de war raken.

Schrijf een programma dat een aantal keer een kleur schrijft in een andere kleur dan het woord zelf.

 

De gebruiker moet de kleuren oplezen. Iemand anders telt daarbij het aantal fouten.

Het programma houdt de tijd bij.

Aan het eind van de test bewaart het programma de geboortedatum (of leeftijd), het geslacht en de testresultaten (tijd+aantal fouten) in een bestand.

 

 

Bladerberg

(26 april 2012)

 

 

 

Schrijf een programma waarmee je de wind tegen een berg bladeren kunt laten blazen. Welke bladeren vliegen als eerste weg? Hoe kun je ze door de lucht laten krullen?

 

 

Paardenbloemenveld

(26 april 2012)

Schrijf een programma waarmee je paardenbloemen laat opkomen in een grasveld.

Laat het programma jaar na jaar door de tijd lopen.

 

mogelijkheden: laat ook het gras groeien in het voorjaar. Laat mos groeien in het najaar. Af en toe rijdt er een grasmaaier over het veld (alleen als het gras lang genoeg is).

 

 

Collectant 1

(26 april 2012)

Schrijf een programma waarmee je kunt simuleren dat een collectant voor een goed doel langs de deuren gaat.

Bij elke deur is er een kans dat niemand opendoet. Als de deur wel op gaat is een kans dat de bewoner niets wil geven. Als er wel een gulle gever opendeed moet het programma gokken welk bedrag er gegeven wordt.

Je kunt dat doen door per coupure een kans op te geven (bv. P(100 euro)=0.00001 en P(1 euro)=0.5)

 

Het programma moet een groot aantal wandelingen langs een aantal deuren kunnen simuleren.

Van elke wandeling houdt het programma bij:

- hoeveel deuren bezocht werden

- hoeveel deuren dichtbleven

- van elke deur die openging het gedoneerde bedrag

- het totaal bedrag dat in de collectebus zit

 

Collectant 2

(26 april 2012)

Nadat een aantal collectanten langs de deur zijn gegaan is bekend hoeveel deuren ze bezochten en welk bedrag ze ophaalden.

 

Schrijf een programma dat voor deze aantallen een kansverdeling probeert op te stellen. Deze kansverdeling bestaat uit:

- de kans dat een deur dichtblijft

- de kans dat er 0 euro gegeven wordt

- de kans per coupure als er wel iets gegeven wordt

 

Het programma rekent dus uit de opgehaalde bedragen de vrijgevigheid van de burgers uit.

 

 

 

Muntenstroom

(26 april 2012)

Als er veel handel is tussen twee landen is de kans groot dat er munten van land A in land B in omloop komen. En misschien ook wel omgekeerd.

 

Schrijf een programma waarmee je voor n landen de kans kunt opgeven dat er geld van het ene land in het andere land in omloop komt. Dat is dus een tabel van n keer n cellen.

 

Bovendien moet je voor elke land het aantal beschikbare munten kunnen opgeven.

 

Als deze gegevens bekend zijn gaat het programma het verloop van de tijd simuleren.

Het laat voor elk land zien hoe de verhouding van elke nationaliteit er voor de in omloopzijnde munten er uit ziet.

 

 

 

 

Lettertijd

(26 april 2012)

Schrijf een programma dat een horloge laat zien dat de tijd in woorden op het scherm zet.

Het programma moet de tijd tot op 1 minuut nauwkeurig kunnen noteren. Bijvoorbeeld

 

  twaalf

  uur

 

of

 

  drie

  voor

  half

  zes

 

Hoe noteer je 12:34 en 12:43?

 

Vier

over

half

één

 

 

Kunstvorm

(26 april 2012)

Download de afbeelding hieronder en bekijk ze op het originele formaat.

 

Schrijf een programma dat willekeurige kunstvormen maakt zoals bij (1) tot en met (9).

Schrijf eerst een plan dat beschrijft wat er zeker getekend wordt en wat er variabel is.

 

 

 

 

 

Zinsdeler

(23 april 2012)

Schrijf een programma waarmee kunt oefenen met het ontleden van een zin.

Op deze prachtige website kun je zien hoe je dat op een gebruikers vriendelijke manier kunt realiseren.

Er kunnen natuurlijk dingen nog beter. Bij het redekundig ontleden gebruik je verschillende symbolen voor onderwerp, persoonsvorm etc. Deze werden door P.C. Paardekooper geïntroduceerd.

 

 

 

(ver)zi(e)n(n)er

(19 april 2012)

Bij het schrijven van een tekst evolueert een zin vaak naar/in een betere zin.

Dat houdt dit programma bij. Een tekst begint leeg. Daaraan kun je een zin toevoegen.

Tussen zinnen kunnen later ook weer zinnen toegevoegd worden. Zinnen kunnen worden veranderd of gewijzigd.

 

Het programma houdt alle versie van de tekst bij door van elke zin de opeenvolgende versies bij te houden.

 

 

Kwadratisch 1

(19 april 2012)

Van een kwadratische vergelijking zijn vaak verschillende vormen op te schrijven.

 

Zo is y=x^2+4x+4 gelijk aan y=(x+2)^2 en y=x(x+4)+4. Maar niet gelijk aan y=x^2+4(x+4)

 

Schrijf een programma dat van 1 kwadratische vergelijking verschillende formules genereert. Sommige daarvan komen met de oorspronkelijke overeen.

De gebruiker moet uit bijvoorbeeld 16 vergelijkingen de overeenkomstige vergelijkingen bij elkaar zoeken.

Je kunt dit uitbreiden door behalve de vergelijkingen (ware en onware) uitspraken over de vergelijkingen bij te voegen. Bijvoorbeeld: 'de top ligt bij (-2,0)' of 'snijdt de y-as bij y=4'.

 

Kwadratisch 2

(19 april 2012)

Schrijf een programma dat n grafieken en n vergelijken laat zien. De gebruiken moet de juiste grafiek bij de juiste vergelijking zoeken.

 

 

Forcefield 1

(19 april 2012)

Calvin Harris bezong het forcefield in 2012. Beck probeerde het ook al eerder.

Schrijf een computerprogramma dat de zon met haar planeten en de manen daaromheen simuleert. Bovendien moet de zon in een melkwegstelsel draaien met andere sterren.

De beweging in het zonnestelsel mag je vereenvoudigen tot een cirkelvormige beweging rond de melkwegkern.

Het programma berekent en tekent alleen de positie van objecten die los van elkaar te zien zijn. Als je te ver uitzoomt zien je geen planeten en manen meer. Als je te veel inzoomt zie je geen sterren meer (behalve misschien de zon).

 

Forcefield 2

(19 april 2012)

Schrijf een programma dat een eenvoudige elektronenmodel van een atoom weergeeft.

De elektronen draaien in schillen. In elke schil passen maximaal 2*n^2 elektronen.

 

 

De gebruiker moet het aantal protonen en elektronen kunnen veranderen.  Als er een elektron bij komt vliegt die naar de juiste schil. De daarin aanwezig elektronen voelen elkaar elektrische kracht en nemen daardoor automatisch een gelijke afstand tot elkaar aan. Als er een elektron weggehaald wordt gebeurt krijgen de overige elektronen automatisch meer ruimte in de schil.

 

 

Forcefield 3

(19 april 2012)

Maak een simulatie van metaal-atomen die met de buitenste elektronenschil tegen elkaar aanliggen. Het elektron in de buitenste schil kan van het ene naar het andere atoom bewegen waar de schillen (=cirkels) elkaar raken.

Als er een elektrisch spanning over de atomen wordt aangelegd zullen de elektronen deze invloed voelen en daardoor vaker in de richting van de plus-pool bewegen.

Daardoor ontstaat netto een elektronenstroom naar min naar plus.

 

 

Taalkeuze

(19 april 2012)

Schrijf een programma dat een willekeurige reeks van 2 tot 10 letters maakt.

De gebruiker moet zo snel mogelijk aangeven of het een geldig woord is of niet.

Het programma onthoud de leeftijd en het geslacht van de gebruiker.

van elk woord onthoudt het programma het aantal milliseconde dat de gebruiker nodig had om zijn/haar keuze te bepalen en de keuze (ja/nee) die de gebruiker maakte.

 

mogelijkheid: maak de test moeilijker door de ja/nee-knoppen willekeurige te verwisselen.

 

mogelijkheid: je zou een (on-)woord ook kunnen genereren door lettergrepen achterelkaar te plakken. Waarschijnlijk is de kans dan groter dat je een bestaand woord maakt. 

 

Kapstok: volgorderegels

(19 april 2012)

Piaget stelde dat je iets pas kunt leren als je het kunt ophangen aan bekende kennis.

Net zoals je een jas aan een kapstok ophangt.

Schrijf een programma waarmee je bij een opdracht de noodzakelijke voorkennis kunt opschrijven.

 

De voorkennis wordt als een lijst van kommagescheiden elementen genoteerd.

Bij een wiskunde-opgave zou dat er zo kunnen uitzien.

 

<beschrijving van de opgave>

<negatieve getallen, coördinaten>

 

Het programma moet nu de opgaven in een volgorde kunnen zetten, zodat er tussen de opgaven blokken met passen uitleg komt te staan.

 

Stel dat het programma de volgende drie opgaven heeft:

<opgave i><b,c>

<opgave ii><a,b>

<opgave iii><a>

 

Deze kunnen op de volgende manier in volgorde gezet worden

 

[uitleg a]

<opgave iii><a>

[uitleg b]

<opgave ii><a,b>

[uitleg c]

<opgave i<b,c>

 

Natuurlijk is er ook een andere volgorde mogelijk:

 

[uitleg b]

[uitleg c]

<opgave i<b,c>

[uitleg a]

<opgave ii><a,b>

<opgave iii><a>

 

Daarom moeten het mogelijk zijn om een kapstok vóór een andere kapstok te kunnen plaatsen met volgorde-regels.

 

Bij de regel 'b voor c'  passen beide oplossingen, maar als ook de regel 'a voor b' wordt toegevoegd, is de tweede oplossing niet meer mogelijk.

 

mogelijkheid: vermeldt bij elke kapstok een leeftijdscriterium. Bijvoorbeeld (leeftijd>9), de kapstok wordt dan alleen getoond als de leeftijd van de lezer minimaal 10 jaar is.

Op deze manier kun je de complexiteit van een boek laten toenemen als de lezer ouder is.

 

Bookmaker

(19 april 2012)

Schrijf een programma waarmee meerdere versies van een boek te onderhouden zijn.

Er is bijvoorbeeld een Nederlandse en een Engelse editie van het boek.

Meestal komt een paragraaf of hoofdstuk in beide edities voor, maar dat hoeft niet.

 

Een boek bestaan uit hoofdstukken, paragrafen en blokken. In een blok kan tekst, een opgave of een afbeelding staan.

 

Een opgave krijgt automatisch een nummer. Als er al 10 opgaven zijn, wordt de volgende automatisch 11. Bij het exporteren wordt dit automatisch nummer vervangen door <paragraaf.nummer> of <hoofdstuk.paragraaf.nummer>. In de tekst kan worden verwezen naar de automatische opgavenummering: 'opgave #opgavenummer:11'. Dit opgave nummer wordt automatisch meegenummerd.

 

 

Bij een afbeelding kan een bijschrijft staan: 'afbeelding <nummer>: beschrijvende tekst'.

In de tekst kan worden verwezen naar de automatische afbeeldingsnummering: 'opgave #afbeeldingsnummer:3'.

 

 

 

Stappendiagram

(5 april 2012)

Schrijf een programma dat van een programma met elementaire instructies een stappendiagram kan maken.

 

mogelijkheden: laat het stappendiagram stap voor stap ontstaan door regel voor regel door het programma te lopen.

 

Elementaire Simulator

(5 april 2012)

Schrijf een programma dat stap voor stap door een programma met elementaire instructies kan lopen. De waarden van de variabelen moet na elke stap aangepast worden. Bij een leesopdracht moet een venstertje verschijnen waarin de gebruiker invoer kan ingeven. Bij een schrijf-opdracht in een vak de betreffende waarde geschreven worden.

 

 

Onuitspreekbaar

(13 maart 2012)

Schrijf een programma dat alle getallen tussen 0 en 10^21 uitspreken.

 

mogelijkheden:

- laat het programma ook de negatieve getallen uitspreken (min....)

- laat het programma ook het deel na de komma uitspreken. Bijvoorbeeld tot op twee decimalen.

 

Kubusknippen

(13 maart 2012)

Een kubus is op 11 manieren als een uitslag te tekenen.

 

 

De uitslag ontstaat doordat een aantal ribben van de kubus doorgeknipt worden.

De zijden worden daarna vlak neergelegd, zo dat de zijden die nog wel aan elkaar zitten in de uitslag naast elkaar liggen.

Bij een driedimensionale kubus zijn alle zijden nog verbonden. Als je niet uitkijkt met knippen kan de uitslag in 2 tot 6 lossen delen geknipt worden.

 

Als je de uitslagen hierboven bekijkt valt er iets op. Er zijn nog vijf ribben niet doorgeknipt. Er zijn dus 7 ribben doorgeknipt.

 

Schrijf een programma dat van een kubus een correcte uitslag maakt.

 

Kubusvouwen

(13 maart 2012)

Je zou ook kunnen beginnen met 6 lossen zijden.

 

Een zijde kies je als start voor de uitslag.

Vijf keer verbind je een nieuwe zijde aan de uitslag. Daarbij mag de nieuwe zijde maar aan 1 zijde van de uitslag raken, anders kunnen er bij het samenvouwen zijiden dubbel komen te zitten. Maar pas op: ook als je aan deze regels houdt, kunnen er uitslagen ontstaan die niet op de juiste wijze zijn samen te vouwen.

 

Schrijf een programma dat van een uitslag nagaat of het een correcte kubusuitslag is.

 

 

welk land is het? (1)

(13 maart 2012)

Denk aan de kaart van Europa. De landen zijn wit, gescheiden door zwarte grenzen.

Je wilt een land kunnen aanklikken. Hoe kan een computer nu achterhalen in elk land je geklikt hebt?

Een veel gebruikte oplossing is deze:

- trek de grenzen van de landen met korte onderling verbonden lijnstukjes over.

- als de gebruiker klik kijk het programma of de klik binnen zo een gebied was.

- stel dat de stukjes grens van een land in de richting van de wijzers van de klok met elkaar verbonden zijn. Als de locatie van de muisklik dan altijd rechts van zo een stukje was, klikte je in het betreffende land.

- Of er aan de rechterkant geklikt werd kun je als volgt bepalen. Zie het lijnstukje als een vector a. Vanuit het startpunt teken je een tweede vector b naar het punt waar geklikt werd. Van deze twee vectoren bereken je het uitproduct axb. Als de waarde telkens negatief is, klikte je in het gebied.

 

 

Schrijf een programma dat deze methode gebruikt.

 

welk land is het? (2)

(13 maart 2012)

Als je de omtrek van een land als een aaneengesloten set lijnstukjes beschreven hebt, kun je ook het raycastingalgoritme gebruiken.

Je tekent een lijn door het punt waarvan je wilt weten of het in het land ligt.

Door te tellen hoe vaak je een grens passeert kun je het antwoord bepalen.

 

Hoe kun je bepalen of je een grens passeert? Door van alle lijnstukken een lineaire vergelijking op te stellen en daarmee de snijpunten te berekenen. Let op: snijpunten tellen niet mee als in het verlengde van het lijnstuk liggen. Ze moeten er dus echt op liggen.

 

Schrijf een programma wat met raycasting bepaalt of een punt in een land ligt?

 

 

welk land is het? (3)

(13 maart 2012)

De methode die in de vorige opdracht beschreven werd heeft als nadeel dat je de grenzen van alle landen moet gaan overtrekken. Is er geen manier waarop het programma helemaal zelf kan bedenken of je in een land klikte?

 

Misschien dat je het land kunt bedekken met cirkels. Als de gebruiker klikt kijkt het programma in welke cirkel je klikt. De cirkels moeten zich natuurlijk overlappen, anders blijft er land onbedekt.

 

De vraag is of de cirkels over de grenzen heen mogen vallen. Stel dat je dit niet doet, dan is het eenvoudig om te bepalen in welk land je klikt. Een cirkel hoort immers echt maar bij één land. Het zou echter wel eens kunnen zijn dat je behoorlijk wat kleine cirkeltjes nodig hebt om de laatste kleine onbedekte hoekjes te bedekken.

 

Stel dat de cirkels wél over de grenzen heen mogen vallen. Dan kun je met een grotere cirkel in een keer een heel gebied afdekken. Maar wat als je in het buitenlandse deel van de cirkel klikt? Er moet dan een manier zijn om te bepalen dát je in het buitenland klikte.

Waarschijnlijk kun je dat oplossen door de verdeling zo te kiezen het middelpunt dat het dichtstbij ligt bij het aangeklikte land hoort.

 

Schrijf een programma dat de landen van Europa met cirkels bedekt zodat hiermee te bepalen valt in welk land je klikt. Het programma moet de verdeling zelf maken, zodat je bij een wijziging van de kaart niet opnieuw aan de slag moet.

 

 

 

 

 

plussen en minnen

(13 maart 2012)

Soms hebben twee berekeningen dezelfde uitkomst. Dat geeft een leuke puzzel: je laat de bewerking uit de berekeningen weg. De gebruiker moet die dan bepalen.

 

Bijvoorbeeld: 30 .. 4 = 70 .. 50. Op de plaats van de puntjes moet je x,:,+ of - invullen.

 

Mogelijkheden: Ingewikkeldere opgaven kunnen natuurlijk ook: 30 .. 20 = 5 .. 5 .. 25

 

 

Zich verhouden tot

(13 maart 2012)

School verhoudt zich tot leerling als ziekenhuis tot patiënt. Verzamel meer van dit soort waarheden en schrijf er een programma voor om ermee te oefenen.

 

Woordvorm

(2 maart 2012)

De woorden 'buigen' en 'niveau' bestaan elk uit zes verschillende letters. Daarom kun je zeggen dat ze dezelfde 'vorm' hebben: 123456. Elk cijfer staat voor 1 van de verschillende letters.

De woorden 'woord' en 'brood' hebben wel vier verschillende letters, maar niet op dezelfde plek. Daarom hebben deze niet dezelfde vorm. 'woord' heeft de vorm 12234 en 'brood' heeft de vorm 12334.

 

Als er woorden voorkomen met meer dan 10 verschillende letters werkt de notatie met cijfers niet meer. Stel dat ...901112 het laatste deel van een lang woord is. Lees dat dat dan als -9-0-11-12 of als 9-0-1-1-1-2?

Daarom is het beter om letters te gebruiken.

 

De code 123456 wordt dan abcdef, 12334 wordt abccd. Als er meer dan tien letter voorkomen is dat geen probleem.

 

 

Schrijf een programma dat voor elke woordvorm telt hoe vaak die in de woordenlijst van opentaal voorkomen. Het resultaat moet als een tabel te bekijken en te exporteren (tekstbestand) zijn.

 

 

Letterdiversiteit

(2 maart 2012)

Hoeveel woorden zijn er met 3 verschillende letters? Welke lengte hebben die woorden 3, 4, 5 ('lepel') of misschien zelfs langer?

Schrijf een programma dat van alle woorden n de woordenlijst van opentaal tuft wat de lengte en het aantal verschillende letters is. De tabel moet in absolute aantallen (dat is gewoon het aantal) en het percentage gegeven kunnen worden.

Horizontaal staat de lengte van de woorden. Verticaal het aantal verschillende letters in het woord.

 

 

L=1

L=2

A=1

 

 

A=2

 

 


 

 

Auto(de)code

(2 maart 2012)

Stel dat je je dagboek gecodeerd op wilt slaan, maar nooit een wachtwoord kunt onthouden zonder het op te schrijven. Als de inhoud van het dagboek niet al te geheim is kun je proberen om het programma automatisch de gecodeerde tekst te laten decoderen.

 

Dat werkt zo. Het programma slaat de tekst op met een willekeurig gekozen Ceasarcodering. Welke verschuiving gekozen werd slaat het programma niet op.

Bij het inlezen van de tekst probeert het programma alle mogelijke Ceasarcoderingen om de tekst te decoderen. Alleen de decodering waarvoor bij elk woord een bestaand woord in een woordenlijst (bijvoorbeeld de woordenlijst van opentaal) gevonden wordt, kan de juiste zijn.

Theoretisch zouden er meer decoderingen kunnen zijn die bestaande woorden opleveren. In dat geval moet het programma de gebruiker de keuze laten.

 

Mogelijkheden: In plaats van een eenvoudige verschuiving zou je ook een ander substitutie-alfabet kunnen gebruiken. Elke letter komt op een willekeurige andere plek in het alfabet te staan. Het decoderen is dan natuurlijk veel moeilijker.

Toch zijn er wel manieren waar je de tekst snel kunt decoderen. Kies een lang woord (er zijn minder lange woorden, dan korte woorden) uit de tekst en probeer voor dit woord alle sleutels. Als een decodeersleutel een bestaand woord geeft kun je dezelfde sleutel op een ander woord toepassen. Als je een decodering vindt die voor alle woorden een bestaand woord geeft heb je een mogelijke oplossing gevonden.

 

 

Vierkleur

(13 februari 2012)

Google gebruikt in haar reclame een houder met vier stiften.

Als de houder over het papier beweegt tekenen de vier stiften een spoor.

De houder beweegt en draait willekeurig.

 

 

 

Schrijf een programma dat zo'n houder over het papier laat bewegen.

 

Mogelijkheden: Laat de gebruiker de kleuren kiezen. Laat de gebruiker de mate van beweeglijkheid kiezen. De gebruiker kan de afbeelding bewaren.

de gebruiker kan er voor kiezen om de tekening te maken zonder dat de houder zichtbaar is. Laat de gebruiker zelf de houder besturen met vier toetsen voor de bewegingsrichting en twee om de houder te draaien (linksom en rechtsom).

 

 

 

lettercombinatiecollectie

(13 februari 2012)

Letters kunnen in vrijwel elke volgorde voorkomen.

Schrijf een programma dat uit een verzameling zinnen een zo klein mogelijke deelverzameling kiest waarin zo veel mogelijk lettervolgordes voorkomen.

 

Cardano-rooster

(15 februari 2012)

Schrijf een programma waarmee je een tekst met een cardano-rooster kunt versleutelen. De gebruiker moet de te versleutelen boodschap kunnen opgeven.

Daarbij moet een cardano-rooster op te geven zijn (breedte, hoogte, en een lijst met de posities van de openingen). Daarmee liggen de posities van de letters van de boodschap vast. Hierom heen moet dan rest van de boodschap geschreven worden.

 

Je kunt het ook omdraaien. Je begint met de te versleutelen boodschap. Daarna typt de gebruiker een tekst telkens als er een volgende letter van de te versleutelen tekst gedetecteerd wordt, wordt een positie van het cardano-rooster vastgelegd.

 

Mogelijkheden: de gebruiker kan de te versleutelen tekst, het rooster en de te versturen tekst kunnen opslaan en opvragen.

 

 

 

 

Aantal opdrachten dit jaar: 132 (tot 30 december 2011)

 

[todo: blokjes.breakout]

 

 

woordverkorting (van lang naar kort)

(30 december 2011)

Soms is een woord een deel van een langer woord. Zo is 'dracht' een deel van 'opdrachten'.

Op deze manier kun je een woordenboek veel korter opschrijven. Je schrijft alleen de langere woorden volledig op. Van de deelwoorden schrijf je op hoe je ze uit de lange woorden maakt. Je noteert hoeveel letters er aan het begin en einde weggelaten zijn.

 

In de tabel hieronder staan de woorden 'opdrachten', 'opdracht' en 'dracht' gecodeerd.

 

N staat voor het nummer 1,2,3, ...

B is het aantal letters dat aan het Begin weggelaten is

E is het aantal letter dat aan het Eind weggelaten is

W is óf een compleet woord, óf een getal als verwijzing naar een woord

 

Op de eerste regel staat het woord 'opdrachten'.

Op de tweede regel staat een verwijzing naar woord 1, waarbij aan het eind twee letter weggelaten worden 'opdrachten' wordt dus 'opdracht'

 

N  B  E  W

1  0  0  opdrachten

2  0  2  1

3  2  0  2

 

De derde regel had je ook kunnen noteren als:

 

3  2  2  1

 

Schrijf een programma dat een grote woordenlijst op deze manier verkort. De gebruiker moet daarbij kunnen instellen of je bij een verkorting een tussenstap moet gebruiker als die bestaat. in dat geval wordt 3 2 0 2 gekozen in plaats van 3 2 2 1.

 

Het programma moet een aantal routines bevatten waarmee je zulke lijst kunt bewerken:

 

- procedure WoordToevoegen(s)

 

Een toevoeging als 3 2 2 1 is altijd te maken. Maar je routine is pas echt slim als je onderzoekt of door het nieuwe woord ook andere woorden kort opgeschreven kunnen worden.

 

- procedure WoordWissen(s)

 

De routine wist een woord. Dat lijkt gemakkelijk, maar let op! Het kan zijn dat dit woord als tussenstap gebruikt wordt. In het voorbeeld hierboven kun je regel 2 niet ongestraft verwijderen: je kunt dan namelijk niet meer van woord 3 naar woord 1 komen!

 

- procedure WoordBestaat(s)

 

De routine WoordBestaat(s:string) onderzoekt of een woord s in de lijst voorkomt. Dat is een complexe zoektocht. Je het als volgt kunnen oplossen.

Kijk of er lange woorden zijn die s bevatten. Als dat niet zo is kun je stoppen.

Als er wel een lang woord gevonden werd dat s bevatte, kun je regels gaan zoeken die verkortingen van dat lange woord zijn. Als er geen verkorting meer is die s bevat kun je stoppen. Als s wel in de lijst voorkomt staat die ergens als verkorting (van een verkorting (van een verkorting (...))) beschreven.

 

woordverlenging (van kort naar lang)

(30 december 2011)

In de bovenstaande opdracht staat een manier beschreven om de relatie tussen woorden aan te geven. Je kunt de relatie tussen woorden ook omgekeerd zien.

 

N B         E   W

1 dracht  -    0

2 op       -    1

3 -         en  2

 

In elke regel staat beschreven hoe je een woord verlengt. Op de eerste regel staat het woord opdracht dat een verlenging van een lege string (W=0).

 

Schrijf een programma dat een woordenlijst op deze manier samenvat. Ook nu moet het programma weer drie belangrijke routine bevatten:

 

- procedure WoordToevoegen(s)

- procedure WoordWissen(s)

- procedure WoordBestaat(s)

 

Muntjes raden

(17 december 2011)

Hieronder zie je afbeelding van een spel.

Er valt een groot aantal muntjes omlaag. Ze komen op één van de etages terecht. Daar stuiteren ze nog wat om uiteindelijk in een bakje terecht te komen. In een bakje komen 0,1,2 of 3 muntjes. De speler moet de raden in welke bakjes muntjes zitten, door deze aan te klikken.

 

 

 

Wegen tekenen

(17 december 2011)

Hieronder zie je afbeelding van een spel.

 

Mario moet naar één van de vier bestemmingen (de ster). Dat kan alleen door een nieuwe weg tussen de vier wegen te tekenen, zodat hij kan oversteken. Bij elke volgende ronde wordt het moeilijker doordat de eerder getekende wegen blijven staan.

 

 

Buren wissen

(17 december 2011)

Hieronder zie je afbeelding van een spel.

De bedoeling is dat je alle figuurtjes van het speelveld verwijderd. Je kunt je wissen als naast elkaar liggen. Als twee figuurtjes gewist zijn schuift alles naar links op om het ontstane gat op te vullen. Als aan het eind van een regel een gat ontstond, schuift de linker figuur van de volgende regel daar naar toe.

 

Logochecker

(1 december 2011)

Met de logochecker is de complexiteit van een logo-programma te controleren.

 

Als de gebruiker het programma start moet hij eerst een map kiezen. Alle .lgo-bestanden in die map worden gecontroleerd. het resultaat van de controle komt in een tabel te staan.

 

Het programma controleert de volgende zaken:

 

- het aantal routines

- het programma onderzoekt welke routine als hoofdroutine gebruikt wordt

 

De hoofdroutine is de enige routine die niet door andere routine opgeroepen wordt.

Als het programma hier ontdekt dat dit voor meer dan één routine geldt wordt, wordt het aantal en de namen van de routines vermeldt.

 

- welke commando's in het programma voorkomen

 

de gebruiker kan een lijst van te controleren commando's opgeven, bijvoorbeeld: repeat, fill, pos, setpos, make, localmake.

 

Het resultaat wordt in een tabel gezet (in dit voorbeeld staan maar twee bestanden, maar dat kunnen er natuurlijk veel meer zijn).


 

 

1112-4V-Jan.lgo

1112-4V-Willem.lgo

aantal routines

7

5

aantal hoofdroutines

1

2

hoofdroutines

teken

abc,def

repeat

3

3

fill

7

2

pos

2

1

setpos

1

0

make

2

0

makelocal

2

0


 

 

Mogelijkheden: maak het mogelijk om de overeenkomst tussen twee bestanden weer te geven. Je zou daarvoor bijvoorbeeld de Levenshtein-afstand kunnen gebruiken.

Als resultaat geef het programma dan bijvoorbeeld een lijst met daarin alle combinaties van twee bestanden en de onderlinge afstand. Deze lijst is op oplopende afstand te sorteren.

 

 

Feestschrift

(30 november 2011)

Zoveel feest als in het voorbeeld hieronder is op een computer moeilijk. Schrijf een programma waarmee je letters van een tekst willekeurig uit n kleuren kiest. De gebruiker kan zelf aangeven welke kleuren dit moeten zijn. Ook het lettertype is door de gebruiker in te stellen. Bovendien kun je van een deel van de tekst aangeven of deze door lichtstraaltjes omringd moet worden (zie de 11 in de tekst). Verder moet de gebruiker een deel van de tekst kunnen optillen (superscript, zie de 'de'  na de '11').

De gebruiker moet de tekst en de instellingen kunnen opslaan en opvragen zodat ze laten weer te bewerken zijn. Ten slotte moet de opgemaakte tekst als afbeelding te exporteren zijn.

 

 

 

 

 

nummertjes verven

(29 november 2011)

Schrijf een programma waarmee je een schilderij kunt verven door per nummer de bijpassende kleur te verven.

 

Speeltijd

(29 november 2011)

Schrijf een app waarmee je van een team kunt bijhouden hoeveel speeltijd iedereen kreeg. Je moet dit per wedstrijd kunnen bijhouden.

 

Allereerst moet de gebruiker de spelers kunnen opgeven. Bij een wedstrijd kan de gebruiker een speler in drie toestanden zetten: spelend, langs de lijn, afwezig.

Soms kan iemand tijdens een wedstrijd in alle drie de toestanden zijn geweest (bijvoorbeeld als de speler eerder weg moet).

Als de wedstrijd begint drukt de gebruiker op een startknop. Bij elke wijziging wordt de betreffende speler in de nieuwe toestand gezet. Daarbij houdt het programma voor iedere speler bij hoeveel seconde hij speelde/langs de kant stond. Dit is natuurlijk ook naar een percentage van de totale speeltijd om te rekenen. Voor sporten waarbij er een rust halverwege is, heeft het programma een knop Begin rust en Einde rust.

 

Het programma houdt alle wijzigingen los bij zodat achteraf een overzicht te genereren is:

 

10:00:00 start

10:00:00 wissel harrie kees

10:00:00 ardie ziek

10:05:00 willem uit harrie in

10:11:00 hans uit karel in

10:15:00 begin rust

10:20:00 karel uit hans in

10:20:00 eind rust

10:25:00 hans uit kees in

10:35:00 eind

 

let op: als de gebruiker tijdens de rust de opstelling wijzigt wordt die natuurlijk pas geteld als de rust voorbij is.

 

 

mogelijkheden: maak het mogelijk om de totale speeltijd over meerdere wedstrijden te bereken. Hetzelfde kan natuurlijk ook voor de tijd langs de lijn of voor tijd/wedstrijden dat de speler er niet was.

 

 

Puntvlucht

(29 november 2011)

In een klein gebied (bijvoorbeeld een cirkelvormig gebied) vliegen punten uit naar een nieuwe plek zodat de punten letters van een tekst vormen.

 

Schrijf een programma waarmee je met punten een tekst kunt schrijven.

Het programma genereert dan een animatie die de punten naar de opgegeven plek laat vliegen.

 

mogelijkheden: laat de punten willekeurig beweging om de eindpositie. De letters lijken dan te dansen.

 

mogelijkheden: exporteer de tussenstappen van de animatie als een afbeelding. Deze zijn dan weer samen te voegen tot bijvoorbeeld een gif-bestand dat de animatie bevat.

 

 

Levensloop

(29 november 2011)

Computerprogramma's komen en gaan. Spellen die je vroeger speelde liggen achterin de kast en sinds gisteren gebruik je een ander fotobewerkingsprogramma.

 

Hoe gaat die evolutie eigenlijk?

Schrijf een programma waarmee een gebruiker kan opgeven welke programma's hij op dag gebruikte. Het programma moet voor een programma een diagram kunnen genereren dat laat zien hoe het gebruik in de loop van de tijd was. Waarschijnlijk kun je daarvoor de metingen in een periode bij elkaar vegen: bijvoorbeeld door de frequentie per maand te gebruiken in plaats van de frequentie per dag.

 

Maak verschil tussen de apparaten waarop de gebruiker het programma gebruikte: minecraft op de PC is iets anders dan minecraft op de iPod.

 

Per meting noteer je dan bijvoorbeeld:

 

- username

- datum

- programmanaam/spelnaam

- categorie (spel, tekstverwerking, beeldbewerking)

- apparaat/OS (Windows, iOS, Linux, Web)

 

mogelijkheden: maak het mogelijk om meerdere (alle?) programma's uit een categorie tegelijk te tonen. Dan kun je pas gemakkelijk zien dat er 'oude' en 'nieuwe'  programma's en spellen zijn.

 

spelfoutverdeling 1

(29 november 2011)

Woorden woorden soms fout gespeld. Zoals het tweede woord in de zin voor deze zin.

Maar hoe worden ze fout gespeld? In het woord dat in de eerste zin fout gespeld werd, werd een letter dubbel geschreven. Ook zie je vaak dat per ongeluk een letter die ergens naast de gewenste letter op het toetsenbord staat getypt wordt. Dat zijn dan eigenlijk meer typefouten.

Hoe kom je er achter hoe een woord fout gespeld wordt, en hoe vaak dat dan gebeurt?

Het tweede woord in de eerste zit was bovendien een bestaand woord, als eerste woord in de eerste zin wel correct was...

 

strategie 1: zoek op internet naar nederlandstalige teksten. Haal de woorden uit die teksten en leg ze naast een lijst met correct gespelde woorden. Woorden die niet in de lijst voorkomen zijn:

- of correct, maar staan niet in de lijst

- zijn foutgespelde vormen van woorden die wel in de lijst staan.

 

Of een woord bij de eerste soort hoort kan een mens achterhalen (bijvoorbeeld door in een woordenboek te kijken). Maar misschien dat een machine dat ook kan bepalen.

 

De tweede vorm is waar deze opdracht met name over gaat. Hoe achterhaal je wat het woord was wat bedoeld werd? Zijn er misschien meerdere woorden die in aanmerking komen?

 

Het eindresultaat moet zijn dat het programma na een lange zoektocht bij de woorden in de correctgespelde lijst een lijst met spelfouten kan geven en per spelfout heeft bijgehouden hoe vaak die voorkwam.

 

spelfoutverdeling 2

(29 november 2011)

strategie 2: Geef de gebruiker een woord uit een lijst met correct gespelde woorden en vraag hem om het woord fout in te tikken. Dit is dus het bewust maken van spelfouten. Het kan natuurlijk zijn dat bewust gemaakte spelfouten helemaal niet overeenkomen met onbewust gemaakte spelfouten.

Je kunt dat oplossen door de gebruiker een tekst te laten overtypen. Als de gebruiker zo maar op wat toetsen ramt verschilt de tekst te veel van de oorspronkelijke tekst (Levenshtein afstand). De accepteert het programma niet.

 

Ook dit programma moet uiteindelijke van alle woorden in de woordenlijst foute spellingen kunnen opsommen, inclusief het aantal keer dat het woord op die manier fout gespeld werd.

 

 

Fotopasser

(29 november 2011)

In een fotolijst komen vaak vakjes voor die kleiner zijn dan de standaard 10x15cm maat. Hoe print je gemakkelijk foto's voor die afwijkende maten?

Een mogelijk idee is dat je de kleinere foto's op een 10x15 foto samenvoegt en dan afdrukt.

 

De foto moet iets groter zijn dan de afmeting van het gat zodat de foto er niet doorheen valt.

 

Schrijf een programma waarmee je een aantal kleinere foto's op een 10x15 foto legt.

De gebruiker moet de extra breedte aan de rand zelf kunnen kiezen.

De gebruiker kiest voor een kleinere foto een jpg-bestand. Door schuiven en inzoomen kan de gebruiker bepalen welk deel van de foto gebruikt wordt.

 

mogelijkheden: het is soms efficiënter om de kleine foto's gedraaid op de 'collage' te zetten: er passen dan meer foto's op één afdruk.

 

Take 5 strategie

(29 november 2011)

Take 5 (6 nimmt) is een eenvoudig te begrijpen, maar verrassend ingewikkeld kaartspel. Lees eerst de spelregels op de Wikipedia-pagina.

 

Schrijf een programma dat bepaalt wat de beste keuze voor een speler is. Het programma kent alleen de kaarten die op tafel liggen of hebben gelegen en de kaarten die deze speler in de hand heeft.

 

 

Ontwikipediator

(25 november 2011)

Schrijf een programma dat de zinnen in een tekst omschrijft naar een andere vorm met dezelfde betekenis. Ook de volgorde van zinnen kan soms veranderd worden, zonder dat de betekenis van de tekst verloren gaat. Ook door het gebruik van synoniemen kan de tekst veranderen zonder dat de betekenis verandert.

 

Mogelijkheid: Hoe meet je of de tekst voldoende gewijzigd is? Voorbeeld: Als je een tekstfragment uit de gewijzigde tekst bij een zoekmachine invoert mag de zoekmachine niet bij de oorspronkelijke tekst uitkomen.

 

Mogelijkheid: Het programma geeft de mate van verschil tussen twee teksten aan met de Levenshtein-afstand.

 

 

Streeplijn

(22 november 2011)

Schrijf een programma waarmee je streeplijn kunt tekenen.

Het is handig als je eerst een bestaande tekening kunt inlezen. Daarna kan de gebruiker de twee kleuren opgeven. Van elke kleur wordt ook de lengte opgegeven (die kan verschillend zijn). Door herhaald in het tekengebied te klikken kan de gebruiker lijnstukken achterelkaar leggen. Het afwisselend kleurpatroon moet dan netjes doorlopen.

Het eindresultaat moet bewaard kunnen worden.

 

 

Mogelijkheid: maak het mogelijk om de begin-en eindpunten van de lijnstukken achteraf te verplaatsen.

 

Mogelijkheid: maak het mogelijk om een kleur om de hoek te laten gaan als dat nodig is.

 

Vapor-trail-inator

(22 november 2011)

Schrijf een programma dat in een foto van een ochtend- of avondlucht naar rechte streepjes van vliegtuigsporen kan zoeken.

 

 

 

Tekstblok

(22 november 2011)

Schrijf een programma waar tekstblokken te maken zijn. Een deel van de tekst is met een vloeiende lijn aan een ander tekstblok te koppelen. De gekoppelde tekst wordt onderstreept. 

De inhoud en positie van de tekstblokken is achteraf te wijzigen. Hetzelfde geldt voor de links.

Het resultaat moet in een bestand bewaard kunnen worden, zodat het later te bewerken is.

 

 

 

Square Subtracting

(1 november 2011)

Neem als startgetal 29. Haal er om beurten een kwadraat vanaf. Wie op nul uitkomt wint. Stel dat je als eerste aan de beurt bent, met welk kwadraat moet je beginnen om te winnen? Hoe zit dat met andere startgetallen.

 

Schrijf een programma dat voor elk getal de winnende strategie bepaalt.

 

 

roosterschuiver

(1 november 2011)

Schrijf een programma dat de gebruiker de mogelijkheid biedt om een rooster te vervormen.

 

Je hoeft natuurlijk niet per se met een rechthoekig rooster te beginnen. Het mag ook best een spinnenweb zijn!

 

 

 

foto-bladeren

(1 november 2011)

Schrijf een programma waarmee je door foto's kunt bladeren.

Als je van de ene naar de andere foto gaat moet dat met een vloeiende overgang.

 

Laat de foto's uit een map bijvoorbeeld naar rechts uitvliegen als je de map aanklikt.

 

 

Als de foto naar rechts schuift komt erachter de volgende foto te voorschijn. Deze beweegt dan eerst naar links, wordt groter en beweegt daarna naar rechts om dan de gewenste grootte te bereiken.

Als je de foto swypet, klapt deze in opzij weg. Meteen schuift dan volgende foto mee naar binnen.

 

stad

(1 november 2011)

In de afbeelding hieronder zie je prachtig stad (als je de zwarte delen wegdenkt).

Schrijf een programma waarmee je het vooraanzicht van de stad kunt tekenen, waarna het programma er een 3D-aanzicht van maakt.

 

 

 

let op

(1 november 2011)

Schrijf een programma dat de gebruiker op bijzondere verkeersituaties wijst als hij het betreffende punt uit de juiste richting nadert.

 

Zeeslag

(1 november 2011)

Schrijf een programma waarmee je een gebruiker een opstelling kunt laten maken voor het spelletje zeeslag. Het doel is om te onderzoeken waar mensen hij schepen bij voorkeur neer zetten.

 

Het programma moet alle opstellingen kunnen inlezen en daaruit voor elke cel bepalen hoe groot de kans is dat er een schip komt te staan.

 

ringen

(1 november 2011)

Een ring kun je tekenen door een witte cirkel in een gekleurde cirkel te tekenen.

Die truc werkt echter niet 1-2-3 als je overlappende ringen wilt tekenen.

Schrijf een programma waarmee je dat wél voor elkaar krijgt.

 

Mogelijkheden:

- maak ook ellipsen mogelijk

- als je het binnendeel niet dezelfde vorm of hetzelfde middelpunt als de buitencirkel geeft krijgt je bijzondere ringen.

- geef de gebruiker per kruising de mogelijkheid om aan te geven welke cirkel achter welke cirkel ligt.

 

 

 

net-diagram

(1 november 2011)

In spreadsheets kun je bij een tabel een zogenaamd net-diagram laten maken.

Het onderstaande diagram hoort bij een tabel met de waarden 1,2,1,2,4,5.

Soms is de ordening van de getallen in de tabel niet belangrijk. Je had dan evengoed het diagram voor de getallen 1,2,4,2,1,5 kunnen tekenen.

 

Je kunt dus voor een aantal getallen verschillende diagrammen maken. Deze diagrammen hebben meestal niet dezelfde oppervlakte.

 

Schrijf een programma dat voor een rij getallen de volgende zaken bepaalt:

- de volgorde(n) die de grootste oppervlakte geeft (geven)

- de volgorde(n) die de kleinste oppervlakte geeft (geven)

- de gemiddelde oppervlakte voor alle volgordes

 

 

 

temperatuurgolf

(1 oktober 2011)

De temperatuur veranderd in de loop van de jaren periodiek. Dat heet de jaarlijkse gang.

Ook in het verloop van een dag zit zo een periodiek verloop: de dagelijkse gang.

In het verloop door het jaar heen zitten ook een golvend verloop: denk maar aan de hittegolf en een periode van kou. Schrijf een programma dat aan de hand van de historisch gegevens van het KNMI probeert om voor de maximumtemperatuur een periodieke functie op te stellen die zo goed mogelijk past. Gebruik daarvoor bijvoorbeeld de methode van de kleinste kwadraten. De functie bestaat uit twee delen: de jaarlijkse gang + de door jouw programma bepaalde functie.

 

y=A*sin(B*(t-C))+D + E*sin(F*(t-G))

 

De functie is voor elk kalenderjaar anders.

 

Kun je  - nadat je programma voor een groot aantal jaren zo een functie heeft opgesteld - een bewering doen over het aantal weergolven dat je in een jaar kunt verwachten?

 

 

 

Letterscore - meten

(1 oktober 2011)

Rond de letter X (inclusief de X zelf) staan in totaal 15 punten. Dat noemen we de rondomwaarde.

Schrijf een programma dat van een partij scrabble de hoogste, laagste en gemiddelde rondomwaarden kan bepalen.

 

 

 

Letterscore - optimaliseren

(1 oktober 2011)

Gegeven is een woordenlijst. Onderzoeken hoe je drie woorden onder elkaar kunt plaatsen op een scrabblebord, zodat er een groep van 3x3 vakjes ontstaat met een zo hoog mogelijke letterscore. Let op: als je drie woorden onder elkaar plaatst moet er verticaal natuurlijk ook een geldig woord staan!

Maak het mogelijk om het programma voor elk van de drie woorden een deel van het alfabet te laten doorzoeken. Bijvoorbeeld [a-c][a-c][a-c] gebruikt voor elke van de drie woorden alleen woorden die met de letter a,b of c beginnen. Met [aa-ak] onderzoek je alleen woorden die met aa tot en met ak beginnen.

 

Mogelijkheid: laat het programma instellingen-bestanden maken, zodat het hele zoekdomein over n computers verdeeld worden. Liefst zo, dat ze ongeveer evenveel combinaties moeten doorzoeken.

 

 

 

Presenteer

(22 september 2011)

Schrijf een programma waarmee je op eenvoudige wijze presentaties kunt maken.

Er zijn geen toeters en bellen nodig. Je moet teksten en afbeeldingen op een dia kunnen plaatsen. Van de teksten moet je de grootte, het lettertype en de kleur kunnen instellen.

 

Mogelijkheden: exporteer de dia's in een map als afbeeldingen, zodat je ze op een website kunt plaatsen of (zonder het programma) kunt afspelen.

 

Mogelijkheid: maak het mogelijk om opsommingen te maken.

 

 

Scrabble

(20 september 2011)

Schrijf jouw versie van scrabble.

 

Scrabbletip

(20 september 2011)

Op een scrabble-bord zijn al woorden gelegd. Verder weet je met welke letters je het volgende woord moet leggen. Ten slotte heb je een woordenlijst met (toegestane) Nederlandse woorden. Schrijf een programma dat suggesties voor te leggen woorden zoekt en deze met het aantal te verdienen punten, de positie en de richting in een lijst zet.

 

 

Luchtverkeersleider

(20 september 2011)

Er zijn allerlei spellen waarmee je je luchtverkeerleider kunt wanen. De versie voor de iPhone, iPod Touch en iPad is erg leuk: Flight Control.

Vliegtuigen en helikopters vliegen aan de rand van het scherm binnen en moeten dan naar een landingsbaan of heliport gedirigeerd worden die dezelfde kleur heeft als het toestel.

Je doet dat door vanaf het toestel het pad naar de landingsplek te tekenen.

Schrijf een eigen versie van dit spel. Aangezien een PC (in 2011) meestal geen touchscreen heeft, mag je het pad met de muis tekenen.

 

 

Vouwkunde

(11 september 2011)

Een rechthoekig vel papier kun je opvouwen. Dat heb je vast al vaak gedaan.

We gaan ervan uit dat de vouwlijnen zó zijn dat de rechthoek in gelijke rechthoekjes opgedeeld wordt. Als een sommige vouwlijnen doorknipt kun je het blaadje nog steeds opvouwen. Het uitvouwen ziet er dan veel mooier uit. In het voorbeeld hieronder is dat aangegeven door de geknipte vouwlijnen dik te tekenen.

In de video kun je ziet hoe HP dit soort uitvouwende blaadje in haar reclame gebruikt.

Schrijf een programma waarmee je een virtueel vel papier op deze manier kunt in- en uitvouwen.

Het aantal horizontale en verticale vouwlijnen moet de gebruiker kunnen instellen. Net als de kleur. Daarna de gebruiker kunnen aangeven welke vouwlijnen geknipt moeten worden (let op: het programma moet voorkomen dat de gebruiker het vel in losse stukken knippen).

Ten slotte moet het vel opgevouwen worden. Sommige vouwlijnen moet naar boven gevouwen worden, andere naar beneden.

 

 

 

 

Hexagon

(4 september 2011)

Schrijf een programma waarmee je een foto in een zeshoekige (hexagonaal) raster kunt omzetten. Elk raster bevat een gekleurd cirkeltje.

In de afbeelding zijn naast blauw alleen een stuk of vijf grijstinten te zien.

Je kunt dat in zijn algemeenheid oplossen door niet elke RGB-code toe te staan, maar alleen die waar de getallen (bijvoorbeeld) alleen de volgende waarden hebben (0,63,127,191,255).

 

 

 

driehoekjesvoetbal

(4 september 2011)

De bolletjes in onderstaande afbeelding zijn voetballers. De zwarte spelers hebben de bal en spelen die langs de lijnen naar elkaar door. De rode spelers moeten de bal proberen te onderscheppen door op de lijn te komen voor de bal passeert.

Een zwarte speler die de bal niet heeft moet in een positie komen, zodat hij de bal kan aannemen.

 

Mogelijkheden: Zonder doel is dit spel doelloos.

 

Multislinger

(4 september 2011)

Schrijf een programma waarmee je meer dan één slinger tegelijkertijd kunt laten slingeren.

 

 

Vlakspits

(4 september 2011)

Schrijf een programma waarmee je een zo vlak mogelijk route kunt berekenen.

Het moet wegdelen met een groot stijgingspercentage ontwijken. Hoge dalingspercentages zijn geen probleem. De berekende route moet dus zo vlak mogelijk zijn, maar dalingen worden wel getolereerd.

 

 

Driehoeksfoto's

(4 september 2011)

Schrijf een programma waarmee je driehoekige uitsneden uit foto's aan elkaar kunt leggen tot een collage.

 

 

Letterstof

(4 september 2011)

Schrijf een programma dat een tekst in stof laat opgaan.

 

 

Luciferverschuiver

(4 september 2011)

Schrijf een programma waarmee je luciferpuzzels kunt maken.

Je moet allereerst puzzels in de beginstand kunnen neerleggen (door ze te verschuiven en draaien).

Een korte tekst geeft de opdracht (bijvoorbeeld: verschuif 3 lucifers en maak zo 5 vierkanten).

Verder moet de ook de positie van de lucifers in de eindstand kunnen opgeven.

 

Mogelijkheden: de puzzels exporteren als webpagina.

 

 

kilometerstand

(4 september 2011)

Schrijf een programma waarmee je de kilometerstand van een auto kunt bijhouden.

 

Het programma voorspelt het te verwachten jaarverbruik op 31 dec. verder berekent het het verbruik over de afgelopen 12 maanden.

Als het programma een tijd gebruikt is kan het ook het verbruik over de afgelopen jaren berekenen.

Het programma geeft een waarschuwing als er een bepaalde tijd niets meer ingevoerd is.

 

Mogelijkheden: maak het mogelijk om voor meer dan één auto het verbruik bij te houden.

 

 

Ik-gaf-les-aan

(4 september 2011)

Schrijf een programma waarmee een docent van jaar tot jaar kan bijhouden aan wie hij lesgaf. Bij elke leerlingen moeten naam, klas, geslacht, geboortedatum, een foto, schoolnaam, het vak, en een memo op te slaan zijn.

 

Ik-kreeg-les-van

(4 september 2011)

Schrijf een programma waarmee een leerling van jaar tot jaar kan bijhouden van welke docenten hij/zij les had. Per docent moet de naam, het vak en een memo op te slaan zijn.

 

Nummerplaatscanner

(4 september 2011)

Schrijf een programma dat in een foto van een auto de nummerplaat zoekt en naar een string omzet.

 

Extra: Onthoud in een database het kenteken, de datum, de tijd en de locatie. eventueel met de oorspronkelijke foto.

 

Verkeerslichtscanner

(4 september 2011)

Schrijf een programma dat verkeerlichten scant.

Als je de camera (telefoon?) op het dashboard van een auto legt, zoekt het naar verkeerslichten. Rijdend zijn die misschien moeilijk te herkennen, maar als je er voor moet stoppen is het eenvoudiger. Als de auto stilstaat zoekt de scanner naar rode vlekken. Als die verdwijnen (en er groene vlekken voor in de plaats komen) heb je een verkeerslicht gevonden.

Soms zijn er voor je stilstaat oranje vlekken.

 

Het programma kan van elke positie waar een verkeerslicht gevonden wordt een aantal belangrijke zaken onthouden:

 

- de rijrichting

- de tijd dat het licht op rood staat (min, max, gemiddelde)

- het aantal verkeerslichten naast elkaar

- de eerste datum waarop dit verkeerslicht gedetecteerd werd.

 

Mogelijkheden: maar het mogelijk om deze database te exporteren. Bijvoorbeeld naar een tekstbestand

 

 

 

Tijdrit

(4 september 2011)

 

Een gemengd gezelschap organiseert voor de lol tijdritten die met de fiets worden afgelegd. Een tijdrit heeft een bepaalde lengte. De deelnemer geven vooraf op hoe snel ze deze afstand denken te rijden.

De tijdwaarnemer drukt op de knop start als de renner vertrekt, en op stop als hij de finish passeert. Het programma berekent de streeftijd die bij het opgegeven gemiddelde hoort. Na afloop berekent het programma het (absolute) verschil en maakt daaruit het klassement op: wie het dichtst bij de streeftijd zat wint.

 

Schrijf een programma waarmee je zo een tijdrit kunt timen.

 

Extra: geef de mogelijkheid om blind op de ritten in te tekenen: de afstand wordt pas na de laatste rit ingevoerd.

 

Extra: geef de mogelijkheid om tijden handmatig te wijzigen.

 

 

 

Multitimer

(4 september 2011)

Schrijf een programma waarmee je meer dan één timer kunt laten lopen.

 

Je kunt in het programma een timerblad openen. Dit blad heet in het voorbeeld hieronder avondeten. In een timerblad zijn taken op te geven. In het voorbeeld: soep, aardappelen, etc. Achter elke taak staat drie knoppen : start, stop, herstarten.

 

 

 

 

lettervulling

(20 augustus 2011)

Als je letters groot (en vet) schrijft worden ze zo breed dat je de binnenkant met een andere kleur kunt vullen. In de afbeelding hieronder is hier een begin mee gemaakt.

Schrijf een programma waarmee je een tekst kunt schrijven met een vrij te kiezen lettertype (en grootte).

Het programma schrijf de tekst dan en vult de binnenkant van de letter met een vrij te kiezen kleur.

 

Stralendans

(20 augustus 2011)

Rond de witte zeshoeken zie je in de afbeelding steeds twee blokjes die op een andere zeshoek aansluiten.

Schrijf een programma waarmee je zulke afbeeldingen kun maken.

 

 

 

Gis waar het is

(20 augustus 2011)

'Gis waar het is' is een erg leuk spel om je topografische kennis te toetsen.

Schrijf een eenvoudige versie van het spel dat je de Nederlandse steden in de topo-lijst van het cito laat raden.

 

 

 

 

Blauwvlak

(20 augustus 2011)

Een rooster is a keer b blokjes groot.

Eerst worden er op willekeurige plekken grote blokken van n keer n blokjes gezet. Deze hebben een donkerblauwe kleur. Dan worden (n-1)x(n-1) blokken geplaatst. Deze hebben een iets lichter blauwe kleur. Dit gaat door tot 1x1 blokken die heel licht blauw zijn. De blokken mogen elkaar niet overlappen en blokken met een gelijke grootte mogen hooguit met de hoekpunten tegen elkaar aan liggen (niet met de zijvlakken).

Schrijf een programma waar je a, b en n zelf kunt instellen.

 

Mogelijkheden: Laat de gebruiker ook de kleur kiezen, eventueel zelfs per blokgrootte.

 

 

Muntenstorting

(20 augustus 2011)

Als je je spaargeld naar de bank brengt print de automaat een bonnetje waarop voor elke muntwaarde het aantal gestorte munten staat. Schrijf een programma waarmee je je stortingen kunt bijhouden.

Vermeld bij elke storting de datum, de tijd en de naam van de spaarder naast de aantallen munten natuurlijk.

 

 

Vlechtwerk

(4 augustus 2011)

Je wilt met repen een vlechtwerk maken zoals in de afbeelding.

In het voorbeeld zie je de eenvoudigste vorm: elke reep gaat 1 reep bovenlangs en daarna 1 reep onderlangs. Je zou per reep andere getallen kunnen kiezen: a keer bovenlangs, b keer onderlangs.

 

 

Schrijf een programma waarmee je per reep de kleur en (a,b) kunt opgeven.

 

Mogelijkheden: laat de breedte van de repen variëren. Zowel tussen repen onderling, als voor een reep zelf (dat laatste kan ingewikkeld zijn).

 

Rollen, stampen en slingeren

(4 augustus 2011)

Schrijf een computerprogramma dat een eenvoudig model van een zeilboot laat zien.

Je moet het model van alle kanten kunnen bekijken met de pijltjestoetsen.

Bovendien moet het model willekeurig rollen, stampen en slingeren op het wateroppervlak.

 

 

Sterrenzien

(4 augustus 2011)

(eenvoudig) Schrijf een programma dat je sterren laat zien bij het kijken naar een zelf te kiezen afbeelding.

 

With your hair in a sling

(4 augustus 2011)

Schrijf een programma dat een kapsel uit het hoofd van een kale paspop laat 'groeien'.

 

 

 

Filetagger

(25 juli 2011)

Maak een programma waarmee je aan een bestand tags (sleutelwoorden) kunt toevoegen. Je moet een bestand met sleutelwoorden als HTML-bestand kunnen exporteren. Bij elk sleutelwoord staat een link naar de betreffende bestanden die in een nieuw venster geopend wordt.

 

Kennisreflector

(16 juli 2011)

Als je een tekst moet leren kun je van delen van de tekst aangeven hoe goed je die al beheerst. Dat kan bijvoorbeeld op een schaal van 0-5.

Als er 20 paragrafen zijn kun je dus maximaal 20x5=100 kennispunten verdienen. In dat geval ken je de tekst helemaal.

Paragrafen kun je in HTML aanmaken met DIV-tags.

Binnen een paragraaf kun je dan met twee nieuwe DIV-tags een onderdeel maken voor de tekst en voor de mate waarin je de tekst beheerst.

 

<DIV class="paragraaf">

   <DIV class="kennisniveau">4</DIV>

   <DIV class="tekst">Begrijp je deze tekst?</DIV>

</DIV>

 

Door meer van deze blokken achter elkaar te plakken kun je een langere leertekst maken met een cijfer voor het 'kennisniveau'. Het kennisniveau is op deze manier een waarde die je aan een paragraaf toekent. Je hoeft het getal zelf dus niet als DIV op het scherm af te beelden.

 

Je kunt dit vrij eenvoudig uitbreiden tot kennisniveau's per leerling.

 

<DIV class="paragraaf">

   <DIV class="kennisniveau" leerling="1234">4</DIV>

   <DIV class="kennisniveau" leerling="2134">4</DIV>

   <DIV class="kennisniveau" leerling="1342">4</DIV>

   <DIV class="tekst">Begrijp je deze tekst?</DIV>

</DIV>

 

Als een leerling de tekst leest moet ze ergens kunnen aangeven hoe goed ze de tekst beheerst. In het voorbeeld hieronder is dat gedaan door vijf hokje naast de tekst te zetten. Het aantal groene hokjes geen de mate van beheersing aan.

Let op: in dit voorbeeld is nog een extra manier gebruikt om snel te laten zien welke tekst je al goed beheerst: de achtergrond van de tekst is ook groen gemaakt.

(de achtergrond rood maken als je de tekst niet goed beheerst is waarschijnlijk niet zo motiverend als je nog niets gelezen hebt).

 

 

Je kunt op deze manier handige selecties in de tekst maken: toon alleen de fragmenten die minder dan 3 punten krijgen. Zo blijven er als het goed is steeds minder paragrafen over die je niet beheerst.

 

Schrijf een programma waarmee je op deze manier teksten kun maken en lezen.

 

 

 

 

Goniometer

(16 juli 2011)

Bekijk de prachtige HTML5-animatie op deze website eens (je hebt een moderne browser als Firefox nodig). Bouw deze animatie na!

 

 

inrichter

(16 juli 2011)

Schrijf een programma waarmee je een huis kunt inrichten.

Allereerst moet de muren kunnen tekenen. Als basis zou je uit kunnen gaan van een stippenrooster waarin je muren tussen stippen kunt  tekenen. In de muur moet je ramen (zie bv. de linkerwand in de onderstaande tekening) en deur (onderaan) kunnen tekenen. Bij een deur moet deze open ingetekend worden (uitgedraaid in de kuiste richting en met de scharnieren aan de juiste kant).

 

In de ruimtes zijn rechthoeken te plaatsen die meubelstukken voorstellen.

In zo'n meubelstuk is een tekst te plaatsen (bv. kast, tafel, stoel). Bovendien is het mogelijk om de meubelstukken onder een willekeurige hoek te draaien.

 

Het resultaat is als afbeelding te exporteren.

 

 

VK-Mozaïek

(7 juli 2011)

Met meerdere foto's een mozaïek maken is een onuitputtelijk thema. In de Volkskrant tref je anno 2011 mozaïeken van de onderstaande soort aan.

 

 

Het mozaïek bestaat uit vierkantjes waarin een deel van een foto getoond wordt. Schrijf een programma waarmee je zulk soort mozaïeken kunt maken.

 

 

Lichtbron

(3 juli 2011)

Een berglandschap is opgebouwd uit platte witte vlakken. Boven de bergen zweeft ergens een puntvormige lichtbron. Daardoor vallen de vlakken meer of minder in de schaduw. Schrijf een programma waarmee je zo een landschap kunt ontwerpen. Het programma moet de 'helderheid' van elk vlak kunnen berekenen als je het landschap in bovenaanzicht bekijken.

 

 

 

 

 

Autosimulator

(9 juni 2011)

Schrijf een programma waarmee je een auto kunt simuleren. De afbeelding hieronder is waarschijnlijk wat veel van het goede.

Denk aan een stuur, de drie pedalen en een schakelpook. Door de ruit is een weg zichtbaar met bomen erlangs. De weg kan rechtdoor lopen, of afbuigen naar links of rechts. Ten slotte is er nog de mogelijkheid om een normale kruising (van vier wegen) tegen te komen. Op zo'n kruising kun je links- of rechtsafslaan.

 

 

 

nummerplaatinsecten

(9 juni 2011)

Schrijf een webapplicatie waarmee iemand een foto van een nummerplaat kan doorsturen. Behalve de foto moeten de volgende gegevens ingevuld worden in een formulier.

 

- de naam

- datum en tijd waarop de foto gemaakt werd

- de locatie (land, plaatsnaam of een locatie bepaald door een GPS)

- het aantal getelde insecten

- als het bekend is: het aantal dagen/uren sinds de nummerplaat schoongemaakt werd.

 

De applicatie stuurt een e-mailtje als er een foto's geupload werd.

 

drummachine

(9 juni 2011)

Hieronder zie je een ontwerp voor een drummachine.

Links staan de onderdelen van een drumstel. Bovenin vind je vier tellen, elk verdeelt in vier delen. Door op een cel te klikken wordt op dat moment het betreffende instrument gespeeld als je op play klikt.

Met open en save kun je een ritme openen en opslaan.

 

Let op: in Small Basic kun je maar één geluid tegelijkertijd afspelen. Er mag dus maar één instrument aangeklikt kunnen worden in één kolom. In Delphi is het wel mogelijk om méér dan één geluid tegelijkertijd af te spelen.

 

Mogelijkheid 1: maak het mogelijk om het aantal tellen en de opdeling van een tel te veranderen.

 

Mogelijkheid 2: Maak het mogelijk om een ritme als één wav-bestand op te slaan (maar dat is niet eenvoudig!)

 

Op internet vind je gemakkelijk de geluidbestanden om een drumstel te maken.

 

 

Open Photobook

(28 mei 2011)

Dat de iPad een bijzonder apparaat is was je vast niet ontgaan. De eBook reader kun je bijvoorbeeld gebruiken om een fotoboek te bekijken.

Er bestaat een prachtig handleiding (lokale versie) die uitlegt hoe uit voor een set foto's een .epub-bestand kunt maken. Dat is voor meeste mensen echter veel te ingewikkeld.

Schrijf een programma waarmee je een set foto's kun kiezen. De foto's moet in een andere volgorde gezet kunnen worden.

Daarna maakt het programma voor deze set foto's een .epub-bestand zoals in de handleiding beschreven staat. Het is prima als je tot aan de laatste stap komt (dit alles klaar zetten zonder het te zippen).

 

aarde

(28 mei 2011)

In het HAVO wiskunde A examen van 2011 staat een prachtige opgave over de U-waarde (opgave 16 tot en met 19). Schrijf een programma waarmee een score/bestand in te lezen is. Het score bestand bevat van leerlingen de naam, de score en 1 of meer kenmerken (zoals het geslacht). De gebruiker van het programma kan de leerlingen in twee categorieën verdelen. In de opgave zijn dat de meisjes/jongens, maar het zou natuurlijk ook een andere opsplitsing kunnen zijn.

Het programma berekent de U-waarde voor de gekozen verdeling bij de gegeven scores en bepaalt of de ene groep beter is dan de andere.

 

Columbus 2.0

(28 mei 2011)

Als je de datum, de tijd en de positie van de zon weet (aantal graden boven horizon, en aantal graden links of rechts van het zuiden), kun je je positie op aarde berekenen.

Dit is een ingewikkelde rekenklus!

Engelstalige uitleg vind je bijvoorbeeld hier (lokaal).

 

 

 

 

 

GPX-lusser

(11 mei 2011)

In GPX-bestanden staan posities van een GPS opgeslagen. Soms is zo een reeks een gesloten traject. Het begin- en eindpunt van zo een traject zou dus ook best op een ander punt kunnen liggen.

Schrijf een programma waarmee je een GPX-bestand kun inlezen. De route wordt in een venster getoond. Het begin/eindpunt wordt gemarkeerd. De gebruiker kan met de muis een nieuw begin/eindpunt aangeven. De punten worden dan bewaard in een nieuw GPX-bestand (het komt er op neer dat het eerste stuk tot aan het nieuwe begin/eindpunt achteraan geplakt wordt).

 

 

GPS-middelaar

(11 mei 2011)

Als je meerdere positiemetingen van een GPS op één plek met elkaar combineert kun je de positie nauwkeuriger meten.

Methode 1: meet lang met 1 GPS op 1 positie. Middel de posities.

Methode 2: meet met meer GPS-en (bijvoorbeeld 3) de positie. De metingen op 1 tijdstip hebben een bepaalde nauwkeurigheid (HDOP). Deze bepaalt een cirkel om de gemeten positie. Het gebied dat in alle drie de cirkels ligt geeft een nauwkeurigere waarde voor de werkelijke positie.

 

Schrijf een programma dat op beide manieren een nauwkeurige positie berekent.

 

 

Remadvies

(12 april 2011)

Automobilisten kunnen veel zuiniger rijden als ze niet onnodig gas zouden geven en tijdig het gas los zouden laten.

Als je regelmatig een bepaalde route rijdt, kun je als bestuurder op een gegeven moment wel inschatten op wel punt je het gas los kunt laten zodat je doorrolt tot een kruispunt.

Het is interessant om te onderzoeken of een computerprogramma daarbij kan helpen.

 

Op een bepaald punt van een weg geldt een bepaalde remfactor. Die is afhankelijk van de situatie ter plaatse. De remfactor geeft vermenigvuldigt met de snelheid de verwachte snelheid na (bijvoorbeeld) 1 seconde.

 

v_1s =v_nu*remfactor

 

Als je bergop rijdt zal de remfactor klein zijn (bijvoorbeeld 0.8). Bergaf misschien wel groter dan 1 (je versnelt).

 

Als een weg in de ene richting een remfactor f heeft, zal de remfactor in de tegenovergestelde richting waarschijnlijk ongeveer 1/f zijn.

 

Stel dat het doel is (bijvoorbeeld) om met 30 km/h bij een kruising aan te komen. De maximumsnelheid op een weg 80 km/h is. Je kunt dan bepalen op welk punt je het gas los moet laten door de remfactoren vanuit het kruispunt terug te rekenen tot je op 80km/h zit.

 

Het bepalen van de remfactoren is een leuke puzzel. Kan een programma zelf bepalen of je gasgeeft? Als je met een constante snelheid rijdt is de remfactor 1. Als er geen hoogteverschil is betekent dat dat de bestuurder gas geeft.

Het probleem is dat remmen en uitrollen beide een exponentieel dalende snelheidsgrafiek geven. Remmen geeft natuurlijk de snelst dalende grafiek.

 

Bergaf zou je automobilisten zelfs een remadvies kunnen geven!

 

Als basis voor dit programma heb je waarschijnlijk tracks van een gps nodig.

 

Zo'n programma is het meest praktisch in een mobiel apparaat. Maar het ontwikkelen van het idee kan wellicht ook op een PC als je het met een laptop+gps-muis kunt testen.

 

 

 

Reclamemozaïek

(12 april 2011)

In de afbeelding hieronder zie een soort mozaïek met een boodschap.

Schrijf een programma waarmee je zo'n mozaïek kunt maken.

De volgende zaken moet de gebruiker kunnen instellen:

- het aantal kleine blokjes in horizontale en verticale richting.

- de kleur van elk blokje (of een routine die de blokjes willekeurig kleurt met de kleuren uit een zelf te kiezen verzameling, zonder dat aangrenzende blokjes dezelfde kleur hebben)

- de afmetingen en kleur van het tekstblok

- de tekst en de opmaak hiervan (lettertype, kleur, grootte)

 

 

 

 

Afbuigregel

(12 april 2011)

In de afbeelding hieronder kun je een schetsje zien van een verkeerssituatie bij een kruispunt. In dit geval komen er twee verkeersdeelnemers bij een kruispunt aan. Twee

deelnemers buigen af.

 

 

Behalve de kruispunten waar vier wegen bij elkaar komen, komen ook de T-kruisingen vaak voor.

Schrijf een programma waarmee je dit soort schetsen voor de twee genoemde soorten kruisingen kunt maken. Let erop dat de pijlen elkaar niet mogen raken of snijden.

 

Mogelijkheden: Lukt het ja om het programma te laten bepalen in welke volgorde de verkeersdeelnemers de kruising mogen passeren?

 

 

 

Fotogordijn

(9 april 2011)

Een afbeelding kun je zien als kolommen die naast elkaar staan.

Stel je voor dat die kolommen naar links en naar rechts kunnen bewegen.

 

Je zou een afbeelding dan op de volgende manier kunnen laten verschijnen.

- eerste bewegen de kolommen willekeurig van links naar rechts

- als een kolom toevallig de plek bereikt waar ze hoort, blijft ze daar staan

- uiteindelijk zullen na verloop van tijd alle kolommen op de juiste plek staan. De afbeelding is dan compleet.

 

Schrijf zo een programma.

 

Mogelijkheden: voeg de mogelijkheid toe om de losse afbeeldingen te bewaren, zodat ze later als animatie af te spelen zijn (eventueel via een programma dat die losse afbeeldingen weer samenvoegt).

 

 

Bubble trouble

(9 april 2011)

Bij het spel bubble trouble moet je stuiterende ballonnen in twee kleinere ballonnen splijten met een soort pijl. Als een ballon de kleinste maat gekregen heeft verdwijnt de ballon uit het spel als hij tegen de pijl vliegt.

De ballonnen verliezen bij het stuiteren energie waardoor ze steeds minder hoog komen.

 

Schrijf bubble trouble met minimaal 3 niveau's.

 

 

Hogere machten aanroepen

(9 april 2011)

Getallen zijn soms te schrijven als de som van kwadraten of de som van derde machten.

 

Bijvoorbeeld:

 

10 = 3^2 + 1^2

 

of

 

35 = 2^3 + 3^3

 

Natuurlijk kunnen je dit ook proberen met nog hogere machten.

Voor kleine getallen is het niet zo heel erg moeilijk om een programma te schrijven dat onderzoeken of dit kan. Voor grotere getallen moet je gebruik maken van speciale functies.

Voor Delphi kun je gebruik maken van deze routine.

 

Schrijf een programma dat grote getallen van de vorm n!m+-1 probeert te schrijven als som van twee machten.

Je mag ter oriëntatie eerst een programma voor kleine getallen schrijven met de normale rekenmogelijkheden. Je kunt daarvoor bijvoorbeeld Small Basic gebruiken. Voor de grote getallen moet je echt een uitwijken naar Delphi.

 

NB

Als je het getal als som van twee machten hebt kunnen schrijven betekent dat ook dat het getal niet priem is.

 

a^n + b^n = (a + b)(a^(n - 1) - a^(n - 2)*b + a^(n - 3)*b^2........ + a^2*b^(n - 3) - a*b^(n - 2) + b^(n - 1))

 

 

 

 

(n,m)-deelbaarheid

(23 maart 2011)

Neem een getal a van n cijfers (het eerste cijfer is niet nul).

Laat het m-de getal weg. Noem dit getal b. Als a/b een geheel getal is noemen we het getal a (n,m)-deelbaar.

 

Voorbeeld: n=5 -> bijvoorbeeld a=11000, m=3-> m=1100. Omdat 11000/1100=10 een geheel getal is, is 11000 een (5,3)-deelbaar getal.

 

Schrijf een programma dat voor een door de gebruiker gekozen lengte n, alle (n,m)-deelbare getallen zoekt.

 

 

 

Bolvulling

(20 maart 2011)

Een draad wordt tot een bolvormige kluwen verbogen.

Schrijf een computerprogramma waarmee je zo een kluwen kunt maken. Op een bepaald punt vertrekt een draad en beweegt willekeurig door een onzichtbare bol. De bewegingsrichting mag niet abrupt veranderen.

De draad moet natuurlijk wel bochten maken, zolang de draad maar binnen de onzichtbare bol blijft.

 

 

 

 

Vluchtpunt (2)

(19 maart 2011)

Op 7 december 2010 hadden we al de opdracht vluchtpunt.

Bij deze opdracht gaat het erom dat je programma een huisje met een dak tekent.

Daarna kun je de vluchtpunten verplaatsen. Het programma tekent dan het bijbehorende huisje opnieuw.

Denk aan een huisje zoals in de onderstaande tekening.

 

 

 

24 or more

(17 maart 2011)

Je kent misschien wel het spel 24. Je krijgt 4 getallen (1 tot en met 9) waarmee je het getal 24 moet maken. Je programma moet 3 opdrachten kunnen oplossen:

- bij 4 gegeven getallen een oplossing vinden die 24 geeft

- 4 getallen vinden waarmee een oplossing te maken is

- De gebruiker het getal 24 in een ander getallen kunnen laten veranderen

 

Mogelijkheden: genereer een lijst met groepen van 4 getallen waarmee een berekening gemaakt moet worden die uitkomt op 1, 2, 3, ..., 24, ... etcetera.

 

 

 

Overtrekken

(17 maart 2011)

Een gebruiker krijgt een tekening voorgeschoteld. Bijvoorbeeld een cirkel.

Hij moet deze overtrekken. Het resultaat wordt bewaard.

Later kan de overgetrokken tekening weer aan een andere gebruiker getoond worden. Zo ontstaat een serie van tekeningen die uiteindelijke waarschijnlijk minder lijken op de oorspronkelijke tekening.

 

Met het programma moet je door zo'n serie nagetekende tekeningen kunnen lopen.

Let op: als een tekeningen meer dan 1 keer aangeboden werd, kunnen er dus meer series na 1 tekening volgen. Het programma kiest dan willekeurig het verloop.

 

 

Landkaart

(17 maart 2011)

Een programma krijgt 1 vierkantige tekening die de start van een kaart of kunstwerk wordt. Een gebruiker krijgt een vierkant aangeboden naast een ingetekend vierkant. Hij moet het lijnen patroon dan in het lege vierkant laten overlopen op een zelf te kiezen manier. Als de gebruiker klaar is, wordt het resultaat bewaard. Later kan een andere gebruiker dan verder tekenen in aangrenzende nog lege vierkanten.

Na veel stappen ontstaat een soort landkaart.

 

N.B. Je kunt er niet op vertrouwen dat een gebruiker netjes aansluit op lijnen die in de bestaande tekening bij de rand uitkomen. Het programma moet dus bijhouden waar een lijn moet aansluiten.

 

 

Foutenberg

(20 februari 2011)

Tekstverwerkers geven spellingfouten soms aan door een rode golf onder de mogelijke fouten te zetten. In de afbeelding hieronder zie je golflijn nog staan.

Schrijf een programma waarmee je een andere manier om spellingfouten weer te geven onderzoekt.

Het programma zoomt in op mogelijke fouten. De rode golflijn kan dan vervallen.

Welke woorden mogelijk onjuist zijn bepaalt het programma aan de hand van een woordenlijst in een tekstbestand.

 

Mogelijkheden: In het voorbeeld hieronder is de tekst ook nog gedraaid, je zou dat kunnen inbouwen om het effect van diepte te versterken.

 

 

 

 

 

Stappenplan

(20 februari 2011)

In de afbeelding hieronder zie je een 'wereld' van 3x3 stippen. Tussen de stippen wordt een aaneengesloten weg getekend van 6 stappen.

 

Schrijf een programma waarmee je zo een afbeelding willekeurig kunt genereren.

De wereld moet uit n x m stippen bestaan. De weg uit w lijnstukken die elkaar NIET mogen snijden.

 

 

 

 

 

 

Hitparade

(11 februari 2011)

Schrijf een programma dat een willekeurige melodie van vier tellen produceert.

De gebruiker van het programma moet de melodie waarderen op een schaal van 0 tot 10.

 

Mogelijkheden: laat het programma via een website werken. Met getsound.php vraagt het programma een reeks op die de melodie beschrijft. Bijvoorbeeld: d4f4d4c4....

d4 staat daarbij voor toonhoogte=D, duur is 1/4-e tel. De som van de toonlengte moet natuurlijk op 4 tellen uitkomen. Bijvoorbeeld d4f4 duurt 1/4 + 1/4 = 1/2 tel.

Met setSound.php?melodie=d4f4d4c4....&waardering=7 wordt de melodie en de waardering op de website bewaard.

 

 

Multistift

(11 februari 2011)

Op deze website kun je een experiment met JavaScript en HTML5 zien.

Schrijf een soortgelijk experiment voor Python, Small Basic, Delphi of Java.

 

 

Dekseldans

(11 februari 2011)

Schrijf een programma dat het dansen van een deksel op een pan animeert. De deksel moet willekeurig omhoogkomen en dan stoom laten ontsnappen.

Je kunt deze opdracht op 2 manieren uitvoeren:

-In zijaanzicht

-In 3D-aanzicht.

 

Bekijk hier een filmpje van een dansende deksel.

 

 

 

Fotocarrousel

(11 februari 2011)

Op deze website kun je een voorbeeld van een carrousel zien. Schrijf een programma dat zo een carrousel toont met een set zelf te kiezen foto's.

Als je zoekt op '3d image carrousel' kun je ook wel andere voorbeelden vinden.

Een hele mooie (maar ook moeilijke) is de twitterwall.

 

 

Miniaarde

(11 februari 2011)

In dit filmpje kun je veel te weten komen over de aarde door haar te vergelijken met een mini-aarde met slechts 100 mensen.

Schijf een programma dat willekeurig de feiten van het filmpje laat zien met passende afbeeldingen op de achtergrond.

 

Sleeptimer

(11 februari 2011)

Schrijf een programma voor een Android telefoon waarmee je kunt berekende wanneer je moet gaan slapen op de manier van deze website.

 

Blokzin (1)

(11 februari 2011)

 

Schrijf een programma dat van een zin blokken maakt zoals in de afbeelding hieronder.

De zin wordt ingevoerd met een verticale streep tussen de delen: Hij | pakt | de kaas | uit de koelkast.

Het programma plaatst elk deel in een balk. De balken mogen elkaar natuurlijk niet overlappen. Als je er over nadenkt ontdek je dat zo een balk meestal de vorm van een zeshoek heeft (soms een vierhoek).

 

Mogelijkheden: maak het mogelijk dat de gebruiker een balk kan verschuiven of verdraaien (de tekst moet natuurlijk wel zichtbaar blijven).

 

 

Blokzin (2)

(11 februari 2011)

Schrijf een programma dat tekstdelen laat zien. Een rechthoek om de tekst is voldoende het hoeft geen 3D-vorm te hebben.

De gebruiker kan nu de delen in een bepaalde volgorde slepen met de muis.

Als de gebruiker klaar is kan het programma controleren of de volgorde juist is. Daarna wordt een volgende in stukken gebroken zin aangeboden.

 

 

 

 

Structuurcontrole

(11 februari 2011)

Schrijf een programma dat de structuur van een stuk programmacode kan controleren.

Denk daarbij aan structuren als WHILE-ENDWHILE, BEGIN-END, SUB-ENDSUB, IF-ENDIF, DO-LOOP, REPEAT-UNTIL, FOR-ENDFOR.

Het programma moet de eerste en laatste regel van een codefragment die een geheel vormen markeren met een verbindingsteken zoals in het voorbeeld hieronder. Zie je dat er soms structuren binnen een andere structuur weergegeven worden?

 

Geef structuren die niet gepaard zijn aan met een vraagteken in de kantlijn; het kan natuurlijk zijn dat het begin of juist het einde ontbreekt.

 

Mogelijkheden: Maak het mogelijk om een structuur (en alles daarbinnen) open en dicht te klappen.

 

mogelijkheid 1: In de code hieronder springen regels niet in. Maak het mogelijk om gebruik te maken van de afstand waarover ingesprongen wordt. Let op: niet alle programmeurs springen op dezelfde manier in.

 

 

mogelijkheid 2: begin en einde van een structuur springen even veel in.

 

    for i:=1 to 10 do begin

      for j:=1 to 10 do begin

        writeln(i*j);

      end;  

    end;   

 

mogelijkheid 3: het einde van een structuur springt in op het volgende niveau.

 

    for i:=1 to 10 do begin

      for j:=1 to 10 do begin

        writeln(i*j);

        end;  

      end;   

 

 

mogelijkheid 4: Maak het mogelijk dat het programma (bij een structuur die klopt/volledig is) de code te laten inspringen door het juiste aantal spaties/tabs in te voegen.

 

 

 

 

Convert To Todo

(10 februari 2011)

Schrijf een programma waarmee je bookmarks (uit een exportbestand van bijvoorbeeld Delicious), Tweets of Twitter-favorieten naar todo's kunt converteren (die je later kunt afvinken).

 

Life repeater

(10 februari 2011)

In een database worden dagboekitems opgeslagen. Het programma laat op een bepaalde dag alle items zien die exact 1 of meer jaar geleden zijn. Er zijn twee modes:

 

- in mode 1 laat het programma alle items op die dag zien.

- in mode 2 alleen items die 1 uur voor of na het actuele tijdstip plaatsvonden. Je moet een oplossing bedenken voor items zonder tijd: wanneer laat je die zien?

 

 

<jaar1>  <tijd1>   <tekst1>

<jaar2>  <tijd2>   <tekst2>

 

 

Snelle Priem-Palindroom-Vinder

(10 februari 2011)

Schrijf een programma dat snel grote priemgetallen vindt, die tevens palindroom zijn.

Gebruik de routines van DelphiForFun om met hele grote getallen te kunnen rekenen.

 

 

Tijdrichting

(10 februari 2011)

Schrijf een analoog horloge voor een Android-telefoon dat de analoge klok met de juiste oriëntatie laat zien, afhankelijk van hoe de gebruiker het toestel vasthoudt.

 

 

Krantenopmaker

(3 februari 2011)

In een map staan artikelen in de vorm van includes voor HTML. De artikelen moeten op één pagina getoond worden, zoals bij een krant.

Lange teksten worden over meer dan 1 kolom verdeeld. Om dat voor elkaar te krijgen worden uit de include 1 of meer paragrafen ingelezen.

 

Bijvoorbeeld

In kolom 1 paragraaf 1 tot en met 2

In kolom 2 paragraaf 3 tot en met 5

In kolom 3 paragraaf 6

 

Een pagina wordt in rechthoekig gebieden verdeeld om de krant op te maken.

 

Schrijf een programma waarmee je een pagina in k kolommen en r rijen kunt verdelen. Zo ontstaat k x r cellen. In deze cellen worden rechthoeken getekend. Die rechthoeken worden gevuld met paragrafen uit een include.

 

 

Praatwolk

(3 februari 2011)

Schrijf een programma dat op een afbeelding van 1024x768 willekeurige praatwolkjes zet.

In de wolk moet tekst passend afgebeeld worden die willekeurig uit een tekst-bestand gekozen wordt.

 

 

 

rechercheur

(3 februari 2011)

Je krijgt de opdracht op een misdadiger op te sporen. Er zijn n eigenschappen die elke een aantal waarden kunnen hebben.

 

bijvoorbeeld

geslacht: man/vrouw

leeftijd: oud/jong

kledingkleur: blauw, groen, rood, geel

wapen: mes, pistool, gifbeker

 

In het bovenstaande voorbeeld zijn er dus 2x2x4x3=48 verschillende misdadigers mogelijk.

 

Het programma neemt 1 een willekeurige misdadiger in gedachten.

 

Daarna toont het programma willekeurige combinaties van eigenschappen die misschien voldoen aan het signalement.

 

Bijvoorbeeld

man, oud, groen, mes

 

Als geen enkele element van deze beschrijving met de door het programma gekozen misdadiger overeenkomt geeft het programma als reactie:  onschuldig.

Als er minstens één element klopt geeft het programma de reactie: verdacht.

 

De combinaties die je aan bod kwamen bewaart het programma samen met de kwalificatie onschuldig of verdacht.

 

Als je denkt te weten wat het signalement van de misdadiger is kun je dat invoeren, waarna het programma je zegt of het klopte, of niet.

 

 

 

Sneeuwovergang (1)

(3 februari 2011)

Schrijf een programma waarmee je een aantal afbeeldingen kunt inlezen.

De afbeeldingen moeten samen onderdeel van een animatie worden.

 

- allereerst moet de grootte van de afbeelding zo aangepast worden dat ze dezelfde hoogte hebben.

- daarna gaat het programma de eerste afbeelding laten verdwijnen door er witte pixels op te laten sneeuwen.

- als de afbeelding weg is verschijnen de pixels van de tweede afbeelding één voor één.

 

Zo gaat het programma de afbeeldingen af. Na de laatste laatste afbeelding maakt het programma nog een overgang naar de eerste afbeelding.

 

De afbeeldingen en alle tussenliggende stappen worden bewaarde in een zelf te kiezen map. De bestandsnamen krijgen een uniek nummer van 4 cijfers waaruit de volgorde af te leiden is.

 

Via een programma als UnFreeze kun je van deze afbeeldingen een gif-animatie maken.

 

 

mogelijkheid: maak het mogelijk om de afbeeldingen als gif-bestanden op te slaan

mogelijkheid: maak het mogelijk om meteen een gif-animatie op te slaan.

 

 

Sneeuwovergang (2)

(3 februari 2011)

Schrijf een HTML5 javascript waarmee je aantal afbeeldingen in elkaar kunt laten overlopen door ze te laten ondersneeuwen en daarna de volgende afbeelding pixelsgewijs tevoorschijn te laten komen.

 

 

Boekenkast

(1 februari 2011)

Schrijf een programma dat een plank van een boekenkast willekeurig met boeken vult.

Meestal staan ze rechtop. Soms een beetje scheef. Een enkele keer ligt er een stapel plat. Er zijn dikke en dunne boeken, grote en kleine. Bovendien verschilt de kleur per boek.

Soms heeft een boek meer kleurvlakken.

 

FileChange

(1 februari 2011)

Schrijf een programma dat in één bepaalde map wijzigingen aan bestanden logt.

Bij elke van de volgende gebeurtenissen moet er een entry in een logboek geschreven worden:

 

- nieuw bestand gemaakt

- bestand gewist (bestandsnaam wijzigen komt neer op een nieuw bestand maken + een bestand wissen)

- bestandsdatum, bestandgrootte gewijzigd

 

Zie tip 30 op de Delphi-pagina.

 

FileNote

(1 februari 2011)

FileNote houdt van een serie bestanden bij of ze geopend worden.

Zodra het programma dat detecteert wordt er een Post-It geopend waarmee de gebruiker notities bij dat bestand kan maken.

 

Zie tip 29 (en 30) op de Delphi-pagina.

 

Filecompare

(1 februari 2011)

Schrijf een programma waarmee je twee tekstbestanden kunt vergelijken.

De verschillen worden met witte letters op een rode achtergrond weergegeven.

 

mogelijkheid: maak het mogelijk om tekstfragmenten die met een bepaalde tekst beginnen en eindigen in een bepaalde kleur weer te geven:

 

begin      einde       kleur

<script>  </script>  groen

<?php     ?>           groen

 

 

Video-annotator

(1 februari 2011)

Schrijf een programma waarmee een video kunt annoteren.

Bij een video wordt een .ano bestand gemaakt waarmee je op willekeurige tijdstippen een tekst kunt toevoegen. In het .ano-bestand moet ook de naam en de datum worden vermeldt,

Het programma moet een serie annotaties tegelijk kunnen inlezen waarna je door de annotaties kunt bladeren.

 

mogelijkheid: maak het mogelijk om in de annotaties te zoeken naar een bepaald woord.

 

 

 

Boek-Annotator

(21 januari 2011)

Als je een (studie-)boek aandachtig leest wil je wel eens wat opmerkingen in de kantlijn schrijven. Maar dat verpest het boek.

Daarom deze oplossing. In het programma kun je de titel van een boek toevoegen. Daarna kun je per pagina aantekeningen maken. Eventueel kun je naast het paginanummer ook nog een paragraaf of regelnummer bij de aantekening vermelden.

Je moet binnen de aantekeningen kunnen zoeken.

Uiteraard moet je dit alles kunnen opslaan, opvragen en bewerken.

 

mogelijkheid: Je kunt het programma ook rond scans van een boek bouwen. Van elke pagina is dan een afbeelding beschikbaar. Naast die afbeeldingen kun je dan aantekeningen plaatsen.

 

 

Bubbleburst

(20 januari 2011)

Stel je voor dat een cirkel openspringt. In de tekening hieronder kun je daar een illustratie van zien. Als de cirkel een beetje open staat is het boogje in een lijnstuk veranderd dat even lang is dan het oorspronkelijke boogje.

Daarna kan de lijn verder doorschieten en in een deel van een cirkel de andere kant op veranderen. Als je hier over nadenkt kom je misschien ook tot de conclusie dat het hier steeds een deel van een cirkel betreft waarvan het middelpunt over de getekend lange lijn beweegt. Eerst valt het middelpunt samen met het middelpunt van de cirkel. Daarna beweegt het omlaag tot in het oneindige (heel ver weg is ook genoeg).

Dan komt het bovenkant aan de bovenkant terug.

Als je aan de rechterkant ze zo een cirkeldeel laat openklappen heb je echt een cirkel die openklapt.

 

mogelijkheid: Dit model kun je zelfs uitbouwen tot een echte bol die openklapt.

 

 

 

Sneeuwbol

(20 januari 2011)

Stel je een straatlicht voor terwijl het sneeuwt. Rond de lamp wordt een bol van sneeuwvlokken verlicht. Schrijf een programma deze situatie animeert.

Maak het mogelijk om de sterkte van de lamp te variëren (de verlichte bol wordt dan groter of kleiner). Bouw een effect van diepte in door sneeuwvlokken die dichtbij zijn sneller te laten vallen.

 

 

mogelijkheid: maak het mogelijk om een straat met links en rechts een aantal van deze sneeuwbollen te animeren (denk er aan dat het wel dezelfde lampen zijn, maar dat licht dat van ver komt zwakker is).

 

 

 

Easyweb

(1 januari 2011)

Easy web is een programma waarmee je eenvoudig een website kunt maken.

De website bestaat uit artikelen. Elke artikel heeft een titel, tekst en eventueel een aantal foto's. Bij elk artikel wordt ook datum getoond.

De foto's worden in de vorm van een tabel getoond. Daarbij kan de gebruiker zelf kiezen hoeveel kolommen naast elkaar komen (dit geeft het idee van een fotogallerij).

Als een artikel later bewerkt wordt, worden de oude versies ook bewaard (maximaal 1 per dag).

Er is een functie om de foto's per drive te bekijken. Zo kun je snel een foto uitzoeken op een aangesloten USB-stick, een ingestoken SD-kaart of een aangesloten fototoestel.

 

In een kolom naast de artikelen staat een kalender waarmee je snel - op datum - artikelen kunt zoeken.

In het programma zit een FTP-functie.

 

De gebruiker kan instellen:

- of oude versies van artikelen ook geupload worden (je kunt er dan doorheen bladeren)

- of bij foto's de mogelijkheid bestaat om de vergroting te bekijken door er op te klikken

- hoeveel artikelen er per pagina getoond worden

- welke drives uitgesloten worden bij het importeren van foto's (bijvoorbeeld de harddisks C: en D:)

 

Tipgever

(1 januari 2011)

De tipgever is een programma of website waar leerlingen tips over een bepaald onderwerp kunnen opvragen.

 

Nadat de leerling ingelogd is, kiest hij een onderwerp (bijvoorbeeld Small Basic) en een vraag of opdracht. Hij kan dan één of meer tips ontgrendelen.

Het programma kan per tip een lijst laten zien waarin je kunt opzoeken wanneer iemand een tip opvroeg.

Bovendien kun je per leerling zo een lijst opvragen.

 

De docent kan tips toevoegen, wijzigen en wissen. Een tip bestaat uit een onderwerp, een vraag- of opdrachtnummer en een tiptekst.

Verder kan de docent leerlingen toevoegen, wijzigen en wissen.

 

LOGO-collector

(1 januari 2011)

Schrijf een programma/website waarmee je logo-opdrachten kunt inzamelen.

 

Een leerling zet naam, klas en onderwerp van de opdracht in een lijst en voegt een plaatje en het lgo-bestand bij de inzending.

 

Het programma/website maakt hiervan een webpagina waarin een tabel met alle inzendingen te vinden is. Bij elke inzending wordt een verkleinde afbeelding van het plaatje en een link naar de code getoond.

 

Als je geen website maakt, moet het programma de gegevens zo kunnen exporteren dat als in een map terecht komt (de inhoud van de map is dan met een FTP-programma op het web te zetten)

 

 

T-test

(1 januari 2011)

In twee vierkanten - links en rechts op het scherm - verschijnt willekeurig een teken. Soms lijkt het op een T, maar alleen als het echt een T is moet de gebruiker op een knop drukken.

Er is een knop voor links en een knop voor rechts.

 

De gebruiker krijgt in een bepaalde tijd een aantal tekens te zien.

Het programma noteert alle gegevens:

 

- gegevens van de gebruiker

- start van de meting

- tijdstip waarop een teken getoond werd, werk teken het was en in welk deel van het scherm

- tijdstip waarop de gebruiker op een knop drukt en welke knop het was.

- eindtijd van de meting

 

Het programma moet het resultaat van 1 of meer gebruikers kunnen weergeven.

Hieronder is dat het aantal keer goed of fout, maar dat zou ook de gemiddelde tijd voor die reactie kunnen zijn.

 

 

Mozaïekmaker

(1 januari 2011)

De mozaïekmaker kan een foto op allerlei manier bewerken.

 

Splitser: snijd een ingelezen foto in nxm stukken snijden en voeg tussen de stukken p pixels van een in te stellen kleur in. Het resultaat is als afbeelding te bewaren, maar ook als een stuk HTML-code. Naast een HTML-bestand worden dan ook de losse foto's bewaard.

Rotate: draait een foto over g graden (moeilijk).

Rotate90: draait de foto over een veelvoud van 90 graden (gemakkelijker dan rotate).

Trim: snijdt randen weg.

Crop: voegt randen van een zelf te kiezen kleur toe

Mix: Mengt twee afbeeldingen door pixel voor pixels de kleuren te middelen

Overlay: Legt foto x deels over foto y

 

Frequentie-oppervlakte

(1 januari 2011)

Een programma leest één of meer teksten in.

Het programma telt de frequentie van de woorden.

Van de meeste voorkomende woorden (de gebruiker kan instellen hoeveel) wordt een diagram gemaakt. Elk woord staat in een rechthoek. De verhoudingen van de rechthoeken moet (ongeveer) overeenkomen met het relatief aantal keer dat het woord voorkomt (veel voorkomende woorden krijgen een grote oppervlakte).

van deze rechthoeken wordt dan weer een groter rechthoek gemaakt.

Laat de grootte van het lettertype ook mee veranderen.

 

Je ziet dit soort diagrammen bijvoorbeeld bij Hyves (voor kleuters).

In dit geval vormen de blokken toevallig twee kolommen, maar dat is geen noodzaak.

Hieronder zie je ook wat kleurverschillen.

 

Het uiteindelijke diagram moet te exporteren zijn als afbeelding.

Als je ook kunt exporteren als een stuk HTML-code met daarin links verdien je een hogere waardering.

 

 

 

Miss Match

(1 januari 2011)

Bij een programma kun je van twee personen een lange door hen zelf geschreven tekst invoeren.

Het programma bepaalt van elke tekst per woord de frequentie.

Daarna zoekt het programma woorden die in beide teksten voorkomen.

Het programma geeft per persoon aan welke percentage van de woorden binnen het overlappend deel vallen. Bovendien kun je lijst met overeenkomstige woorden bekijken en bewaren.

 

 

Legoteller

(1 januari 2011)

De legoteller moet een programma zijn waarmee onderdelen van Mindstorms te tellen zijn. De onderdelen worden per doos onthouden.

Van elke doos is opgegeven hoeveel stuks er van elk onderdeel in zouden moeten zitten.

Als de doos aan een leerling uitgeleend is, moet deze na tellen of het aantal nog klopt en dat aantal in het programma opgeven.

 

Het programma moet per doos een overzicht geven van verdwenen of aangevulde onderdelen met daarbij de naam van de lenende leerling.

 

Bovendien moet er per doos een overzicht van ontbrekende onderdelen gegenereerd kunnen worden als een HTML-bestand. In dat overzicht staat een afbeelding en het nummer van het onderdeel, met daarnaast het aantal ontbrekende onderdelen.

 

 

Palindroomdatumtijd

(1 januari 2011)

Schrijf een programma dat data of combinaties van datum en tijd zoekt die een palindroom vormen. De gebruiker moet een datum kunnen instellen. Het programma zoekt dan de eerst momenten vanaf die datum.

Bij de maand kun je soms kun je bij een datum een nul weglaten om meer mogelijkheden te krijgen. Bij het jaar kun je variëren tussen alle vier of alleen de laatste één of twee cijfers: 11-02-2011 is wel een palindroom, 11-2-2011 niet, 11-2-11 weer wel.

Bij de tijd kun je (h)h:mm achter de datum plakken of (h)h:mm:ss

 

11-11-11 - 11:11:11, maar ook 10-2-3 2:01 is palindroom.

 

 

Seamless

(1 januari 2011)

Als vulling van een achtergrond worden soms tegels gekozen die vloeiend in elkaar overlopen als je ze naast of boven elkaar legt.

Seamless is tekenprogramma waarmee je deze tegels kunt ontwerpen.

Er worden 3x3 tegels getoond. Als je een tekenopdracht binnen de middelste tegel begint en voortzet naar een omliggende tegel, wordt ook weer in de middelste tegel getekend.

Zorg minimaal voor de volgende tekengereedschappen: willekeurige lijn, wissen, kleur instellen, brush.

Je moet afbeeldingen kunnen opvragen en bewaren.

 

 

 

 

Priemsomreeks

(1 januari 2011)

2011 is te schrijven als som van opeenvolgende priemgetallen 157+163+167+173+179+181+191+193+197+199+211. Schrijf een programma dat van een getal nagaat of het als soms van opeenvolgende priemgetallen te schrijven is.

 

mogelijkheid: Laat je programma getallen zoeken die de som zijn van een zo lang mogelijke reeks opeenvolgende priemgetallen.

 

 

Patienceuitspeelbaarheid

(1 januari 2011)

Als je de kaarten voor het kaartspel patience uitgedeeld hebt weet je niet zeker of het spel wel uit te spelen is. Schrijf een programma dat voor een willekeurige te kiezen (of zelfs in te stellen) verdeling van de kaarten nagaat of het spel uit te spelen is.

 

 

 

Uitstellijst

(1 januari 2011)

Dit programma is een todo-lijst. Een todo bestaat uit een beschrijving, een invoerdatum en een afloopdatum. Als een items klaar is wordt het veld afgehandeld op true gezet.

De gebruiker kan een todo uitstellen door het te selecteren en een nieuw afloopdatum te selecteren. Alternatief kan de todo ook x dagen uitgesteld worden.

Bij elke todo onthoudt het programma hoe vaak het uitgesteld is.

De gebruiker kan de todo's sorteren op dat aantal maal dat het item uitgesteld is.

 

 

Vierkantsverdraaiing

(1 januari 2011)

In de afbeelding hieronder zie je twee vierkanten.

Een vierkant heeft een afmeting, een kleur, een rand met een dikte die een andere kleur heeft en een oriëntatie (draaiing).

De twee vierkanten liggen niet per se met de middelpunten op elkaar.

Schrijf een programma waarmee twee van zulke vierkanten te bewerken, verschuiven en verdraaien zijn. Het resultaat moet als afbeelding te bewaren zijn. De instellingen voor de afbeelding moet ook los te bewaren zijn.

 

 

 

Shoot-then-mail

(1 januari 2011)

Schrijf een programma waarmee iemand op een eenvoudig manier een screenshot kan maken en e-mailen.

Nadat de e-mailgegevens ingesteld zijn, moet het programma zijn werk doen na een druk op een knop:

- op de knop drukken (programma verbergt zichzelf)

- screenshot wordt gemaakt

- afbeelding wordt gemaild

 

Buurwoorden

(1 januari 2011)

Een programma heeft de beschikking over een lijst met Nederlandse woorden.

Woorden die 1 letter van elkaar verschillen noemen we buurwoorden.

Het programma moet verschillende functies hebben.

 

Browsen: na het invoeren van een woord verschijnen alle buurwoorden. Door op zo een woord te klikken maak je dat woord centraal en verschijnen de buurwoorden van dat woord.

 

langste reeks: het programma zoekt naar zo lang mogelijke reeks van buurwoorden. Daarbij zijn twee opties in te stellen. Mag een buurwoord het begin van een volgend buurwoord zijn? (als dat niet zo is voorkomt je reeksen als: snakt - snakte - snakten.

Mogen opeenvolgende buurwoorden alleen langer worden? Als dat niet zo is worden de volgende reeksen mogelijk: kan - kans - kas - stak - kaste

 

Achterdoorgang

(1 januari 2011)

In de afbeelding hieronder staan ringen in een rechthoekig patroon met daarachter een band. Het aantal ringen is hier 2x2 maar kan elke andere 'opstelling' is mogelijk.

De band ligt onder een bepaalde hoek. Van de ringen van de band zijn alle afmetingen en kleuren in te stellen.

 

Schrijf een programma waarmee je zulke tekeningen kunt maken.

In de tekening ligt de band achter de cirkels. Als je het mogelijk maakt dat de band de kleuren die ervoor liggen veranderen krijg je een hogere beoordeling. In het voorbeeld zouden witte delen voor de band bijvoorbeeld groen kunnen worden en zwarte delen rood.

 

 

 

 

Dingflofbibs

(1 januari 2011)

Je kent de zinnetjes wel waarmee je de landen die de Euro gebruiken kunt onthouden: sms ff bondige clips.

Binnen een paar jaar komen er weer nieuwe landen bij: Polen, Tsjechië en Zweden.

 

Schrijf een programma dat opzoek gaat naar 'zinnen' die je met de eerste letters van de Euro-landen kunt maken.

Het programma heeft de beschikking over een lijst met Nederlandse woorden.

 

Omdat bij de laatste voorstellen ook zinnen met voornamen zaten zijn die ook toegestaan: Cobi's sms: pin ff geld.

Ook sms-taal is toegestaan. Je mag in overleg ook andere lijsten toevoegen (toponiemen, plaatsnamen, etc.).

 

Het programma moet de voornamen, sms-taal e.d. in aparte bestanden bewaren.

 

Je programma hoeft niet te beoordelen of de 'zinnen' grammaticaal kloppen.

 

 

Looplicht

(1 januari 2011)

Een venster is gevuld met een rechthoekig patroon van cirkels.

Door deze cirkels wit te kleuren van een letter van maximaal 5x3 cirkels gemaakt worden. De gebruiker kan een tekst invoeren die het programma dan naar keuze horizontaal of verticaal door het beeld laat lopen.

 

 

Lokale dialecten

(1 januari 2011)

Schrijf en programma dat van twitter-gebruikers profielen inleest. Van Nederlandse gebruiker moet het programma de locatie proberen vast te stellen.

Op grond van de berichten van die gebruikers moet het programma gebieden in Nederland zoeken waar bepaalde termen meer of minder vaak voorkomen.

 

 

Kidsblok

(1 januari 2011)

Kidsblok is een zeer eenvoudige tekstverwerker.

Links staat een lijst met het begin van de teksten. Door links een andere vak aan te klikken kun je een andere tekst selecteren. Als je een leeg vak kiest begin je een nieuwe tekst. Eventueel kun je overwegen om in een leeg vak het woord NIEUW te laten verschijnen als je er met de muis overheen beweegt.


Alles wat geschreven wordt, wordt meteen opgeslagen.

Als er meer dan 8 teksten zijn kun je met bladerknoppen activeren (^ en ˅)

Als in het vak ZOEK TEKST iets ingevuld is worden alleen de tekst getoond die de zoektekst bevatten.

Als bij ZOEK WOORD iets ingevuld staat wordt die tekst gemarkeerd in de tekst

 

 

mogelijkheden:

Je zou een advanced mode kunnen inbouwen. Deze moet met een druk op een eenvoudig icoontje aan en uit te schakelen zijn.

In deze mode heeft elke tekst ook een categorie waarop te zoeken is.

 

- een slotje op een tekst (handig voor een dagboek) en een icoon waarmee dat datum en tijd op de plaats van de cursor in te voegen is (zit ook in de kladblok).

 

-Het programma waarschuwt voor: dubbele spaties, spaties voor leesteken (komma, punt, uitroepteken, vraagteken), ontbrekende spatie na een leesteken, zinnen die niet op een punt eindigen en zinnen die niet met een hoofdletter beginnen.

 

- Maak een intuïtieve manier om het lettertype te veranderen en bewaren.

 

- Maak een printknop

 

 

Willekeur

(1 januari 2011)

Welke tekens en tekenvolgordes typt iemand als je hem willekeurige iets laat typen?

Schrijf een programma dat iemand laat inloggen en vastlegt wat iemand (willekeurig) typt. Daarbij kent het programma een paar modes: alle tekens, alleen letters, alleen cijfers en letters.

Het programma kan de input van de geteste gebruiker analyseren.

Het geeft dan per mode:

- de frequentie per teken (hoe vaak kwam het voor)

- frequentie van een teken op een plaats in de tekst (1e, 2e plek etc.)

- frequentie van lettervolgordes (hoe vaak komt na een teken een reeks van n tekens voor).

 

Wanneer was het

(1 januari 2011)

Een programma heeft een bestand met de temperatuurgegevens van de afgelopen periode. Van elke dag is de minimum- en maximumtemperatuur bekend.

Op grond van die gegevens berekent het programma wanneer het voor het laatste warmer of kouder dan een gekozen dag was. Dit kan voor minimum of maximum.

Bovendien kun je voor een bepaalde temperatuur laten berekenen hoeveel dagen het warmer of kouder was.