ПЕНЗЕНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
Кафедра МО и ПЭВМ
Лабораторная работа № 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.
Блок-схема
----------------------- avs := sum / n; avg := koren(gem,n);
I=1;31;3
i := 1; n := 0; sum :=0; gem := 1;
avg/avs
sum := sum + i; gem := gem * i; i := i + 3; inc(n);
Конец
Начало
y,x
y>0
n,e,h
I=1;e;h
i := n;
y := (i*i*i+sin(sqr(i)))/(1+sqrt(abs(i)))*cos(i);
Конец
Начало