Короче, я с теорией не работаю, поэтому объясню алгоритм более практичней. Итак, нам нужно проверить каждый элемент массива и выяснить, является ли он трехзначным числом. Какой-то переменной мы присваем значение 1000. И как только мы находим трехзначное число, мы проверяем ниже ли это число той переменной(в первый раз, соответственно да). если ответ положительный, то присваем переменной значение числа, сс которым мы работали и которое, естественно меньше. Теперь проверяем дальше трехзначные числа. Если они ниже переменной, то присваевам их к этой же переменной. В конце цикла, переменная будет иметь значение минимального 3х знач элемента. Если переменная по прежнему равна 1000. Значит 3х знач числа не нашлось и мы выводим надпись "таких чисел нет".
<em>Ответ:</em>
While это оператор цикла "пока", то есть:
"Пока переменная p > 0 выполнять".
mod - находит остаток от деления, div - находит целое.
Зная все это, выполняем задание.
a = 23. p:= 23 div 10 = 2. s:= 23 mod 10 = 3.
<em>Заполняем таблицу: </em><em>p = 2; s = 3; p > 0 - да.</em>
Зачем нам вещественный массив?
var
i, j, n: integer;
tmp: double;
mas: array[1..101] of double;
begin
randomize;
readln(n);
for i:=1 to n do
begin
mas[i]:= random(-100,107);
end;
for i:=1 to n do
for j:=1 to n do
if mas[j]>mas[j+1] then
begin
tmp:=mas[j];
mas[j]:=mas[j+1];
mas[j+1]:=tmp;
end;
for i:=1 to n do
write(mas[i], ' ');
end.
Насколько он сместился за эти три команды "Сместиться на (-5, -1) Сместиться на (3, 2) Сместиться на (3, -1)"? на (-5 +3 +3,-1 +2 -1) = (1,0).
Теперь умножаем полученные координаты на количество повторений: (3,0).
Ещё перед этим он сместился на (-4, -1), значит суммарно он сместился на (3 -4, 0 -1) = (-1, -1). И чтобы вернуться обратно, нужно сместиться на это же значение, но в противоположную сторону, то есть, на (1,1)