Opdrachten Datastructuren
De docent Programmeertechnieken, J.K. Vis, heeft een aantal jaar geleden slides gemaakt waar hij een aantal aspecten van nette programmeerstijl heeft aangegeven: const correctness, code style, comments. Doe er je voordeel mee.
Bij het college horen drie opdrachten voldoende gemaakt te worden. Deze komen hier één voor één beschikbaar. Op het werkcollege kun je de opdrachten uitwerken, er is dan begeleiding door studentassistenten.
Programmeeropdracht 1. Stapel
De jaarlijkse klasieker, vier implementaties.
Opdracht (pdf) en test-skelet handoutmain21.cc
15.9'21: foutje in het voorbeeld bij de opdracht verbeterd.
Programmeeropdracht 2. Expressies
Opdracht (pdf) Deadline 12.10 en 2.11.
Het doel is om een eenvoudige formule-manipulator te schrijven voor het differentieren van klassieke functies. Voor de overzichtelijkheid is de opdracht in twee delen gesplitst. Allereerst in deel één het inlezen van de formules, het opstellen van de boomrepresentatie, en de weergave van de gerepresenteerde formule. In het tweede deel moet er gedifferentieerd worden, en de verkregen formules in enige mate gefatsoeneerd.
Programmeeropdracht 3. Patroonherkenning
Opdracht (pdf) Deadline 16.11 en 1.12. (v2 3.11'21 Figuur: Recursieve aanroepen) (v3 10.11'21 Figuur: de automaat is een "tabel")
Reguliere expressies kunnen patronen specificeren. We willen controleren of een string aan zo'n patronn voldoet. Allereerst zetten we een expressie om in een eindige automaat. Dan wandelen we in de automaat om te kijken of de string geaccepteerd wordt.
Slides expressies en automaten (pdf), uit FoCS (college van afgelopen najaar) en Automata Theory (tweede jaar, college 6).