- •Практическая работа Составление программ, в которых применяются процедуры и функции
- •Задание.
- •Написать программу для нахождения значения функции
- •Написать программу для нахождения значения функции
- •Написать программу для нахождения значения функции
- •Задание
- •Оформление отчета:
- •Контрольные вопросы:
Практическая работа Составление программ, в которых применяются процедуры и функции
Цель работы: |
Научиться работать с процедурами и функциями и использовать параметры-переменные в процедуре. |
Пример:
Написать
программу для нахождения значения
функции
,
где х изменяется
от
до
с
шагом .
Вычисление у
оформить в виде функции.
{ Вычисление значений у}
program prac9;
var x,y:real;
function f(x:real):real;
begin
f:=sin(x)-1;
end;
begin
writeln(' x y');
writeln('------------------------');
x:=pi/2;
repeat
y:=f(x);
writeln(x:6:2,y:15:6);
x:=x+pi/12;
until x>2*pi;
writeln('------------------------');
readln;
end.
Задание.
№1.
Написать программу для нахождения значения функции
х изменяется от до с шагом . Вычисление у оформить в виде функции.
Program Func_1_1;
const
pi=3.14;
var
y,x:real;
Function f(x:real):real;
begin
f:= sin(x)/x;
end;
begin
x:= pi/2;
while x < 2 * pi do
begin
y:=f(x);
writeln('x = ', (x * 180)/pi:3:2, ' y=',y:3:2);
x:=x+pi/12;
end;
end.
x = 90.00 y=0.64
x = 105.00 y=0.53
x = 120.00 y=0.41
x = 135.00 y=0.30
Н
аписать
программу и процедуру,
вызываемую из основной программы для
вычисления объема шара и площади его
поверхности.
Program Proc_1_2;
const
pi=3.14;
var
r,P,V:real;
Procedure ObS(r:real; var m,n:real);
begin
m:= 4/3 *pi * sqr(r);
n := 4/3 * pi *power(r,3);
end;
begin
write('Введите радиус r = ');
read (r);
Obs(r, p, v);
writeln('p = ',p:3:2, ' v =', v:3:2);
end.Введите радиус r = 5
p = 104.67 v =523.33
№2.
Написать программу для нахождения значения функции
х изменяется от до с шагом . Вычисление у оформить в виде функции.
Program Func_2_1;
const
pi=3.14;
var
y,x:real;
Function f(x:real):real;
begin
f:= x * cos(x);
end;
begin
x:= pi/2;
while x <= 2 * pi do
begin
y:=f(x);
writeln('x = ', (x * 180)/pi:3:2, ' y=',y:3:2);
x:=x+pi/12;
end;
end.
x = 90.00 y=0.00
x = 105.00 y=-0.47
x = 120.00 y=-1.04
x = 135.00 y=-1.66
x = 150.00 y=-2.26
Написать программу и процедуру, вызываемую из основной программы для вычисления объема параллелепипеда и площади его поверхности (V = abc, P = 2(ab + bc + ac)).
Program Proc_2_2;
var
a,b,c,v,p:real;
Procedure ObPl(x,y,z:real; var o,s:real);
begin
o:= 2*(x*y + y* z + x* z);
s := x*y*z;
end;
begin
writeln('Введите a,b,c');
read (a,b,c);
ObPl(a,b,c,p,v);
writeln('площадь параллепипеда p = ',p:3:2, ' объем параллепипеда v =', v:3:2);
end.
Введите a,b,c
2.1
3.3
6.4
площадь параллепипеда p = 82.98 объем параллепипеда v =44.35
№3.
Написать программу для нахождения значения функции
х изменяется от -1 до 3 с шагом 0,5. Вычисление у оформить в виде функции.
program _3_XXX;
var
x,y:real;
function f(x:real):real;
begin
f:=sqrt(abs(x)*exp(-x));
end;
begin
x:=-1;
while x<3 do
begin
y:=f(x);
writeln('x = ',x:3:2,' y = ',y:3:2);
x:=x+0.5;
end;
end.
Ответ
x = -1.00 y = 1.65
x = -0.50 y = 0.91
x = 0.00 y = 0.00
x = 0.50 y = 0.55
x = 1.00 y = 0.61
x = 1.50 y = 0.58
x = 2.00 y = 0.52
x = 2.50 y = 0.45
Написать программу и процедуру, вызываемую из основной программы для вычисления объема куба и площади его поверхности (V = a3 , P = 6a2 ).
Введите a = 4
площадь куба = 96.00 объем куба v =64.00
program _3_XX;
var
a,v,p:real;
procedure obs(x:real; var v,p:real);
begin
v:=power(x,3);
p:=6*sqr(x);
end;
begin
write('a = ');
read(a);
obs(a,v,p);
writeln('v = ',v:0:2,' p = ',p:0:2);
end.
Ответ
a = 4
v = 64.00 p = 96.00
№4.
