Определить, к какой стороне бассейна пловец доплывёт быстрее всего - Turbo Pascal

Узнай цену своей работы

Формулировка задачи:

Как мы знаем, Владимир периодически посещает плавательный бассейн. При взгляде сверху бассейн представляет собой прямоугольник размера W × H; его юго-западный угол имеет координаты (0; 0), северо-восточный — (W; H). Владимир находился в точке с координатами (X; Y), когда прозвенел звонок, оповещающий об окончании сеанса. Теперь Владимиру нужно плыть к ближайшему бортику, чтобы выйти из бассейна. Помогите ему определить, в какую сторону следует плыть. Входные данные Первая строка содержит целые числа W и H (1 ≤ W, H ≤ 100) — соответственно длину и ширину бассейна. Первая строка содержит целые числа X и Y (0 ≤ X ≤ W, 0 ≤ Y ≤ H) — координаты точки, в которой находится Владимир. Выходные данные Выведите один из символов 'N' (север), 'E' (восток), 'S' (юг), 'W' (запад), соответствующий направлению до ближайшего бортика. Если подходящих ответов несколько, выведите любой из них.

Решение задачи: «Определить, к какой стороне бассейна пловец доплывёт быстрее всего»

textual
Листинг программы
var x, y, w, h, m: Integer; d: Char;
begin
  Read(w,h,x,y);      m:=x;   d:='E';
  if m>y   then begin m:=y;   d:='S' end;
  if m>w-x then begin m:=w-x; d:='W' end;
  if m>h-y then begin m:=h-y; d:='N' end;
  WriteLn(d);
end.

Объяснение кода листинга программы

  1. В первой строке считываются четыре переменные типа Integer: w, h, x, y.
  2. Переменная m инициализируется значением переменной x.
  3. Чтение символа 'E'.
  4. Если значение переменной m больше значения переменной y, то значение переменной m присваивается значению переменной y, и символ 'S' записывается в выходной поток.
  5. Если значение переменной m больше разности между значениями переменных w и x, то значение переменной m присваивается разности между значениями переменных w и x, и символ 'W' записывается в выходной поток.
  6. Если значение переменной m больше разности между значениями переменных h и y, то значение переменной m присваивается разности между значениями переменных h и y, и символ 'N' записывается в выходной поток.
  7. Запись символа 'E'.

Оцени полезность:

6   голосов , оценка 4.167 из 5
Похожие ответы