- •Основы алгоритмизации и программирования
- •Введение
- •1.1. Структура программы
- •1.2. Типы данных
- •1.2.1. Целый тип данных
- •1.2.2. Логические типы данных – Boolean
- •1.2.3. Данные символьного типа
- •1.3. Операторы языка программирования Турбо Паскаль
- •1.3.1. Операции в Турбо Паскаль
- •1.3.2. Правила вычисления выражений
- •1.3.3. Встроенные функции в Турбо Паскаль
- •1.3.4. Описание констант и переменных
- •1.3.5. Операторы в Турбо Паскаль
- •Вопросы для самопроверки
- •Лабораторная работа №1 Организация программ линейных структур
- •Варианты заданий
- •2. Организация форматного вывода данных на языке Паскаль
- •Вопросы для самопроверки
- •Лабораторная работа №2 Организация ввода-вывода данных на языке Паскаль
- •Методические указания
- •Варианты задания
- •3. Организация программ разветвляющихся структур
- •3.1. Полная форма условного оператора
- •3.2. Краткая форма условного оператора
- •Вопросы для самопроверки
- •Лабораторная работа №3 Организация программ разветвляющихся структур
- •Варианты заданий
- •4. Организация циклических процессов
- •Лабораторная работа №4 Составление циклических программ
- •Варианты заданий
- •Методические указания
- •Варианты заданий
- •5. Программирование структур с вложенными циклами
- •Вопросы для самопроверки
- •Лабораторная работа №5 программирование структур с вложенными циклами. Вычисление суммы ряда
- •Методические указания
- •Варианты заданий
- •6. Перечислимые и ограниченные типы данных
- •6.1 Перечислимый тип данных
- •6.2. Ограниченный тип данных
- •6.3. Оператор выбора (варианта)
- •Вопросы для самопроверки
- •Лабораторная работа №6 Перечислимые и ограниченные типы данных
- •Варианты заданий.
- •7. Регулярные типы данных
- •7.1. Одномерные массивы
- •7.1.1. Краткая форма объявления одномерного массива
- •7.1.2. Полная форма объявления одномерного массива
- •7.1.3. Доступ к элементам массива
- •Вопросы для самопроверки
- •Лабораторная работа №7_1 регулярные типы данных. Массивы
- •Варианты заданий
- •7.2. Двумерные массивы
- •Полная форма описания матрицы:
- •Формирование элементов случайным образом:
- •Формирование элементов матрицы при вводе с клавиатуры:
- •Фрагменты программ по обработке 2-х мерных массивов
- •Вопросы для самопроверки
- •Лабораторная работа №7_2 регулярные типы данных. МАтрицы
- •Варианты заданий
- •7.3. Сортировка элементов массива
- •7.3.1. Сортировка методом «пузырька»
- •7.3.2. Сортировка вставками
- •7.3.3. Сортировка посредством выбора
- •7.3.4. Быстрая сортировка
- •8. Составление программ с использованием подпрограмм
- •8.1. Область видимости идентификатора переменной
- •8.2. Подпрограммы - процедуры (procedure)
- •8.2.1. Формальные и фактические параметры
- •Вопросы для самопроверки
- •Лабораторная работа №8_1 составление программ с использованием подпрограмм - процедур
- •Методические указания
- •Варианты заданий
- •8.3. Подпрограммы-функции (function)
- •Вопросы для самопроверки
- •Лабораторная работа №8_2 составление программ с использованием подпрограмм - функций
- •Варианты заданий
- •8.4. Рекурсия
- •8.4.1. Вычисление факториала
- •8.4.2. Формы рекурсивных процедур
- •8.4.3. Числа Фибоначчи
- •Вопросы для самопроверки
- •9. Модули
- •Структура модуля
- •Interface
- •Implementation
- •Вопросы для самопроверки
- •10.2. Стандартные процедуры и функции для строк
- •10.3. Хранение строк
- •Вопросы для самопроверки
- •Лабораторная работа №10 обработка символьной информации
- •Варианты заданий
- •11. Комбинированные типы. Записи (Record)
- •11.1 Записи с фиксированными частями
- •11.2. Оператор with…do
- •11.3. Вариантные записи
- •Вопросы для самопроверки
- •Лабораторная работа №11 Комбинированные типы. Записи
- •Варианты заданий
- •12. Файлы
- •12.1. Классификация файлов
- •12.1.1. Чтение файла
- •12.1.2. Запись файла
- •Вопросы для самопроверки
- •13.1. Объявление множества
- •13.2. Операции над множествами
- •13.3. Сравнение множеств
- •Include (s, I);
- •13.4. Старшинство множественных операций
- •Вопросы для самопроверки
- •Лабораторная работа №13 множества
- •Варианты заданий
- •Горячие клавиши
- •Библиографический список
- •Оглавление Введение 3
- •1. Программирование на языке Паскаль 5
- •1.1. Структура программы 5
- •2. Организация форматного вывода данных на языке Паскаль 17
- •Лабораторная работа №7_1.
- •Лабораторная работа №7_2.
- •Лабораторная работа №8_2.
12. Файлы
Файл – это, с одной стороны, именованная область внешней памяти ПК (жёсткого диска, гибкой дискеты, электронного «виртуального» диска), содержащая какую-либо информацию.
С другой стороны, под файлом понимают логическое устройство – потенциальный источник или приёмник информации (один из многих структур данных).
Любой файл имеет три характерные особенности:
У файла есть имя, что даёт возможность программе работать с несколькими файлами. Но один и тот же файл не может быть одновременно открыт для чтения и для записи.
Файл представляет собой последовательность элементов одного типа. Типом компонентов может быть любой тип Турбо Паскаля, кроме файлов.
Длина файла, то есть количество элементов в нём, не задаётся при его объявлении и ограничивается только емкостью устройств внешней памяти. Место элемента не определяется индексом и каждый элемент становиться доступным только после перебора всех предыдущих элементов. Такие файлы называются последовательными файлами.
Если программа работает с внешними файлами, то их необходимо объявить.
Логическая структура файла очень похожа на структуру массива. Различия заключаются в следующем. У массива количество элементов фиксируется в момент распределения памяти и постоянно находится в ОЗУ, нумерация элементов массива начинается с единицы. У файлов количество элементов может изменяться, нумерация начинается с нуля (кроме текстовых файлов).
Файловый тип или переменную файлового типа можно задать одним из трёх способов:
Var <имя> : FILE OF <тип>;
<имя> : TEXT;
<имя> : FILE;
Здесь <имя> – имя файлового типа (идентификатор);
FILE, OF – зарезервированные слова (файл, из);
TEXT – имя стандартного типа текстовых файлов;
<тип> – любой тип Турбо Паскаля, кроме файлов.
Например, VAR F1 : FILE OF CHAR;
F2 : TEXT;
F3 : FILE;
12.1. Классификация файлов
В зависимости от способа объявления можно выделить три вида файлов:
Типизированные файлы (задаются предложением FILE OF);
Текстовые файлы (определяются типом TEXT);
Нетипизированные файлы (определяются типом FILE);
Вид файла определяет способ хранения информации в файле.
В зависимости от метода доступа различают:
Файлы последовательного доступа;
Файлы прямого доступа.
Типизированные и нетипизированные файлы относятся к файлам прямого и последовательного доступа, а текстовые файлы – к файлам последовательного доступа.
В программе необходимо сообщить сведения о внешнем файле – его имя и местоположение при помощи оператора ASSIGN, который логически связывает имя файла в программе с именем файла на диске.
Формат оператора:
ASSIGN(intname, extname),
где intname – внутреннее имя файла или файловая переменная;
extname – внешнее имя файла (стринговая переменная, например, string[w], которая предназначена для хранения текста длинной w, составленного из значений типа char).
Например, ASSIGN(F,’D:\PROGRAM.DAT’);
Примечание. Не сможем связать некоторую файловую переменную с файлом посредством процедуры ASSIGN, в том случае, если данный файл уже открыт.