Интеграция C# и F#

Выполнен
Заказ
4771438
Раздел
Программирование
Антиплагиат
Не указан
Срок сдачи
4 Сен 2022 в 21:55
Цена
Договорная цена
Блокировка
10 дней
Размещен
14 Авг 2022 в 12:40
Просмотров
299
Описание работы

 «Задача о рюкзаке»

Цель – реализовать приложение, позволяющее решать задачу «о рюкзаке» с помощью различных алгоритмов. Приложение должно состоять из двух компонент:

  1. основная программа, позволяющая вводить и редактировать входные данные, выбирать алгоритм решения, запускать его и наглядно представлять результаты работы (реализуется на языке C# );
  2. библиотека, в которой находится класс, непосредственно реализующий алгоритм решения (реализуется на языке F#).
  3. Алгоритмы решения - точный переборный и жадный

В основной программе происходит подключение библиотеки (статически или динамически). Для успешного использования библиотеки находящийся в ней класс должен реализовывать заданный интерфейс.


Шаги выполнения задания.

1.Создать на языке F# библиотеку с одним классом, реализующим заданный интерфейс. Реализация метода должна решать задачу «о рюкзаке» с помощью заданного алгоритма.

При реализации алгоритма необходимо следовать функциональному стилю (в частности, не использовать изменяемые переменные (mutable) и т.п.).

2.Создать на языке C# (или C++) оконное приложение, позволяющее подключать различные библиотеки (статически, внося минимальные изменения в программный код, либо динамически, без изменения программного кода).

Также основная программа должна позволять:

  1. Вводить исходные данные из файла. Введенные данные должны отображаться на форме, их можно редактировать (добавлять / удалять / изменять предметы).
  2. Выбирать алгоритм решения из числа подключенных.
  3. Выводить результаты решения в виде списка номеров выбранных предметов, а также визуально выделяя выбранные предметы среди исходных.
  4. Протестировать работу приложения с подключенной библиотекой.

Код программ должен быть структурирован, снабжен комментариями. Должны использоваться осмысленные идентификаторы.


Описание задачи «о рюкзаке». Дан набор из N предметов, для каждого предмета известна его масса mi и стоимость ci. Также задана вместимость рюкзака M. Необходимо найти набор предметов, суммарная масса которых не превосходит M, а суммарная стоимость максимальна.

Дано: целое число M, вектор масс mi (N целых чисел), вектор стоимостей ci (N целых чисел).

Получить: список номеров i выбранных предметов.

Возможные алгоритмы решения: точный переборный и приближенный «жадный». Описание задачи и возможных алгоритмов можно посмотреть на сайте: https://ru.wikipedia.org/wiki/Задача_о_ранце

(см. методы решения «Полный перебор» и "Жадный алгоритм").

Нужна такая же работа?
  • Разместите заказ
  • Выберите исполнителя
  • Получите результат
Гарантия на работу1 год
Средний балл4.53
СтоимостьНазначаете сами
ЭкспертВыбираете сами
Уникальность работыот 70%
Время выполнения заказа:
6 дней 11 часов 56 минут
Выполнен в срок
Нужна аналогичная работа?
Оформи быстрый заказ и узнай стоимость
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Прямой эфир