Помощь - Поиск - Пользователи - Календарь
Полная версия: Что делает программа?
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Анна
сабж ..

Вроде как должно считать среднее, максимальное и минимальные значения ... только по какому принципу 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
оффтоп

я боюсь что это очередная тайна века. ph34r.gif
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.