подпрограммы
преподаватель
Климова Ольга Сергеевна,
г. Кулебаки
Автономная часть программы, реализующая определенный алгоритм и допускающая обращение к ней из различных частей общей программы, называется подпрограммой.
Передача данных из основной программы в подпрограмму (входные данные) и возврат результата выполнения подпрограммы осуществляется с помощью параметров.
Параметры - это данные, которые передаются вызываемой подпрограмме и используются последней в качестве входной и (или) выходной информации.
Процедура - это независимая часть программы, которую можно вызывать по имени для выполнения определенных действий.
Структура процедуры имеет вид :
Procedure имя( список формальных параметров );
(* раздел описаний *)
begin
(* раздел операторов *)
end;
Первая строка описания называется заголовком процедуры , а раздел операторов называется телом процедуры.
Функции
Заголовок функции состоит из слова Function , за которым указывается имя функции, затем в круглых скобках записывается список формальных параметров, далее ставится двоеточие и указывается тип результата функции.
В теле функции обязательно должен быть хотя бы один оператор присваивания, в левой части которого стоит имя функции, а в правой - ее значение. Иначе значение функции не будет определено.
Общий вид описания функции:
Function Имя[(список формальных параметров)] : Тип результата;
описательная часть
Begin
тело функции, в которой обязательно должно быть
присваивание Имя_функции:=значение;
End ;
Формальные параметры - параметры, определенные в заголовке процедуры.
Фактические параметры - выражения, задающие конкретные значения при обращении к процедуре.
При обращении к процедуре ее формальные параметры замещаются фактическими, переданными из основной программы .
Фактические параметры - это параметры, которые передаются процедуре при ее вызове.
Количество и тип формальных и фактических параметров должны в точности совпадать.
Пример 1:
Вычислить значение функции у=
начало
a , b ,с, d
начало
X=A*3.14/180,Y=B*3.14/180
Х,У
Z1=W
X=C*3.14/180,Y=D*3.14/180
W=cos(x)+sin(y)+3
Z2=
конец
Z=Z1/Z2
печать Z
конец
program primer1;
var
a,b,c,d,z,z1,z2,x,y:real;
procedure w(x,y:real; var w:real);
begin
w:=cos(x)+sin(y)+3;
end;
begin
writeln(‘ задайте a,b,c,d’);
readln(a,b,c,d);
x:=a*3.14/180;
y:=b*3.14/180;
w(x,y,z1);
x:=c*3.14/180;
y:=d*3.14/180;
w(x,y,z2);
z2:=sqrt(z 2 );
z:=z1/z2;
write(‘z=‘,z :4:2 );
readln;
end.
Тестовый пример
A=20
B=60
C=45
D=30
Z=2.19
Пример 2:
Вычислить С=
Факториал.
N!=1*2*3*…*N
1!=1
2!=1*2=2
3!=1*2*3=6
4!=1*2*3*4=24
…
начало
начало
m,n
Р=1
Z=n!
i=1..k
Z1=m!
P=P*i
Z2=(n-m)!
конец
печать С
конец
program primer2;
var
z,z1,z2,c:real;
k,m,n:integer;
function factorial(k:integer):integer;
var i,p:integer;
begin
p:=1;
for i:=1 to k do
p:=p*i;
factorial:=p;
end;
begin
writeln(‘ задайте m’);
readln(m);
writeln(‘ задайте n’);
readln(n);
z:=factorial(n);
z1:=factorial(m);
z2:=factorial(n-m);
c:=z/(z1*z2);
write(‘c=‘,c:4:2);
readln;
end.
Тестовый пример
m=2
n=5
c=10
Пример 3:
Вычислить значение выражения:
Вычислить значение выражения:
program primer3 ;
var x,y:real;
function lg(x:real) : real;
begin
lg := ln ( x )/ ln (10);
end;
function tg (x: real) : real;
begin
tg:=sin(x)/cos(x) ;
end;
BEGIN
writeln(' Введите х ');
readln(x);
y:=lg(sqr(tg(x))+sqr(cos(x)))/sqr(tg(x+sqr(lg(x)))+sqr(sin(x)));
writeln('y=',y: 5 : 4 );
readln;
END.
Тестовый пример
Введите х
3.4
у= 0.0045
Практическое задание:
Разработать алгоритм, составить блок-схему и тестовый пример для решения следующих задач.
Практические задания
1. Вычислить значение функции
у= , если A=20 , B=60 , C=45 , D=30 .
(Числовые значения углов даны в градусах).
2. Вычислить по формуле С= n ! m !.
3. Вычислить значение выражения
.