Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Мет_Паскаль2012.doc
Скачиваний:
9
Добавлен:
09.06.2015
Размер:
253.44 Кб
Скачать

4.2. Запись результатов в файл.

Как уже говорилось выше в методических указаниях рассматривается работа только с текстовыми файлами. Для организации текстового файла прежде всего необходимо в разделе описаний объявить соответствующую файловую переменную оператором:

VAR имя файловой переменной: TEXT;

Далее в программе надо осуществить связывание файловой переменной с именем файла на диске процедурой ASSIGN:

ASSIGN (имя файловой переменной, имя файла на диске);

Далее файл необходимо открыть одной из следующих процедур:

REWRITE(имя файловой переменной);

RESET(имя файловой переменной);

APPEND(имя файловой переменной);

Процедура REWRITE открывает файл для чтения из него данных, RESET – для записи данных в файл, APPEND для дозаписи данных в файл.

Для обработки текстовых файлов используются процедура READ, READLN и WRITE, WRITELN, обеспечивающие соответственно чтение и запись величин в текстовый файл. Общий формат этих процедур при работе с текстовым файлом:

READ(имя файловой переменной; переменная1, переменная2,…переменнаяN);

WRITE(имя файловой переменной; переменная1, переменная2,…переменнаяN);

Процедура READ обеспечивает ввод данных общим потоком из одной строки, а READLN приводит к обязательному переходу к следующей строке текстового файла. Все вышесказанное в равной мере относится и к операциям записи с помощью процедур WRITE и WRITELN.

После работы с файлом его необходимо закрыть командой:

CLOSE(имя файловой переменной);

В Паскале для обработки признака конце файла используется логическая функция EOF, аргументом которой является имя файловой переменной и которая принимает значение истина тогда, когда достигнут конец файла.

Созданный файл с данными можно открыть в какой-либо программе, например в Excel, и работать там с ним.

Пример 14. Программа расчета функции y=sin(2x)/x и вывода значений х и y в файл REZULT.DAT на диске D: и на экран монитора.

PROGRAM RASCHET;

USES CRT;

VAR I:INTEGER;

Y,X:REAL;

FF:TEXT;

BEGIN

{установка связи файловой переменной FF с дисковым именем файла REZULT.DAT}

ASSIGN(FF,'D:\REZULT.DAT');

{открытие файла для записи в него данных}

REWRITE(FF);

CLRSCR;

X:=0.3;

FOR I:=1 TO 20 DO BEGIN

Y:=SIN(2*X)/X;

{вывод результатов в файл}

WRITELN(FF,' ',X:4:2,Y:8:3);

{вывод результатов на экран}

WRITE(' ',X:4:2,' ',Y:6:2);

X:=X+0.05;

END;

{закрытие файла}

CLOSE (FF);

END.

5. Процедуры и функции.

Подпрограммойназывается именованная логически законченная группа операторов языка программирования, которую можно вызвать по имени для выполнения любое количество раз из различных мест программы. В Паскале для организации подпрограмм используются процедуры и функции.

Процедура – это независимая поименованная часть программы, предназначенная для выполнения определенных действий. Она состоит из заголовка и тела. Процедуру вызывается оператором вызова процедуры (см. Простые операторы), после выполнения процедуры, программы продолжает работу с оператора, следующего непосредственно за оператором вызова процедуры. Имя процедуры не может входит в выражения в качестве операнда.

Функция аналогична процедуре, но она передает в точку вызова скалярное значение (результат своей работы) и имя функции может входить в выражение как операнд.

Процедуры и функции могут быть встроенными (или стандартными), т.е. являющимися частью языка, и пользовательскими, т.е. организованные самим программистом.

Наиболее часто используемые арифметические встроенные функции:

ABS(X) – вычисление абсолютной величины Х;

ARСTAN(X) – вычисление угла, тангенс которого равен Х, значение угла представляется в радианах;

COS(X) – вычисление косинуса Х, параметр задает значение угла в радианах;

SIN(X) - вычисление косинуса Х, параметр задает значение угла в радианах;

EXP(X) – вычисления значения еХ;

INT(X) – вычисление целой части Х;

LN(X) – вычисление натурального логарифма Х;

SQR(X) – возведение значения Х в квадрат;

SQRT(X) – извлечение квадратного корня из Х;

PI– функция возвращает значение числа;

RANDOM(N) – генерирует значение случайного числа в диапазоне от 0 доN, тип результата целочисленный;

RANDOM– генерирует значение случайного числа в диапазоне от 0 до 0,99, тип результата вещественный.

При необходимости вычисления других тригонометрических функций пользуются формулами:

tg(x)=sin(x)/cos(x); ctg(x)=cos(x)/sin(x);

lg(x)0,43429ln(x); ;

; .

В Паскале нет функции возведения в степень, поэтому для вычисления ZXнеобходимо записатьEXP(X*LN(Z)), причем числоZдолжно быть больше нуля.

Встроенные процедуры ввода-вывода (WRITE,WRITELN,READ,READLN) были рассмотрены в главе 4.