Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Зачет по инфе.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
336.26 Кб
Скачать

5.3 Записи.

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

<идентификатор типа>=record

<имя поля>:<тип поля>;

<имя поля>:<тип поля>;

...

[<вариантная часть>]

end;

где <идентификатор типа> – правильный идентификатор;

record – зарезервированное слово;

<имя поля> – правильный идентификатор, уникальный в пределах объявления типа запись;

<тип поля> – любой тип Object Pascal, в том числе и структурный.

<вариантная часть> – необязательная часть записи

Для того чтобы получить доступ к каждому из компонентов записи необходимо использовать составное имя. Для этого после имени переменной необходимо поставить точку и имя поля.

var a, b:TPerson;

begin

...

a.name:=’Иван’;

a.familia:=’Иванов’;

a.age:=18;

...

end.

Для упрощения доступа к полям записи можно использовать следующий оператор with <переменная> do <оператор>;

где with, do – зарезервированные слова;<переменная> – переменная типа запись, за которой, возможно следует список вложенных полей;

<оператор> – любой оператор Object Pascal.

var Person:TPerson;

begin

...

with Person do begin

name:=’Иван’;

familia:=’Иванов’;

BirthDay.Day:=1;

BirthDay.Month:=1;

BirthDay.Year:=2000;

end;

...

end.

program InOutRec; - ввод/вывод переменных типа запись на экран

{$APPTYPE CONSOLE}

typeTStudent=record

name :string[12]; //имя

familia:string[16]; //фамилия

gruppa :string[4]; //группа

end;

var Student:TStudent;

begin

writeln('Vvedite dannie');

//ввод записи

with Student do begin

write('name '); readln(name);

write('familia '); readln(familia);

write('gruppa '); readln(gruppa);

end;

//вывод записи

with Student do begin

writeln(name);

writeln(familia);

writeln(gruppa);

end;

readln;

end.

6. Подрограммы.

6.1 Процедуры и функции. Состав. Синтаксис.

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

Подпрограммы описываются перед телом программы основной программы, обычно после блоков const, var, …

var a, b:integer;

<описание подпрограмм>

begin

<тело основной программы>

end.

Описание любой подпрограммы состоит из следующих частей:

•заголовок подпрограммы;

•локальные объявления подпрограммы;

•тело подпрограммы.

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

var c:real;

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

Заголовок процедуры имеет вид:

procedure <имя>[(<сп. ф.п.>)];

Здесь <имя> – имя подпрограммы;

<сп.ф.п.> – список формальных параметров.

Заголовок функции в общем аналогичен заголовку процедуры и имеет вид

function <имя>[(<сп. ф.п.>)]:<тип>;

Здесь <тип> – тип возвращаемого результата