- •Элементы технологии обработки информации с помощью эвм. Модели решения функциональных и вычислительных задач.
- •Алгоритмический язык Pascal. Алфавит языка, лексика, структура программы.
- •Общая структура Pascal-программы
- •Выражения. Операции.
- •2. Описание двумерных массивов
- •5. Организация сложных циклов.
- •2. Процедуры и функции. Блочная структура программы. Параметры.
- •Организация связи основной программы с подпрограммой
- •1. Структура подпрограмм
- •2. Функция
- •2.1. Структура функции
- •2.2. Обращение к функции
- •2.3. Программирование с использованием функции
- •3. Локальные и глобальные переменные.
- •4. Параметры - массивы.
- •5. Процедуры
- •5.1. Структура процедуры
- •5.2. Обращение к процедуре
- •5.3. Параметры-переменные и параметры-значения
2. Процедуры и функции. Блочная структура программы. Параметры.
< Что такое подпрограмма и для чего она нужна >
В Паскале имеется два типа подпрограмм: процедуры и функции. Основное различие между ними состоит в том, что функция возвращает значение и может использоваться в выражениях, например:
X := Sin(A);
в то время как процедура вызывается для выполнения одной или более задач:
Writeln('Это проверка');
Процедуры и функции позволяют включать в основной программный блок дополнительные блоки. Каждое описание процедуры или функции содержит заголовок, за которым следует программный блок.
Процедуры и функции могут появиться в любом месте до основного тела программы. Для процедур используется следующий формат:
procedure имя-процедуры(параметры);
Функции имеют такой же формат, что и процедуры за исключением того, что они начинаются с заголовка function и заканчиваются типом данных для возвращаемого значения функции:
function имя_функции(параметры) : тип данных;
Процедуры и фукнции могут иметь свои собственные константы, типы данных, переменные и даже собственные процедуры и функции. Но все эти элементы могут использоваться только в тех процедурах и функциях, в которых они определены.
Процедура активизируется с помощью оператора процедуры. Функция активизируется при вычислении выражения, содержащего вызов функции и возвращаемое функцией значение подставляется в это выражение.
Организация связи основной программы с подпрограммой
Часто некоторую последовательность операторов требуется выполнить в нескольких местах программы при различных исходных данных.
Часто не тратить время и не загромождать программу многократным повторением этих операторов целесообразно оформить их как вспомогательный программный модуль со своим именем, называемый ПОДПРОГРАММОЙ, а в соответствующих местах программы, являющейся основной (головной) ведущей единицей просто обратиться к ней (сослаться).
В качестве простых примеров использования подпрограмм в вычислительном процессе можно рассмотреть стандартные подпрограммы вычисления тригонометрических и иных функций (синус, логарифм и т.д.)
Для организации совместной работы основной программы с подпрограммой в нужных местах основной программы выполняется обращение к подпрограмме (вызов).
При вызове подпрограммы внутри основной программы указывается ИМЯ подпрограмы и какие исходные данные ей необходимо передать - фактические параметры, которые перечисляются в круглых скобках. Фактическими параметрами могут служить константы и переменные основной программы. Их значения могут использоваться и изменяться внутри подпрограммы.
Подпрограмма должна иметь имя, указанное в обращении, которое выбирается по тем же правилам, что имя переменных и объявляется в заголовке. В качестве аргументов объявляются формальные параметры. Формальными их называют потому, что они не имеют собственных значений. В качестве формальных параметров используют переменные.
Между формальными и фактическими параметрами устанавливается взаимно- однозначное соответствие по их порядку следования в списке. В момент вызова подпрограммы каждый формальный параметр принимает значение соответствующего фактического параметра основной программы и начинается выполнение вычислительной процедуры подпрограммы. Соответствие устанавливается по порядковому номеру формального и фактического параметров.
Результаты приведенных в подпрограмме расчетов автоматически возвращаются в основную программу. Таким образом, осуществляется двусторонний обмен информацией между основной программой и подпрограммой: из основной программы в подпрограмму передаются исходные данные, а обратно результаты ее выполнения.
Схема алгоритма решения задач с использованием подпрограммы может быть организована в виде двух отдельных схем алгоритмов - основного и вспомогательного. Причем при составлении схемы вспомогательного алгоритма, реализуемого в виде подпрограммы, в схеме появляются надписи ВХОД и ВЫХОД в начале и конце алгоритма соответственно. Обращение к вспомогательному алгоритму выполняется в схеме основного алгоритма с помощью специального блока.
Предопределенный
процесс
В ПАСКАЛЕ различают 2 вида подпрограмм: ФУНКЦИЯ и ПРОЦЕДУРА.
Главное их различие состоит в количестве результатов, возвращаемых в основной алгоритм(программу). Функцию целесообразно использовать, если результатом вычисления является только одно значение. Процедура универсальна. Она используется, когда результатом является произвольное количество значений, в том числе и ни одного.