Студопедия
Главная страница | Контакты | Случайная страница

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

Формат функции в Паскале, размещение ее в программе, обращение к ней из вызывающей программы

Читайте также:
  1. Cудeбныe функции князя и вeчe
  2. D. Условия пребывания и размещение
  3. I)Однофакторный дисперсионный анализ (выполняется с применением программы «Однофакторный дисперсионный анализ» надстройки «Анализ данных» пакета Microsoft Excel).
  4. I. Нормативно-правовые документы, регламентирующие деятельность учителя информатики
  5. I. Параметры абзацазадаются командойФормат→Абзац
  6. I. Правосознание: понятие, структура, функции и виды.
  7. I. Сущность, формы, функции исторического знания.
  8. II. Правовая культура: понятие, функции и виды.
  9. II. Структура программы
  10. II. Функции Аппарата Правительства

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

Заголовок функции имеет вид:

FUNCTION <ИМЯ> (СПИСОК ФОРМАЛЬНЫХ ПАРАМЕТРОВ):<ТИП>;

где FUNCTION - служебное слово; ИМЯ - имя процедуры, определяемое в соответствии с общими правилами построения идентификаторов; СПИСОК ФОРМАЛЬНЫХ ПАРАМЕТРОВ - перечень имен для обозначения исходных данных и результатов работы процедуры с указанием их типов.

Допускается описание функции, не содержащее <СПИСКА ФОРМАЛЬНЫХ ПАРАМЕТРОВ>: PROCEDURE < ИМЯ >:<ТИП>;

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

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

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

Структура функции такая же, как и процедуры.

Пример. Функция вычисления тангенса tan(x) от аргумента х.

Function Tan(х: real): real;

Var tangens: real;

BEGIN

tangens:= Sin(x)/Cos(x); tan:= tangens;

END;

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

Y:=Tan(x)/(1+Sqr(Tan(x));

 

 

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

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

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

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

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

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

 




Дата добавления: 2014-12-19; просмотров: 101 | Поможем написать вашу работу | Нарушение авторских прав




lektsii.net - Лекции.Нет - 2014-2025 год. (0.007 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав