// PascalABC.NET 3.1, сборка 1256 от 21.06.2016
begin
var n:=ReadInteger();
var a:array of integer;
a:=ReadArrInteger(n);
var p:=ReadInteger();
Sort(a);
var i:=n-1;
while a[i]>p do Dec(i);
Writeln(i+2);
end.
<u><em>Тестовое решение:</em></u>
5
175 169 172 180 174
174
4
X[ i ]<>R по выходу из while как раз i - и будет индекс элемента массива, равного R
Ответ:
Я сама когда решала это не знала, с потом нашла как решить
Нужно использовать exel - вот я сделал
Пишите значение в B2
//PascalABC.NET версия 3.3.1590 от 03.12.2017
//Если программа не запускается, то обновите версию
uses GraphABC;
const
x_min = -15.0;
x_max = 15.0;
dx = 0.01;
function f(x: real): real;
begin
f := 2*x;
end;
begin
//настраиваем размер окна под график, влияет на маштаб
Window.Width := 1000;
Window.Height := 300;
Window.IsFixedSize := True; // фиксируем размеры окна
Coordinate.Origin := Window.Center; //выставляем начало координат в центр окна
Coordinate.SetMathematic; //выставляем направление осей как в математике принято
var scale := Window.Width / (x_max - x_min); // вычисляем маштаб
var x := x_min;
var y_max := f(x_max); // подставляем реальные значения
var y_min := f(x_min); // подставляем реальные значения
repeat
try
var y := f(x);
if y > y_max then y_max := y;
if y < y_min then y_min := y;
finally
x := x + dx;
end;
until x > x_max;
// оси координат, стрелочки сами если надо
Pen.Color := clSilver;
Line(round((x_min - 1) * scale), 0, round((x_max + 1) * scale), 0);
Line(0, round((y_min - 1) * scale), 0, round((y_max + 1) * scale));
Circle(0, round(1 * scale), 1); //единичная метка
Circle(round(1 * scale), 0, 1); //единичная метка
x := x_min;
repeat
try
var y := f(x);
PutPixel(round(x * scale), round(y * scale), clBlueViolet);
finally
x := x + dx;
end;
until x > x_max;
end.