Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- program bl2_1;
- uses
- System.SysUtils;
- Var
- y: real;
- k, MasLenght, i, j, boof: integer;
- pos: array of integer;
- IsCorrect: Boolean;
- Begin
- Writeln('Дана последовательность х1, х2, …, хn, упорядоченная в порядке возрастания и вещественное у. Найти такое k, что x[k] < y <= x[k+1].');
- Writeln('Введите длину последовательности');
- Repeat
- IsCorrect := true;
- Try
- Readln(MasLenght);
- Except
- Writeln('Введите целое число');
- IsCorrect := false;
- end;
- if (MasLenght < 0) and IsCorrect then
- Begin
- Writeln('Введите положительное число');
- IsCorrect := false;
- End;
- Until IsCorrect;
- SetLength(pos, MasLenght);
- Writeln('Введите значения последовательности');
- for i := 0 to MasLenght - 1 do
- begin
- Writeln('Введите ', i + 1, '-й элемент последовательности');
- Repeat
- IsCorrect := true;
- Try
- Readln(pos[i]);
- Except
- Writeln('Введите число');
- IsCorrect := false;
- End;
- Until IsCorrect;
- end;
- for i := 0 to MasLenght - 1 do
- begin
- for j := 0 to MasLenght - 1 - i do
- begin
- if pos[j] > pos[j + 1] then
- begin
- boof := pos[j + 1];
- pos[j + 1] := pos[j];
- pos[j] := boof;
- end;
- end;
- end;
- Writeln('Введите вещественное число y');
- Repeat
- IsCorrect := true;
- Try
- Readln(y);
- Except
- Writeln('Введите число');
- IsCorrect := false;
- End;
- if (y < pos[1]) and IsCorrect then
- Begin
- Writeln('Ваш Y меньше чем наименьший элемент последовательности. Введите Y больший, чем ',
- pos[1]);
- IsCorrect := false;
- End;
- Until IsCorrect;
- for i := 1 to MasLenght do
- begin
- if (pos[i] < y) and (y <= pos[i + 1]) then
- begin
- k := i;
- end;
- end;
- Writeln('Ваше число ', k);
- Readln;
- End.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement