Процедуры и функции на языке программирования Паскаль.


Язык программирования Pascal Процедуры и функции А. Жидков Вспомогательный алгоритм - подпрограмма Подпрограммы применяются когда:часть алгоритма неоднократно повторяется в программе;можно использовать фрагменты разработанных ранее алгоритмов;для разбиения крупных программ на части в соответствии с модульным принципом программирования. В паскале реализовано два типа подпрограмм процедуры и функции. Процедуры и функции Процедура( функция) представляет собой последовательность операторов, которая имеет имя, список параметров и может быть вызвана из различных частей программы. Имя процедуры в тексте программы называется вызовом. Вызов активирует процедуру (функцию) - начинают выполняться её операторы.После выполнения процедуры программа продолжается с оператора стоящего за вызовом. Отличие процедур от функций в том, что функции возвращают значение. Описание процедур и функций Все процедуры или функции должны быть описаны в разделе описаний основной программы. Описание процедуры имеет вид:procedure имя (список формальных параметров);раздел описаний локальных параметров begin  операторы тела процедуры end; Описание функции имеет вид:function имя (список формальных параметров): тип значения функции;раздел описаний локальных параметров begin  операторы тела функции end; Параметры процедур и функций Список формальных параметров состоит из одной или нескольких секций, разделенных символом " ; ". Секция состоит из списка переменных, перечисляемых через запятую, знака “:” и типа. Секция может предваряться служебным словом var - тогда параметры передаются по ссылке, (экономия памяти и времени).Если var отсутствует параметры передаются значениями.Список формальных параметров вместе с окружающими скобками может отсутствовать. Раздел описаний локальных параметров Раздел описаний процедуры или функции устроен так же, как и раздел описаний программы. Здесь описываются локальные переменные, константы и вложенные процедуры и функции. Все такие локальные объекты доступны лишь внутри данной подпрограммы и не видны извне. Локальные и глобальные параметры Глобальными называются переменные, объявленные в основной программе и доступные как программе, так и всем ее подпрограммам.Локальными называются переменные, объявленные внутри подпрограммы и доступные только ей самой.Обмен информацией между основной программой и подпрограммой может осуществляться двумя способами: через глобальные переменныес помощью параметров подпрограммы.Подпрограмма может использовать любые глобальные переменные кроме тех, которые имеют те же имена, что и ее локальные переменные. Если в подпрограмме описана локальная переменная, имя которой совпадает с именем некоторой глобальной переменной, то данная глобальная переменная становится недоступной в этой подпрограмме, и при указании идентификатора переменной произойдет обращение к локальной переменой подпрограммы, а не одноименной глобальной переменной. Память для локальных (т.е. описанных в подпрограмме) переменных выделяется на время исполнения данной подпрограммы в специальной области, называемой стеком. При завершении работы подпрограммы память освобождается, поэтому все внутренние результаты работы подпрограммы не сохраняются от одного обращения к другому. Решение задач с использованием подпрограмм Заданы координаты вершин двух треугольников на плоскости. Определить какой из треугольников имеет большую площадь. Дано:Координаты ABC(Xa, Ya) (Xb,Yb) (Xc,Yc)Координаты DEF(Xd, Yd) (Xe,Ye) (Xf,Yf)Найти:Smax=max(Sabc,Sdef) Формулы для решения задачи Решение:Формула длинны отрезка по координатам концовФормула площади треугольника по трем сторонам(Формула Герона) Схема программы Предлагается Разделить алгоритм на процедуры:Ввод координат вершин треугольникаОпределение длины сторонОпределение площади треугольника. начало Ввод вершин треугольника Длина стороны треугольника Площадь треугольника по формуле Герона Sabc