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

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

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

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

 

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



Блок-схема