Примеры операторов вызова процедур - Структурирование программы
T; {нет списка фактических параметров
Summa(x, y,z); {x, y,z - фактические параметры; x: integer; у, z; real} a(z); {z - фактический параметр, z:d}
При вызове подпрограммы фактические параметры подставляются вместо соответствующих формальных параметров, затем над ними осуществляются нужные действия.
Функции
Подпрограмма-функция предназначена для вычисления некоторого значения. Описание функции содержит два отличия от описания процедуры.
Заголовок функции имеет вид:
Function имя функции (список формальных параметров): тип функции;
Тип функции - это тип возвращаемого результата.
В разделе операторов имени функции должно быть присвоено значение возвращаемого результата.
Пример:
Function f (x:integer):real; begin
F :=sin(x)+sqr(x);
End;
Для вызова функции из программы или другой подпрограммы следует указать имя функции со списком фактических параметров в выражении, где необходимо использовать значение функции.
Например:
У :=f(a); {а - фактический параметр}
В Pascal для каждой функции автоматически определена локальная переменная Result того же типа, что и возвращаемое функцией значение. Эту переменную можно использовать в промежуточных вычислениях. Значение Result при вызове функции не определено. Последнее присвоенное ей значение и вернется как значение функции.
Примеры:
Function f (х: integer) :real; begin
Result :=sin(x)+sqr(x);
End;
Локальная переменная Result может использоваться и в правой части оператора присваивания, не вызывая рекурсивного вызова функции
Function f: integer; begin
Result:=l; result:= result +1;
End;
Функция f будет возвращать значение 2. А выполнение функции g:
Function g: integer; begin
G:=l;
G:=g+l;
End;
Приведет к зацикливанию программы.
В Delphi функция может быть вызвана как процедура. При этом возвращаемое значение просто теряется.
Формальные и фактические параметры
Формальные параметры можно разбить на несколько категорий. Рассмотрим две из них:
Параметры-значения;
Параметры-переменные.
Параметры - значения передаются основной программой в подпрограмму в виде их копий и, следовательно, подпрограмма не может изменить собственный параметр программы. Другими словами, формальный параметр-значение при вызове подпрограммы получает свое значение путем копирования соответствующего ему фактического параметра, и при изменении такого формального параметра соответствующий ему фактический параметр не меняется.
Параметры - значение указывается в заголовке подпрограммы своим именем и через двоеточие - типом. Тип параметра-значения может быть любым за исключением файлового. В качестве фактического параметра на месте параметра - значения при вызове подпрограммы может выступать любое выражение совместимого для присваивания типа.
При передаче параметров-переменных в подпрограмму передаются сами переменные, а не их копии (фактически передаются их адреса в порядке, объявленном в заголовке подпрограммы). Следовательно, подпрограмма имеет доступ к этим параметрам и может их изменять. Параметр-переменная используется в том случае, когда значение должно передаваться из подпрограммы вызывающей программе. При вызове подпрограммы на месте параметра-переменной в качестве фактического параметра должна использоваться переменная идентичного типа.
Параметр-переменная указывается в заголовке подпрограммы аналогично параметру - значению, но только перед именем параметра записывается зарезервированное слово var. Действие var распространяется до ближайшей точки с запятой, т. е. в пределах одной группы.
Procedure summa(a:integer;b:real; var c:real); begin
C:=a+b;
End; {a, b - параметры-значения; с - параметр-переменная}
Похожие статьи
-
Рекурсивные процедуры и функции - Структурирование программы
Подпрограмма, вызывающая саму себя, называется рекурсивной подпрограммой. При каждом новом обращении к подпрограмме параметры, которые она использует,...
-
Описание и использование процедур и функций Подпрограмма - это часть программы, оформленная в виде отдельной синтаксической конструкции и снабженная...
-
Пользователя - Структурирование программы
Для того, чтобы часто используемые типы данных, константы, переменные, процедуры и функции не описывать заново в каждой программе, их описания,...
-
Локальные и глобальные параметры - Структурирование программы
Параметры, объявленные внутри подпрограммы и доступные только ей самой, называются локальными. В разделе описаний подпрограммы могут встретиться описания...
-
Программный интерфейс высокого уровня. - Механизм вызова удаленных процедур - RPC
Использование подпрограмм в программе - традиционный способ структурировать задачу, сделать ее более ясной. Наиболее часто используемые подпрограммы...
-
Процедуры и переменные Таблица с описание процедур: Вызов Название процедуры Предназначение Кнопка "Записать уравнение" TForm1.Button1Click Составление и...
-
Первая программа - движение слева направо Просмотрите код Unit1.pas для нашего примера: Unit Unit1; Interface Uses Windows, Messages, SysUtils, Variants,...
-
Минимальный состав аппаратных средств Минимальный состав используемых технических (аппаратных) средств: IBM PC совместимый с процессором 80386 и выше ОЗУ...
-
Функциональное назначение программы Основной функцией программы "AdressBook. exe" является ведение справочника. Имеется возможность добавлять и удалять...
-
Программа на языке Бейсик - Составление программы для решения системы уравнений
10 REM 20 DIM A(20,20),B(20),X(20) 30 READ N 40 FOR I=1 TO N: FOR J=1 TO N 60 READ A(I, J) : NEXT J 80 READ B(I) : NEXT I 90 REM Vibor elementa 100 FOR...
-
Тип "Запись" (Record) и оператор присоединения With - Записи в Турбо Паскале
Запись - это структурированный тип данных, состоящий из фиксированного числа компонентов одного или нескольких типов. Определение типа записи начинается...
-
Структуры сообщений протокола. - Механизм вызова удаленных процедур - RPC
При передаче RPC-сообщений поверх транспортного протокола, несколько RPC-сообщений могут располагаться внутри одного транспортного пакета. Для того чтобы...
-
СООБЩЕНИЯ ОПЕРАТОРУ, Сообщение о программе, Листинг программы - Руководство оператора
Сообщение о программе Программа "AdressBook. ехе" выдает сообщение о программе, при выборе в главном меню пункта "О программе" во вкладке "Помощь"...
-
Выполнение функции добавление человека в базу данных По нажатию на кнопку "Добавить" или сочетанием клавиш Ctrl+A произойдет добавление человека в базу...
-
Инструментальное программное обеспечение -- это программное обеспечение, предназначенное для использования в ходе проектирования, разработки и...
-
Примеры визуального представления данных - Визуализация количественных данных
Визуализация программный обеспечение данные В научно-технической документации применяются различные виды визуализации (ниже приведены примеры...
-
СХЕМА АЛГОРИТМА РАБОТЫ ПРОГРАММЫ, ЗАКЛЮЧЕНИЕ - Основы программирования в операционной системе Unix
Блок-схема главной функции программы (main) изображена на рисунке 4. Рисунок 4 - блок-схема main. cpp Блок-схема модуля (Math. cpp) изображена на рисунке...
-
Модуль - Самостоятельно компилируемый файл ТР, который может содержать описание констант, переменных и типов, процедур и функций. Он имеет имя и хранится...
-
В данном разделе выпускной квалификационной работы описывается процесс разработки программы извлечения КП текста, а также производится оценка качества ее...
-
Полученное по вышеприведенным формулам значение угла сравнивается с заданными величинами запуска и остановки. Программа обеспечивает запуск сканирования...
-
При установке Linux будет предоставлена информация о требуемом дисковом пространстве при различной конфигурации системы. Отдельно устанавливаемые...
-
ТИПИЗИРОВАННЫЕ КОНСТАНТЫ - Типы данных в программе Турбо Паскаль
В Турбо Паскале допускается использование типизированных констант. Они задаются в разделе объявления констант следующим образом: <индификатор> :...
-
ПРОЦЕДУРНЫЕ ТИПЫ, ТИП ОБЪЕКТ - Типы данных в программе Турбо Паскаль
Процедурные типы -- это нововведение фирмы Borland (в стандартном Паскале таких типов нет). Основное назначение этих типов -- дать программисту гибкие...
-
Правила записи программы на языке Си - Основы программирования
Как указывалось выше, программа перед обработкой компьютером должна быть помещена в файл на диске. Обычно этот файл имеет расширение <.c>. Рассмотрим...
-
Вычислить приближенное значение определенного интеграла с подынтегральной функцией f(x) заданным методом и проверить точность вычислений по формуле...
-
ОСНОВНЫЕ ПРОГРАММЫ АРХИВАТОРЫ И ИХ ФУНКЦИИ - Архивация информации и программы-архиваторы
Назначение программ-архиваторов заключается в экономии места на диске за счет сжатия (упаковки) одного или нескольких файлов в архивный файл....
-
Введение, Правила и порядок выполнения курсовой работы - Программирование в среде Turbo Pascal
Настоящие методические указания предназначены для выполнения курсовой работы "Расчеты на ЭВМ характеристик выходных сигналов электрических цепей" по...
-
ДД-код Константа16 ДД-код Константа16 1111 1111 FF 0000 0000 00 0011 0101 35 1111 0100 F4 0101 0111 57 1001 1010 9A 1000 1101 8D 0000 0111 07 1000 0000...
-
Заключение - Разработка программы для реализации редактора временных графов синхронизации
Результатом выполнения задания является реализованный редактор временных графов синхронизации (класс временных сетей Петри), соответствующий задачам,...
-
Обоснование выбранного метода При дизайне системы согласно требованиям или при оптимизации существующей необходимо ввести модель, позволяющую не только...
-
Программа "Экранная лупа" облегчает работу с экраном пользователям с нарушениями зрения. Она выводит отдельное окно, в котором отображается увеличенная...
-
ПОРЯДКОВЫЕ ТИПЫ, Логический тип - Типы данных в программе Турбо Паскаль
К порядковым типам относятся целые, логический, символьный, перечисляемый и тип-диапазон. Целые типы. Диапазон возможных значений целых типов зависит от...
-
Классификация вредоносных программ, Вирусы - Компьютерные вирусы
На данный момент нет единой общепринятой классификации вредоносных программ. Каждая компания - разработчик антивирусного ПО использует свою классификацию...
-
ФУНКЦИИ И ПРОЦЕДУРЫ, Модуль Graph, Координаты, окна, страницы - Работа с языком Турбо Паскаль
Модуль Graph Модуль Graph Турбо Паскаля содержит около пятидесяти различных процедур и функции, предназначенных для работы с графическим экраном. В этом...
-
Характеристика антивирусных программ - Компьютерный вирус
Антивирусные программы делятся на: программы-детекторы, программы-доктора, программы-ревизоры, программы-фильтры, программы-вакцины. Программы-детекторы...
-
Параболическая зависимость - Составление программы для решения системы уравнений
Если в многочлене F (x)= B 0 X M + B 1 X M-1 +.....+ B M-1 X + B M m=2 Тогда, это многочлен называется параболической зависимости. Установим вид...
-
Линейная зависимость - Составление программы для решения системы уравнений
Рассмотрим подробнее аппроксимирующие зависимости Y(x)=f(x, B 0 ,B 1,..., B N ) с двумя параметрами: Y(x)=f(x, B 0 ,B 1 ) Используя соотношения (1) и...
-
Узлы оснастки, Конфигурация программ - Настройки групповых политик GPO (Group Policy Object)
В оснастке редактора локальных объектов групповой политики присутствуют два основных узла: * Конфигурация компьютера, который предназначен для настройки...
-
ClassBase_Korabl {:Color;:_Korabl();Prorisovka(short x, short y); } В этом листинге в производном классе был переопределен метод Prorisovka() для...
-
Известно, что любые элементы имеют разброс параметров. Поэтому, использование динамического диапазона АЦП может быть неполным или наоборот, может...
Примеры операторов вызова процедур - Структурирование программы