I.	Постановка задачи
Найти номер первого минимального элемента среди элементов больших T1 и , расположенных правее первого элемента равного T2.Упорядочить по неубыванию.
II.	Входные данные
Колво элементов массива  целое 	n	 +x.x
массив  целое 	A	 +x.x
III.	Выходные данные
Целое  findmin +xx	
IV.	Функциональные тесты

№	Входные данные	Ожидаемый результат	Смысл теста	
1	N=5
A^[1]=1
A^[2]=2
A^[3]=3
A^[4]=4
A^[5]=5
T1=3
T2=4
	findmin =5	Находим число	
2	N=4
A^[1]=6
A^[2]=5
A^[3]=4
A^[4]=3
T1= 5
T2=3	findmin =4
	Находим число	
V.	Метод
Применил придуманный алгоритм
VI.	Схема решения задачи
А01	ввод-вывод входных данных	чисто техническая задача	
А02	обработка	вх. N, A, T1, T2
вых. Findmin	не нуждается в алгоритмизации	
VII.	Алгоритм
алг. laba (N, A);
арг. Целое (N, A)
     рез. Целое  
нач. 
{А01}
{ввод входных данных}
ввод (N, A)
{А02}
Заглушка для теста 1
findmin =1		Заглушка для теста 2
findmin =1	

кон. laba;

VIII.	Листинг программы

{LABA2.PAS}
program laba2;
uses Crt;
type
 Mas=array[1..1] of integer;
 dinmas=^mas;
var
 n:integer;
 A:dinmas;
T1,T2:integer;
{$I A01.inc}
{$I A02.inc}
{$I A03.inc}
{$I DUMP.inc}
  begin
clrscr;
writeln('LABA 2');
writeln('+--------------+');
writeln('YC/\OBUE:');
writeln('Найти номер первого минимального значения среди положительных элементов,');
writeln('располоденный правее первого элемента равного нулю.Упорядочить по неубыванию');
writeln('+---------------+');
writeln;

n:=takesize;
GetMem(A,sizeof(integer)*n);
EnterMassive(A,n);
showMassive(A,n);
FindMin(A,n);

sorting(A,n);
showMassive(A,n);

writeln('+---------------+');
Freemem(A,sizeof(integer)*n);
writeln('THE END.');
readln;
END. 
{А01.inc}
function takesize:integer;
var
 i:integer;
begin
 writeln('KO/\U4ECTBO ELEMEHTOB MACCUBA:');
 repeat
  readln(i);
 until i>0;
 takesize:=i;
end;

procedure EnterMassive(var A:dinmas; const n:integer);
var
 i:integer;
begin
 writeln;
 writeln('BBEgUTE MACCUB:');
 i:=0;
 repeat
  i:=i+1;
  write(i,' element = ');
  readln(A^[i]);
 until i=n;
end;

{А02.inc}
procedure FindMin(A : DinMas; const n : integer) ;
var
   i : integer;
   T1,T2:integer;
begin
 Writeln ('Vvedite  T1');
 Readln(T1);
  Writeln ('Vvedite  T1');
 Readln(T2);
   i := 1;
   while (A^[i] <> T2) and (i <= n) do inc(i);
   if i > n then begin
      writeln('no1');
      halt;
   end
     else begin
	inc(i);
        while(A^[i] <= T1) and (i <= n ) do inc(i);
	if i > n then writeln('no2')
          else writeln(i);
    end;
end;procedure sorting(var A:dinmas; const n:integer);
var
 j,i:integer;
 endof:boolean;
 add:integer;
begin
 writeln;
 writeln('COPTUPOBKA MACCUBA...');
 for i:=2 to n do
 begin
  j:=i;
  endof:=true; {leave for?}
  while( j>1 ) and endof do
   if (A^[j]<A^[j-1]) then
   begin
    add:=A^[j-1];
    A^[j-1]:=A^[j];
    A^[j]:=add;
    j:=j-1;
   end
   else
    endof:=false;
 end;
end;
{А03.inc}
procedure ShowMassive(var A:dinmas; const n:integer);
var
 i:integer;
begin
 writeln;
 writeln('BBEgEHHb|U MACCUB:');
 i:=0;
 repeat
  i:=i+1;
  write(A^[i],' ');
 until i=n;
 writeln;
end;