przygotował Dariusz Wardowski
Haskell – lab. 7
Zad. 1. Napisz funkcję (za pomocą rekurencji) wypiszKwadratyR, która dla podanej liczby naturalnej n zwróci listę kwadratów [0, 1, 4, …, n2].
Zad. 2. Przetestuj funkcję takeWhile. Za pomocą tej funkcji napisz iteracyjną (tzn. bez rekurencji) wersję funkcji z Zad. 1 o nazwie wypiszKwadratyI.
Zad. 3. Napisz program, który sprawdza czy podany przez użytkownika napis jest palindromem.
Przykładowe działanie:
Podaj napis:
kajak
Slowo kajak jest palindormem.
Zad. 4. Poniżej przedstawiono program przedstawiający zapis do pliku:
import System.IO zapisz tresc = do
outh <- openFile “test.txt” WriteMode hPutStrLn outh tresc
hClose outh Sprawdź sygnaturę funkcji zapisz.
Napisz program, który po podaniu liczby naturalnej n zapisze do pliku o nazwie przekazanej jako argument ciąg liczb o wartościach 1, 2, 6, 24, …, n!.
Przykładowe wywołanie:
zapisz 4 silnie.txt
Zad. 5. Napisz funkcję sortuj, która posortuje listę (elementów typu z klasy Ord) w kolejności rosnącej.
Zad. 6. Napisz program, który dla podanej listy liczb zapisze do pliku listę liczb posortowanych w kolejności rosnącej.
Zad. 7. Napisz program, który zapisze do pliku dokładnie n liczb pierwszych (liczba n podana przez użytkownika).
Przykładowe wywołanie:
prime 10 pierwsze.txt
Zad. 8. Napisz program, który dla podanej tablicy zapisze do pliku tę tablicę oraz element maksymalny i minimalny tej tablicy. Np.
minmaks [4,6,5,10,12,3] „tablica.txt”
przygotował Dariusz Wardowski Zawartosc pliku tablica.txt:
[4,6,5,10,12,3]
element maksymalny: 12 element minimalny: 3