Решите в pascal: известно расстояние до каждого из трёх сёл от районного центра. определить, какое из них находится ближе всего к районному центру, а какое дальше всего от него
Если условие задачи перевести на математику, то имеем три числа (три расстояния), среди которых нужно найти самое маленькое (минимум), и самое большое (максимум). Другими словами, найти минимальное и максимальное из трех заданных чисел. 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; {если введенное число меньше текущего минимума, считать его минимумом}
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; {если введенное число меньше текущего минимума, считать его минимумом}
writeln('min=',min); {вывод минимума}
writeln('max=',max); {вывод максимума}
end.