1. Jika pada salah satu elemennya (a atau b atau c atau d) terdapat angka 0, maka list tersebut
tidak diproses lebih lanjut
contoh:
(73,4,54,61),(73,0,26,59),(62,35,83,20),(4,66,62,41),(9,31,95,46),.... -> (73,4,54,61),
(62,35,83,20),(4,66,62,41),(9,31,95,46),....
2. Jumlahkan nilai elemen c dan d sehingga list berubah menjadi (a, b, c + d) -> (a, b, e)
contoh:
(73,4,54,61),(62,35,83,20),(4,66,62,41),(9,31,95,46),.... -> (73,4,115),(62,35,103),
(4,66,103),(9,31,141),....
4. Jika pada elemen 'e' nilainya lebih besar dari 120, maka list tersebut tidak diproses lebih
lanjut
contoh:
(73,4,115),(62,35,103),(4,66,103),(9,31,141),.... -> (73,4,115),(62,35,103),(4,66,103),....
5. Jika element a + b hasilnya ganjil, maka list tersebut tidak diproses lebih lanjut
contoh:
(73,4,115),(62,35,103),(4,66,103),.... -> (4,66,103),....
Fungsi yang bisa dijalankan untuk bisa menjalankan program pada pertanyaan nomor 1 adalah :
Program
processTuples :: [(Int, Int, Int, Int)] -> [(Int, Int, Int, Int)]
main :: IO ()
main = do
let inputList = [(8,44,52,14),(41,96,70,65),(6,87,5,97)] {- Karena data terlalu
print outputList
Fungsi yang bisa dijalankan untuk bisa menjalankan program pada pertanyaan nomor 2 adalah :
Program
inputList :: [(Int, Int, Int, Int)]
-- Output
main :: IO ()
Fungsi yang bisa dijalankan untuk bisa menjalankan program pada pertanyaan nomor 4 adalah :
Program
-- Output list
main :: IO ()
Fungsi yang bisa dijalankan untuk bisa menjalankan program pada pertanyaan nomor 5 adalah :
Program
inputList = [(8,44,52,14),(41,96,70,65),(6,87,5,97)]
-- Output list
main :: IO ()