Реферат: Математическая логика и теория алгоритмов

b := false; i := 1;

{b <=> верхний ферзь под боем ферзей с номерами < i}

while i <> k do begin

b := b or (c[i]=c[k]) {вертикаль}

or (abs(c[i]-c[k])=abs(i-k)); {диагональ}

i := i+ 1;

end;

danger := b;

end;

end;

function is_up: boolean {есть_сверху}

begin

is_up := (k < n) and not danger;

end;

function is_right: boolean {есть_справа}

begin

is_right := (k > 0) and (c[k] < n);

end;

{возможна ошибка: при k=0 не определено c[k]}

function is_down: boolean {есть_снизу}

begin

is_up := (k > 0);

end;

procedure up; {вверх_налево}

begin {k < n}

k := k + 1;

c [k] := 1;

end;

procedure right; {вправо}

К-во Просмотров: 452
Бесплатно скачать Реферат: Математическая логика и теория алгоритмов