Найди эксперта для помощи в учебе
Найти эксперта
+2
Создан заказ №3808726
1 апреля 2019

Haskell

Как заказчик описал требования к работе:
Создайте программу, которая будет выполнять функции расчета сдачи по заданному номиналу и количеству монет. Набор имеющихся монет можно представить списком: [1, 1, 5, 5, 5, 10, 10]. Имея их можно заплатить 16 р., но нельзя заплатить 18 р. Представим, что продавец так же имеет монеты. Например: [1, 1 , 1, 5]. Тогда 18 р. можно заплатить, отдав 20 р. и получив сдачу 2 р. Функции должны будут определить, может ли покупатель заплатить продавцу заданную сумму со сдачей или без. Определите функцию subsets :: [a] -> [[a]], которая генерирует все подмножества элементов заданного списка. Определите функцию amounts :: [Int] -> [Int], которая по набору имеющихся монет может определить все суммы, которые можно заплатить без сдачи. Определите функцию withChange :: [Int] -> [Int] -> [Int], которая по наборам монет продавца и покупателя может определить все суммы, которые можно заплатить со сдачей. Список сумм не должен содержать отрицательных чисел. Функция subsets неэффективна, поскольку не принимает во внимание тот факт, что в наборе могут быть монеты одного достоинства. Например: subsets [1, 1] == [[1], [1], [1,1]], где два подмножества относятся к разным монетам одинакового достоинства 1 р. Поскольку нам все равно, какими именно монетами платить, не нужно рассматривать эти подмножества отдельно. Для улучшения эффективности можно работать с мультимножествами (хранить номинал и количество монет), тогда множество [1, 1, 5, 5, 5, 10, 10] представляется в виде [(1, 2), (5, 3), (10, 2)]. Определите функцию bag :: Eq a => [a] -> [(a, Int)], которая преобразует список в мультимножество. Определите функцию set :: Eq a => [(a, Int)] -> [a], которая преобразует мультимножество в список. Определите функцию subBags :: [(a, Int)] -> [[(a, Int)]], которая генерирует все подмультимножества элементов заданного мультимножества. Например:subBags [(1, 2)] == [[], [(1, 1)], [(1, 2)]] Переопределите функции amounts и withChange для работы с мультимножествами. Предусмотрите возможность хранения монет продавца и покупателя в файлах, а так же обеспечьте работу с программой в интерактивном режиме.
подробнее
Заказчик
заплатил
200 ₽
Заказчик не использовал рассрочку
Гарантия сервиса
Автор24
20 дней
Заказчик принял работу без использования гарантии
2 апреля 2019
Заказ завершен, заказчик получил финальный файл с работой
5
Заказ выполнил
drvrda
5
скачать
Haskell .jpg
2019-04-05 15:30
Последний отзыв студента о бирже Автор24
Общая оценка
5
Положительно
Выполнил работу качественно и в короткие сроки, сделал много комментариев по коду, чтобы все было понятно. Спасибо!

Хочешь такую же работу?

