ПЕНЗЕНСКИЙ
ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
Кафедра МО и ПЭВМ
Лабораторная работа № 6
Тема: «Программирование элементов разветвляющейся
структуры»
Выполнил:
студент гр. 02ТП1
Пахомов
В. Е.
Проверил:
Ракова А. Н.
2003
Задание
А.
Определить во сколько раз
среднее геометрическое чисел натурального ряда кратных трём в диапазоне от 1 до
31 превышает среднее арифметическое этих чисел.
Программа:
uses crt;
function
koren(X : real; power : integer) : real;
var
I : integer;
begin
if power
mod 2 <> 0 then power := power * 2;
for i :=
1 to power div 2 do
begin
X := sqrt(X);
end;
koren :=
X;
end;
var
n,i : integer;
avs, avg, sum,
gem :real;
begin
i := 1;
n := 0;
sum :=0;
gem := 1;
while i <
31 do
begin
sum
:= sum + i;
gem
:= gem * i;
i
:= i + 3;
inc(n);
end;
writeln('Сумма = ',Sum:3:4,'
Производные = ', gem:3:4);
avs := sum /
n;
avg :=
koren(gem,n);
{writeln('avs
= ',avs:3:4,' avg = ', avg:3:4,' n = ',n );}
writeln('Ответ = ',avg/avs:3:4,' raz');
readkey;
end.
Блок-схема
Задание Б.
Произвести
вычисление значения функции:
в диапазоне значений х
от до , изменяющегося с шагом h. На печать выводить только
функции, при соответствующих значениях аргумента.
Программа:
uses crt;
var
h,n,e,i,y : real;
begin
clrscr;
writeln('Введите значение нижнего предела Х ');
readln(n);
writeln('Введите значение верхнего предела Х');
readln(e);
writeln('Введите значение шага ');
readln(h);
i := n;
while i < e do
begin
y :=
(i*i*i+sin(sqr(i)))/(1+sqrt(abs(i)))*cos(i);
i := i + h;
if y > 0 then writeln('Значения фукции
',y:4:5,' x = ',i:4:4);
end;
readkey;
end.
Uses crt;
Var
h, n, e, i, x,
y:real;
begin
clrscr;
writeln('Введите значение
нижнего предела X');
readln(n);
writeln('Введите значение
вврехнего предела X');
readln(e);
writeln('Введите значение
шага');
readln(h);
i:=n;
repeat
y:=(i*i*i+sin(sqr(i)))/(1+sqrt(abs(i)))*cos(i);
i:=i+h;
if y>0 then
writeln('Значения функции ', y:4:5,' x=',i:4:4);
until i>e;
readkey;
end.
uses crt;
Var
y :real;
i, n, e:integer;
Begin
clrscr;
writeln('Введите
значение нижнего предела X');
readln(n);
writeln('Введите
значение верхнего предела X');
readln(e);
for i:=n to e do
begin
y := (i*i*i+sin(sqr(i)))/(1+sqrt(abs(i)))*cos(i);
if y>0 then writeln('Значения функции
',y:3:3);
end;
readkey;
end.
Блок-схема