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

 

 

Update

Het grote aantal opdrachten op deze pagina maakte dat je wel erg lang moest wachten eer de pagina geladen was.

Daarom in de pagina's nu opgesplitst in jaargangen. Je mag overigens nog steeds uit alle opdrachten kiezen.

 

 

Op deze pagina staan ideeën voor programmeeropdrachten.

Heb je een opdracht uitgewerkt? Deel de uitwerking ervan inclusief de broncode dan met anderen door hem op je website te plaatsen!

Achter een opdracht staat soms een indicatie voor het OS waarvoor deze opdracht bedoeld is: -w (=Windows), -p (=PalmOS), -wm (=Windows Mobile), -a (Android).

 

Soms is -w ook als Linux te lezen als je een Delphi-achtige taal als Lazarus gebruikt.

De oudere -p en -wm opdrachten kun je nagenoeg allemaal ook -a lezen.

 

Bij veel opdrachten staat nadrukkelijk vermeldt dat het het resultaat van het programma moet kunnen bewaren of exporteren naar een ander programma. Bedenk dat het bijna altijd interessant is om resultaten van je programma te kunnen bewaren. Als je programma dat kan telt dat altijd positief mee!

 

Probeer je programma altijd zo te schrijven dat de kern gemakkelijk in andere programma's te hergebruiken is.

 

 

 

Programma's

 

 

Hieronder vind je een serie opdrachten die als idee voor een eindopdracht kunnen dienen. Deze opdrachten kunnen voor zowel 5H als 6V dienen, maar zijn in het bijzonder voor 5H bedoeld.

 

 

Notetaker

(1 december 2014)

Met dit programma moet je aantekeningen bij een boek gemakkelijk kunnen bewaren.

 

De gebruiker kan een nieuw boek toevoegen.

Daarna kunnen er notities toegevoegd worden. Bij een notitie wordt kan een paginanummer opgegeven worden.

 

Mogelijkheden: geef de gebruiker de mogelijkheid om de notities in de vorm van een website te exporteren.

 

Derdegraads

(1 december 2014)

Met dit programma moet je een derdegraadsfunctie kunnen 'ontwerpen' die aan bepaalde criteria voldoet.

Bijvoorbeeld:

- de snijpunten met de x-as moeten op een bepaalde plek liggen

- de toppen moeten op een bepaalde plek liggen

- de helling in een punt moet gelijk zijn aan een bepaalde waarde

- het snijpunt met de y-as moet bij een bepaalde waarde liggen

 

De coëfficiënten van de derdegraadsfunctie moeten ook mooie breuken kunnen zijn, zoals 2/3.

 

 

 

Raaklijn door punt

(1 december 2014)

Met dit programma moet je bij een functie de raaklijn in een punt kunnen laten bepalen. Er moeten verschillende soorten functies zijn om uit te kiezen:

- tweedegraads functies, derdegraads functies, wortelfuncties, gebroken functies, sinusoïden. Van de gekozen functies moeten de parameters in te stellen zijn.

 

mogelijkheid: bereken de coëfficiënten van de functie zo, dat de coëfficiënten van de raaklijn mooie waarden zijn.

 

 

Stelsels

(1 december 2014)

Schrijf een programma waarmee je stelsels linaire vergelijkingen kunt oplossen.

De gebruiken moet kunnen aangeven wat de volgende actie is.

 

 

Motion planning

(1 december 2014)

Schrijf een eigentijdse variant van motion planning. De gebruiker moet in verschillende levels een robot door een ruimte sturen tot de bestemming bereikt is. De benodigde tijd wordt bijgehouden.

 

 

Worrydream

(1 december 2014)

op de website van Worrydream staan inspirerende manieren om leerlingen die net beginnen met programmeren te helpen om eenvoudige programma's te begrijpen. Je kunt eenvoudige met de muis een waarde veranderen, of je kunt snel door de tijd bewegen.

