Navigation
Outline:
Last modification
2025-09-04
This is smol web. If you don't like it, fix your browser.

Transakcje Narodowego Banku Polskiego#

V Haskellu naprogramujte několik jednoduchých programů, které z jednoho druhu logů z banky zvládnou vytáhnout různé informace. Protože logy jsou z Polské banky, nejsou nijak organizované ani setříděné.

Konkrétně, log je seznam záznamů, kde každý záznam obsahuje:

Úkol#

Napište jednoduché funkce (celkem 5 + 3 doporučené bonusové), které z tohoto logu dostanou následující informace:

Při řešení nepoužívejte ručně definovanou rekurzi.

Návod#

Stáhněte si testovací data a kostru programu v Haskellu. Kostra programu se stará o načítání a parsování dat (zatím si nemusíte všímat toho, jak to přesně dělá).

Vaše řešení jednotlivých bodů zadání vložte místo undefined do definic odpovídajících funkcí (označeno komentářem), případně si doplňte libovolné množství pomocných funkcí. Do kostry jinak pokudmožno nezasahujte.

Místo ruční rekurze použijte následující:

Poznámky:

Definice a typy všech funkcí (i jiných z Data.List) si můžete najít na Hoogle.

Může se hodit#
> sortOn negate [1..10]
[10,9,8,7,6,5,4,3,2,1]
> sortOn (`mod` 3) [1..10]
[3,6,9,1,4,7,10,2,5,8]
> groupBy (\x y -> x `div` 3 == y `div` 3) [1..10]
[[1,2],[3,4,5],[6,7,8],[9,10]]