Лабораторная работа №6 «Редактирование текстовых файлов»
Основные цели работы
Основными целями работы являются:
- получение практических навыков обработки текстовых файлов;
- изучение алгоритмов обработки строк.
Требования к разрабатываемой программе
Данные программы (Вход / Выход)
На входе программы – текстовый файл, содержащий как чисто символьную, так и числовую информацию.
На выходе программы – отредактированный и отформатированный текстовый файл. Данные форматирования являются входными данными программы, устанавливаются через меню или вводом с клавиатуры.
Требования к функциональному составу программы
Требования к функциональному составу разрабатываемой программы.
- создание текстового файла; Режим создания текстового файла должен предусматривать два подрежима:
1. файл создается с клавиатуры;
2. имеется ранее созданный файл;
- чтение текстового файла;
- вывод файла (буфера) на экран, печать;
- редактирование текста; Для редактирования текстовый файл считывается в символьный массив (или массив строк), редактируется в соответствии с заданием, форматируется и выводиться в файл. При этом разделение страниц осуществляется вставкой программно обрабатываемого символа – разделителя страниц;
- форматирование текста; При форматировании соблюдается следующие правила переносов:
1. один символ не переносится;
2. один символ не оставляется в конце строки;
3. подстрока числового формата не разделяется.
- выделение числовой информации и создание типизированных файлов (Real или Integer); Числовая информация анализируется на правильную запись. Подстрока, являющаяся корректной формой записи числа, выделяется в тексте в соответствии с заданием, а также яркостью, фоном, разрядкой или парными парными разделителями, например <123>;
- поиск нужной информации.
Степень сложности реализации функций влияет на общую оценку работы и приведена в таблице.
Варианты сложности реализации функций
Таблица
Функция | Варианты сложности | Уровень оценки | |
3..4 | 4..5 | ||
Создание текстового файла | Создается с клавиатуры | + | + |
Имеется ранее созданный файл | + | + | |
Слияние двух ранее созданных файлов | + | ||
Слияние имеющегося файла с файлом консоли | + | ||
Форматирование | По левой границе | + | + |
По правой границе | + | + | |
По центру | + | + | |
Сплошной текст | + | + | |
В две колонки | + | ||
С выделением абзаца | + | ||
Вывод под брошюру | + | ||
Редактирование строки | Вставка/удаление символа: в начале, в конце, в середине строки (упр. клав. Del, Ins, BackSpace) | + | + |
Удаление от курсора до конца строки | + | ||
Удаление от начала строки курсора со сдвигом строки | + | ||
Удаление слова над курсором | + | ||
Просмотр (скроллинг) длинной строки | + | ||
Редактирование текста | Вставка новых строк | + | |
Удаление строки | + | ||
Выделение блока | + | ||
Удаление блока | + | ||
Выделение чисел | Целые со знаком | + | + |
Вещественные ²4² | + | ||
Произвольный тип ²5² | + | ||
Поиск информации | До первого совпадения | + | + |
Поиск по всему тексту | + |
Лабораторная работа № 7
”Создание и ведение баз данных”
Основные цели работы
Целью работы является изучение пользовательских типов данных: запись и типизированный файл, а также основных алгоритмов сортировок массивов.
Требования к разрабатываемой программе
Программа должна содержать меню для удобства работы программой. Требования к функциональному составу, варианты сложности выполнения отдельных функций и возможный уровень оценки по пятибалльной системе приведены в таблице 2.
Таблица 2
Функции по работе с базой данных | Варианты сложности | Уровень оценки | ||
«3» | «4» | «5» | ||
Открытие | Защищенный поиск файла базы данных (если файл не существует – вывод сообщения) | + | + | + |
Создание | С контролем вводимых данных: | |||
- по диапазону | + | + | + | |
- по значению | + | + | + | |
- неправильный цифровой | + | + | ||
- с возможностью корректирования (на странице ввода) | + | |||
Сохранение файла базы данных | Сохранить измененный файл базы данных | + | ||
Сохранить файл базы данных под новым именем | + | |||
Сохранить файл базы данных под новым именем (если файл с таким именем уже существует, вывести запрос на перезапись) | + | |||
Просмотр | Просмотр на страницу вперед / назад | + | + | + |
Переход в начало / конец файла | + | + | ||
Просмотр произвольной страницы | + | |||
Досрочный выход | + | |||
Сортировка | Сортировка по одному фиксированному полю | + | ||
Сортировка по нескольким фиксированным полям | + | |||
Сортировка по любому полю | + | |||
Анализ эффективности алгоритма сортировки (количество сравнений, количество перестановок) | + | |||
Добавление записи | В конец базы данных с последующей сортировкой | + | ||
Вставкой в отсортированный массив записей | + | + | ||
Вставкой в отсортированный файл записей | + | |||
Поиск записей по ключу | Поиск одной записи | + | ||
Поиск всех записей с возможностью записи в выходной файл | + | + | ||
Подтвержденный пользователем выход из программы |
Варианты индивидуальных заданий
№ | Формулировка структуры записей | Алгоритм сортировки | Индивидуальное задание |
1. | Экзаменационная ведомость группы: ФИО, результаты экзаменов (МА, АиГ, дискретной математике, АЯиМТ). | Нерекурсивный алгоритм быстрой сортировки | Средний балл (для сдавших без двоек). |
2. | Информация о студентах группы: ФИО, пол, год рождения, средний доход на одного человека в семье, нуждается в общежитии (да / нет) | Рекурсивный алгоритм быстрой сортировки | Список студентов, которые могут рассчитывать на общежитие. |
3. | Экзаменационная ведомость группы: ФИО, результаты экзаменов (МА, АиГ, дискретной математике, АЯиМТ). | Прямые вставки | ФИО студентов, не сдавших более 2х экзаменов |
4. | Каталог учебников в библиотеке. Структура: наименование, язык оригинала, дата возврата | Шелла | Список переводной литературы с английского |
5. | Справочник электронно-измерительных приборов: Тип прибора (амперметр, вольтметр, осциллограф и т.п.), марка, год выпуска, предельные значения измеряемой величины. | Простой выбор | Сколько приборов заданного типа с годом выпуска не позднее 19хх г. |
6. | Данные о компьютерах на складе в магазине: Тип процессора, тактовая частота, объем ОЗУ, Объем винчестера, стоимость в $, срок хранения на складе. | Нерекурсивный алгоритм быстрой сортировки | Убытки от хранения более 30ти дней. |
7. | Экзаменационная ведомость группы: ФИО, результаты экзаменов (по МА, АиГ, дискретной математике, АяиМТ). | Рекурсивный алгоритм быстрой сортировки | Количество неуспевающих по каждой дисциплине |
8. | Ведомость текущей успеваемости группы: ФИО, результаты экзаменов (МА, АиГ, дискретной математике, АяиМТ). | Прямые вставки | Список студентов, успевающих по всем дисциплинам |
9. | Данные о безработных на бирже. Структура: ФИО, год рождения, профессия, сколько месяцев без работы. | Шелла | Кто без работы более 5 месяцев. |
№ | Формулировка структуры записей | Алгоритм сортировки | Индивидуальное задание |
10. | Ведомость успеваемости группы по дисциплине за учебный год (2 семестра). В каждом семестре две контрольные точки. Структура: ФИО, оценки по каждой контрольной точке | Простой выбор | Список студентов, неуспевающих по всем дисциплинам |
11. | Библиотечный каталог. Структура: ФИО читателя, порядковый номер взятой книги, шифр книги, дата возврата, Читатель может брать одновременно не более 5 книг. | Нерекурсивный алгоритм быстрой сортировки | ФИО читателей, не вернувших в срок более двух книг |
12. | Ведомость успеваемости группы по МА за учебный год (2 семестра). В каждом семестре две контрольные точки. Структура: ФИО, оценки по каждой контрольной точке. | Рекурсивный алгоритм быстрой сортировки | Фамилии отличников за 1 и 2 семестры |
13. | Каталог учебников в библиотеке. Структура: ФИО автора, название книги, год издания, издательство | Прямые вставки | Список книг издательства «Мир» |
14. | Данные о безработных на бирже. Структура: ФИО, год рождения, пол, профессия | Шелла | Список возможных кандидатов на работу. На работу берут мужчин не старше 40 лет. |
15. | Справочник об ЭВМ на оптовом складе. Структура: Марка, год выпуска, тип процессора, объем ОЗУ и винчестера | Нерекурсивный алгоритм быстрой сортировки | Список ЭВМ выпущенных после 2003 года. |
16. | Телефонный справочник. Структура: ФИО, адрес, номер телефона, обслуживающая АТС | Рекурсивный алгоритм быстрой сортировки | Список подключенных к данной АТС. |
17. | Список участников научной конференции: ФИО, из какой страны, форма участия (доклад, сообщение, гость) | Прямые вставки | Из какой страны прибыло наибольшее количество участников. |
18. | Библиотечный каталог. Структура: ФИО читателя, шифр взятой книги, дата возврата | Шелла | ФИО читателей не вернувших книги в срок (2 недели) |
19. | Протокол соревнований: ФИО, страна проживания, вид спорта, очки | Простой выбор | Какие спортсмены прибыли из заданной страны. |
20. | Данные о международной конференции: ФИО участника, научный ранг, форма участия (доклад, сообщение, гость), страна, которую он представляет. | Нерекурсивный алгоритм быстрой сортировки | Список стран участниц по мере убывания количества докладов. |
№ | Формулировка структуры записей | Алгоритм сортировки | Индивидуальное задание |
21. | Данные о безработных на бирже труда: ФИО, год рождения, профессия, на какую работу согласен (по специальности / на любую). Данные о возможности представляемой работы – профессия, возраст. | Рекурсивный алгоритм быстрой сортировки | Список трудоустроенных |
22. | Информация за месяц по состоянию дел на валютной бирже: вид валюты, предложение, спрос, цена в рублях на вчерашних торгах, цена в рублях сегодня. | Шелла | Список по дням месяца, когда спрос превышал предложение. |
23. | Информационный справочник преподавателей. Структура: ФИО, стаж работы, массив публикаций за последние пять лет. Элементы массива: вид публикации (статья, руководство, учебник), печатный / рукописный, количество печатных листов, год публикации). | Простой выбор | Фамилии преподавателей имеющих более 3х публикаций. |