Воскресенье, 19.05.2024, 21:24
Приветствую Вас Гость | RSS
Меню сайта
Вход на сайт
Поиск
Наш опрос
Оцените мой сайт
Всего ответов: 0
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Алгоритмы и структуры данных

 Тесты ОГУ                                                               Контрольные ОГУ 



Алгоритмы и структуры данных

Стоимость 500 рублей

Письма присылайте на Почтовый ящик



Тематика курсовых работ

 

Вариант № 1

Службы поддержки компании.

Сотрудники компании определяются по категориям: менеджер, супервайзер и рабочий. Работа службы поддержки компании выполняется общей секретарской группой. Каждый сотрудник может сделать заказ на выполнение работы, заполнив форму, которая включает информацию о категории служащего, подающего заявку на выполнение работы, ID – номер задания, и указывая время, за которое будет выполнена работа. Эта информация сохраняется в записи. Заявки на выполнение работ вводятся в очередь приоритетов с приоритетом, определяемым по категории сотрудника. Это упорядочение используется, чтобы определить операцию выполнения. Заявки в очередь приоритетов загружаются из файла. Элементы извлекаются из очереди и выполняются. В отдельном массиве необходимо сохранять общее количество времени, потраченное на обслуживание каждого из различных типов сотрудников.

 

Вариант № 2

Обычной проблемой анализа текстов являются определение частоты и расположения слов в документе. Эта информация запоминается в конкордансе, где различные слова перечислены в алфавитном порядке и каждое слово снабжено ссылками на строки текста, в которых оно встречается.

Создать конкорданс для текстового файла с помощью следующего проекта:

Вход: открыть документ как текстовый файл и ввести текст по словам, отслеживая текущую строку.

Действие: определить запись, которая состоит из слова, счетчика появлений и списка номеров строк, содержащих это слово. При первой встрече некоторого слова в тексте создать запись и включить ее в дерево. Если слово уже есть на дереве, обновить его частоту и список номеров строк.

Выход: после ввода файла распечатать слова в алфавитном порядке вместе со счетчиками частоты и упорядоченными списками строк, где встречается каждое слово.

 

Вариант № 3

Запись StudentRecord содержит имя и средний балл кандидата на выпуск из университета. Необходимо создать список студентов, которые пройдут через выпускную церемонию. Список кандидатов на выпуск считывается из файла и вставляется в начало списка. Так как по университетским правилам студент, со средним баллом ниже 3 не допускается к выпуску, список необходимо просмотреть и удалить из него всех кандидатов, средний балл которых не удовлетворяет минимальным требованиям. Второй список , из другого файла, представляет студентов, которые не собираются присутствовать на выпускной церемонии, и используется для удаления дополнительных имен из выпускного списка. Оставшиеся элементы представляют собой список студентов, получивших квалификацию и планирующих принять участие в выпускной церемонии.

 

Вариант № 4

В видеомагазине ведется инвентаризационный список фильмов. Для простоты предполагается, что в видеомагазине имеется только одна копия каждого фильма. Новый фильм добавляется в инвентаризационный список. Для проверки наличия фильма из инвентаризационного списка должна

использоваться соответствующая функция. Если фильм найден, он удаляется из инвентаризационного списка и вставляется в список фильмов, отданных для просмотра. Список лиц, взявших фильм напрокат, содержит фамилию клиента, название фильма, дату выдачи. При возврате фильма, сведения о нем добавляются в инвентаризационный список и данные о клиенте, бравшем этот фильм удаляются из соответствующего списка. Предусмотреть просмотр обоих списков в упорядоченном виде.

 

Вариант № 5

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

 

Вариант № 6

На футбольном турнире, матчи между командами проводятся по следующим правилам: из n команд формируются случайным образом пары команд, играющие между собой. Проигравшая команда выбывает из соревнований. Из оставшихся команд опять случайным образом формируются пары команд, и опять проигравшая команда выбывает из соревнований. Так до тех пор, пока не сыграют последние две команды. Выигравшая команда становится победителем турнира. Итоги соревнований заносятся в список, содержащий названия команд, упорядоченных по кругам соревнования, список соперников и счет каждой партии.

 

Вариант № 7

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

 

Вариант № 8

Танцы организуются в пятницу вечером. По мере того, как мужчины и женщины входят в танцевальный зал, мужчины выстраиваются в один ряд, а женщины в другой. Когда танец начинается, партнеры выбираются по одному из начала каждого ряда. Если в этих рядах неодинаковое количество людей, лишний человек должен ждать следующего танца. Все записи для данной задачи считываются из файла, и организуются очереди. Пары образуются удалением из каждой очереди. Этот процесс останавливается, когда какая-либо очередь становится пустой. Если есть люди ожидающие, программа указывает, сколько их и печатает имя первого человека, который будет танцевать в следующем танце. Программа должна напечатать названия всех танцев, которые были в эту пятницу и списки пар в каждом танце.

 

Вариант № 9

Написать программу, размещающую запись арифметического выражения в двоичном дереве. Арифметическое выражение может содержать в себе переменные, знаки математических операций, круглые скобки. Результатом программы должно быть вычисленное значение произвольно заданного арифметического выражения.

 

Вариант № 10

В 16 этажном доме функционирует лифт. Грузоподъемность лифта ограничена 6-ю человеками. На каждом этаже могут быть очереди жильцов дома, желающих воспользоваться лифтом. Вызовы лифта образуют очередь вызовов.

