Feladatok


1.  Készítsünk napszakokkal dolgozó maximumkereső alkalmazást! (megoldás, tesztadat)

Implementáljunk olyan alkalmazást, amelynek bemenete egy időpontokat (óra:perc formátumban) tartalmazó szöveges fájl és kimenete pedig annak a napszaknak a neve és hossza, amely a legtöbbször szerepel megszakítás nélkül! A feladatot állapottértranszformációval oldjuk meg! (A napszakok száma és konkrét időhatárai lehetnek tetszőlegesek!)

Mivel ez az eddigieknél nehezebb feladat, ezért a megoldásról írok egy kis útmutatót, a további kérdésekkel természetesen személyesen és e-mail –ben is megkereshettek!

A megoldás tehát absztrakt állapottértranszformáció implementációja lesz. A bemeneti fájlunkat karakterenként célszerű beolvasni a benne levő adatok formátuma miatt. Az paraméterterünk egyetlen eleme tehát karakterek sorozata. Ezt kell transzformálnunk először valami használhatóbb időformátummá, adja magát például egy óra és perc egészeket tartalmazó struktúra. Mivel mi csupán arra vagyunk kíváncsiak, hogy melyik napszakhoz tartoznak az így beolvasott időpontok, ezért a következő transzformáció értelemszerűen az időpontokat alakítja át napszakokká! Most már csak ezek összefüggő sorozatait kell meghatározni, hogy a maximumkeresést végre lehessen hajtani, így egy végső transzformációval hozzunk létre napszak-sorozat hossza párokat, aminek a hosszán vére végrehajthatjuk a programozási tételünket. Megjegyzés: természetesen kevesebb transzformációval is megoldható a feladat, csupán oktatási céllal bontottam a lehető legkisebb egységekre!

Nehezítés: módosítsuk a programot úgy, hogy csak a monoton növekedő (és természetesen egy napszakba eső) időpontsorozatokat tekintsük összefüggőnek! (megoldás, tesztadat)

Projectek (zip):

1. feladat (a), 1. feladat (b)