Лабораторная работа №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х публикаций.

Наши рекомендации