- •Практическая работа Тема: Обработка типизированного файла
- •Порядок выполнения работ
- •Содержание отчета:
- •8. Теоретическая часть
- •8.2. Функции обработки типизированного файла
- •Физическое удаление записи с использованием дополнительного файла.
- •У даление записи без использования дополнительного файла.
- •8.10. Функции обработки:
- •8.11. Работа с файлами
- •9. Типовые ошибки
- •Примеры .
- •10.1. Примеры описание типа в языках программирования
- •10. Контрольные вопросы
- •Литература
Содержание отчета:
Наименование темы работы;
Цель работы;
Обеспечение (в какой среде была выполнена работа);
Задание общее и индивидуальное;
Блок-схемы основных блоков программы;
Исходный текст программы;
Копии экрана, подтверждающие работоспособность программы
8. Теоретическая часть
8.1. Основные правила структурного программирования. Основные правила заключаются в следующем
1) Программа должна состоять из основной части программы (ОЧ) и блоков, к которым ОЧ обращается.
2) ОЧ должна состоять из операторов обращения к блокам и должна быть составлена так, чтобы можно было легко понять логику программы. Для этого ОЧ должна отражать (по возможности) структуру функционального смысла программы и соответствовать укрупненному алгоритму программы.
3) Каждый блок должен представлять собой функциональный узел. Каждый блок должен иметь по возможности единственный вход и единственный выход. Блок должен быть независимым. Надо избегать общих для нескольких модулей переменных для временного хранения:
4) Программы пишутся сверху, т.е. начиная с БП, вместо отсутствующих к данному моменту блоков пишутся заменители (заглушки), имитирующие работу блоков.
5) Логические конструкции программы должны соответствовать: последовательности, выбору, повторению.
6) Данные в программе должны быть четко сгруппированы по функциональной принадлежности: задачи (входные, выходные, промежуточные), конструкции программы (глобальные, локальные, обмена).
7) Стиль программы должен быть простым и ясным, т.е. без излишних сложностей, без избыточности данных.
8) Листинг программы (исходный текст программы) должен быть организован в соответствии правилам читабельности
9) В программе не стоит злоупотреблять оператором безусловного перехода.
10) Если в программе используются серия операторов условного перехода if то их необходимо заменить «переключателем» (switch ).
Заключение. При изучении основ языков программирования, почти все студенты пишут учебные программы в бессистемной хаотичной манере. Существуют некоторые методы, которые могут облегчить переход к структурированному программированию:
- дублирование фрагментов,
- использование вспомогательных переменных,
- управление признаков.
8.2. Функции обработки типизированного файла
К стандартным функциям обработки типизированного файла (базы данных одной таблицы реальной) относятся:
удаление записи,
изменение записи,
вставка записей,
упорядочивание данных,
поиск данных,
ввод,
просмотр.
Физическое удаление записи с использованием дополнительного файла.
Механизм физического удаления.
Пусть имеется БД, которая содержит пронумерованные записи. Требуется выполнить: удаление К-ой записи, с использованием дополнительного файла. Пусть К=3. Схематично выполнение операции удаления пояснено на рисунке:
File 1 (чтение) File 2 (запись)
-
1
2
3
4
5
6
7
1
2
3’(4)
4’(5)
5’(6)
6’(7)
Словесный алгоритм физического удаления записи с использованием дополнительного файла:
Открываем исходный файл (файл с данными File1) на режим ‘чтение’.
Открываем файл на режим ‘запись’ (File2)
Счетчик порядковых номеров записей I=0
Читаем из файла File1 запись.
Определяем конец файла File1?
- если конец файла, то переходим на шаг 9 (конец обработки),
- если не конец файла, то счетчик I увеличиваем на единицу.
Проверяем та ли запись которую надо удалить (т.е. i=k)?
Если номер проверяемой записи не соответствует номеру удаляемой записи, то эту запись записываем в файл file2, иначе переходим на шаг 4.
Закрываем файлы File1 и File2.
Переименовываем файлы:
Имя и расширение файла f2 = имени и расширению файла f1;
имя f1 оставляем прежним, а расширение заменяем, например, на *.bak