Schrijf een programma dat zulke animaties laat zien.

 

 

LOGO

(1 december 2014)

Schrijf een variant van MSW-LOGO die werkt op een Raspberry Pi. Het programma hoeft geen volledige kloon te zijn. Alleen de opdrachten die we in de les gebruiken hoeft het programma te kennen.

 

 

Hufmann

(1 december 2014)

Schrijf een programma dat een zin met Hufmann comprimeert.

Het programma moet de frequenties van elk teken tellen. Daarna moeten de letters één voor één in de boom opgenomen worden.

Ten slotte moet voor elke letter de code gegeven worden, en moet de compressiefactor berekend worden.

 

 

 

WOEF

(6 december 2013)

Schrijf een programma waarmee een leerling van de basisschool kan oefenen met het herkennen van werkwoorden. Er zijn drie soorten oefeningen:

1) het herkennen van de persoonsvorm

2) het herkennen van het voltooid deelwoord

3) het herkennen van het werkwoordenlijk gezegde.

 

Stimuleer de leerling door de score bij te houden. Zorg voor een leuke set met oefenzinnen.

 

 

Architect

(6 december 2013)

Schrijf een programma waarmee je gemakkelijk een etage van een gebouw kunt ontwerpen zoals een architect dat doet.

Binnen- en buitenmuren worden verschillend getekend. In de muren moeten ramen en deuren (met draairichting) geplaatst kunnen worden.

 

 

 

 

 

 

 

 

 

 

Afgeknotte kegel (WB)

(6 november 2013)

Van een afgeknotte kegel zijn de diameter van de beide cirkels en de hoogte bekend.

Het programma moet hieruit de berekening genereren die je maakt als je de inhoud van de afgeknotte kegel wilt berekenen. Maak het mogelijk om de berekening als een html-bestand te exporteren.

 

Twee parabolen (WA+WB)

(9 oktober 2013)

Als je twee parabolen tekent kunnen deze elkaar in 0, 1 of 2 punten snijden.

Dit programma moet zo een opgaven verzinnen met 'willekeurig' gekozen getallen.

Van de twee vergelijkingen moet de grafiek getekend worden én de oplossing moet het programma ook kunnen berekenen en opschrijven.

 

 

Vergelijking aflezen (WA+WB)

(9 oktober 2013)

Dit programma moet een lijn in een assenstelsel tekenen. De schaalverdeling kiest het programma ook willekeurig. Van de lijn zijn minimaal twee punten af te lezen uit de grafiek. Daarmee kan de vergelijking van de vorm y=ax+b worden opgesteld.

Die berekening moet het programma kunnen opschrijven zodat een leerling zijn rekenwerk kan controleren.

 

De vliegende bal (WB)

(9 oktober 2013)

Een bal wordt weggeworpen en komt na een aantal meters weer op de grond. Halverwege werd de maximale hoogte bereikt. Dit soort opgaven kom je bij wiskunde B tegen. Schrijf een programma dat willekeurige getallen kiest voor zo een opgave, zodat een leerling ermee kan oefenen. Het programma genereert daarna de uitleg, zodat de leerling zijn berekening kan controleren.

 

 

 

 

Talstelsels (IN)

(28 september 2013)

Schrijf een programma waarmee één van de omrekeningen uit het onderdeel talstelsels kunt oefenen. Omdat je binair, decimaal en hexadecimaal leerde zijn er 6 verschillende programma's mogelijk. Het programma moet niet alleen het juiste antwoord laten zien (zoals de rekenmachine van Windows), maar ook de uitleg.

 

 

Procenten (WA)

(23 september 2013)

Schrijf een programma waarmee een leerling berekeningen met procenten kan oefenen.

Neem de voorbeelden uit het wiskunde A boek van 4 HAVO als uitgangspunt.

Jouw programma moet bij de voorbeelden opgaven met andere getallen kunnen genereren.

 

 

Rechte lijn

(18 september 2013)

