Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Комбинированные типы (записи)




 

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

Комбинированный тип задается следующим образом:

Record

список полей

End

 

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

VAR stud: record

fio: string;

gr: integer;

end;

Чтобы обратиться к полю записи, необходимо написать имя переменной комбинированного типа и за ним через точку – имя поля. Например, для обращения к имени студента надо написать:

Stud.fio

 

Подпрограммы

 

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

При проектировании алгоритмов “сверху - вниз” целесообразно укрупненные блоки оформлять в виде подпрограмм.

 

Функции

 

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

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

Рассмотрим пример функции, вычисляющей значение факториала числа N. Назовем функцию Fact. У нее будет один целочисленный входной параметр.

 

Function Fact(n: integer): integer;

Var i, k: integer;

Begin

k:= 1;

For i:= 1 to n Do

k:= k * i;

Fact:= k

End;

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

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

Рассмотрим следующий пример.

Пусть надо подсчитать число сочетаний из m элементов по n, т.е.

 

 

Используя функцию подсчета факториала, это можно сделать одним выражением:

 

Cmn:= Fact(m) / (Fact(n) * Fact(m-n))

В этом выражении три обращения к функции Fact с разными параметрами.

 

Процедуры

 

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

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

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

Procedure ABC(x: real; y,z: integer; Var w: real; Var v: integer);

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

 






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных