Advertisement
deced

Untitled

Oct 13th, 2020
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Delphi 2.49 KB | None | 0 0
  1. program bl2_1;
  2.  
  3. uses
  4.     System.SysUtils;
  5.  
  6. Var
  7.     y: real;
  8.     k, MasLenght, i, j, boof: integer;
  9.     pos: array of integer;
  10.     IsCorrect: Boolean;
  11.  
  12. Begin
  13.     Writeln('Дана последовательность х1, х2, …, хn, упорядоченная в порядке возрастания и вещественное у. Найти такое k, что x[k] < y <= x[k+1].');
  14.     Writeln('Введите длину последовательности');
  15.     Repeat
  16.         IsCorrect := true;
  17.         Try
  18.             Readln(MasLenght);
  19.         Except
  20.             Writeln('Введите целое число');
  21.             IsCorrect := false;
  22.         end;
  23.         if (MasLenght < 0) and IsCorrect then
  24.         Begin
  25.             Writeln('Введите положительное число');
  26.             IsCorrect := false;
  27.         End;
  28.     Until IsCorrect;
  29.     SetLength(pos, MasLenght);
  30.     Writeln('Введите значения последовательности');
  31.     for i := 0 to MasLenght - 1 do
  32.     begin
  33.         Writeln('Введите ', i + 1, '-й элемент последовательности');
  34.         Repeat
  35.             IsCorrect := true;
  36.             Try
  37.                 Readln(pos[i]);
  38.             Except
  39.                 Writeln('Введите число');
  40.                 IsCorrect := false;
  41.             End;
  42.         Until IsCorrect;
  43.     end;
  44.     for i := 0 to MasLenght - 1 do
  45.     begin
  46.         for j := 0 to MasLenght - 1 - i do
  47.         begin
  48.             if pos[j] > pos[j + 1] then
  49.             begin
  50.                 boof := pos[j + 1];
  51.                 pos[j + 1] := pos[j];
  52.                 pos[j] := boof;
  53.             end;
  54.         end;
  55.     end;
  56.     Writeln('Введите вещественное число y');
  57.     Repeat
  58.         IsCorrect := true;
  59.         Try
  60.             Readln(y);
  61.         Except
  62.             Writeln('Введите число');
  63.             IsCorrect := false;
  64.         End;
  65.  
  66.         if (y < pos[1]) and IsCorrect then
  67.         Begin
  68.             Writeln('Ваш Y меньше чем наименьший элемент последовательности. Введите Y больший, чем ',
  69.               pos[1]);
  70.             IsCorrect := false;
  71.         End;
  72.     Until IsCorrect;
  73.     for i := 1 to MasLenght do
  74.     begin
  75.         if (pos[i] < y) and (y <= pos[i + 1]) then
  76.         begin
  77.             k := i;
  78.         end;
  79.     end;
  80.     Writeln('Ваше число ', k);
  81.     Readln;
  82.  
  83. End.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement