Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на языке Pascal


Новое направление Портала RusFAQ.ru:
MosHoster.ru - Профессиональный хостинг

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Pascal

Выпуск № 660
от 19.08.2008, 15:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 223, Экспертов: 25
В номере:Вопросов: 1, Ответов: 1

Нам важно Ваше мнение об этой рассылке.
Оценить этот выпуск рассылки >>


Вопрос № 141477: Здравствуйте, уважаемые эксперты! просьба решить следующую задачу волновым алгоритмом: с клавиатуры вводится два числа х и у - координаты клетки на шахматной доске. определить, какое минимальное количество ходов конём нужно сделать, чтобы попасть ...

Вопрос № 141.477
Здравствуйте, уважаемые эксперты! просьба решить следующую задачу волновым алгоритмом:
с клавиатуры вводится два числа х и у - координаты клетки на шахматной доске. определить, какое минимальное количество ходов конём нужно сделать, чтобы попасть из клетки (1, 1) в клетку (х, у).
Отправлен: 14.08.2008, 15:28
Вопрос задал: Хощенко Артём Владимирович (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 7)

Отвечает: Зенченко Константин Николаевич
Здравствуйте, Хощенко Артём Владимирович!

Программа в приложении.
Отдельно об особеностях.
1) Часто в программе Вы будете встречать аналогичные строки( (1+ord((i and 8)>0))*(1-2*ord((i and 4)>0) ), для перебора всех вариантов ходов коня используется битовая маска представления целого числа:
биты 1(целое значение = 1) и 3(целое значение = 4) - знак прирощения координат Х и У;
биты 2(целое значение = 2) и 4(целое значение = 8) - определяют сколько дабавлять (1 или 2).
Также использовано свойство логического типа как перечисляемого типа т.е. true=1 false=0.
(1+ord((i and 8)>0)) - считаем величину прирощения;
(1-2*ord((i and 4)>0) - определяем знак прирощения.
Использование такой конструкции позволяет избавится от множества условных операторов.
2) Условие (ord((i and 2)>0)<>ord((i and 8)>0)) исключает возможность прирощения координат (как Х+1, У+1 и Х+2, У+2) т.е. обеспечивается какбы хо д коня.
3)После вывода результата выводится ещё и матрица переходов.
Вроде всё, если будут вопросы в мини-форум.
Удачи!

Приложение:

---------
И только наступив на грабли мы приобретаем драгоценный опыт!

Ответ отправил: Зенченко Константин Николаевич (статус: Профессор)
Украина, Киев
Тел.: +380979536619
Адрес: Украина г.Киев
----
Ответ отправлен: 14.08.2008, 20:21


Вы имеете возможность оценить этот выпуск рассылки.
Нам очень важно Ваше мнение!
Оценить этот выпуск рассылки >>

Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2008, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Техподдержка портала, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале

∙ Версия системы: 5.1 beta(win) от 11.08.2008

Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное