close

Вход

Забыли?

вход по аккаунту

?

Материал Подпрограммы

код для вставкиСкачать
Материалы к теме «Функция»
Пример 1. Составить программу, вычисляющую
площадь поверхности пирамиды. Вычисление площади
треугольника оформить в виде функции.
program piram;
uses CRT;
var a,b,c,d,e,f,S: real;
function pl_tr(x,y,z:real): real;
var p, st: real; {описательная часть функции}
begin {операторная часть функции}
p:=(x+y+z)/2;
st:= sqrt(p*(p-x)*(p-y)*(p-z));
pl_tr:=st;
end;
clrscr;
write(‘Введите длины 6 ребер пирамиды ‘);
readln(a,b,c,d,e,f);
S:=pl_tr(a,b,c); { в S добавляется площадь треугольника (a,b,c)}
S:= S + pl_tr(b,d,f); { в S добавляется площадь треугольника (b,d,f)}
S:= S + pl_tr(c,e,f); { в S добавляется площадь треугольника (c,e,f)}
S:= S + pl_tr(a,d,e; { в S добавляется площадь треугольника (a,d,e)}
writeln;
writeln( “Площадь поверхности пирамиды =,S:2:2);
readln;
end.
Функция pl_tr имеет три формальных параметра x,y,z: вещественного
типа. В ее разделе var описаны две локальных переменные p и st. В этой
программе вызов функции pl_tr производится 4 раза с разным набором
фактических параметров. Переменные a,b,c,d,e,f,S, описанные в разделе var
самой программы, являются глобальными.
Материалы к теме «Процедуры»
Пример 2. Имеются три одномерных массива А, В, С длиной n.
Составить программу, находящую сумму элементов всех 3-х массивов,
выводящую на экран сами массивы и сумму. Длину массива запросить у
пользователя. Ввод элементов массива (их запрашивать у пользователя),
нахождение суммы элементов одного массива оформить в виде функции
sym_mas, вывод элементов массива оформить в виде процедуры isk_sym.
program symma;
uses CRT;
type mas = array[1..100] of real; {программистский тип mas}
var isk_sym: real; n: integer;А,В,С: char;{переменные стандартных типов}
A1, B1, C1: mas; {переменные программистского типа}
function sym_mas (k: integer; Ima:char; var X: mas ): real;
{в функции 2 параметра- значения, 3-тий параметр -переменная}
var i: integer; S:real; { описание локальных переменных функции}
begin {начало тела функции}
clrscr;
S:=0;
for i:=1 to k do begin
write(‘ Введите ‘,i, ‘ элемент массива ‘,Ima,’ ‘);
readln (x[i]);
S:=S + x[i];
end;
sym_mas:=S;
end; {конец тела функции}
procedure vivod_mas(k: integer; Ima:char ; X: mas);
{в процедуре все 3 параметра есть параметры – значения}
var i:integer; S:real; { описание локальных переменных процедуры}
begin {начало тела процедуры}
write (‘Массив ‘, Ima, ‘=(‘);
for i:=1 to k do write (x[i]:2:2, ‘ ‘);
write (‘)’);
writeln;
end;
BEGIN { Тело основной программы}
clrscr;
write(‘ Введите размерности массивов ‘);
readln (n);
isk_sym:=sym_mas (n, A, A1);
isk_sym:= isk_sym + sym_mas (n, В, В1);
isk_sym:= isk_sym +sym_mas (n, С, С1);
clrscr;
vivod_mas(n, Ima,A1);
vivod_mas(n, Ima,B1);
vivod_mas(n, Ima,C1);
writeln(‘ Сумма всех элементов трех массивов=’, isk_sym:2:2);
readln;
END
Автор
5   документов Отправить письмо
Документ
Категория
Без категории
Просмотров
5
Размер файла
40 Кб
Теги
подпрограмма, материалы
1/--страниц
Пожаловаться на содержимое документа