Advertisement
Tiranka1861

T Delphi 2-1

Oct 23rd, 2023
1,009
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Delphi 4.25 KB | None | 0 0
  1. Program CheckIncreasingSequence;
  2.  
  3. Uses
  4.     SysUtils;
  5.  
  6. Const
  7.     MAX_SIZE = 100; // Максимальный размер последовательности
  8.     MAX_INT = 1000000000;
  9.     MIN_INT = -1000000000;
  10.  
  11. Var
  12.     N, I: Integer;
  13.     IsIncreasing, Iscorrect, IsLoop : Boolean;
  14.     Arr: Array of Integer;
  15.  
  16. Begin
  17.     Writeln('Данная программа определяет является ли последовательность возрастающей.');
  18.  
  19.  
  20.     Repeat
  21.  
  22.         Write('Введите количество элементов в последовательности: ');
  23.         IsCorrect := True;
  24.         try //с большой буквы
  25.             ReadLn(n);  //N с большой
  26.  
  27.         Except
  28.             Writeln('Вводимое значение должно быть числом.');
  29.             IsCorrect := false; //False с большой
  30.         End;
  31.  
  32.         If (IsCorrect) and (n > MAX_SIZE) Then  //N с большой
  33.         Begin
  34.             Writeln('Превышен максимальный размер последователньости.');    //опечатка!!!
  35.             IsCorrect := false; //False с большой
  36.         End;
  37.  
  38.         If (IsCorrect) and (n = 0) Then //N с большой
  39.         Begin
  40.             Writeln('Размер последовательности не может равняться нулю.');
  41.             IsCorrect := false; //False с большой
  42.         End;
  43.  
  44.         If (IsCorrect) and (n < 0) Then //N с большой
  45.         Begin
  46.             Writeln('Вводимое значение не может быть отрицательным.');
  47.             IsCorrect := false; //False с большой
  48.         End;
  49.   Until (IsCorrect);
  50.   SetLength(Arr, N);
  51.  
  52. //дальше все съехало на табуляцию, -4 пробела в каждой строке (For под SetLength())
  53.       For i := 0 To n-1 Do  //I с большой, действие N-1 или вынести до цикла (Dec(N)/ N := N - 1), или использовать встроенную ф-цию
  54.                             //(High(Arr) -- возвращает последний индекс массива)
  55.       Repeat
  56.             Writeln('Введите элемент последовательности [', i+1, ']: ');    //I с большой
  57.             IsCorrect := True;
  58.             Try
  59.                 ReadLn(Arr[i]); //I с большой
  60.             Except
  61.                 Writeln('Вводимое значение должно быть число.');
  62.                 IsCorrect := false; //False с большой
  63.             End;
  64.  
  65.             if (Arr[i] > MAX_INT) and (Arr[i] < MIN_INT)  then  //I с большой, If и Then тоже
  66.             Begin
  67.                 Writeln('Неверный диапозон.');  //опечатка!!!
  68.                 IsCorrect := false; //False с большой
  69.             End;
  70.  
  71.       Until (IsCorrect);
  72.  
  73.  
  74.       IsIncreasing := True;
  75.       IsLoop := False;  //убрать из алгоритма, он в проге не нужен
  76.       I := 2;   // Лучше все-таки с 1
  77.  
  78.       While (i < N) and not IsLoop Do   //I с большой, условие not IsLoop (вообще оно пишется либо так Not(IsLoop)), либо хотя бы так (Not IsLoop)) убрать, вместо него (IsIncreasing)
  79.       Begin
  80.         isIncreasing := Arr[i] >= Arr[i-1]; //isIncreasing := Arr[i] > Arr[i-1] - 1; I c большой (в названии флага тоже)
  81.         If not isIncreasing Then    //убрать весь if
  82.         IsLoop := True;             //это, соответственно, тоже
  83.         i := i + 1; //I с большой
  84.       End;
  85. //табуляция ниже грустная (
  86.           If not IsLoop Then    //не нужен тут вообще
  87.           Begin
  88.               If isIncreasing Then  //оставить только if (переменна с большой буквы)
  89.                   WriteLn('Данная последовательность является возрастающей.')
  90.               Else
  91.                   WriteLn('Данная последовательность не является возрастающей.');
  92.           End;
  93.       ReadLn;
  94. End.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement