(значения k) и,
(значения k) и, соответственно, изменение множества кандидатов Gg>;
end;
Inc(i);
end;{while}
end;{Find}
Продолжим уточнение логики. Нам потребуется простая функция подсчета количества элементов в переменных типа Sset.
function Number(A:Sset):byte;
var i, cnt:byte;
begin
cnt:=0;for i:=1 to N do if i in A then Inc(cnt);Number:=cnt;
end;
Используем метод трассировки для того, чтобы найти дальнейшую логику уточнения решения. Будем делать разрывы таблицы для внесения пояснений в работу черных ящиков.
k Qp Qm Gg Ss Примечания
1 [1..5] [ ] [1..5] (1) Выбираем первую вершину
2 [4,5] [ ] [4,5] (1,4) Итак, первое уточнение черного ящика А.
if Qm<>[ ] then <черный ящик АА >
else Gg:=Qp;
Его суть в том, что если выбирать из ранее использованных вершин нечего, то множество кандидатов совпадает со значением Qp, и далее по логике мы “тупо” выбираем первую вершину из Qp. Переходим к следующему вызову процедуры Find.
3 [
Индекс
Элементарные функции
Линейные уравнения
Нелинейные уравнения
Случайные числа