Лабораторная 5. Файловый ввод-вывод




СПЕЦКУРС ПО КАФЕДРЕ ИТ ИМЭИ ИГУ

ЛАБОРАТОРНЫЕ РАБОТЫ

Лабораторная работа 1. Массивы и циклы

Разработать приложение командной строки для обработки массивов. Реализовать интерактивный ввод/вывод из командной строки.

Задания

1. Определить упорядочена ли последовательность целых чисел.

2. Упорядочить строки целочисленной квадратной матрицы по возрастанию сумм их элементов.

3. Упорядочить столбцы целочисленной квадратной матрицы по возрастанию сумм их элементов.

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

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

6. Определить является ли одна квадратная матрица клеткой другой квадратной матрицы.

7. Определить принадлежит ли одна последовательность целых чисел другой последовательности целых чисел.

8. Вычислить произведение двух прямоугольных матриц.

9. Дано множество точек на плоскости с действительными координатами. Найти точку из этого множества наиболее удаленную от заданной точки.

10. Вычислить длину ломаной, которая задана как набор целочисленных координат составляющих ее отрезков.

 

Лабораторная работа 2. Строки и регулярные выражения

Разработать приложение командной строки для обработки строк. Реализовать ввод из параметров командной строки (аргументы метода main) и вывод в командную строку.

Задания

1. Удалить из строки все символы кроме цифр.

2. Выбрать все слова из строки, являющиеся палиндромами (слова разделены пробелами, запятыми и точками).

3. Найти самое длинное слово в строке (слова разделены произвольными пользовательскими разделителями).

4. Удалить из строки все слова, состоящие из одного символа, (слова разделены пробелами, запятыми и точками).

5. Отсортировать слова в строке лексикографически (слова разделены пробелами, запятыми и точками).

6. Привести строку, которая задает год в некотором произвольном виде "’99", "2000 год", "2001 г.", "FY2002" и т.д., к нормализованному виду "1999", "2000", "2001", "2000" и т.д.

7. Выбрать из строки все подстроки заключенные внутри пар двойных кавычек с учетом escape знака (\).

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

9. Разобрать строку, которая настраивает диапазоны печатаемых страниц (например, "1-5, 8, 11-13") и вывести все заданные номера печатаемых страниц.

10. Разработать калькулятор командной строки, который, по крайней мере, способен вычислять выражения с целыми неотрицательными числами, скобками и минимальным набором операций: сложение, вычитание, умножение.

 

Лабораторная работа 3. Наследование классов

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

Предметную область выбрать (придумать), используя собственную фантазию.

Примеры предметных областей

Пример 1. Геометрические примитивы 2D: абстрактная фигура, точка, линия, прямоугольник, овал. Пример 2. Графы: неориентированный граф, ориентированный граф, вершина, ребро.

Пример 3. Животные: абстрактное животное, мышь, кошка, собака, блоха.

Лабораторная 4. Объектный ввод-вывод

Дополнить разработанную в лаб. 3 иерархию классов возможностью сериализации. Разработать программу объектного ввода/вывода экземпляров разработанных классов в постоянную память.

 

Лабораторная 5. Файловый ввод-вывод

Разработать программу с файловым вводом/выводом

Задания

1. Программа обработки текстовых файлов: заменить внутри текстового файла любое вхождение заданного выражения другим заданным выражением.

2. Программа обработки LaTeX файлов: построить оглавление по LaTeX командам: \chapter, \section, \subsection, \subsubsection. Результат должен выводиться в текстовый файл.

3. Программа обработки HTML файлов: построить оглавление по HTML тегам: <h1>, <h2>,... <h6> в. Результат должен выводиться в текстовый файл.

4. Программа обработки *.java файлов: извлечь сигнатуры void методов. Результат должен выводиться в текстовый файл.

5. Программа обработки *.java файлов: извлечь сигнатуры конструкторов. Результат должен выводиться в текстовый файл.

6. Программа обработки *.java файлов: извлечь сигнатуры абстрактных методов. Результат должен выводиться в текстовый файл.

7. Программа обработки *.java файлов: извлечь поля в виде пар <name>=<value>. Результат должен выводиться в текстовый файл.

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

9. Программа генерации цепочек случайных символов, которая конфигурируется с помощью INI файла (количество символов и цепочек, набор генерируемых символов (например: A, B, C, D)). Результат должен выводиться в текстовый файл.

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

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-04-27 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: