Programmeermethoden
Werkcollege 5: Op papier I en Tweede opgave II
Het
vijfde werkcollege van het vak
Programmeermethoden
vindt plaats in de week van
3 tot en met 6 oktober 2023.
Voorbereiding
Als voorkennis wordt bekend verondersteld:
Het eigenlijke werkcollege
Maak deze week
thuis van
deze A4:
De antwoorden zijn
hier te vinden.
Doe nu achtereenvolgens deze opdrachten,
die van alles met de tweede programmeeropgave
te maken hebben.
-
Het vierde werkcollege was om er een beetje in te komen.
Nu de opgave, waarvoor je het vorige werkcollege goed kunt gebruiken.
Verander steeds weinig aan je programma. In het bijzonder,
voeg bijna geen get's (en put's) meer toe!
Voorlopig nog niet doen:
filenamen kiezen.
- Hint: alleen een paar eenvoudige "eigenschappen" zijn nodig,
zoals later "wat was het vorige karakter?", en: "wat is de getalswaarde van het getal tot nu toe (vaak 0)?".
- Maak een eenvoudige testfile met een paar regels, en nog geen cijfers en geen backslashes. Gebruik voorlopig deze file voor het testen.
- Maak het coderen.
- Gaat het goed met de regelovergangen?
- Zorg dat het goed gaat met cijfers en backslashes. Minimale aanpassing nodig!
- Tel het aantal karakters van invoer- en uitvoerfile.
Gebruik onder meer een functie die bepaalt hoeveel cijfers een getal heeft.
Geen logaritmes nodig!
- Maak het decoderen.
Neem hier ook eerst aan dat de file geen backslashes bevat.
En pas daarna minimaal aan.
-
Zorg ervoor dat je het bovenstaande grotendeels rond 7 oktober af hebt!
======================================================
-
Doe het Collatz-gebeuren. Dit heeft eigenlijk niets te maken met het
coderen, en kan er eenvoudig bij worden gemaakt. Gebruik de technieken van de eerste punten betreffende files van het
vierde werkcollege.
Zorg er dus eerst voor dat de getallen uit de te coderen file één voor één op het scherm worden afegdrukt (als int).
- Schrijf een functie die de Collatz-eigenschap controleert.
Let in de buurt van het vermenigvuldigen op "overflow", denk aan INT_MAX!
-
Gebruik alle
testfiles
om te controleren
of het programma correct werkt.
-
Laat de gebruiker de namen van in- en uitvoerfile kiezen.
En tel regels en karakters.
-
Maak nu de
tweede programmeeropgave
af. Zijn er
duidelijke functies gemaakt — daar had je eerder aan
moeten denken!?
Heeft main hooguit een regel of tien?
- Zie bij het
zesde werkcollege hoe het verslag eruit moet zien.
Huiswerk
De antwoorden op de opgaven worden tevens via WWW verspreid,
evenals de uitwerkingen van oude tentamens.
Als er vragen over de opgaven zijn, laat het weten.