Лабораторная работа
Task 1 Create a module named HW0.T1. Task 2 Create a module named HW0.T2. Task 3 Create a module named HW0.T3. Task 4 Create a module named HW0.T4. Task 5 Create a module named HW0.T5. Task 6 Create a module named HW0.T6 and define the following type in it
в среде программирования Haskell (Hugs-98)
Программа

Среда программирования: Haskell (Hugs-98)
Название работы: Task 1 Create a module named HW0.T1. Task 2 Create a module named HW0.T2. Task 3 Create a module named HW0.T3. Task 4 Create a module named HW0.T4. Task 5 Create a module named HW0.T5. Task 6 Create a module named HW0.T6 and define the following type in it
Вид работы: Лабораторная работа
Тематика работы: Тесты
Объем программы: 5 (по десятибалльной шкале)
Уровень сложности: 6 (по десятибалльной шкале)
Разработчик (автор): Программист сайта kursovik.com (письмо автору)
Ключевые слова: Haskell, create module, Implement the following functions, HW0.T2, HW0.T1, Using only those combinators, function application, no lambdas, pattern matching, define the following additional combinators, determine the WHNF, weak head normal form
Функции программы:
Выполнить лабораторную работу на языке Haskell в соответствии с заданиями:
Task 1
1. Create a module named HW0.T1 and define the following type in it:
data a <-> b = Iso (a -> b) (b -> a)
flipIso :: (a <-> b) -> (b <-> a)
flipIso (Iso f g) = Iso g f
runIso :: (a <-> b) -> (a -> b)
runIso (Iso f _) = f
2. Implement the following functions and isomorphisms:
distrib :: Either a (b, c) -> (Either a b, Either a c)
assocPair :: (a, (b, c)) <-> ((a, b), c)
assocEither :: Either a (Either b c) <-> Either (Either a b) c
Task 2
1. Create a module named HW0.T2 and define the following type in it:
type Not a = a -> Void
2. Implement the following functions and isomorphisms:
doubleNeg :: a -> Not (Not a)
reduceTripleNeg :: Not (Not (Not a)) -> Not a
Task 3
1. Create a module named HW0.T3 and define the following combinators in it:
s :: (a -> b -> c) -> (a -> b) -> (a -> c)
s f g x = f x (g x)
k :: a -> b -> a
k x y = x
2. Using only those combinators and function application (i.e. no lambdas, pattern
matching, and so on) define the following additional combinators:
i :: a -> a
compose :: (b -> c) -> (a -> b) -> (a -> c)
contract :: (a -> a -> b) -> (a -> b)
permute :: (a -> b -> c) -> (b -> a -> c)
For example:
i x = x -- No (parameters on the LHS disallowed)
i = \x -> x -- No (lambdas disallowed)
i = Prelude.id -- No (only use s and k)
i = s k k -- OK
i = (s k) k -- OK (parentheses for grouping allowed)
Task 4
1. Create a module named HW0.T4.
2. Using the fix combinator from the Data.Function module define the following
functions:
repeat' :: a -> [a] -- behaves like Data.List.repeat
map' :: (a -> b) -> [a] -> -- behaves like Data.List.map
fib :: Natural -> Natural -- computes the n-th Fibonacci number
fac :: Natural -> Natural -- computes the factorial
Do not use explicit recursion. For example:
repeat' = Data.List.repeat -- No (obviously)
repeat' x = x : repeat' x -- No (explicit recursion disallowed)
repeat' x = fix (x:) -- OK
Task 5
1. Create a module named HW0.T5 and define the following type in it:
type Nat a = (a -> a) -> a -> a
2. Implement the following functions:
nz :: Nat a
ns :: Nat a -> Nat a
nplus, nmult :: Nat a -> Nat a -> Nat a
nFromNatural :: Natural -> Nat a
nToNum :: Num a => Nat a -> a
3. The following equations must hold:
nToNum nz == 0
nToNum (ns x) == 1 + nToNum x
nToNum (nplus a b) == nToNum a + nToNum b
nToNum (nmult a b) == nToNum a * nToNum b
Task 6
1. Create a module named HW0.T6 and define the following values in it:
a = distrib (Left ("AB" ++ "CD" ++ "EF")) -- distrib from HW0.T1
b = map isSpace "Hello, World"
c = if 1 > 0 || error "X" then "Y" else "Z"
2. Determine the WHNF (weak head normal form) of these values:
a_whnf = ...
b_whnf = ...
c_whnf = ...
+ 0 руб
+ 0 руб
+ 0.00 Бел.руб
+ 0.00 Бел.руб
+ 0.00 тенге
+ 0.00 тенге
Описание (отчет): Есть, но небольшой на 2 страниц, посмотреть оглавление
Пояснения к компиляции и запуску программы:
Для работы с заданиями по лабораторной работе нужно использовать файлы:
- HW0.T1.hs
- HW0.T2.hs
- HW0.T3.hs
- HW0.T4.hs
- HW0.T5.hs
- HW0.T6.hs
На данный момент (23 мая 2025) на выполнении находится 40 заказов.
Количество программистов, занятых выполнением текущих заказов: 15.
В текущем месяце (май 2025) нами уже выполнено 40 заказов.
В текущем году (2025) нами уже выполнено 297 заказов.
В прошлом году (2024) нами было выполнено 763 заказа.
В позапрошлом году (2023) нами было выполнено 777 заказов.
Количество активных программистов на сайте: 61.
Загруженность отдела заказами: 42%.








