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

  • Вид работы:
    Реферат
  • Предмет:
    Математика
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    6,70 kb
  • Опубликовано:
    2009-01-12
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

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

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

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

 Применение рекурсии рассматривается на примере задачи обхода шахматной доски ходом коня. Наряду с демонстрацией применения рекурсии еще раз демон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

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

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!