|
|||
Лабораторная работа №9. Коллекции. Вариант 1. Вариант 2. Вариант 3. Вариант 4Лабораторная работа №9 Коллекции Вариант 1 Написать программу для моделирования Т-образного сортировочного узла на железной дороге с использованием класса Stack. Программа должна разделять на два направления состав, состоящий из вагонов двух типов (на каждое направление формируется состав из вагонов одного типа). Предусмотреть возможность ввода исходных данных с клавиатуры и из файла. Вариант 2 Написать программу «Моя записная книжка». Предусмотреть возможность работы с произвольным числом записей, поиска записи по какому-либо признаку (например, по фамилии, дате рождения или номеру телефона), добавления и удаления записей, сортировки по разным полям. Хранение данных организовать с применением класса Hashtable. Вариант 3 Написать программу, моделирующую управление каталогом в файловой системе. Для каждого файла в каталоге содержатся следующие сведения: имя файла, дата создания, количество обращений к файлу. Программа должна обеспечивать: • начальное формирование каталога файлов; • вывод каталога файлов; • удаление файлов, дата создания которых раньше заданной; • выборку файла с наибольшим количеством обращений. Выбор моделируемой функции должен осуществляться с помощью меню. Для представления каталога использовать класс ArrayList. Вариант 4 Написать программу моделирования работы автобусного парка. Сведения о каждом автобусе содержат: номер автобуса, фамилию и инициалы водителя, номер маршрута. Программа должна обеспечивать выбор с помощью меню и выполнение одной из следующих функций: • начальное формирование данных обо всех автобусах в парке в виде списка (ввод с клавиатуры или из файла); • имитация выезда автобуса из парка: вводится номер автобуса; программа удаляет данные об этом автобусе из списка автобусов, находящихся в парке, и записывает эти данные в список автобусов, находящихся на маршруте; • имитация въезда автобуса в парк: вводится номер автобуса; программа удаляет данные об этом автобусе из списка автобусов, находящихся на маршруте, и записывает эти данные в список автобусов, находящихся в парке; • вывод сведений об автобусах, находящихся в парке, и об автобусах, находящихся на маршруте. Для представления необходимых списков использовать класс ArrayList. Вариант 5 Написать программу учета заявок на авиабилеты. Каждая заявка содержит: пункт назначения, номер рейса, фамилию и инициалы пассажира, желаемую дату вылета. Программа должна обеспечивать выбор с помощью меню и выполнение одной из следующих функций: • добавление заявок в список; • удаление заявок; • вывод заявок по заданному номеру рейса и дате вылета; • вывод всех заявок. Для хранения данных использовать класс ArrayList. Вариант 6 Написать программу учета книг в библиотеке. Сведения о книгах содержат: фамилию и инициалы автора, название, год издания, количество экземпляров данной книги в библиотеке. Программа должна обеспечивать выбор с помощью меню и выполнение одной из следующих функций: • добавление данных о книгах, вновь поступающих в библиотеку; • удаление данных о списываемых книгах; • выдача сведений обо всех книгах, упорядоченных по фамилиям авторов; • выдача сведений обо всех книгах, упорядоченных по годам издания. Хранение данных организовать с применением контейнерного класса Hashtable, в качестве ключа использовать «фамилию и инициалы автора». Вариант 7 Написать программу, отыскивающую проход по лабиринту, с использованием класса Stack. Лабиринт представляется в виде матрицы, состоящей из квадратов. Каждый квадрат либо открыт, либо закрыт. Вход в закрытый квадрат запрещен. Если квадрат открыт, то вход в него возможен со стороны, но не с угла. Программа находит проход через лабиринт, двигаясь от заданного входа. После отыскания прохода программа выводит найденный путь в виде координат квадратов. Вариант 8 Написать программу учета заявок на обмен квартир и поиска вариантов обмена. Каждая заявка содержит сведения о двух квартирах: требуемой (искомой) и имеющейся. Сведения о каждой квартире содержат: количество комнат, площадь, этаж, район. Программа должна обеспечивать выбор с помощью меню и выполнение одной из следующих функций: • ввод заявки на обмен; • поиск в картотеке подходящего варианта: при совпадении требований и предложений по количеству комнат и этажности и различии по показателю «площадь» в пределах 10% выводится соответствующая карточка и удаляется из списка, в противном случае поступившая заявка включается в картотеку; • вывод всей картотеки. Для хранения данных картотеки использовать класс ArrayList или SortedList. Вариант 9 Написать программу «Автоматизированная информационная система на железнодорожном вокзале». Информационная система содержит сведения об отправлении поездов дальнего следования. Для каждого поезда указывается: номер поезда, станция назначения, время отправления. Программа должна обеспечивать выбор с помощью меню и выполнение одной из следующих функций: • первоначальный ввод данных в информационную систему (с клавиатуры или из файла); • вывод сведений по всем поездам; • вывод сведений по поезду с запрошенным номером; • вывод сведений по тем поездам, которые следуют до запрошенной станции назначения. Хранение данных организовать с применением класса ArrayList. Вариант 10 Написать программу «Англо-русский и русско-английский словарь». «База данных» словаря должна содержать синонимичные варианты перевода слов. Программа должна обеспечивать выбор с помощью меню и выполнение одной из следующих функций: • Загрузка «базы данных» словаря (из файла). • Выбор режима работы: - англо-русский; - русско-английский. • Вывод вариантов перевода заданного английского слова. • Вывод вариантов перевода заданного русского слова. Базу данных словаря реализовать в виде двух коллекций StringDictionary. Вариант 11 Написать программу, реализующую игру «Крестики-нолики» между двумя игроками: пользователем и компьютером (роботом). В программе использовать коллекции. Вариант 12 Написать программу, решающую игру-головоломку «Игра в 15». Начальное размещение номеров — случайное. Предусмотреть два режима демонстрации решения: непрерывный (с некоторой задержкой визуализации) и пошаговый (по нажатию любой клавиши). В программе использовать коллекции. Вариант 13 Составить программу формирования списка кандидатов, участвующих в выборах губернатора. Каждая заявка от кандидата содержит: фамилию и инициалы, дату рождения, место рождения, индекс популярности. Программа должна обеспечивать выбор с помощью меню и выполнение одной из следующих функций: • Добавление заявки в список кандидатов. Для ввода индекса популярности (значение указано в скобках) предусмотреть выбор с помощью подменю одного из следующих вариантов: - поддержан президентом (70); - поддержан оппозиционной партией (15); - оппозиционный кандидат, который снимет свою кандидатуру в пользу кандидата № 1 (10); - прочие (5). • Удаление заявки по заявлению кандидата. • Формирование и вывод списка для голосования. Хранение данных организовать с применением коллекции Queue. Для надлежащего функционирования очереди с приоритетами позаботиться о надлежащем определении операции < (меньше) в классе, описывающем заявку кандидата. Формирование и вывод списка для голосования реализовать посредством выборки заявок из очереди Вариант 14 Составить программу моделирования работы автобусного парка. Сведения о каждом автобусе содержат: номер автобуса, фамилию и инициалы водителя, номер маршрута. Программа должна обеспечивать выбор с помощью меню и выполнение одной из следующих функций: • начальное формирование данных о всех автобусах в парке в виде списка (ввод с клавиатуры или из файла); • имитация выезда автобуса из парка: вводится номер автобуса; программа удаляет данные об этом автобусе из списка автобусов, находящихся в парке, и записывает эти данные в список автобусов, находящихся на маршруте; • имитация въезда автобуса в парк: вводится номер автобуса; программа удаляет данные об этом автобусе из списка автобусов, находящихся на маршруте, и записывает эти данные в список автобусов, находящихся в парке; • вывод сведений об автобусах, находящихся в парке, и об автобусах, находящихся на маршруте, упорядоченных по номерам автобусов; • вывод сведений об автобусах, находящихся в парке, и об автобусах, находящихся на маршруте, упорядоченных по номерам маршрутов. Хранение всех необходимых списков организовать с применением коллекции Dictionary, в качестве ключа использовать «номер автобуса». Вариант 15 Составить программу учета заявок на авиабилеты. Каждая заявка содержит: пункт назначения, номер рейса, фамилию и инициалы пассажира, желаемую дату вылета. Программа должна обеспечивать выбор с помощью меню и выполнение одной из следующих функций: • добавление заявок в список; • удаление заявок; • вывод заявок по заданному номеру рейса и дате вылета; • вывод всех заявок, упорядоченных по пунктам назначения; • вывод всех заявок, упорядоченных по датам вылета. Хранение данных организовать с применением коллекции Dictionary, в качестве ключа использовать «пункт назначения».
|
|||
|