Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Что делает программа?

Автор: Анна 22.04.2007 22:39

сабж ..

Вроде как должно считать среднее, максимальное и минимальные значения ... только по какому принципу mega_chok.gif

uses crt;
label 1,2;

var
p1, p2, p3, n1, n2, n3, n4, n5, n6, n1n, n2n, n3n, n4n, n5n, n6n, h, M: real;

y, t, tp, tr, del, a1, a2, a3, a4, t1max, t1min, t2max, t2min, t3max,
t3min, t1, t2, t3, ymin, ymax, ycp, yc: real;

i, k: integer;

k1, k2, k3, k4: real;

k1_b, k2_b, k3_b, k4_b: real;


begin
clrscr;

k:=10; h:=6; ymin:=0; ymax:=0; yc:=0;

writeln;
writeln ('Tr:');
writeln;
readln (tr);
writeln;

for i:=1 to k do begin
p1:=15; p2:=20; p3:=32;
del:=1; M:=0;
t1max:=8.5; t2max:=9; t3max:=10;
t1min:=7; t2min:=8; t3min:=7.5;
n1n:=20; n2n:=15; n3n:=0; n4n:=30; n5n:=40; n6n:=50;
t:=0; tp:=0;
n1:=0; n2:=p1; n3:=0; n4:=p2; n5:=0; n6:=p3;
k1:=2; k2:=3; k3:=4;


randomize;
a1:=random; a2:=random; a3:=random;
t1:=t1min+a1 * (t1max-t1min);
t2:=t2min+a2 * (t2max-t2min);
t3:=t3min+a3 * (t3max-t3min);

1:
k1_b:=0; k2_b:=0; k3_b:=0;

if n1 >= k1 then n1:=n1-k1
else begin n2:=n2+n1;
if n2 >= k1 then n2:=n2-k1 else
begin k1_b:=1; goto 2; end;

end;


if n3 >= k2 then n3:=n3-k2
else begin n4:=n4+n3;
if n4 >= k2 then n4:=n4-k2
else begin n2:=n2+k1; k2_b:=1; goto 2; end;
end;

if n5 >= k3 then n5:=n5-k3
else begin n6:=n6+n5;
if n6 >= k3 then n6:=n6-k3
else begin n2:=n2+k1; n4:=n4+k2; k3_b:=1; goto 2; end;
end;



2:
if (k1_b=0) and (k2_b=0) and (k3_b=0) then begin tp:=tp;
end else tp:=tp+1;


t:=t+del; t1:=t1-del; t2:=t2-del; t3:=t3-del;

if T1 <= 0 then
begin N2:=N2+P1;
if n2 > n2n then
begin n1:=n1 + (n2-n2n);
n2:=n2n;
if n1 > n1n then n1:=n1-p1;
end;

a1:=random;
t1:=t1min + a1 * (t1max-t1min);
end;

if T2 <= 0 then
begin N4:=N4+P2;
if n4>n4n then
begin n3:=n3+(n4-n4n);
n4:=n4n;
if n3>n3n then n3:=n3-p2;
end;
a2:=random;
t2:=t2min +a2*(t2max-t2min);
end;

if T3 <= 0 then
begin N6:=N6+P3;
if n6>n6n then
begin n5:=n5+(n6-n6n);
n6:=n6n;
if n5>n5n then n5:=n5-p3;
end;
a3:=random;
t3:=t3min +a3*(t3max-t3min);
end;

if t <= tr then goto 1
else begin y:=(tp/tr)*100;
if y >= ymax then ymax:=y;
if i = 1 then ymin:=y;
if y <= ymin then ymin:=y;
yc:=yc+y;
if i = h then begin writeln; h:=h+5; end;

write (' ', y:3:2); end;
end;

ycp:=yc/10;
writeln; writeln;

write (' ymin=', ymin:3:2, '%');
write (' ymax=', ymax:3:2, '%');
write (' ycp=', ycp:3:2, '%');

readln;

end.


Автор: klem4 22.04.2007 22:43

оффтоп

я боюсь что это очередная тайна века. ph34r.gif