Вычисление "рыбы"

Курсовой проект - Компьютеры, программирование

Другие курсовые по предмету Компьютеры, программирование

? поместили алгоритм, обрабатывающий все процессы. Это самая большая процедура.

Procedure GetVariants();

Var

i,id,count:byte;

st:boolean;

begin

count:=1;

repeat

st:=false;

if Getnext(curent)=true then

begin

st:=true;

id:=rand(r);

next:=sp2[id];

//****************

for I := 2 to 28 do

if (domino[i].SideA=next.SideA)and(domino[i].SideB=next.SideB) then

domino[i].State:=true;

//******************

prev:=curent;

next.SideAthen">if prev.SideB<>next.SideA then

if prev.SideB=next.SideB then

begin

next.SideB:=next.SideA;

next.SideA:=prev.SideB;

end;

curent:=next;

sp1[count]:=next;

inc(count);

;">Form1.Label1.caption:=Form1.Label1.Caption+->;

Form1.Label1.caption:=Form1.Label1.Caption+inttostr(curent.SideA)+inttostr(curent.SideB);

end;

until (st=false);

end;

И, наконец, функция GetNext(cur:TDomino):boolean, ищущая подходящие свободные костяшки.

Function GetNext(cur:TDomino):boolean;

Var

i ,j: byte;

begin

r:=0;

j:=1;

result:=false;

For I:=2 to 28 do

If Domino[i].State = false then

if (cur.SideB = Domino[i].SideB)

or (cur.SideB = Domino[i].SideA) then

begin

sp2[j]:=domino[i];

sp2[j].State:=true;

result:=true;

inc(r);

inc(j);

end;

end;

 

Руководство пользователя. Окно программы

 

Несмотря на то, что разработка программы очень сложный и трудоемкий процесс, пользоваться ей очень просто. После запуска программы, мы видим это окно:

 

 

В нижней части формы мы видим пустое пространство и костяшку 0:0. Пустое пространство предназначено для построения одного из полученных вариантов “Рыбы”.

Сверху присутствует значение костей, которые не входят в полученную последовательность. А так же пространство, для их отображения.

 

Описание интерфейса

 

Программа предлагает случайно вычислить одну из последовательностей “Рыбы”

Кнопка Расчитать запускает процесс, который вычисляет “Рыбу” и выводит ее на экране в последовательность чисел.

Кнопка Отобразить графически показывает полученную последовательность, а так же не использованные домино, и через некоторое время (генерация занимает от 1-й до 4-х секунд) мы видим результат работы.

 

 

Кнопка Выход завершает программу.

 

Заключение

 

Разработав эту программу, я еще глубже изучил среду разработки Delphi 7, познакомился с особенностями создания интерфейсов для рабочей программы. Элементы управления должны быть разработаны таким образом, чтобы не мешать использованию программы, чтобы у человека не возникало вопросов, связанных с тем, что делать и как. Всё это было множество раз учтено, поэтому в итоге мы получили работающее приложение.

 

Список литературы

 

1.Иванов Б.Н. Дискретная математика. Алгоритмы и программы: Учеб. Пособие. Владивосток: Изд-во ДВГТ, 2000. 288с.

2.Молчанова Л.А., Прудникова Л.И. Delphi в примерах и задачах: Учеб. пособие. Владивосток: Изд-во ТГЭУ, 2006. 92с.