Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Боглачев_Пр_раб_Процедуры и функции.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
195.58 Кб
Скачать

Практическая работа Составление программ, в которых применяются процедуры и функции

Цель работы:

Научиться работать с процедурами и функциями и использовать параметры-переменные в процедуре.

Пример:

Написать программу для нахождения значения функции , где х изменяется от  до с шагом . Вычисление у оформить в виде функции.

{ Вычисление значений у}

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.

  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

  1. Н аписать программу и процедуру, вызываемую из основной программы для вычисления объема шара и площади его поверхности.

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.

  1. Написать программу для нахождения значения функции

х изменяется от  до с шагом . Вычисление у оформить в виде функции.

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

  1. Написать программу и процедуру, вызываемую из основной программы для вычисления объема параллелепипеда и площади его поверхности (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. Написать программу для нахождения значения функции

х изменяется от -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

  1. Написать программу и процедуру, вызываемую из основной программы для вычисления объема куба и площади его поверхности (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.