In deze animatie bewegen de witte punten in rechte lijnen.

Schrijf een programma dat de indruk geeft van een draaiende cirkel door punten in rechte lijnen te laten stuiteren binnen de zwarte cirkel.

 

Zinmaker

(17 september 2013)

Schrijf een programma waarmee je zinnen kunt maken met de woorden uit een woordenlijst. Denk er aan dat je woorden soms moet vervoegen (denk aan werkwoorden, of bijvoeglijke naamwoorden).

De gebruiker moet de zinnen kunnen bewaren in een tekstbestand.

 

Mogelijkheden: maak het mogelijk om meerdere woordenlijsten (bijvoorbeeld van losse paragrafen) in te lezen.

 

 

Lichtkrant

(22 maart 2013)

Schrijf een programma waarmee je een lichtkrant over het scherm kunt laten lopen.

De gebruiker moet de tekst natuurlijk kunnen aanpassen.

 

 

Rente op rente

(22 maart 2013)

Schrijf een programma waarmee je rente-op-rente berekeningen kunt maken.

Het eenvoudigste is dat je op een tijdstip een bedrag inlegt en daarna jaarlijks een rente bedrag krijg.

Maar er zijn ook andere varianten mogelijk: ik weet het start- en eindbedrag en het aantal verstreken jaren: bereken de rente. Er zijn altijd 4 variabelen (looptijd, startbedrag, eindbedrag, rente) waarvan er 3 gegeven moeten zijn om de vierde te kunnen berekenen.

 

 

Hoe oud ben je?

(22 maart 2013)

Schrijf een programma waarin je voor een paar familieleden of bekenden de geboortedatum kunt opgeven. Het programma berekent dan voor een willekeurige datum de leeftijd in dagen (houd rekening met schrikkeldagen).

 

 

Plantjes tellen

(1 januari 2011)

Er wordt een perkje met plantjes getekend. Er zijn een aantal volle rijen met tien plantjes. En daarnaast één rij die niet vol is.

In een invulvakje moet het juiste aantal ingevuld worden.

Het totaal aantal plantjes is een willekeurige getal kleiner dan 100.

 

Mogelijkheid 1: Laat het programma willekeurig uit een paar soorten plantjes kiezen

 

Mogelijkheid 2: Laat het programma soms ook volle kolommen in plaats van volle rijen tekenen.

 

 

 

 

Samen 50

(1 januari 2011)

In wat cirkels staan getallen. De gebruiker moet cirkels aanklikken, zodat ze samen 50 zijn. De getallen zijn willekeurig, maar het moet wel mogelijk zijn om minimaal op één manier 50 bij elkaar te tellen.

 

 

Mogelijkheid 1: Laat het programma in plaats van 50 een willekeurige tiental kleiner of gelijk aan 100 kiezen (10,20,...,100).

 

Mogelijkheid 2: maak het mogelijk om op verschillende manieren 50 bij elkaar te tellen. Het programma moet bijhouden of de gekozen combinatie al eens aan bod geweest is.

Als de gebruiker dezelfde combinatie kiest, meldt het programma dat.

Je kunt deze optie nog meer uitbreiden door de eerder gevonden combinaties naast op onder de opdrachten te laten zien, ter herinnering.

 

 

Welke getallen

(1 januari 2011)

Het programma toont een getallenlijn van 50 tot 100.

De tientallen zijn met het getal (50,60,...,100) aangegeven.

Op andere plekken (geen tientallen) hangen bordjes. Op die plaatsen moet het juiste getal ingevuld worden. Het aantal kaartjes is willekeurig.

 

Mogelijkheid 1: Laat het programma zelf een deel van de getallenlijn kiezen. Het verschil tussen het kleinste en het grootste getal moet natuurlijk wel zó zijn dat er wat te kiezen is.

 

 

Waar ongeveer

(1 januari 2011)

Het programma tekent een getallenlijn die van 0 tot en met 100 loopt.

