Advertisement
Ewerlost

Lab4_Delphi

Sep 23rd, 2023 (edited)
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Delphi 2.17 KB | None | 0 0
  1. Program Lab_4;
  2. Uses
  3.     System.SysUtils;
  4. Var
  5.     N, I, Sum: Integer;
  6.     IsCorrect: Boolean;
  7.     ArrA : Array of Integer;
  8. Const
  9.     MIN_ARR_LENGTH = 0;
  10.     MAX_ARR_LENGTH = 50;
  11.     MAX_A_VALUE = 100;
  12.     MIN_A_VALUE = -100;
  13.  
  14. Begin
  15.     Writeln('Эта программа найдёт сумму нечетных элементов массива');
  16.     Writeln('Диапазон значений для ввода длины массива A - от 1 до 50');
  17.     Writeln('Диапазон значений для ввода числа - от -100 до 100');
  18.     Writeln('Введите количество элементов массива');
  19.     Repeat
  20.         IsCorrect := true;
  21.         Try
  22.             Readln(N);
  23.         Except
  24.             Writeln('Данные введены неверно, повторите ввод');
  25.             IsCorrect := False;
  26.         End;
  27.         If IsCorrect And ((N > MAX_ARR_LENGTH ) Or (N < MIN_ARR_LENGTH)) Then
  28.         Begin
  29.             IsCorrect := False;
  30.             Writeln('Введено значение не входящее в диапазон допустимых значений(от 1 до 50)');
  31.         End;
  32.     Until (IsCorrect);
  33.  
  34.         SetLength(arrA, 2 * N);
  35.         Sum := 0;
  36.  
  37.     While I < 2 * N Do
  38.     Begin
  39.         IsCorrect := True;
  40.         Write('Введите элемент массива №', I + 1, ': ');
  41.         Try
  42.             Readln(ArrA[I]);
  43.         Except
  44.             IsCorrect := False;
  45.             Writeln('Вы ввели некорректные данные. Попробуйте снова.');
  46.             I := I - 1;
  47.         End;
  48.         If IsCorrect And ((ArrA[I] > MAX_A_VALUE ) Or (ArrA[I] < MIN_A_VALUE )) Then
  49.         Begin
  50.             IsCorrect := False;
  51.             Writeln('Введено значение не входящее в диапазон допустимых значений(от -100 до 100)');
  52.             I := I - 1;
  53.         End;
  54.     I := I + 1;
  55.     End;
  56.  
  57.     For I := 0 To High(arrA) Do
  58.         If ((I + 1) mod 2 > 0) Then
  59.             Sum := Sum + arrA[I];
  60.     Write('Сумма нечетных элементов массива : ', Sum);
  61.     Readln;
  62. End.
  63.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement