IkZag
Ontwerp een programma waarmee je eenvoudig coupletten van het onderstaand kinderliedje kan uitschrijven. Maak gebruik van een subroutine die 1 couplet uitschrijft
'k Zag twee beren broodje smeren, O het was een wonder.
't Was een wonder, boven wonder, dat die beren smeren konden.
Hi hi hi, ha ha ha! 'k Stond erbij en ik keek er naar.
'k Zag twee bijen auto rijden, O het was een wonder.
't Was een wonder, boven wonder, dat die bijen rijden konden.
Hi hi hi, ha ha ha! 'k Stond erbij en ik keek er naar.
‘k Zag twee woord1, woord2 woord3, O, dat was een wonder.
't Was een wonder, boven wonder, dat die woord1, woord3 konden.
Hi, hi, hi! Ha, ha, ha! 'k Stond erbij en ik keek ernaar.
Tien kleine visjes
Schrijf een programma dat het onderstaande liedje uitschrijft.
Tien kleine visjes, die zwommen naar de zee.
Moeder zei: Maar ik ga niet mee. Ik blijf liever in die oude boeren sloot,
want in de zee zwemmen haaien, en die bijten je
blub, blub, blub, blub, blub
blub, blub, blub, blub, blub
blub, blub, blub, blub, blub
Negen kleine visjes, die zwommen naar de zee.
Moeder zei: Maar ik ga niet mee. Ik blijf liever in die oude boeren sloot,
want in de zee zwemmen haaien, en die bijten je
blub, blub, blub, blub, blub
blub, blub, blub, blub, blub
blub, blub, blub, blub, blub
…
Twee kleine visjes, die zwommen naar de zee.
Moeder zei: Maar ik ga niet mee. Ik blijf liever in die oude boeren sloot,
want in de zee zwemmen haaien, en die bijten je
blub, blub, blub, blub, blub
blub, blub, blub, blub, blub
csom
De csom van een getal wordt bepaald door de som van de cijfers van dit getal te berekenen, en deze procedure te blijven herhalen totdat het bekomen getal bestaat uit één enkel cijfer. De csom van een getal is dus een cijfer tussen 1 en 9 (grenzen inclusief). Zo hebben we bijvoorbeeld dat:
csom(8) = 8
csom(377096267) = csom(47) = csom(11) = 2
Opgave
Schrijf een functie csom waaraan een natuurlijk natuurlijk getal (int) moet doorgegeven worden. De functie moet de csom van (int) teruggeven.
123
Schrijf een natuurlijk getal op een blaadje papier: 886328712442992
Tel het aantal even en oneven cijfers, en ook het totaal aantal cijfers: 10 5 15
Vorm een nieuw getal door de cijfers van de voorgaande drie getallen samen te voegen: 10515
Voer dezelfde procedure nogmaals uit op het bekomen getal: 1 4 5 ⟶ 145
En blijf dit herhalen: 1 2 3 ⟶ 123
Je zal finaal altijd bij het getal 123 uitkomen.
Opmerking
Bij het toepassen van de procedure om het volgende getal te bepalen, dien je de voorloopnullen te laten vallen als er geen even cijfers in het getal staan. Als we bijvoorbeeld vertrekken van het getal 111, dan bepalen we het volgende getal als
0 3 3 ⟶ 33 (en niet 033)
Dat maakt een verschil omdat 33 geen even cijfers heeft (en bij een volgende toepassing van de procedure 22 oplevert) en 033 wel een even cijfer heeft (en bij een volgende toepassing van de procedure 123 zou opleveren).
Schrijf een methode aantalEvenCijfers die het aantal even cijfers van een getal in tekstvorm geeft. Maak gebruik van deze methode om de bovenstaande stappen herhaadelijk toe te passen op een getal.
Voor grote gehele getallen maken we in Java gebruik van het type long
long getal = 886328712452992L;
String tekst = Long.toString(getal);
GSMoniemen
2 woorden zijn GSMoniem als je dezelfde sequentie van cijfers nodig hebt om het woord op een gsm in te typen.
(2=ABC, 3=DEF, 4=GHI, 5=JKL, 6=MNO, 7=PQRS, 8=TUV, 9=WXYZ)
Schrijf een methode die een woord omzet naar de sequentie van cijfers.
Maak gebruik van deze methode om te controleren of 2 woorden GSMoniemen zijn.
Bijvoorbeeld: aanbod --> 226263 en bamboe --> 226263
Numeroniemen
Een numeroniem is een woord waarin getallen gebruikt worden als manier om het woord af te korten.
Eén specifieke manier om dit te doen is door alle letters tussen de eerste en de laatste letter van het woord te vervangen door een getal dat aangeeft hoeveel letters er werden weggelaten, zoals in het numeroniem i18n dat staat voor internationalization. Deze vorm van afkortingen noemt men alfanumerieke acroniemen, alfanumerieke afkortingen of numerieke samentrekkingen.
Meer algemeen staat elk getal in het numeroniem voor het aantal letters dat op die positie werd weggelaten. Op die manier is se7en een numeroniem voor semicitizen en is R2D2 een numeroniem voor random.
Schrijf een methode numeroniem waaraan een woord (str) moet doorgegeven worden dat enkel bestaat uit letters. Als het woord minder dan vier letters telt dan moet de functie het gegeven woord (str) teruggeven. Anders moet de functie het alfanumerieke acroniem (str) voor het gegeven woord teruggeven, waarbij het gebruik van hoofdletters en kleine letters behouden blijft.
Wimbledon
Het decoderen van een bericht dat gecodeerd werd met de Wimbledon-versleuteling hierop neer: neem het eerste karakter, het laatste karakter, het tweede karakter, het voorlaatste karakter, het derde karakter, enzoverder.
Schrijf een methode decodeer waaraan een bericht (str) moet doorgegeven worden dat gecodeerd werd met de Wimbledon-versleuteling. De functie moet het originele bericht (str) teruggeven.
Schrijf een methode codeer waaraan een bericht (str) moet doorgegeven worden. De functie moet de Wimbledon-versleuteling gebruiken om de gecodeerde versie van het gegeven bericht (str) terug te geven.
Voorbeelden
decodeer('Oea ie.mtat n') => 'One at a time.'
decodeer("W'entwies u o,cnw ev.erse a ybtb,rta o re") => "We're not waiters, but boy, can we serve."
decodeer('Dtn enspae srsy oemasntigt s.uo nho ne vL.ki iryl intagia') =>
'Dating a tennis player is risky. Love means nothing to us.'
codeer('One at a time.') => 'Oea ie.mtat n'
codeer("We're not waiters, but boy, can we serve.") => "W'entwies u o,cnw ev.erse a ybtb,rta o re"
codeer('Dating a tennis player is risky. Love means nothing to us.') =>
'Dtn enspae srsy oemasntigt s.uo nho ne vL.ki iryl intagia'
Priemgetallen
Schrijf een programma dat de priemgetallen geeft die gelegen zijn tussen een beneden- en een bovengrens die wordt ingegeven door de gebruiker. Een priemgetal is een getal dat alleen 1 en zichzelf als deler heeft. Maak gebruik van een methode isPriemgetal
Meirp
Een meirp is een priemgetal dat nog steeds een priemgetal blijft als de cijfers van het getal worden omgekeerd, en dat ook geen palindroom is. Zo is het getal 13 bijvoorbeeld een meirp omdat het getal met de cijfers in omgekeerde volgorde (31) ook een priemgetal is. Het getal 23 is geen meirp ondanks het feit dat het een priemgetal is, omdat het getal met de cijfers in omgekeerde volgorde (32) geen priemgetal is. Ondanks het feit dat het getal 101 een priemgetal is, is het geen meirp omdat het een palindroom is.
Schrijf een functie isPriemgetal die true retourneert als een getal een priemgetal is en anders false
Schrijf een functie isPalindroomwoord die true retourneert als een tekst een palindroom is en anders false
Schrijf een functie omkerenWoord die het omgekeerde woord retourneert
Maak gebruik van de voorgaande 3 functies om te bepalen of de invoer een meirp is of niet.
Kind
Schrijf een programma dat controleert of een kind biologisch wel afkomstig kan zijn van zijn ouders uitgaande van de bloedgroep en de rhesusfactor van de ouders en het kind.
De onderstaande combinaties zijn mogelijk voor de bloedgroep en rhesusfactor