Хелпикс

Главная

Контакты

Случайная статья





Лабораторная работа №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, в качестве ключа использовать «пункт назначения».



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.