Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые проекты » Розробка системи завдань (алгоритми-програми) з дискретної математики

Реферат Розробка системи завдань (алгоритми-програми) з дискретної математики





в загальній площі кімнати}

B [i, j]: = true; {Відзначаємо, що в поточній клітині ми вже були}

Solve (i + X [k], j + Y [k]); {переходимо в наступну клітину}

B [i, j]: = False; {робимо клітку, в якій останній разу були не переглянутої, щоб розглянути інші варіанти ходу з неї в іншу клітку}

end;

end

Else A [i, j]: = A [i, j]-Degree2 (k);

Dec (k);

end;

end;

procedure Prosmotr; {дана процедура відзначає вже переглянуту кімнату}

var i, j: integer;

begin

For i: = 1 to m do

For j: = 1 to p do

If A [i, j] = 0 then B [i, j]: = True;

end;

begin

clrscr;

Init ('A: museum.txt');

rooms: = 0;

For indexX: = 1 to m do {шукаємо що раніше не переглянуту клітку}

For indexY: = 1 to p do

If not B [indexX, indexY] Then

begin

col: = 1;

Inc (rooms);

Solve (indexX, indexY);

Write (Col, ''); {висновок площі щойно переглянутої кімнати}

Prosmotr;

end;

WriteLn;

WriteLn (rooms); {Виведення кількості кімнат}

readkey;

end.

2 Пірат в підземеллі.

uses crt;

Const k = 100;

dx: array [1 .. 4] of Integer = (1,0, -1,0); {масив координат переміщення пірата}

dy: array [1 .. 4] of Integer = (0,1,0, -1);

Type mas = array [0 .. k, 0 .. k] of Integer;

mas2 = array [0 .. k, 0 .. k] of boolean; {масив логічного типу для позначки кімнат, в яких пірат вже побував}

var n, m, sum1, sum, col: integer;

A: mas;

B: mas2;

Procedure Init (z: string); {ініціалізація вхідних даних}

Var f: text;

i, j: integer;

Begin

Assign (f, z);

Reset (f);

FillChar (A, SizeOf (A), 0);

FillChar (B, SizeOf (B), true);

ReadLn (f, n, m, col);

for i: = 1 to n do

begin

for j: = 1 to m do

Read (f, A [i, j]);

ReadLn (f);

end;

Close (f);

End;

Procedure Solve (x, y, p: integer);

var i, j: integer;

begin

If p = 0 then begin

If sum> sum1 then {порівнюємо поточну вартість набраних каменів зі стоімоть набраних раніше, з метою збільшення вартості}

sum1: = sum;

end

Else begin

For i: = 1 to 4 do

If (A [x + dx [i], y + dy [i]]> 0) and B [x + dx [i], y + dy [i]] then {переглядаємо варіанти переходу пірата в іншу кімнату, перевіряючи чи не був пірат в ній до цього}

begin

sum: = sum + A [x + dx [i], y + dy [i]]; {додаємо вартість каменю, що знаходиться в даній кімнаті до сумарної вартості}

B [x + dx [i], y + dy [i]]: = false; {відзначаємо, що в даній кімнаті ми вже були}

Solve (x + dx [i], y + dy [i], p-1);

sum: = sum-A [x + dx [i], y + dy [i]]; <...


Назад | сторінка 17 з 23 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Creation of control system by a personnel how to begin with a zero
  • Реферат на тему: Варіанти оформлення дитячої кімнати
  • Реферат на тему: Procedure of preparation business-plan
  • Реферат на тему: Розробка технічного проекту системи захисту інформації в переговорній кімна ...
  • Реферат на тему: Дослідження транспортного засобу з метою визначення вартості відновлювально ...