- •Автономная некоммерческая организация высшего профессионального образования «Брянский институт управления и бизнеса»
- •Методические пособие по изучению алгометрического языка pascal
- •Оглавление
- •Введение
- •Глава 1 основные понятия .
- •Алфавит языка.
- •Основные определения языка.
- •Составные части программы.
- •Вопросы для самоконтроля
- •Глава 2 стандартные типы данных
- •Данные целого типа.
- •Вычисление об"ема шара
- •Данные действительного типа.
- •Данные логического типа.
- •Данные символьного типа.
- •`Теплоход``маяк``` или `д``артаньян`
- •Описание констант и переменных.
- •Var_имя переменной: тип;
- •Вопросы для самоконтроля
- •Глава 3 выражения.
- •3.1. Стандартные функции.
- •3.2. Арифметические выражения.
- •3.3. Логические выражения.
- •Вопросы для camokohtpoля
- •Глава 4 основы программирования простых задач.
- •4.1. Оператор присваивания.
- •4.2. Понятие о составном и пустом операторах. Назначение символа точки с запятой.
- •Простейший ввод данных.
- •5 Позиций
- •8 Позиций
- •Примеры программирования простых задач.
- •Вопросы для самоконтроля
- •5.1. Условный оператор.
- •Оператор выбора.
- •Оператор перехода.
- •Go to метка
- •Lавеl метка;
- •Label метка 1, метка 2,…, метка n;
- •5.4.Примеры программирования вычислительных процессов с разветвлениями.
- •Глава 6 организация циклических прцессов.
- •Оператор цикла с предварительным условием.
- •Оператор цикла с последующим условием.
- •Операторы циклической части программы
- •Оператор цикла с параметром.
- •Вложенные циклы.
- •Глава 7 основы ввода и вывода.
- •7.1. Оператор ввода.
- •7.2. Оператор вывода
- •Программирование циклических вычислительных процессов.
- •Вопросы для самоконтроля
- •Глава 8 Переменные типы.
- •Перечислимый тип данных.
- •Var а: (зима, весна, лето, осень);
- •Ограниченный тип данных.
- •Вопросы для самоконтроля
- •Глава 9 Сложный тип данных – массивы.
- •Понятие массива.
- •Var_имя массива: array [t1] of_t2;
- •Тип массива.
- •Упакованные массивы.
- •Понятие многомерных массивов.
- •Глава 10 Сложный тип данных – множества.
- •10.1. Множества в языке Паскаль.
- •Var _имя множества: set_of_ базовый тип;
- •Примеры программирования задач с использованием множества
- •Вопросы для самоконтроля
- •Глава 11 Сложный тип данных – записи.
- •Понятие записи.
- •Оператор присоединения.
- •Вопросы для самоконтроля
- •Глава 12 Подпрограммы.
- •Общие сведения.
- •Процедуры и функции.
- •Вопросы для самоконтроля
- •Глава 13 Файлы
- •13.1. Понятие файла.
- •13.2. Чтение файла.
- •13.3. Запись файла.
- •13.4 Чтение и запись файла
- •Вопросы для самоконтроля
13.2. Чтение файла.
Под чтением файла понимается ввод данных из внешнего файла, находящегося на диске, в оперативную память машины. Данные внешнего файла становятся доступными программе.
В программе необходимо выполнить следующие действия для чтения файла:
открыть файл для чтения (оператор RESET),
ввести данные файла в программу (оператор READ),
закрыть файл для чтения (оператор CLOSE),
Внешний файл, из которого читаются данные, часто называют входным файлом. Общая форма чтения файла имеет вид:
RESET (имя 1 );
. . .
READ (имя, параметры);
. . .
CLOSE (имя 1);
Многоточием отмечено наличие каких-либо операторов программы. В некоторых версиях языка ПАСКАЛЬ, оператор RESET может иметь несколько аргументов, например:
RESET (имя 1, 'имя 2', имя 3’, имя 4).
Аргументы имеют следующее назначение:
имя 1 - имя файла в программе (файловая переменная);
имя 2 - физическое (конкретное) имя внешнего файла на диске;
имя 3 - расширение физического имени файла. Рекомендуется указывать слово PAS (от слова PASCAL), если программа составлена на языке ПАСКАЛЬ. Аргумент можно не указывать, тогда по умолчанию будет слово DAT;
имя 4 - переменная, которая автоматически получает значение, равное числу блоков, занимаемых внешним файлом на диске. Аргумент можно не указывать, но если он указан, то нужно объявить переменную как целого типа.
Оператор ввода для чтения файла обладает всеми свойствами обычного оператора ввода READ. В качестве параметров могут быть переменные; каждая переменная получает значение одного элемента, считанного из внешнего файла. Переменные должны быть описаны в программе соответственно своему типу.
Так как по определению число элементов файла не задается, то в языке ПАСКАЛЬ введен признак конца файла. Стандартная встроенная функция
EOF ( имя файла )
используется для определения, достигнут ли конец файла: она принимает истинное значение, если достигнут конец файла, и ложное — в противном случае.
Функцию EOF можно использовать в логических выражениях и, в частности, в операторах цикла, например
WHILE NOT EOF(F1) DO
BEGIN
. . .
END
Пока не достигнут конец файла F1, повторяется циклическая часть программы, заключенная в операторные скобки BEGIN — END.
Рассмотрим на примере чтение внешнего файла и обработку его в программе.
Пример 13.1. Пусть на диске имеется файл с именем F1, в котором записана последовательность действительных чисел
0.54 1.7 8.43 6.2 4.1
Необходимо эти данные ввести в программу и вычислить их сумму. Каждый элемент данных файла будем обозначать в программе переменной S, а сумму - SUM.
VAR
F1:TEXT; (* ВХОДНОЙ ФАЙЛ*)
S:REAL; (*ЧИСЛО *)
SUM:REAL; (* СУММА *)
BEGIN
SUM:=0;
RESET(F1);
WHILE NOT EOF(F1)DO
BEGIN
READ(F1,S);
SUM:=SUM+S;
END;
WRITE(‘CУММА=’,SUM:7:2);
CLOSE(F1);
END.
В примере 13.1 Fl - имя входного файла. Оператор RESET открывает файл F1 для чтения из него данных.
Оператор ввода READ (Fl, S) применяется для считывания данных из внешнего файла в переменную S. Если оператор ввода стоит вне цикла, то переменная S получит только одно значение S = 0.54.
Оператор CLOSE (Fl) служит для закрытия файла F1.
