ПЕНЗЕНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
Кафедра МО и ПЭВМ
Лабораторная работа № 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.
Блок-схема
|