К программе прилагается:
- 1) скриншоты программы - 1 стр.
- 2) небольшой отчет - 2 стр.
Перед покупкой готовой работы не забудьте проверить её оригинальность. Запросить у администратора проверку текущей оригинальности работы по версии системы Антиплагиат.РУ
ВНИМАНИЕ ! Если данный отчет Вам не подходит, то Вы можете заказать написание нового отчета (согласно Вашему оглавлению) автору данной программы. Чтобы узнать цену, нажмите на эту ссылку.

Результат работы программы

Описания заданий
Стоимость ИСХОДНОГО ТЕКСТА программы составляет 2300 руб РФ Продажа каждой работы строго учитывается, у каждой работы есть своя история продаж. |
Общие вопросы
- Как можно приобрести данную готовую работу ?
Заполните форму, которая расположена чуть Выше данного текста и нажмите кнопку "Приобрести"
- Каким образом производится оплата ?
После заполнения формы Вы получите на свой E-mail автоматическое письмо со всеми подробностями оплаты заказа. Оплата производится через платёжную систему Ю.Касса, которая обеспечивает полную защиту онлайн-платежей при покупках в Интернете. Оплатить заказ можно как электронными деньгами, так и банковской картой, в том числе и кредитной.
- Как быстро я получу данную работу после ее оплаты ?
В течение нескольких минут с момента оплата заказа. Мы работаем 7 дней в неделю.
- Каким образом будет доставлена мне данная работа после оплаты ?
На Ваш E-mail адрес и в личном кабинете нашего сайта sys.kursovik.com.
- Какие Вы даете гарантии, что данная работа будет выслана мне после оплаты ?
Смотрите рубрику Наши гарантии
- Что включает в себя исходный текст программы ? Вы пришлете все файлы проекта ?
Да, после оплаты Вы получите все файлы проекта данной работы, при желании сможете редактировать (видоизменять) программу (её описание) самостоятельно.
- Зачем в форме заказа вы просите ввести мой ВУЗ и город ?
Эти данные нам нужны для того, чтобы можно было предотвратить повторную продажу работы в один и тот же ВУЗ. На сайте в таблице продаж публикуется только информация о городах, куда была продана работа. Если клиент видит, что в его город работа уже покупалась, то он может запросить у нас название ВУЗов, куда покупалась эта работа. Данные о ВУЗе клиента хранятся только в нашей базе, в открытом доступе их нет. Если Вы все-таки не хотите оставлять информацию о городе и ВУЗе, то просто введите в соответствующие поля несколько пробелов. Тем не менее, мы Вам рекомендуем всё-таки указать достоверную информацию, тем самым Вы застрахуетесь от того, чтобы кто-то из студентов Вашего ВУЗа вместе с Вами сдавал одинаковую работу одному и тому же преподавателю.
- На Вашем сайте указано что эта работа не может быть выдана за свою, почему так ?
В идеале купленная работа должна быть использована в качестве образца или основы, чтобы студенту было проще написать свою собственную работу. Но если Вы всё-таки решите сдавать купленную у нас работу без изменений, то с нашей стороны по этому поводу никаких претензий не будет.
- Действительно ли данная работа является уникальной ?
Да, мы можем гарантировать уникальность данной работы.
Она была разработана нашим программистом и выставлена на продажу в 2023 году.
- Сколько раз была продана данная работа ?
Ни разу.
- Есть ли отчет (описание) к данной работе ?
Есть, но он небольшой, Вы можете заказать написание нового отчета к программе согласно Вашему оглавлению. Для этого заполните пожалуйста форму, приведенную ниже. В форме укажите требуемое оглавление(план) отчета. Если в Вашем ВУЗе никаких особых требований к отчету не выдвигают, тогда выберите пункт "требований к отчету нет, всё на усмотрение программиста".

Если у Вас возник какой-либо вопрос по данной работе, пожалуйста заполните форму, приведенную ниже.
Ответ будет дан автором данной работы в обязательном порядке. Время отклика - 2-24 часа с момента заполнения формы. Если Ваш вопрос окажется полезным, мы разместим его на этой странице.

