Центральная Научная Библиотека  
Главная
 
Новости
 
Разделы
 
Работы
 
Контакты
 
E-mail
 
  Главная    

 

  Поиск:  

Меню 

· Главная
· Биология
· Геология
· Зоология
· Коммуникации и связь
· Бухучет управленчучет
· Водоснабжение   водоотведение
· Детали машин
· Инновационный   менеджмент
· Качество упр-е   качеством
· Маркетинг
· Математика
· Мировая экономика МЭО
· Политология
· Реклама и PR
· САПР
· Биология и химия
· Животные
· Литература   языковедение
· Менеджмент
· Не Российское   законодательство
· Нотариат
· Информатика
· Исторические личности
· Кибернетика
· Коммуникация и связь
· Косметология
· Криминалистика
· Криминология
· Наука и техника
· Кулинария
· Культурология
· Логика
· Логистика
· Международное   публичное право
· Международное частное   право
· Международные   отношения
· Культура и искусства
· Металлургия
· Муниципальноое право
· Налогообложение
· Оккультизм и уфология
· Педагогика


Применение рекурсии в алгоритмах с возвратом. Файловый тип. Ввод/вывод

Применение рекурсии в алгоритмах с возвратом. Файловый тип. Ввод/вывод

Применение рекурсии в алгоритмах с возвратом. Файловый тип. Ввод/вывод.

 Есть широкий спектр алгоритмов когда вычисления идут не по фиксированным правилам, а методом проб и ошибок. Примером таких алгоритмов могут служить алгоритм игры чет-нечет; алгоритм поиска пути в лабиринте в задаче об Ариадне и Тезее. Теперь рассмотрим применение рекурсии для решения таких задач.

 Применение рекурсии рассматривается на примере задачи обхода шахматной доски ходом коня. Наряду с демонстрацией применения рекурсии еще раз демонcтрируется пошаговая, структурная разработка программы.

procedure попытка следующего хода;
     begin
          repeat
               if ход приемлем? then
                    begin
                      if доска не заполнена? then
                         begin
                           if неудача? then стирание предыдущего хода;
                         end
                    end
          until (ход был удачным?) or (нет других возможных ходов)
     end.

В итоге выписывается полный текст программы на Pascal.

program ChessHorse;

const   Dim = 5;

        PathLen = Dim*Dim;

var     Field :Array[1..Dim,1..Dim] of integer; { h[x, y]=i => на клетку

                  (x, y) конь попал после i-того хода }

        n :integer; { Текущая длина пути }

        x, y :integer;

function TryMove (i, j :integer) :Boolean;

begin

  if n>PathLen then TryMove := true { Путь найден }

  else

    begin

    TryMove := false;

    if (i>=1) AND (i=1) AND (j





Информация 






© Центральная Научная Библиотека