Если условие задачи перевести на математику, то имеем три числа (три расстояния), среди которых нужно найти самое маленькое (минимум), и самое большое (максимум). Другими словами, найти минимальное и максимальное из трех заданных чисел. program z; var min,max,x:real; i:integer; begin readln(x); {ввод первого числа} min:=x; {принять первое число за минимум на начало счета} max:=x; {принять первое число за максимум на начало счета} for i:=2 to 3 do {считать остальные два числа} begin readln(x); {ввести очередное число} if x>max then max:=x; {если введенное число больше текущего максимума, считать его максимумом} if x<min then min:=x; {если введенное число меньше текущего минимума, считать его минимумом} end; writeln('min=',min); {вывод минимума} writeln('max=',max); {вывод максимума} end.
Замечание. Программа не использует массив, т.к. чисел всего три. В более общем случае лучше ввести числа в массив и выполнить его сортировку.
Вариант без цикла и с отдельными переменными для каждого числа program z1; var min,max,x,y,z:real; begin readln(x); {ввод первого числа} min:=x; {принять первое число за минимум на начало счета} max:=x; {принять первое число за максимум на начало счета}
readln(y); {ввести второе число} if y>max then max:=y; {если введенное число больше текущего максимума, считать его максимумом} if y<min then min:=y; {если введенное число меньше текущего минимума, считать его минимумом}
readln(z); {ввести третье число} if z>max then max:=z; {если введенное число больше текущего максимума, считать его максимумом} if z<min then min:=z; {если введенное число меньше текущего минимума, считать его минимумом}
Вариант №2 дает истину т.к x <=2
Вариант №3 дает ложь
Вариант №4 дает истину т.к x > 3
ответ: вариант №3