
- •Предисловие
- •Введение
- •1. Установка и настройка интегрированной среды
- •2.1. Работа с текстовым редактором тр
- •Команды управления курсором
- •Команды вставки и удаления
- •Команды работы с блоками
- •Команды поиска и замены
- •Regular expression – искать по выражению – описателю текста;
- •Контрольные вопросы
- •3. Элементы языка и структура программы
- •3.1. Алфавит языка
- •3.2. Зарезервированные слова
- •3.3. Знаки операций
- •Основные операции тр 7.0
- •3.4. Типы данных
- •Типы целых чисел
- •Типы вещественных чисел
- •3.5. Базовые конструкции языка
- •Основные стандартные математические функции tp 7.0
- •3.6. Структура программы
- •Контрольные вопросы
- •4.1. Этапы разработки программы
- •Пример. Вычислить площадь треугольника по формуле Герона: , гдеa, b, c – длины сторон треугольника, - полупериметр;
- •4.2. Основы работы в интегрированной среде Turbo Pascal
- •4.2.1. Меню File
- •4.2.2. Меню Edit
- •4.2.3. Меню Run
- •Упражнения
- •5. Составление и отладка программ с разветвляющейся структурой
- •Условные графические обозначения основных блоков схем алгоритмов
- •5.1. Организация ветвлений в программах
- •Логические операции
- •5.2. Средства среды тр для отладки программ
- •5.2.1. Меню Run
- •5.2.2. Меню Compile
- •5.2.3. Меню Debug
- •5.2.4. Меню Window
- •5.3. Методика отладки программ cразветвляющейся структурой
- •Упражнения
- •Контрольные вопросы
- •6. Составление и отладка программ
- •6.1. Организация программ с циклами
- •Блок-схемы операторов цикла
- •Объявление интервального типа осуществляется заданием двух констант, указывающих верхнюю и нижнюю границы диапазона, и описывается двумя способами:
- •6.2. Методика отладки программ с циклами
- •Упражнения
- •7. Программирование с использованием
- •7.1. Организация подпрограмм
- •7.2. Методика отладки программ с подпрограммами
- •8. Программирование с использованием
- •8.1. Структура модулей
- •8.2. Компиляция модулей
- •Упражнения
- •9. Обработка символьной информации
- •9.1. Символьный тип данных
- •9.2. Строковый тип данных
- •9.3. Множества
- •Упражнения
- •10. Программирование с использованием записей
- •Упражнения
- •11. Программирование с использованием файлов
- •11.1. Файловый тип данных
- •11.2. Работа с типизированными файлами
- •Упражнения
- •12. Программирование с использованием модуля crt
- •12.1. Работа с клавиатурой
- •Непечатаемые символы таблицы ascii
- •Скан-коды клавиатуры
- •Информационные байты расширенных кодов клавиатуры
- •12.2. Работа с экраном
- •Константы цвета
- •12.3. Управление звуком динамика
- •Упражнения
- •Варианты заданий
- •Исходные данные
- •Расположение окон ввода и вывода
- •Цвета фона и символов окон
- •13. Программирование с использованием модуля graph
- •13.1. Инициализация и завершение графического режима
- •13.2. Установка цвета
- •13.3. Стиль заполнения
- •13.4. Экран, окно, графический указатель
- •13.5. Отображение точки и линии на экране
- •13.6. Вывод некоторых геометрических фигур
- •13.7. Вывод текста в графическом режиме
- •Упражнения
- •Варианты заданий
- •Библиографический список
- •Оглавление
11. Программирование с использованием файлов
Связь с внешними источниками, приемниками и носителями информации в системе ТР осуществляется только с помощью файлов.
Традиционно под файлом понимается: либо именованная область внешней памяти (как правило, магнитных дисков), либо устройство, являющееся по своему назначению источником или приемником информации (дисплей, клавиатура, принтер), чаще называемое логическим устройством.
Любой файл имеет имя, которое представляет собой спецификацию по MSDOS, напримерC:\Files\Baza.dat.
Логическая структура файла в принципе похожа на структуру массива. Различия заключаются в следующем:
у массива количество элементов фиксируется в момент распределения памяти, и он целиком располагается в оперативной памяти;
у файла количество элементов в процессе работы может изменяться, и он располагается на внешних носителях информации; в конце файла находится специальный символ Eof– "конец файла" (это управляющий символ #26).
11.1. Файловый тип данных
Различают три типа файла: типизированные, которые содержат компоненты одного типа; текстовые; нетипизированные. К элементам всех файлов можно обращаться последовательно, а для типизированных файлов – выборочно (прямой доступ).
При последовательном доступе ввод или считывание компонент ведутся последовательно в порядке возрастания их номеров; прямой доступ предполагает выборочное обращение к конкретным компонентам, которые задаются их номерами. При этом считается, что первой компоненте соответствует нулевой номер.
В программах файлы представляются так называемой файловой переменной, которая в интегрированной среде ТР по существу играет роль нового имени файла.
Файловая переменная может быть описана следующими способами.
С явным объявлением файлового типа:
Type
<имя_типа_1> = file of <тип компонент>;{типизированные файлы}
<имя_типа_2> = file;{нетипизированные файлы}
<имя_типа_3> = text;{текстовые файлы}
Var
<имя файловой переменной> : <имя типа>;
С неявным объявлением файлового типа:
Var
<имя_файловой_переменой_1> : file of <тип компонент>;
<имя_файловой_переменой_2> : file;
<имя_файловой_переменой_3> : text;
Например:
Type fib = file of integer;
student = record name : string [12];
age : word;
end;
var f : fib;
gruppa : file of student;
instr : text;
myfile : file;
С переменной файлового типа связано понятие текущего указателя файла. Его можно понимать как скрытую переменную (т.е. неявно описанную вместе с файловой переменной), которая указывает на некоторый конкретный элемент файла. Как правило, все действия с файлом производятся поэлементно, причем в этих действиях участвует тот элемент файла, который обозначается текущим указателем. При выполнении операции ввода/вывода указатель автоматически перемещается в следующую позицию.
Наибольшее применение находят типизированные файлы, так как они обеспечивают возможность как прямого, так и последовательного доступа к элементам файла и поэтому используются для хранения баз данных.