Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Логическое ИЛИ ? && логическое И





Perl всегда обрабатывает логические выражения слева направо. Кроме того. Perl всегда прекращает оценку, если уже выполненнойоценки достаточно, чтобы определить значение результата.

Отличия между процедурами и функциями

На этом шаге мы перечислим отличия процедур и функций.

Структура описания процедур и функций приведена в 16 шаге. Напомним формат заголовков процедур и функций:

procedure <Имя> (<Список Формальных Параметров>);

function <Имя> (<Список Формальных Параметров>): <Тип результата>;

Объявление и работа с процедурами и функциями отличаются в следующем:

в заголовке функции помимо описания формальных параметров обязательно указывается тип возвращаемого ею результата;

для возврата функцией значения в точку вызова среди ее операторов должен быть хотя бы один, в котором имени функции или переменной Result присваивается значение результата;

вызов процедуры выполняется отдельным оператором;

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

Помимо указанных отличий между процедурами и функциями отметим еще особенности реализации функций в языке Object Pascal.

В Object Pascal функция может возвращать значения практически любых типов (стандартных и определяемых пользователем), за исключением файловых и объектных типов "старой" объектной модели, объявляемых с помощью зарезервированного слова object.

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

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

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

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

Синтаксис заголовка процедуры:

 

PROCEDURE < имя процедуры > [( <список формальных параметров > )];

 

Например:

 

Procedure PR1(A,B,C:integer;Var S:real);

здесь PR1 – имя процедуры, а А,В,С,S – имена переменных, являющихся параметрами.

 

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

Оператор процедуры служит для вызова процедуры из основной программы или из другой процедуры(функции).

Вызов осуществляется в следующей форме:

 

<имя процедуры > [( <список фактических параметров> )];

 

Таким образом, для приведенного заголовка процедуры можно написать такой оператор вызова:

 

PR1 (A,B,C,S);

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

Рассмотрим пример реализации алгоритма вычисления синуса (см. тема 4) в виде процедуры с параметрами. В список формальных параметров включаются все данные необходимые для вычислений – это значение аргумента X и точности вычислений, обозначенной здесь через Е. Кроме входных данных в список параметров необходимо включить результаты работы процедуры, а именно – Y.

 

var x,y,e:real;

procedure sinx(x,e:real;var y:real);

var u,z:real;

k:integer;

Begin

k:=0;

y:=0;

u:=x;

z:=sqr(x);







Дата добавления: 2015-04-19; просмотров: 474. Нарушение авторских прав; Мы поможем в написании вашей работы!




Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...


Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...


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


ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...

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

Вопрос 1. Коллективные средства защиты: вентиляция, освещение, защита от шума и вибрации Коллективные средства защиты: вентиляция, освещение, защита от шума и вибрации К коллективным средствам защиты относятся: вентиляция, отопление, освещение, защита от шума и вибрации...

Задержки и неисправности пистолета Макарова 1.Что может произойти при стрельбе из пистолета, если загрязнятся пазы на рамке...

Постинъекционные осложнения, оказать необходимую помощь пациенту I.ОСЛОЖНЕНИЕ: Инфильтрат (уплотнение). II.ПРИЗНАКИ ОСЛОЖНЕНИЯ: Уплотнение...

Приготовление дезинфицирующего рабочего раствора хлорамина Задача: рассчитать необходимое количество порошка хлорамина для приготовления 5-ти литров 3% раствора...

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

Studopedia.info - Студопедия - 2014-2025 год . (0.009 сек.) русская версия | украинская версия