believe_me

Untitled

Oct 13th, 2021
218
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Delphi 2.79 KB | None | 0 0
  1. program lab21;
  2.  
  3. uses SysUtils;
  4.  
  5. const
  6.     MAX_NUMBER_OF_ELEMENTS = 15;
  7.     MAX_ELEMENT_VALUE = 1000.0;
  8.  
  9. var
  10.     IsCorrect: Boolean;
  11.     NumberOfElements, CountOfTriples, EndNumber, LastIndexForCheck, i: Integer;
  12.     ArrayNumber: Array of Double;
  13.  
  14. begin
  15.     Writeln('Программа позволяет посчитать количество троек, таких в данной последовательности x1, x2, ..., xn , что x(n-1) < xn < x(n+1).');
  16.     Writeln('Введите целое положительное количество элементов последовательности не большее, чем ',
  17.       MAX_NUMBER_OF_ELEMENTS);
  18.     repeat
  19.         IsCorrect := true;
  20.         try
  21.             Readln(NumberOfElements);
  22.         except
  23.             Writeln('Число элементов последовательности должно являться целым числом и быть не больше, чем ',
  24.               MAX_NUMBER_OF_ELEMENTS);
  25.             IsCorrect := false;
  26.         end;
  27.         if IsCorrect and ((NumberOfElements <= 0) or
  28.           (NumberOfElements > MAX_NUMBER_OF_ELEMENTS)) then
  29.         begin
  30.             Writeln('Число элементов последовательности должно являться положительным и быть не больше, чем ',
  31.               MAX_NUMBER_OF_ELEMENTS);
  32.             IsCorrect := false;
  33.         end;
  34.     until IsCorrect;
  35.     EndNumber := NumberOfElements - 1;
  36.     Setlength(ArrayNumber, NumberOfElements);
  37.     for i := 0 to EndNumber do
  38.     begin;
  39.         Writeln('Введите член под номером ', i + 1,
  40.           ', который по модулю не больше чем ', MAX_ELEMENT_VALUE:4:1);
  41.         repeat
  42.             IsCorrect := true;
  43.             try
  44.                 Readln(ArrayNumber[i]);
  45.             except
  46.                 Writeln('Элемент должен быть числом, которое по модулю не больше, чем ',
  47.                   MAX_ELEMENT_VALUE:4:1);
  48.                 IsCorrect := false;
  49.             end;
  50.             if IsCorrect and (abs(ArrayNumber[i]) > MAX_ELEMENT_VALUE) then
  51.             begin
  52.                 Writeln('Элемент должен быть числом, которое по модулю не больше, чем ',
  53.                   MAX_ELEMENT_VALUE:4:1);
  54.                 IsCorrect := false;
  55.             end;
  56.         until IsCorrect;
  57.     end;
  58.     LastIndexForCheck := EndNumber - 1;
  59.     for i := 1 to LastIndexForCheck do
  60.         if ((ArrayNumber[i] < ArrayNumber[i + 1]) and
  61.           (ArrayNumber[i] > ArrayNumber[i - 1])) then
  62.             Inc(CountOfTriples);
  63.     Writeln('Количество таких троек: ', CountOfTriples);
  64.     Readln;
  65.  
  66. end.
Add Comment
Please, Sign In to add comment