Кроме того, на каждом этаже потенциально возможны очереди пассажиров. Если нет очередей пассажиров, то и очередь вызовов пуста. Написать программу, имитирующую работу лифта. Предусмотреть возможность образования очередей случайным образом. Отобразить движение лифта в графическом режиме.

 

Вариант № 11

Для обеспечения сохранности информации при хранении ее часто шифруют различными способами. Напишите программу, шифрующую информацию и программу – дешифратор.

 

Вариант № 12

Задача Джозефуса. Агент бюро путешесвий выбирает n клиентов для участия в розыгрыше бесплатного кругосветного путешествия. Участники становятся в круг и затем из шляпы выбирается число m (m<=n ). Розыгрыш производится агентом, который идет по кругу по часовой стрелке и останавливается у каждого m-го участника. Этот человек удаляется из игры., и агент продолжает счет, удаляя каждого m- го человека до тех пор , пока не останется только один участник. Этот счастливчик выигрывает кругосветное путешествие.

 

Вариант № 13

В деканате факультета журналистики имеются списки студентов разных

групп. В сессию сотрудники деканата печатают ведомости для каждой

дисциплины для сдачи студентами экзаменов и зачетов. Написать программу,

создающие ведомости для каждой группы по всем дисциплинам с указанием

формы контроля (зачет, экзамен). Списки студентов упорядочить по алфавиту,

используя алгоритм «сортирующее дерево».

 

Вариант № 14

 В аптеке существует перечень лекарств, имеющихся в наличии. Сведения о лекарствах следующие: название лекарства, количество упаковок, цена за одну упаковку, срок изготовления, срок годности. При продаже лекарств, количество упаковок уменьшается. Если срок годности лекарств просрочен, лекарства подлежат списыванию. Написать программу, автоматизирующую работу аптекаря. Для поиска нужного лекарства использовать двоичное дерево поиска.

 

Вариант № 15

Написать программу, реализующую алгоритм AVL- дерева. Программа должна поддерживать баланс каждого узла дерева при добавлении или удалении узлов из дерева. Обойти дерево тремя способами обхода.

 

Вариант № 16

Написать программу , которая содержит текущую информацию о книгах в библиотеке.

  1. Сведения о книгах содержат:
  2. Номер УДК;
  3. Фамилию и инициалы автора;
  4. Название;
  5. Год издания;
  6. Количество экземпляров данной книги в библиотеке.

Программа должна обеспечивать:

− Начальное формирование данных о всех книгах в библиотеке в виде двоичного дерева;

− Добавление данных о книгах, вновь поступивших в библиотеку;

− Удаление данных о списываемых книгах;

− По запросу выдаются сведения о наличии книг в библиотеке,

упорядоченных по годам издания.

 

Вариант № 17

Написать программу, отыскивающую проход по лабиринту. Лабиринт представляется в виде матрицы, состоящей из квадратов. Каждый квадрат либо открыт, либо закрыт. Вход в закрытый квадрат запрещен. Если квадрат открыт, то вход в него возможен со стороны, но не с угла. Каждый квадрат определяется его координатами в матрице. Программа должна находить проход через лабиринт, двигаясь от заданного входа. После отыскания прохода программа выводит найденный путь в виде координат квадратов. Для хранения пути использовать стек. Желательна графическая интерпретация задачи.

 

Вариант № 18

Составить программу, которая содержит информацию о наличии автобусов в автобусном парке.

Сведения о каждом автобусе содержат:

− Номер автобуса;

− Фамилию и инициалы водителя;

− Номер маршрута;

− Признак того , где находится автобус – на маршруте или в парке.

Программа должна обеспечивать:

− Начальное формирование данных о всех автобусах в виде списков;

− При выезде каждого автобуса из парка вводится номер автобуса , и программа устанавливает значение признака «автобус на маршруте»;

− При въезде каждого автобуса в парк вводится номер автобуса, и программа устанавливает значение признака «автобус в парке»;

− По запросу выдаются сведения об автобусах, находящихся в парке, или об автобусах, находящихся на маршруте.

 

Вариант № 19

Гаражная стоянка имеет одну стояночную полосу, причем въезд и выезд находятся в одном конце полосы. Если владелец автомашины приходит забрать свой автомобиль, который не является ближайшим к выходу, то все автомашины, загораживающие проезд, удаляются, машина данного владельца выводится со стоянки, а другие машины возвращаются на стоянку в исходном порядке.

Написать программу, которая моделирует процесс прибытия и отъезда машин. Прибытие или отъезд автомашины задается командной строкой, которая содержит признак прибытия или отъезда и номер машины.

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

 

Вариант № 20

Автоматизированная информационная система на железнодорожном вокзале содержит сведения об отправлении поездов дальнего следования.

Для каждого поезда указывается:

− Номер поезда;

− Станция назначения;

− Время отправления.

Данные в информационной системе организованы в виде двоичного дерева поиска.

Составить программу, которая:

− Обеспечивает первоначальный ввод данных в информационную систему и формирование двоичного дерева поиска;

− Производит вывод всего дерева;

− Вводит номер поезда и выводит все данные об этом поезде;

− Вводит название станции назначения и выводит данные о всех поездах, следующих до этой станции.

Программа должна обеспечивать диалог с помощью меню и контроль ошибок при вводе.