- •Содержание
- •Введение
- •Постановка задачи
- •Html. История, назначение и особенности Краткая история World Wide Web
- •Язык html. Построение Web–документов
- •Форматирование текста
- •Создание списков
- •Другие элементы языка html
- •Альтернативные средства составления Web–документов
- •Описание структур данных
- •Описание применяемого алгоритма к задаче №1:
- •Описание применяемого алгоритма к задаче №2
- •Описание результатов
- •Заключение
- •Список литературы
- •Приложение а
- •Листинг программ
- •Приложение б
Описание применяемого алгоритма к задаче №2
Блоксхема №3 -заполняем "1" столбик и строку с номером позиции ферзяki, kj.
+
+
-
-
Рисунок 3 - Блоксхема №3
Блоксхема №4 - заполняем "1" диагонали, которые бъёт ферзь с номером позиции ki, kj
+
+
+
-
-
-
+
-
Рисунок 4 - Блоксхема №4
Блоксхема №5 - проверяет, бьют ли все 5 ферзей всё поле.
-
-
-
+
+
+
Рисунок 5 - Блоксхема №5
Блоксхема №6 - выводит массив ferzes, то есть правильную расстановку.
+
+
-
-
Рисунок 6 - Блоксхема №6
Блоксхема №7 рекурсивная процедура которая расставляет ферзей.
Блок №1 - i:=after_i
Блок №2 - i<=8
Блок №3 - i:=after_i переменные, которые служат для исключения повторений,
то есть поиск места для след. ферзя идёт по значениям i, j которые
идут после места только что поставленного ферзя.
Блок №4 - tempk:=after_j
Блок №5 - tempk:=1
Блок №6 - j:=tempk
Блок №7 - j<=8, это условие когда не могут ббить лруг друга, то есть ферзь ставится на место.
Блок №8 - cur_desk[i,j]=0
Блок №9 - inc(now_f), то есть какого ферзя ставим; inc(count), колличество ферзей.
Блок №10 - fi[now_f]:=i, запоминаем i,j позицию ферзя с номером now_f, ставим ферзя на доску.
Блок №11 - st(fi[now_f], fj[now_f]); diag(fi[now_f], fj[now_f]), две процедуры, описанные выше.
Блок №12 - count<>5, если не все ферзи поставлены.
Блок №13 - fi[now_f]:=0; fj[now_f]:=0; dec(count); dec(now_f);
Блок №14 - put(i,j), восстанавливает значение, когда один из проходов закончен.
Блок №15 - filled
Блок №16 - cur_desk:=old_desk; fi[now_f]:=0; fj[now_f]:=0; dec(count); dec(now_f);
Блок №17 - inc(variants); print_ar; cur_desk:=old_desk;
Блок №18 - inc(j)
Блок №19 - cur_desk:=old_desk, нашли вариант, и вывели массив если надо.
Блок №20 - inc(i)
Рисунок 7 –
Блоксхема №7
+
+
+
+
-
-
-
-
-
+
+
-
Блоксхема №8 - цикл по всей доске для выбора куда поставить самого 1 ферзя, показывается инициализация доски для 1 ферзя.
+
+
-
-
Рисунок 8 - Блоксхема №8