Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебно-методическое пособие по Паскалю.doc
Скачиваний:
7
Добавлен:
25.04.2019
Размер:
398.34 Кб
Скачать

7.2 Функции

Общая структура функций совпадает со структурой процедуры, за исключением заголовка. Заголовок функции имеет следующий вид:

FUNCTION<имя функции> (<список параметров>):<тип возвращаемого результата>;

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

Program Sums;

Var

a,b, Sum, Sum_Number: Integer;

Procedure Summ1 (Var Sum: Integer; a,b: integer);

Begin

Sum:=a+b;

End;

Function Summ2( a,b: integer): integer;

Begin

Summ2:=a+b;

End;

Begin

a:=12; b:=5; {Установка начальных значений переменных «а» и «b»}

{Суммирование чисел с использованием процедуры}

Summ1 (Sum_Number, a,b);

WriteLn (‘Сумма чисел равна = ’, Sum_Number);

{Суммирование чисел с использованием функции}

Sum_number:= Summ2(a,b);

WriteLn (‘Сумма чисел равна:’, Sum_Number);

WriteLn (‘Сумма чисел равна:’, Summ2(a,b));

End.

8 Работа с файлами

Файл - это именованная область внешней памяти компьютера (жесткого диска, гибкой дискеты, электронного «виртуального» диска), содержащая логически связанную совокупность данных.

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

В зависимости от способа объявления можно выделить три типа файлов: типизированные файлы (задаются предложением FILE OF...), текстовые файлы (определяются типом TEXT), нетипизированные файлы (определяются типом FILE), которые в программе (в разделе VAR) объявляются следующим образом:

<файловая переменная>: file of <тип компонентов>;

<файловая переменная >: text;

<файловая переменная> : file;

<файловая переменная> - это логическое имя файла, используемое в программе. <тип компоненты>-компонентой файла может быть как переменная базового типа, так и структурного.

Любой программе доступны два предварительно объявленных файла со стандартными файловыми переменными: INPUT - для чтения данных с клавиатуры и OUTPUT - для вывода на экран.

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

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

ASSIGN (<ф.п.>, <имя файла или л.у.>);

Здесь <ф.п.> - файловая переменная (правильный идентификатор, объявленный в программе как переменная файлового типа);

< имя файла или л.у.> - текстовое выражение, содержащее имя файла или логическое устройство.

Если имя файла задается в виде пустой строки, например, ASSIGN(f,’’), то в зависимости от направления обмена данными файловая переменная связывается со стандартным файлом INPUT или OUTPUT.