Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Текст программы на Паскале





Program Work_4;

{Работа №4, вариант №666, гр.АЭ-04-01, Иванов И.И.}

Type vector=array[1..100] of integer;

var Vr, n, i, a, b: integer;

R: vector;

Dev: text;

name: string;

Sg: real;

 

Procedure Part_1(Vr,n,a,b:integer; var R:vector);

var i:integer;

Begin

If Vr<>1 then randomize;

for i:=1 to n do r[i]:=a+Round((b-a)*Random(100)/100);

end;

 

Procedure Part_2(n:integer; R:vector; var Sg:real);

var i,k:integer;

P:real;

Begin

P:=1;

k:=0;

For i:=n div 2 + 1 to n do

If (r[i]<>0) and (not odd(i)) then

begin

P:=P*r[i];

k:=k+1;

end;

If k>0 then

If P>0 then Sg:=exp(1/k*ln(P))

else

If odd(k) then Sg:=-exp(1/k*ln(abs(P)))

else Sg:=0

else Sg:=0;

end;

 

Procedure Part_3(n,a,b:integer; R:vector);

var i,k,M:integer;

Begin

M:=maxint; { Наибольшее значение переменной целого типа в Паскале = 32767 }

k:=0;

For i:=n div 3+1 to 2*n div 3 do

If ((r[i]<a/2.0) or (r[i]>b/2.0)) and (M>abs(r[i])) then

begin

M:=abs(r[i]);

k:=i;

end;

If k>0 then

begin

writeln(dev,'Наименьшее по модулю значение M = ',m:3);

write(dev,'имеют R[',k:2,'] = ',r[k]:2);

For i:=k+1 to 2*n div 3 do

If abs(r[i])=M then write(dev,' R[',i:2,'] = ',r[i]:2);

writeln(dev);

end

else writeln(dev,'Нет нужных элементов');

end;

 

Procedure Part_4(n:integer; var R:vector);

var i,j,k,buf:integer;

Begin

For i:=n div 2 + 1 to 3*n div 4 - 1 do

If r[i]>=0 then

begin

k:=i;

For j:=i+1 to 3*n div 4 do

If r[j]>=0 then

If 1/(r[j]+0.1e-30) > 1/(r[k]+0.1e-30) then k:=j;

buf:=r[i];

r[i]:=r[k];

r[k]:=buf;

end;

end;

 

Begin

writeln('для вывода на экран введите con');

writeln('для вывода на принтер введите prn');

write('для вывода в файл введите его адрес: ');

readln(name);

Assign(Dev,name);

Rewrite(Dev);

write('введите вариант расчета Vr => ');

readln(Vr);

if Vr=0 then

begin

n:=17; a:=-3; b:=4;

r[1]:= 1; r[2]:= 0; r[3]:=-3; r[4]:= 2; r[5]:= 0;

r[6]:=-3; r[7]:= 4; r[8]:= 3; r[9]:= 2; r[10]:= 0;

r[11]:= 0; r[12]:= 4; r[13]:= 0; r[14]:=-2; r[15]:=-1;

r[16]:=-1; r[17]:= 1;

end

else

begin

Write('Введите n,a,b => '); readln(n,a,b);

Part_1(Vr,n,a,b,r);

end;

writeln(dev,'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++');

writeln(dev,'Исходный массив:');

For i:=1 to n do

begin

write(dev,r[i]:3);

if i = n div 2 then writeln(dev);

end;

writeln(dev);

writeln(dev,'++++++++++++++++++++++++++++++++++++++++++++++++++++++++');

part_2(n,r,sg);

writeln(dev,'Среднегеометрическое Sg=',Sg:7:4);

writeln(dev,'++++++++++++++++++++++++++++++++++++++++++++++++++++++++');

part_3(n,a,b,r);

writeln(dev,'++++++++++++++++++++++++++++++++++++++++++++++++++++++++');

part_4(n,R);

writeln(dev,'Упорядоченный массив:');

for i:=1 to n do

begin

write(dev,r[i]:3);

if i = n div 2 then writeln(dev);

end;

writeln(dev);

writeln(dev,'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++');

close(dev);

end.

 

Date: 2015-11-13; view: 341; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.006 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию