Для решения сложной задачи программисты выполняют разделение
этой задачи на подзадачи, подзадачи – на еще меньшие подзадачи и так далее, до
легко программируемых элементарных задач. Со временем у каждого программиста
через некоторое время появляется большой набор собственных заготовок, которые
он использует в своих творениях.
Эти отдельные части называются подпрограммами. Сам термин
подпрограмма говорит о том, что она подчинена основной программе. Подпрограммы избавляют
от необходимости многократно повторять в тексте программы, улучшают структуру
программы, облегчая понимание при разборе, уменьшают вероятность появления
ошибок.
Подпрограмма– это повторяющаяся группа операторов, оформленная в виде
самостоятельной программной единицы.
В языке Pascal механизм подпрограмм реализуется в виде PROCEDURE
и FUNCTION, которые вводятся в программу с помощью своего описания, но их
структура такая же, как иструктура программы. Они различаются способом их использования.
Процедуры предназначены для выполнения некоторой последовательности
действий.
Чтобы использовать подпрограмму – процедуру её надо описать и к ней надо уметь
обращаться.
1.Выбрать для неё имя.
2.Определить параметры.
3.Составить последовательность действий, которые надо выполнять,
для получения результата.
Любая процедура начинается с заголовка, который является ее
обязательной частью . Он состоит из служебного слова Procedure,
за которым следует имя процедуры, а в круглыхскобках – список формальных параметров. После заголовка могут
идти те же разделы, что и в программе. Таким образом, общий вид будет
следующим:
Рrосеdиrе
<имя> (формальные параметры);
VAR (описание локальных параметров, они могут быть или не быть)
begin
тело процедуры
end; (конец процедуры)
BEGIN (головного модуля)
Фактические параметры
END.
Используя подпрограмму – процедуру рассмотрим несколько задач
1.Составить процедуру нахождения максимального из двух действительных чисел, вводимых с клавиатуры. Используйте процедуру для нахождения максимального значения для четырех чисел.
uses crt;
var a,b,s,c,d:real;
procedure maxim (x,y:real;var s:real);
begin
if x < y then s:=y else s:=x;
end;
begin
clrscr;
writeln('вводим первую пару');
writeln('a=');readln(a); writeln('b=');readln(b);
writeln('вторую пару');
writeln('c=');readln(c); writeln('d=');readln(d);
{В переменную S заносим большее из двух чисел А и В.}
maxim(a,b,s);
{В переменную S заносим большее из двух чисел С и S.}
maxim(c,s,s);
{В переменную S заносим большее из двух чисел D и S.}
maxim(d,s,s);
writeln('max=',s:3:1);
readln;
end.
ДЗ Заданы координаты вершин треугольника. Составить процедуру нахождения длин сторон. Вычислить периметр,
площадь с помощью созданной процедуры.