Оставляя свои контактные данные и нажимая «Создать задание», я соглашаюсь пройти процедуру регистрации на Платформе, принимаю условия Пользовательского соглашения и Политики конфиденциальности в целях заключения соглашения.
Хочешь написать работу самостоятельно?
Используй нейросеть
Мы создали собственный искусственный интеллект,
чтобы помочь тебе с учебой за пару минут 👇
Использовать нейросеть
Тебя также могут заинтересовать
«Хронология развития технологии (научного направления)»
Курсовая работа
Программирование
Стоимость:
700 ₽
Отчет по производственной практике
Отчёт по практике
Программирование
Стоимость:
700 ₽
Разработка программного обеспечения на языке C#
Курсовая работа
Программирование
Стоимость:
700 ₽
rest архитектура код и отчет
Курсовая работа
Программирование
Стоимость:
700 ₽
Курсовая работа по предмету "Технологии программирования"
Курсовая работа
Программирование
Стоимость:
700 ₽
С++ Opencv Сжатие растровых изображений. Сокращенное кодирование
Лабораторная работа
Программирование
Стоимость:
300 ₽
Задано символ і текст, слова в якому розділені пробілами і розділовими
Лабораторная работа
Программирование
Стоимость:
300 ₽
РАБОТА С ФАЙЛАМИ И КАТАЛОГАМИ с#
Лабораторная работа
Программирование
Стоимость:
300 ₽
Экспериментальное знакомство с устройством процессоров через моделирование
Лабораторная работа
Программирование
Стоимость:
300 ₽
Написать программы на с# ( объектно-ориентированное программирование)
Лабораторная работа
Программирование
Стоимость:
300 ₽
Экспертные системы работа со списками (SWI Prolog)
Лабораторная работа
Программирование
Стоимость:
300 ₽
Прямые и обратные поисковые индексы. Программа
Лабораторная работа
Программирование
Стоимость:
300 ₽
Читай полезные статьи в нашем
Операнды, операции, выражения в VBA
Для выполнения вычислений и других манипуляций в VBA используются выражения. Выражение - это любая комбинация операндов или элементов данных (чисел, констант, переменных, функций и других операндов) и знаков операций.
Операнды (operands) в программировании - это объекты, над которыми выполняют определенные действия (операции).
Знаки операций - это символы, которые используют для соединения операн...
подробнее
Встроенные функции в VBA
Практически весь программный код модулей VBA содержится в процедурах двух типов Sub (подпрограммы) и Function (функции). Основная задача процедуры-функции Function - это вычисление некоторого значения и возвращение его в точку вызова процедуры-функции.
Синтаксис процедуры-функции Function:
Function Имя_Функции(аргументы As < mun >) As < mun >
< блок операторов >
Имя_Функции = Возвращаемое_Значение
End...
подробнее
Создание приложений на языке VBA для MS Access
Небольшую и несложную базу данных или приложение Access можно создать в СУБД Access без использования языков программирования SQL и Visual Basic. В СУБД Access имеется достаточно средств (различных мастеров и конструкторов) для визуального проектирования таблиц, запросов, форм и отчетов.
Для решения некоторых задач автоматизации приложений Access можно использовать макросы вместо языка программиро...
подробнее
Работа с объектами в Visual Basic
Программный код объекта можно сохранять в библиотеке классов. Каждый класс описывает переменные – свойства и процедуры – методы одного объекта. В программах объекты можно создавать как экземпляры библиотечных классов. Visual Basic содержит много готовых библиотек классов.
Изменив свойство объекта, можно изменить его характеристики. Для изменения характеристик объекта нужно сначала записать название...
подробнее
Операнды, операции, выражения в VBA
Для выполнения вычислений и других манипуляций в VBA используются выражения. Выражение - это любая комбинация операндов или элементов данных (чисел, констант, переменных, функций и других операндов) и знаков операций.
Операнды (operands) в программировании - это объекты, над которыми выполняют определенные действия (операции).
Знаки операций - это символы, которые используют для соединения операн...
подробнее
Встроенные функции в VBA
Практически весь программный код модулей VBA содержится в процедурах двух типов Sub (подпрограммы) и Function (функции). Основная задача процедуры-функции Function - это вычисление некоторого значения и возвращение его в точку вызова процедуры-функции.
Синтаксис процедуры-функции Function:
Function Имя_Функции(аргументы As < mun >) As < mun >
< блок операторов >
Имя_Функции = Возвращаемое_Значение
End...
подробнее
Создание приложений на языке VBA для MS Access
Небольшую и несложную базу данных или приложение Access можно создать в СУБД Access без использования языков программирования SQL и Visual Basic. В СУБД Access имеется достаточно средств (различных мастеров и конструкторов) для визуального проектирования таблиц, запросов, форм и отчетов.
Для решения некоторых задач автоматизации приложений Access можно использовать макросы вместо языка программиро...
подробнее
Работа с объектами в Visual Basic
Программный код объекта можно сохранять в библиотеке классов. Каждый класс описывает переменные – свойства и процедуры – методы одного объекта. В программах объекты можно создавать как экземпляры библиотечных классов. Visual Basic содержит много готовых библиотек классов.
Изменив свойство объекта, можно изменить его характеристики. Для изменения характеристик объекта нужно сначала записать название...
подробнее
Теперь вам доступен полный отрывок из работы
Также на e-mail вы получите информацию о подробном расчете стоимости аналогичной работы