Boven de getallenlijn staan vijf getallen waarvan de plek op de getallenlijn moet worden geschat. Je moet een manier bedenken waarop je dat kunt doen (de getallen naar de gewenste plek slepen).

De getallen moet ongeveer op de juiste plek gezet worden. Je moet een manier bedenken hoe het programma te grote afwijkingen fout rekent.

 

Mogelijkheid 1: laat het programma een gekromde getallenlijn tekenen zoals in de afbeelding.

 

Mogelijkheid 2: maak een versie waarbij telkens 1 nieuw getal verschijnt dat op de juiste plek gezet moet worden. Het nieuwe getal moet niet te dicht in de buurt van de eerdere getallen liggen. Alleen de laatste drie getallen zijn zichtbaar. 'Oudere' getallen verdwijnen na 3 ronden uit beeld.

 

 

 

 

 

Sprongen van 10

(1 januari 2011)

Het programma laat het begin van getallen lijn zien waarop twee getallen staan die tien verschillen, bijvoorbeeld 14 en 24.

Onder de getallenlijn staan dezelfde twee getallen met daarachter vijf invulvakjes. Daarin moeten de volgende getallen ingevuld worden die telkens 10 verder staan.

Het laatste getal moet kleiner of gelijk aan 100 zijn.

 

Mogelijkheid 1: Laat het programma ook zo'n sommen genereren waarbij je juist vijf stappen van 10 terug moet maken.

 

 

 

Reken handig

(1 januari 2011)

Het programma genereert willekeurig minsommen a-b.

Het eerste getal a ligt tussen 1 en 100. Het tweede getal b is kleiner dan 10.

Let erop dat de uitkomst groter of gelijk aan 0 is.

 

voorbeeld: de opgave 92-7 wordt uitgelegt als:

 

   92-2=90

   90-5-95

 

Mogelijkheid: Geef het programma twee modes: 1 om te oefenen en 1 om voorbeelden te bekijken.

 

Kienen

(1 januari 2011)

Op een kleine kienkaart staat 3 rijen van 9 vakjes. In die vakjes staan 15 getallen die willekeurige gekozen worden de getallen 1 tot en met 90.

Schrijf een programma dat een willekeurige kienkaart genereert.

 

huisje bouwen

(30 januari 2011)

Laat een programma willekeurig een straat genereren met huisje.

De huisje bestaan uit 1 of meer blokken met daarop soms een driehoekig dak.

Denk ook aan ramen en deuren (de laatste alleen op de begane grond)?

Je kunt je helemaal uitleveren met balkonnetjes, schoorstenen waar rook uit komt, kerken, speeltuinen tussen de huisen, geparkeerde auto's voor de huizen, langsrijdende fietsers, prachtige bomen, ....

Of is dat overdreven?

 

 

Tientallen en eenheden

(3 februari 2011)

Schrijf een programma dat blokjes los en in rijen van tien kan tekenen zoals in de afbeelding hieronder. De complete rijen liggen mooi geordend, de lossen blokjes kunnen willekeurige geplaatst worden. Zie je dat er soms blokjes tussen de complete rijen liggen?

 

Mogelijkheid: maak een invulvakje waarin de gebruiker het aantal blokjes kan invullen. Het programma controleert of het antwoord klopt.

 

 

 

 

 

Afstand meten (1)

(3 februari 2011)

Schrijf een programma dat een aantal objecten (kasteel, bos, heuvels, molen, camping) op een willekeurige plek tekenent en daartussen met rechte lijnen een verbinding tekent.

 

 

 

Afstand meten (2)

(3 februari 2011)

Schrijf een programma dat een brug zoals in de tekening hieronder tekent met losse lijnen. Maak de brug af met een foto of tekening van een trein of auto.

 

Mogelijkheid: maak het programma zo dat er 2 of 3 brugdelen getekend worden.

Eventueel kun je het programma ook willekeurig brugdelen zonder kruis laten tekenen.

 

 

 

