ТОР 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); Вызов процедуры это один оператор, состоящий из имени процедуры и списка фактических параметров в круглых скобках. После выполнения такого оператора, все выходные параметры процедуры принимают вычисленные в процедуре значения.
Не нашли, что искали? Воспользуйтесь поиском:
|