Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Program CheckIncreasingSequence;
- Uses
- SysUtils;
- Const
- MAX_SIZE = 100; // Максимальный размер последовательности
- MAX_INT = 1000000000;
- MIN_INT = -1000000000;
- Var
- N, I: Integer;
- IsIncreasing, Iscorrect, IsLoop : Boolean;
- Arr: Array of Integer;
- Begin
- Writeln('Данная программа определяет является ли последовательность возрастающей.');
- Repeat
- Write('Введите количество элементов в последовательности: ');
- IsCorrect := True;
- try //с большой буквы
- ReadLn(n); //N с большой
- Except
- Writeln('Вводимое значение должно быть числом.');
- IsCorrect := false; //False с большой
- End;
- If (IsCorrect) and (n > MAX_SIZE) Then //N с большой
- Begin
- Writeln('Превышен максимальный размер последователньости.'); //опечатка!!!
- IsCorrect := false; //False с большой
- End;
- If (IsCorrect) and (n = 0) Then //N с большой
- Begin
- Writeln('Размер последовательности не может равняться нулю.');
- IsCorrect := false; //False с большой
- End;
- If (IsCorrect) and (n < 0) Then //N с большой
- Begin
- Writeln('Вводимое значение не может быть отрицательным.');
- IsCorrect := false; //False с большой
- End;
- Until (IsCorrect);
- SetLength(Arr, N);
- //дальше все съехало на табуляцию, -4 пробела в каждой строке (For под SetLength())
- For i := 0 To n-1 Do //I с большой, действие N-1 или вынести до цикла (Dec(N)/ N := N - 1), или использовать встроенную ф-цию
- //(High(Arr) -- возвращает последний индекс массива)
- Repeat
- Writeln('Введите элемент последовательности [', i+1, ']: '); //I с большой
- IsCorrect := True;
- Try
- ReadLn(Arr[i]); //I с большой
- Except
- Writeln('Вводимое значение должно быть число.');
- IsCorrect := false; //False с большой
- End;
- if (Arr[i] > MAX_INT) and (Arr[i] < MIN_INT) then //I с большой, If и Then тоже
- Begin
- Writeln('Неверный диапозон.'); //опечатка!!!
- IsCorrect := false; //False с большой
- End;
- Until (IsCorrect);
- IsIncreasing := True;
- IsLoop := False; //убрать из алгоритма, он в проге не нужен
- I := 2; // Лучше все-таки с 1
- While (i < N) and not IsLoop Do //I с большой, условие not IsLoop (вообще оно пишется либо так Not(IsLoop)), либо хотя бы так (Not IsLoop)) убрать, вместо него (IsIncreasing)
- Begin
- isIncreasing := Arr[i] >= Arr[i-1]; //isIncreasing := Arr[i] > Arr[i-1] - 1; I c большой (в названии флага тоже)
- If not isIncreasing Then //убрать весь if
- IsLoop := True; //это, соответственно, тоже
- i := i + 1; //I с большой
- End;
- //табуляция ниже грустная (
- If not IsLoop Then //не нужен тут вообще
- Begin
- If isIncreasing Then //оставить только if (переменна с большой буквы)
- WriteLn('Данная последовательность является возрастающей.')
- Else
- WriteLn('Данная последовательность не является возрастающей.');
- End;
- ReadLn;
- End.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement