Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Темы курсовых С++.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
81.92 Кб
Скачать
  1. Построение приложения для чтения книг

Основной класс представляет собой любой тип списка, содержащий объекты класса «Книга». Реализовать функции сравнения книг и имён авторов: >, >=, <, <= - а также операции присваивания.

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

Реализовать возможность загрузки книг из файла *.txt (перегрузка операции >>), отображения содержимого книги на экране (перегрузка операции <<), прокрутки, запоминания последнего отображённого места в книге и добавления закладок.

  1. Моделирование калькулятора (1-2 чел.)

Приложение принимает от пользователя строку с арифметическим выражением (перегрузка операции <<), содержащим простейшие арифметические операции и скобки, а в ответ выводит результат вычислений (перегрузка операции >>).

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

**Предусмотреть возможность ввода в выражение предварительно определённых пользователем переменных, например:

Ввод:

A = 5

2*A + 3

Вывод:

13

  1. Приложение для поиска кратчайшего пути

Задача состоит в отыскании оптимального маршрута между двумя точками. Присутствует набор пунктов, между которыми есть сообщение (например, аэропортов). Необходимо определить кратчайший или достаточно хороший маршрут между двумя произвольными точками (естественно, интерес представляют случаи, когда между пунктами отсутствует прямое беспересадочное сообщение, например: Москва - Сидней).

Приложение должно иметь возможность читать файл со списком пар пунктов, между которыми налажено сообщение и с дистанцией между ними.

Необходимо по получении от пользователя начального и конечного пункта маршрута реализовать поиск маршрута полным перебором и частичным «умным» перебором, используя алгоритмы:

  • поиска в глубину;

  • поиска в ширину;

  • альтернативных методов интеллектуального поиска.

  1. Поиск решения задачи «7 мостов Кёнигсберга»

Классическая задача состоит в том, чтобы зайти в некоторое количество пунктов, причём они расположены на островах и разных берегах реки, связанных мостами. По каждому мосту надо пройти минимальное (ненулевое) число раз.

Предлагается усовершенствовать условие: есть n пунктов. На вход подаётся файл со списком пар пунктов, между которыми есть сообщение, и «вес пути»: насколько затратно перемещение по маршруту (расстояние, сложность и т.п.). Нужно обойти все пункты: за 1) минимальное число шагов; 2) потратив минимум сил (суммарный «вес» маршрута минимален).

Реализовать поиск маршрута полным перебором и частичным «умным» перебором, используя алгоритмы:

  • поиска в глубину;

  • поиска в ширину;

  • альтернативных методов интеллектуального поиска.

  1. Моделирование шахматной задачи о «8 ферзях»

Классическая задача: расставить на шахматной доске 8 ферзей так, чтобы они не угрожали друг другу.

Предполагается усовершенствовать задачу: доска размером NxM, тип фигуры – произвольный.