- •Содержание
- •Язык программирования Turbo Pascal 7.0 Основные понятия
- •Буквенно-цифровые символы.
- •Специальные символы.
- •Структура программы на языке Паскаль
- •Константы в языке Паскаль
- •Типы данных в языке Паскаль
- •Простые типы данных
- •Объявление переменных
- •Выражения
- •Стандартные арифметические функции.
- •Арифметические операции.
- •Операторы ввода
- •Операторы вывода
- •Использование стандартных модулей
- •Пример программы (линейный алгоритм)
- •Составной оператор
- •Условный оператор
- •Оператор выбора
- •Структурированные типы данных
- •Работа с массивами
- •Работа со строками
- •Операции над строками.
- •Множества
- •Операции над множествами
- •Стандартные процедуры и функции для работы с файлами.
- •Работа с текстовыми файлами
- •Работа с типизированными файлами
- •Подпрограммы в языке Паскаль.
- •Локальные и глобальные переменные
- •Подпрограмма-процедура
- •Параметры
- •Подпрограмма-функция
Стандартные процедуры и функции для работы с файлами.
Процедура ASSIGN(<ф.п.>,<имя файла на диске>) – Связывает файловую переменную (ф.п.) с конкретным файлом на диске (имя файла на диске).
Процедура REWRITE (<ф.п.>) – открывает файл для записи и устанавливает указатель на начало файла. При открытии файла в режиме записи вся содержащаяся в нем информация уничтожается, причем если файла с указанным именем не существует, то он создается.
Процедура RESET (<ф.п.>) – открывает существующий файл для чтения и устанавливает указатель на начало файла, при этом информация остается неизменной. Файл должен существовать, иначе операция открытия завершается с ошибкой.
Процедура APPEND(<ф.п.>) – открывает существующий файл для добавления и устанавливает указатель на конец файла. Используется для работы с текстовыми файлами.
Процедура READ (<ф.п.>,<список_ввода>) – Производит чтение информации из файла.
Процедура WRITE (<ф.п.>,<список_вывода>) – Записывает информацию в файл.
Процедура READLN(<ф.п.>,<перемен.>) – Производит чтение строки из файла, перемещая указатель на следующую строку. Используется для работы с текстовыми файлами.
Процедура WRITELN(<ф.п.>,<перемен.>) – Записывает строку в файл. Используется для работы с текстовыми файлами.
Процедура CLOSE(<ф.п.>) – Закрывает указанный файл.
Функция EOF(<ф.п.>) – Возвращает значение True, если достигнут конец файла, иначе – False.
Функция EOLN(<ф.п.>) – Возвращает значение True, если достигнут конец строки файла, иначе – False.
Пример:
Assign (F, ’C:\f1.txt’);
Rewrite (F);
Close (F);
Работа с текстовыми файлами
Ключи компилятора {$I+} и {$I-} используются для проверки результатов ввода-вывода. Если используется ключ {$I+}, то при возникновении ошибки ввода-вывода программа прекращает работу, данный ключ используется по умолчанию. Если используется ключ {$I-}, то при возникновении ошибки ввода-вывода программа не прекращает работу, а код ошибки можно получить с помощью функции IOResult.
Функция IOResult принимает значение 0, если последняя операция ввода-вывода завершилась успешно, и другое значение – в противном случае. Одновременно значение системной переменной, содержащей код ошибки, сбрасывается в 0. Функцию можно использовать только при наличии ключа компилятора {$I-}.
Пример:
program f_pr;
uses crt;
var
f_in, f_out:text;
r, s, l:real;
begin
clrscr;
{$I-}
assign(f_in,'in_1.txt');
reset(f_in);
{$I+}
if IOResult <> 0
then
begin
writeln('file not found');
readkey;
exit
end;
read(f_in,r);
close(f_in);
s:=pi*r*r;
l:=2*pi*r;
assign(f_out,'out_1.txt');
rewrite(f_out);
write(f_out,s,l);
close(f_out);
end.
Работа с типизированными файлами
Функция FileSize(<ф.п.>) возвращает текущий размер файла в компонентах (не применяется для текстовых файлов).
Функция FilePos(<ф.п.>) возвращает номер текущей компоненты файла (не применяется для текстовых файлов).
Процедура Seek(<ф.п.>,<номер>) осуществляет настройку на требуемую компоненту файла (не применяется для текстовых файлов).
Пример:
Программа создает файл из 10 вещественных чисел. Выводит числа, начиная с шестого, и вычисляет сумму выведенных чисел.
program F_type;
uses CRT;
const n=10;
var
Numfile:file of real;
i:byte;
Num, s:real;
begin
Clrscr;
Assign(Numfile, 'f:\Work\Numer.dat');
Rewrite(Numfile);
Writeln('Для создания файла введите ', n, ' чисел:');
for i:=1 to n do
begin
Write(i,' число:');
Readln(Num);
Write(Numfile, Num);
end;
Close(Numfile);
Writeln;
Writeln('Результат:');
Reset(Numfile);
s:=0;
Seek(Numfile,5);
for i:=5 to FileSize(NumFile)-1 do
begin
Read(Numfile, Num);
Writeln(i+1, ' число: ', Num:6:3);
s:=s+Num;
end;
Close(Numfile);
Writeln('s=', s:6:3);
Readkey;
end.
Результаты работы программы
Для создания файла введите 10 чисел:
1 число:5.6
2 число:-8.4
3 число:5.12
4 число:-71.56
5 число:8.3
6 число:12.7
7 число:53.2
8 число:45.8
9 число:25.3
10 число:14.32
Результат:
6 число: 12.700
7 число: 53.200
8 число: 45.800
9 число: 25.300
10 число: 14.320
s=151.320