ВНИМАНИЕ! НОВИНКА!
Попробуйте наш Телеграм-БОТ для поиска готовых работ по программированию...
Готовые работы на тему «Тесты» на языке Haskell
Готовые работы на тему «Работа с текстом» на языке Haskell
ЛР | Программа, которая запрашивает у пользователя его имя и в зависимости от имени выводит различные типы сообщений | Haskell (Hugs-98) | 600 |
Готовые работы на тему «Технологии» на языке Haskell
КП | Нахождение максимального по длине слова. Программа написана на двух языках программирования: Delphi и Haskell | Haskell (Hugs-98) | 1600+ |
Готовые работы на тему «Математика» на языке Haskell
КП | Приведение формул логики предикатов к пренексной нормальной форме | Haskell (Hugs-98) | 800 |
Готовые работы на тему «Графы» на языке Haskell
ЛР | Алгоритм поиска кратчайшего пути A*. Программа способна отвечать на запросы и возвращать кратчайший путь до заданной вершины (в случае отсутствия выдаёт сообщение об ошибке) | Haskell (Hugs-98) | 2000 |
Программа | Операции с B-деревом | Haskell (Hugs-98) | 700 |
Готовые работы на тему «Структуры» на языке Haskell
Программа | Модуль для операций с мультимножествами | Haskell (Hugs-98) | 700 |
Программа | Операции с B-деревом | Haskell (Hugs-98) | 700 |
Готовые работы на тему «Алгоритмы» на языке Haskell
Готовые работы на тему «Компиляторы» на языке Haskell
КП | Нахождение максимального по длине слова. Программа написана на двух языках программирования: Delphi и Haskell | Haskell (Hugs-98) | 1600+ |
Готовые работы на тему «Прочие» на языке Haskell
Программа | Модуль для операций с мультимножествами | Haskell (Hugs-98) | 700 |
КП | Нахождение максимального по длине слова. Программа написана на двух языках программирования: Delphi и Haskell | Haskell (Hugs-98) | 1600+ |
- Программы на языке Паскаль
- Программы на языке Delphi
- Программы на языке Си
- Программы на языке Си++
- Программы на языке Си++ Qt
- Программы на языке C#
- Программы на языке MS Access
- Программы на языке SQL
- Программы на языке Бейсик
- Программы на языке Excel
- Программы на языке Java
- Программы на языке JavaScript
- Программы на языке PHP
- Программы на языке HTML
- Программы на языке Ассемблер
- Программы на языке Пролог
- Программы на языке Лисп
- Программы на языке Haskell
- Программы на языке F#
- Программы на языке 1С
- Программы на языке Maple
- Программы на языке 3D Studio
- Программы на языке Foxpro
- Программы на языке Fortran
- Программы на языке UML
- Программы на языке MatLab
- Программы на языке GPSS
- Программы на языке Python
- Программы на языке MathCAD
- Программы на языке BAT-файл
- Программы на языке Другой
- Программы на языке Без программирования
- Программы на языке Паскаль
- Программы на языке Delphi
- Программы на языке Си
- Программы на языке Си++
- Программы на языке Си++ Qt
- Программы на языке C#
- Программы на языке MS Access
- Программы на языке SQL
- Программы на языке Бейсик
- Программы на языке Excel
- Программы на языке Java
- Программы на языке JavaScript
- Программы на языке PHP
- Программы на языке HTML
- Программы на языке Ассемблер
- Программы на языке Пролог
- Программы на языке Лисп
- Программы на языке Haskell
- Программы на языке F#
- Программы на языке 1С
- Программы на языке Maple
- Программы на языке 3D Studio
- Программы на языке Foxpro
- Программы на языке Fortran
- Программы на языке UML
- Программы на языке MatLab
- Программы на языке GPSS
- Программы на языке Python
- Программы на языке MathCAD
- Программы на языке BAT-файл
- Программы на языке Другой
- Программы на языке Без программирования
- Готовые работы по бухгалтерскому учёту
- Готовые работы по финансовому менеджменту
- Готовые работы по финансовому анализу
- Готовые работы по финансам и кредиту
- Готовые работы по экономической теории
- Готовые работы по экономике предприятия
- Готовые работы по праву
- Готовые работы по юриспруденции
- Готовые работы по психологии
- Готовые работы по истории
- Программы на тему «Игры»
- Программы на тему «Графика»
- Программы на тему «Базы данных»
- Программы на тему «Клиент-серверные базы данных»
- Программы на тему «Обучающие программы»
- Программы на тему «Работа с текстом»
- Программы на тему «Тесты»
- Программы на тему «Кроссворды»
- Программы на тему «Технологии»
- Программы на тему «Интернет»
- Программы на тему «Сети»
- Программы на тему «Математика»
- Программы на тему «Графы»
- Программы на тему «Структуры»
- Программы на тему «Алгоритмы»
- Программы на тему «Компиляторы»
- Программы на тему «Криптография»
- Программы на тему «Нейронные сети»
- Программы на тему «Прочие»
| Психология | История | Электроника, Радиотехника, Механика |