Определить, является ли заданная последовательность чисел монотонно убывающией — Pascal(Паскаль)

{Определить является ли заданная последовательность
                    чисел  а1, а2,...,аN  монотонно убывающей.

                                Система тестов
              ╔═══════╤═════════════╤══════════════╤═══════════╗
              ║ Номер │ Проверяемый │    Данные    │           ║
              ║ теста │   случай    ├───┬──────────┤ Результат ║
              ║       │             │ N │ Вектор А │           ║
              ╟───────┼─────────────┼───┼──────────┼───────────╢
              ║    1  │  Является   │ 3 │(3, 2, 1) │   "Да"    ║
              ╟───────┼─────────────┼───┼──────────┼───────────╢
              ║    2  │ Не является │ 3 │(2, 3, 1) │   "Нет"   ║
              ╚═══════╧═════════════╧═══╧══════════╧═══════════╝
}
 Program Decrease;
   Uses Crt;
   Var A    : Array [1..10] of Real;
       N, i : Integer;
       Otvet: Boolean;
 {--------------------------------------------}
 Procedure InputOutput; {описание процедуры ввода-вывода данных}
  Begin
    ClrScr;
    Write('Количество элементов - '); ReadLn(N);
    For i := 1 to N do
     begin
       Write('A[' , i , '] = '); ReadLn(A[i])
     end; WriteLn;

    WriteLn('Заданная последовательность чисел');
    For i := 1 to N do Write(A[i] : 5 : 1);
    WriteLn
  End; { of InputOutput }
 {--------------------------------------------}
 Procedure Processing( Var Otvet: Boolean);
  Begin    {описание процедуры проверки на убывание элементов}
    Otvet := TRUE; i:=1;
    While (i<=N-1) and Otvet do
      If (A[i]<A[i+1]) then Otvet := FALSE
                       else i := i+1;
  End; { of Processing }
 {--------------------------------------------}
 Procedure Result(Otvet: Boolean); {описание процедуры вывода результата}
  Begin
    If Otvet then Write('образует ')
             else Write('не образует ');
    WriteLn('монотонно убывающую последовательность.');
    ReadLn
  End;
 {--------------------------------------------}
 BEGIN
   InputOutput;       {вызов процедуры ввода-вывода}
   Processing(Otvet); {вызов процедуры проверки на убывание}
   Result(Otvet);     {вызов процедуры вывода результата}
 END.

Leave a Comment