4. Lõplikud automaadid
Selle nädala plaan on Javas implementeerida automaati. See on üks parimaid võimalusi harjutada andmestruktuuride kasutamist! Teil on ju Map ja Set tuttavad andmestruktuurid ja nende abil võiks proovida ise järgmist kodutööd lahendada! Kui Sul kipub aga väga keeruliseks minema (lahendus on üle 100 rida), siis vaata ikka natuke abimaterjale.
- NFA esitamise ehitusklotsid. See on nüüd selleks, et natuke harjutada neid andmestruktuure, mida võiks NFA esitamiseks vaja minna. Praktikumis lahendame neid ja selle käigus valmib deterministlik automaat, mille eest saab kodutöös vähemalt kolm punkti.
- Püsipunkt ja sulund. See on ainult vajalik, kui tahta seda väga ilusasti lahendada. Vesal ilmselt räägib sellest ka loengus, sest talle need püsipunktid nii õudsalt meeldivad.
Sellel nädalal peatume programmidisaini esimesel ja kõige olulisemal sammul: andmete esitamamine arvutiprogrammis! Programmeerides peab päris maailma probleemi formaalselt mudeldama ja see algab andmestruktuuride valimisest. Kuidagi peame esitama programmi sisendit, väljundit ja programmi sisemist seisundit. Selleks on hea paberil näited läbi mängida!
Selle nädala praktikumis suunatakse teid mingisuguse esituseni, aga see on siin kõige olulisem ja loomingulisem samm. Seega on väga oluline, et üritate ise praktikumis kaasa mõelda, sest kui ainsad loomingulised asjad lasete enda eest ära teha, siis võib ju teid samahästi robotitega asendada...
Süstemaatilise programmidisaini sammud raamatust How to Design Programs: