Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ШПОРЫ - ПРОГРАММИРОВАНИЕ СУПЕР.rtf
Скачиваний:
9
Добавлен:
25.09.2019
Размер:
1.21 Mб
Скачать

37. Функции.

В основе понятия лежит понятие подпрограммы. Функции - это отдельная функционально независимая часть программы. Любая функция обладает той же структурой, которой обладает и вся программа. Функции решают три важные задачи:

-избавляют от необходимости многократно повторять в тексте программы аналогичные фрагменты;

-улучшают структуру программы, облегчая ее понимание;

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

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

Function <Name>(<Список формальных параметров>):<Type>; {Раздел описаний} …

Begin {Раздел операторов процедуры}

… Name:=<выражение соответствующего типа;

… End; где Function - служебное слово; Name - произвольный идентификатор, определяющий имя функции. В отличии от процедур в разделе операторов тела функции обязательно должен быть хотя бы один оператор присвоения имени функции выражения или значения соответствующего типа. После работы функции результат присваивается имени функции.

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

Function Gepoten(a,b:real):real; Begin Gepoten:=Sqrt(Sqr(a)+Sqr(b)) End;       Вызов функции из основной программы может выглядеть следующим образом:

 z:=Gepoten(x, y); {z присваивается значение гипотенузы}    или   WriteLn('Значение гипотенузы', Gepoten(x, y));

38. Параметры процедур и функций. Формальные и фактические параметры

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

- параметры значения (эти параметры в основной программе подпрограммой не меняются );

- параметры - переменные (эти параметры подпрограмма может изменить в основной программе );

- параметры-константы ( используются только в версии 7.0);

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

МЕЖДУ СПИСКАМИ ФОРМАЛЬНЫХ И ФАКТИЧЕСКИХ ПАРАМЕТРОВ УСТ. СООТВЕТСТВИЕ ПО 3-ЁМ ПУНКТАМ:

1. По количеству

2. По порядку следования

3. По типам в соответствии с порядком следования

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]