- •Моделирование арифметического вектора
- •Моделирование комплексного числа. Решение уравнений
- •Моделирование вещественной матрицы и очереди линейных операторов
- •Моделирование комплексной матрицы и стека линейных операторов
- •Моделирование игры «Техасский Холдэм» (1-2 чел.)
- •Моделирование игры «Blackjack»
- •Моделирование комплексной матрицы. Решение слау
- •Моделирование вещественной матрицы, состоящей из дробей. Решение слау
- •Моделирование строки
- •Моделирование игры «Сапёр»
- •Построение приложения для чтения книг
- •Моделирование калькулятора (1-2 чел.)
- •Приложение для поиска кратчайшего пути
- •Поиск решения задачи «7 мостов Кёнигсберга»
- •Моделирование шахматной задачи о «8 ферзях»
- •Моделирование динамической системы (электродинамика, гравитация)
- •Моделирование численности животных в экосистеме («хищник-жертва»)
- •Моделирование сбалансированного дерева
- •Построение нейронной сети Хопфилда
- •Построение карты Кохонена (1-2 чел.)
- •Моделирование двунаправленного списка
- •Реализация генетического алгоритма
- •Моделирование задачи о «многоруком бандите»
- •Задача об ограблении банка
Построение приложения для чтения книг
Основной класс представляет собой любой тип списка, содержащий объекты класса «Книга». Реализовать функции сравнения книг и имён авторов: >, >=, <, <= - а также операции присваивания.
База книг должна обладать возможностями вывода списка доступных книг на экран, поиска по фрагменту имени автора, названия книги.
Реализовать возможность загрузки книг из файла *.txt (перегрузка операции >>), отображения содержимого книги на экране (перегрузка операции <<), прокрутки, запоминания последнего отображённого места в книге и добавления закладок.
Моделирование калькулятора (1-2 чел.)
Приложение принимает от пользователя строку с арифметическим выражением (перегрузка операции <<), содержащим простейшие арифметические операции и скобки, а в ответ выводит результат вычислений (перегрузка операции >>).
*Предусмотреть возможность ввода в выражение ограниченного списка функций (например, тригонометрических, возведения в степень, логарифмов и т.п.)
**Предусмотреть возможность ввода в выражение предварительно определённых пользователем переменных, например:
Ввод:
A = 5
2*A + 3
Вывод:
13
Приложение для поиска кратчайшего пути
Задача состоит в отыскании оптимального маршрута между двумя точками. Присутствует набор пунктов, между которыми есть сообщение (например, аэропортов). Необходимо определить кратчайший или достаточно хороший маршрут между двумя произвольными точками (естественно, интерес представляют случаи, когда между пунктами отсутствует прямое беспересадочное сообщение, например: Москва - Сидней).
Приложение должно иметь возможность читать файл со списком пар пунктов, между которыми налажено сообщение и с дистанцией между ними.
Необходимо по получении от пользователя начального и конечного пункта маршрута реализовать поиск маршрута полным перебором и частичным «умным» перебором, используя алгоритмы:
поиска в глубину;
поиска в ширину;
альтернативных методов интеллектуального поиска.
Поиск решения задачи «7 мостов Кёнигсберга»
Классическая задача состоит в том, чтобы зайти в некоторое количество пунктов, причём они расположены на островах и разных берегах реки, связанных мостами. По каждому мосту надо пройти минимальное (ненулевое) число раз.
Предлагается усовершенствовать условие: есть n пунктов. На вход подаётся файл со списком пар пунктов, между которыми есть сообщение, и «вес пути»: насколько затратно перемещение по маршруту (расстояние, сложность и т.п.). Нужно обойти все пункты: за 1) минимальное число шагов; 2) потратив минимум сил (суммарный «вес» маршрута минимален).
Реализовать поиск маршрута полным перебором и частичным «умным» перебором, используя алгоритмы:
поиска в глубину;
поиска в ширину;
альтернативных методов интеллектуального поиска.
Моделирование шахматной задачи о «8 ферзях»
Классическая задача: расставить на шахматной доске 8 ферзей так, чтобы они не угрожали друг другу.
Предполагается усовершенствовать задачу: доска размером NxM, тип фигуры – произвольный.
