Программирование элементов разветвляющейся структуры (работа 2)

ПЕНЗЕНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

Кафедра МО и ПЭВМ

Лабораторная работа № 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.

Блок-схема