Опубликован: 19.02.2009 | Доступ: свободный | Студентов: 3073 / 803 | Оценка: 4.35 / 4.11 | Длительность: 16:28:00
ISBN: 978-5-94774-401-9
Специальности: Программист, Системный архитектор, Архитектор программного обеспечения
Теги:
Лекция 16:
Коллекции
16.2. Практикум
-
Решить следующие задачи с использованием класса Stack:
- Дан файл, в котором записан набор чисел. Переписать в другой файл все числа в обратном порядке.
- Создать текстовый файл. Распечатать гласные буквы этого файла в обратном порядке.
- Напечатать содержимое текстового файла t, выписывая литеры каждой его строки в обратном порядке.
- Даны 2 строки s1 и s2. Из каждой можно читать по одному символу. Выяснить, является ли строка s2 обратной s1.
- Написать программу подсчета выражения в префиксной форме.
- Написать программу, которая преобразует выражение из инфиксной формы в префиксную.
- Написать программу преобразования выражения из постфиксной формы в инфиксную.
- В текстовом файле записана без ошибок формула вида:
<формула>=<цифра>|M(<формула>,<формула>)|m(<формула>,<формула>) <цифра>=0|1|2|3|4|5|6|7|8|9
M обозначает вычисление максимума, m - минимума
Вычислить значение этой формулы
Например M(m(3,5),M(1,2))=3
- В текстовом файле записана без ошибок формула вида:
<формула>=<цифра>|p(<формула>,<формула>)|m(<формула>,<формула>) <цифра>=0|1|2|3|4|5|6|7|8|9 m (a, b) = (a-b) mod 10, p (a, b) = (a+b) mod 10.
Вычислить значение этой формулы. Например, m (9, p (p (3, 5), m (3, 8))) = 6.
- Пусть символ # определен в текстовом редакторе как стирающий символ Backspace, т.е. строка abc#d##c в действительности является строкой ac.
Дан текст, в котором встречается символ #. Преобразовать его с учетом действия этого символа.
-
Решить следующие задачи с использованием класса Queue:
- Дан текстовый файл. За один просмотр файла напечатать элементы файла в следующем порядке: сначала все символы, отличные от цифр, а затем все цифры, сохраняя исходный порядок в каждой группе символов.
- Дан файл, содержащий числа. За один просмотр файла напечатать элементы файла в следующем порядке: сначала все числа, из интервала [a,b], потом все числа, меньшие a, потом все числа, большие b, сохраняя исходный порядок в каждой группе чисел.
- Дан текстовый файл. За один просмотр файла напечатать элементы файла в следующем порядке: сначала все слова, начинающиеся на гласную букву, потом все слова, начинающиеся на согласную букву, сохраняя исходный порядок в каждой группе слов.
- Дан файл, содержащий числа. За один просмотр файла напечатать элементы файла в следующем порядке: сначала все положительные числа, потом все отрицательные числа, сохраняя исходный порядок в каждой группе чисел.
- Дан текстовый файл. За один просмотр файла напечатать элементы файла в следующем порядке: сначала все слова, начинающиеся с прописной буквы, потом все слова, начинающиеся со строчной буквы, сохраняя исходный порядок в каждой группе слов.
- Дан файл, содержащий информацию о сотрудниках фирмы: фамилия, имя, отчество, пол, возраст, размер зарплаты. За один просмотр файла напечатать элементы файла в следующем порядке: сначала все данные о мужчинах, потом все данные о женщинах, сохраняя исходный порядок в каждой группе сотрудников.
- Дан файл, содержащий информацию о сотрудниках фирмы: фамилия, имя, отчество, пол, возраст, размер зарплаты. За один просмотр файла напечатать элементы файла в следующем порядке: сначала все данные о сотрудниках, зарплата которых меньше 10000, потом данные об остальных сотрудниках, сохраняя исходный порядок в каждой группе сотрудников.
- Дан файл, содержащий информацию о сотрудниках фирмы: фамилия, имя, отчество, пол, возраст, размер зарплаты. За один просмотр файла напечатать элементы файла в следующем порядке: сначала все данные о сотрудниках младше 30 лет, потом данные об остальных сотрудниках, сохраняя исходный порядок в каждой группе сотрудников.
- Дан файл, содержащий информацию о студентах: фамилия, имя, отчество, номер группы, оценки по трем предметам текущей сессии. За один просмотр файла напечатать элементы файла в следующем порядке: сначала все данные о студентах, успешно сдавших сессию, потом данные об остальных студентах, сохраняя исходный порядок в каждой группе сотрудников.
- Дан файл, содержащий информацию о студентах: фамилия, имя, отчество, номер группы, оценки по трем предметам текущей сессии. За один просмотр файла напечатать элементы файла в следующем порядке: сначала все данные о студентах, успешно обучающихся на 4 и 5, потом данные об остальных студентах, сохраняя исходный порядок в каждой группе сотрудников.
- Решить задачи из практикума 16, используя класс ArrayList.
-
Решить задачу, используя класс HashTable:реализовать простейший каталог музыкальных компакт-дисков, который позволяет:
- Добавлять и удалять диски.
- Добавлять и удалять песни.
- Просматривать содержимое целого каталога и каждого диска в отдельности.
- Осуществлять поиск всех записей заданного исполнителя по всему каталогу.
16.3. Самостоятельная работа
Используя дополнительную литературу и Интернет:
- Рассмотреть класс SortedList.
- Решить с помощью SortedList задачу из "Интерфейсы и структуры" .