Kniklijnen

(3 februari 2011)

 

Schrijf een programma dat een aantal geknikte lijnen (twee lijnstukken die verbonden zijn, maar onder een hoek in elkaar overlopen) onderelkaar tekent. De geknikte lijnen mogen elkaar niet overlappen.

 

Verschilrijen

(3 februari 2011)

 

Schrijf een programma dat willekeurige verschilrijen genereert.

In de voorbeelden hieronder herken je 3 verschillende voorbeelden:

 

- steeds hetzelfde erbij (1,3,5,...)

- steeds twee meer erbij (1,3,7,13,...)

- afwisselend 2 erbij, 1 eraf (5,7,6,8,7,9,8,...)

 

Zet achter de rij 4 invulvelden waarin de gebruiker getallen kan invullen.

Het programma controleert of de getallen kloppen.

 

10 -30 - 50 - ... - ... - ... - ...

14 - 15 - 18 - 23 - ... - ... - ... - ...

5 - 10 - 15 - ... - ... - ... - ...

2 -4 - 8 - ... - ... - ... - ...

10 - 12 - 11 - 14 - 13 - ... - ... - ... - ...

 

magisch vierkant

(3 februari 2011)

Schrijf een programma dat een magisch vierkant op het scherm tekent.

Een aantal getallen moet al ingevuld zijn. In de overige cellen staat een invoerveld.

Het programma controleert of de gebruiker de juiste getallen heeft ingevoerd.

 

 

 

 

Driehoekje leggen

(4 februari 2011)

Op de wiskunde-pagina kun je uitleg vinden over het leggen van driehoeken met stokjes die dezelfde lengte hebben. Schrijf een programma dat voor een hele reeks aantallen stokjes (bijvoorbeeld 2 t/m 10000) berekent hoeveel driehoeken er bij elk aantal stokjes mogelijk zijn.

 

Mogelijkheid: Het resultaat is in een tabel te bewaren.

 

 

 

Betegelaar

(11 mei 2011)

Met kleine tegeltjes wil je de binnenkant van een zwembad betegelen. De afmeting van de vloer is lengte x breedte (L x B) tegels. Langs de rand moeten hoogte H tegels omhoog staan.

 

Als je hiervan een uitslag maakt krijg je een kruisvorm. De afmeting hiervan is (L+2xH) x (B+2xH) tegels. Uit de hoeken laat je een vierkant van H x H tegels weg.

 

Als je N tegels hebt, welke afmetingen kun je dan maken?

 

Schrijf een programma waarbij je een serie waarden voor N kunt doorlopen (van startwaarde tot en met eindwaarde). Het programma berekent welke afmetingen er voor dat aantal tegels mogelijk zijn (en schrijft die op het scherm).

 

Energiebehoefte

(14 mei 2011)

De energiebehoefte van een mens is te berekenen met:

 

66 + (13,7 * G) + (5 * H) - (6,8 * L) = ... kcal

G=lichaamsgewicht in kg
H= lichaamslengte in cm
L= leeftijd in jaren

 

 

Afhankelijk van je inspanningen moet je daar 10 a 30% bij tellen.

 

Schrijf een programma dat de gebruiker om G, H en L en de mate van inspanning vraagt en dan de energie behoefte berekent.

 

Fietsenergie

(14 mei 2011)

De energie die een wielrenner gebruikt is op de volgende manier te berekenen:

 

t (tijd in uren)

v (snelheid in km/h)

m (massa in kg)

 

E = (0,6*v-4,5)*m*t (in kcal)

 

Schrijf een programma dat berekent hoeveel energie de wielrenner met een ritje kwijt is.

 

 

 

Tientallen en eenheden

(2 juli 2011)

Op 3 februari hadden we al een opdracht over tientallen en eenheden.

Hieronder het de bedoeling dat je het juiste aantal repen (tientallen) en blokjes (eenheden) aanklikt om 43 te maken.