Нека е даден следният програмен текст написан на Хаскел:
type ID = Int
type Name = String
type Salary = Float
type Worker = (ID, Name, Salary)
type Company = [Worker]

companyDB :: Company
companyDB = [(1, "Ivan Petrov", 700),(2, "Georgi Popov", 1000),(3, "Petq Ivanova", 3000), (4, "Monika Jelqzkova", 800),(5, "Rumqna Stoilova", 500), (6, "Petur Todorov", 5000)]

1.Задача:
ДНФ, която намира всички работници с дадена начална буква.
2.Задача:
ДНФ, която намира всички работници с по-висока от дадена заплата.
3.Задача:
ДНФ, която намира колко разходи има фирмата по заплатите за един месец.
4*.Задача:
ДНФ, която сортира всички работници по:
а)заплата
б)име
в)идентификационен номер (ID)
Задача 5: Заплатите в компанията дадени за някой месец на някого се държат в списък от вида [(ID, Salary)]
ДHФ, която от горния списък образува нов спъсък от тип [(Name, Salary)], където в Name е имe на работник, a в Salary е сумата от заплатите дадени на съотвентия работник с име Name през месеците
Пример: Списък с дадени заплати на работниците:
[(1, 700),(2, 1000),(1, 750), (3, 200), (3, 3000),(4, 800),(5, 500),(6, 5000), (2, 3000), (4, 1000)]
Резултат: Списък с имена и общо пари за всеки работник:
[("Ivan Petrov", 1450), ("Georgi Popov", 4000), ("Petq Ivanova", 3200), ("Monika Jelqzkova", 1800), ("Rumqna Stoilova", 500), "Petur Todorov", 5000)]
Последно модифициране: събота, 12 ноември 2011, 17:38