• Nem Talált Eredményt

Funkcionális programozás esti tagozat 12. gyakorlat

N/A
N/A
Protected

Academic year: 2023

Ossza meg "Funkcionális programozás esti tagozat 12. gyakorlat"

Copied!
1
0
0

Teljes szövegt

(1)

Funkcionális programozás esti tagozat 12. gyakorlat

Algebrai adattípusok

1. Definiálj egy ú.n. smart constructort időpontokhoz! Ez Maybe-t használ a sikertelenség jelzésére (errorhelyett).

A tesztesetekhez szükség lesz az Eq típusosztályra (deriving (Show, Eq)).

time 12 60 == Nothing time 24 15 == Nothing time (-5) 2 == Nothing time 15 (-10) == Nothing time 12 30 == Just (T 12 30) time 23 59 == Just (T 23 59) time 00 00 == Just (T 00 00) time 12 30 /= Just (T 20 00)

2. Definiáld egy változatát az időpontnak, mely 12-órás am pm formában tárolja az időpontokat! Legyen ezUSTime!

Kérj hozzá egyenlőségvizsgálatot és szöveggé alakítást (Eq ésShow)!

3. Definiáld, hogyan lehet egy USTime időpontot szöveggé alakítani!

showUSTime (AM 10 15) == "10.15 am"

showUSTime (PM 2 30) == "2.30 pm"

4. Alakíts át egyUSTimeidőpontotTime-ra! 12.00 am éjfélt (00.00), 12.00 pm delet jelent (a 12 óra a 12-órás időben 0

órának „felel meg”).

eqTime (usTimeToTime (AM 10 15)) (T 10 15) eqTime (usTimeToTime (AM 12 20)) (T 00 20) eqTime (usTimeToTime (PM 2 30)) (T 14 30) eqTime (usTimeToTime (PM 12 45)) (T 12 45) 5. Alakíts vissza egyTime időpontotUSTime-ra!

timeToUSTime (T 10 15) == AM 10 15 timeToUSTime (T 00 20) == AM 12 20 timeToUSTime (T 12 45) == PM 12 45 timeToUSTime (T 15 10) == PM 3 10

1

Hivatkozások

KAPCSOLÓDÓ DOKUMENTUMOK

Megjelenik azonban az a vélemény is, mely szerint ma már nem feltétlenül kell egy helyen lennünk ahhoz, hogy személyes legyen a kommunikáció, elég ha csak látjuk és halljuk