36569

Функции: описание и вызов функции

Контрольная

Информатика, кибернетика и программирование

В отличие от процедур функции не являются отдельными операторами. Функции возвращают значения результат обращения к ним и предназначены для использования в составе выражений или в качестве выражений. Это накладывает определенный отпечаток на синтаксическую структуру описания функций которая имеет вид: function имя функции [ список формальных параметров ]: тип функции ; описание локальных имён begin тело функции последовательность операторов end; В заголовке описания функции обязательно указывается тип вырабатываемого функцией...

Русский

2013-09-22

32 KB

3 чел.

Функции: описание и вызов функции.

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

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

< описание локальных имён >

begin

< тело функции - последовательность операторов >

end;

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

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

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

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

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

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

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

Замечание: Используя так называемый расширенный синтаксис, можно вызывать функцию как процедуру (т.е. как оператор). Для включения расширенного синтаксиса имеется директива компилятора {$X+}. Это находит применение при инициализации динамических объектов.

Приведем пример программы triangle2, отличающейся от triangle1 тем, что вместо процедуры d использована функция dist:

 

program triangle2; {Программа, вычисляющая длины сторон треугольника АВС}

 uses CRT;

 type point = array [1..2] of real; {тип- точка на плоскости}

 var A,B,C:point; {вводимые точки}

ch:char;

function dist(X,Y:point):real;{ расстояние между точками X и Y }

 begin dist:= sqrt(sqr(X[1]-Y[1])+sqr(X[2]-Y[2]))

 end { dist};

 BEGIN TextBackground(cyan);TextColor(white);ClrScr;

window(10,5,60,10);TextBackground(green); ClrScr;

 repeat

writeln(' Введите координаты вершин A,B,C:');

writeln('A[1] A[2] B[1] B[2] C[1] C[2] ');

readln(A[1],A[2],B[1],B[2],C[1],C[2]);

 writeln(' Длины сторон треугольника АВС:');

 writeln(' AB=',dist(A,B):2:2,' AC=',dist(A,C):2:2,' BC =',dist(B,C):2:2);readln(ch)

 until ch=' ';

END {triangle}.

Задача 4.2.6(7)

program alex7;

type mas=array[1..5,1..4]of integer;

var a:mas;

i,j,x,y:integer;

procedure raz(b:mas;n,m:Integer;var d:integer);

var i,j:integer;

begin

d:=0;

for j:=n to m do

for i:=1 to 5 do

if b[i,j]=0 then d:=d+1;

end;

begin

for i:=1 to 5 do

for j:=1 to 4 do

read(a[i,j]);

raz(a,1,2,x);

raz(a,3,4,y);

if x>y then Writeln('v levoi bolshe')

else if x<y then Writeln('v pravoi bolshe');

if x=y then Writeln('odinakovo');

readln;

end.


 

А также другие работы, которые могут Вас заинтересовать

26480. СПЛАНХНОЛОГИЯ 24.5 KB
  Внутренние органы оъединяют в 3 аппарата: пищеварительный: система органов пищеварения пищеварительный канал пищеварительные железы вспомогательный аппарат жевательные мышцы челюсти зубы мышцы брюшного пресса и т. дыхательный: система органов дыхания дыхательные пути – носовая полость глотка гортань трахея органы дыхания – лёгкие вспомогательный аппарат органы дыхыхательной распираторики – грудная клетка диафрагма мышцы брюшного пресса мочеполовой: почки мочевыводящие...
26481. МЫШЦЫ ГРУДНОЙ КЛЕТКИ 39.5 KB
  cerratus dorsalis craniflis i caudalis e поверхностная мышцы прикрывает мускулатуру позвоночного столба лежит дорсально в области холки в области поясницы закрепление различно у разных видов = инспиратор слабо развит у КРС экспираторнаиболее хорошо выражен у лошади и собаки иннервация – венральные ветви спинномозговых нервов межрёберные закрепляется широким апоневрозом на остистых отростках грудных позвонков 58 поясничных позвонков 15 закрепляются зубцами на верхней трети и теле рёбер Л – 512 КРС – 58...
26483. ГОЛОВНОЙ МОЗГ (ENCEPHALON) – высший отдел ЦНС 40 KB
  С дорсальной поверхности располагается ромбовидная ямка дно Iv мозгового желудочка – vixii пара ЧМН С вентральной поверхности – 2 пирамидальных пути tractus pyramidalis lateralis et medialis – соединяют кору ГМ и СМ Впереди – трапециевидное тело corpus trapecioideus тройничный нерв подъязычный XII пара – каудально перекрещивающиеся пиромидальные пути функции продолговатого мозга : центр сердечнососудистой деятельности и дыхания центр защитных рефлексов рвота понос слезоотделение чихание кашель центр пищеварительной...
26484. Распорядительная документация. Подготовка и оформление приказов 40.5 KB
  Основанием для издания приказа являются: нормативные документы государственных или муниципальных органов; решения совета директоров общих собраний акционеров; производственная необходимость. Подготовка приказа включает следующее: изучения существа вопроса; сбор необходимых сведений; подготовка проекта приказа; согласование проекта; подписание руководителем. Приказы оформляются на общем бланке предприятия или на бланке приказа. Датой приказа является дата его подписания руководителем.
26485. Справочно-информационная документация. Справка. Виды справок 44 KB
  Справки бывают двух основных видов: справки подтверждающие работу учебу оплату труда место проживания и т. составляемые по запросам граждан; справки по производственным вопросам составляемые по запросу руководства. Справки по запросам граждан работников выдает руководство организации с указанием специальности должности квалификации периода работы и размера заработной платы ст. Справки по запросам граждан работников как правило оформляются на бланках справок формата А5 имеющих адресные данные предприятия и трафаретный...
26486. Современное деловое письмо. Виды и оформление служебного письма 881.5 KB
  Виды и оформление служебного письма.д По содержанию и назначению письма могут быть: инструкционные содержащие указания и разъяснения подведомственным организациям; гарантийные дающие гарантии выполнения какихлибо обязательств оплаты сроков и т.; информационные содержащие полезную для адресата информацию а также просьбы напоминания предложения; рекламные рекламирующие товары и услуги; коммерческие содержащие конкретные предложения по заключению сделок; рекламационные содержащие претензии по качеству товаров или услуг;...
26487. Особенности оформления писем, предаваемых электронной почтой 49 KB
  Особенности оформления писем предаваемых электронной почтой. Напомним вначале что электронным письмом называют документ передаваемый по каналам электронной почты. Адрес в системе электронной почты состоит из имени электронного почтового ящика которое обычно совпадает с регистрационным именем пользователя и домена который описывает место компьютер или локальную систему где этот электронный ящик на ходится. В целом требования к оформлению текста документов посылаемых электронной почтой аналогичны нормам изложенным в главе 3 п.
26488. Основные понятия делопроизводства 51 KB
  Организация работы с документами – организация документооборота хранения и использования документов в текущей деятельности учреждения предприятия. Службой документационного обеспечения управления ДОУ называется структурное подразделение на которое возложены делопроизводственные операции регистрация контроль исполнения хранение использование документов и т. Структурными подразделениями службы ДОУ в зависимости от уровня организации и объема документов являются: управление делами; управление делопроизводством; канцелярия; отдел ДОУ;...