На шахматной доске размером 8 на 8 в клетке s находится король. Определите, за какое минимальное количество ходов король может перейти в клетку f. По правилам игры в шахматы король может переместиться на любое поле, соседнее с текущим по вертикали, горизонтали или вертикали. Возможность рокировки в данной задаче не предусмотрена.
ответ сделать на языке Pascal
Ответы на вопрос:
program shkisvf;
uses
crt;
procedure minh(sx, sy, dx, dy: integer);
var
h: integer;
begin
h := 0;
while ((sx <> dx) and (sy <> dy)) do
begin
if (sx < dx) and (sy < dy) then
begin
sx := sx + 1;
sy := sy + 1;
h := h + 1;
end ;
if (sx > dx) and (sy < dy) then
begin
sx := sx - 1;
sy := sy + 1;
h := h + 1;
end ;
if (sx < dx) and (sy > dy) then
begin
sx := sx + 1;
sy := sy - 1;
h := h + 1;
end ;
if (sx > dx) and (sy > dy) then
begin
sx := sx - 1;
sy := sy - 1;
h := h + 1;
end ;
end;
while ((sx <> dx) or (sy <> dy)) do
begin
if sx < dx then
begin
sx := sx + 1;
h := h + 1;
end ;
if sx > dx then
begin
sx := sx - 1;
h := h + 1;
end ;
if sy < dy then
begin
sy := sy + 1;
h := h + 1;
end ;
if sy > dy then
begin
sy := sy - 1;
h := h + 1;
end ;
end;
writeln('Минимальное количество ходов: ', h);
end;
procedure cheb(sx, sy, dx, dy: integer);
var
max, rx, ry: integer;
begin
rx := abs(sx - dx);
ry := abs(sy - dy);
writeln('Минимальное кол-во ходов по Чебышёву:');
if rx > ry then
writeln(rx)
else
writeln(ry);
end;
var
a, b, c, d: integer;
begin
writeln('Введите координаты точки s:');
readln(a, b);
writeln('Введите координаты точки f:');
readln(c, d);
if ((a < 1) or (a > 8) or (b < 1) or (b > 8) or (c < 1) or (c > 8) or (d < 1) or (d > 8)) then
writeln('Ошибка! Проверьте правильность введённых данных! Закрытие программы... ')
else
minh(a, b, c, d);
cheb(a, b, c, d);
readln;
end.
Код:
program king;varx0, y0, x1, y1: integer;beginwriteln('Введите координаты точки s:');readln(x0, y0);writeln('Введите координаты точки f:');readln(x1, y1);if ((a < 1) or (a > 8) or (b < 1) or (b > 8) or (c < 1) or (c > 8) or (d < 1) or (d > 8)) thenwriteln('Ошибка! Проверьте правильность введённых данных! Закрытие программы... ')elseMax(Abs(x1 - x0), Abs(y1 - y0));readln;end.Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
яя8218.08.2020 04:47
-
асемок429.04.2023 00:46
-
duplo21428.08.2020 22:20
-
Yury2822.01.2020 05:01
-
Dima191129.04.2022 15:38
-
lenok106728.07.2022 02:03
-
Wowan0719.12.2022 03:14
-
1artemochek30.12.2022 16:13
-
Kozlovanika7113.03.2021 14:43
-
44444kobzarr119.02.2022 05:21
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.