Понедельник, 26.06.2017, 06:43
Приветствую Вас Гость | RSS
Флеш-игра
Поиск по сайту
Календарь
«  Июнь 2017  »
ПнВтСрЧтПтСбВс
   1234
567891011
12131415161718
19202122232425
2627282930
Новости
Галактика
Статистика


Rambler's Top100
Онлайн всего: 1
Гостей: 1
Пользователей: 0


Гость
Прямая связь
  САЙТ УЧИТЕЛЯ ИНФОРМАТИКИ

Учебный проект «Построение графа»

Проект "Построение отовного связного дерева графа" на языке Паскаль

1. Запустить систему  программирования Turbo Delphi командой [Программер Bortond Developer Stud ю 2006-Turbo Delpbt).

 2. Поместить на форму                                                                                                                          

• графическое поле Image 1 для рисования первоначального графа;                                                 

• графическое поле Image2 для рисования остовного

связного дерева минимального веса;

• кнопку Buttonl для запуска событийной процедуры

вывода вершин графа в первое графическое поле;

• кнопку Button2 для запуска событийной процедуры

вывода элементов матрицы смежности взвешенного

ориентированного графа;

• управляющий элемент StringGridl для вывода эле-ментов матрицы смежности связного взвешенного

ориентированного графа;

• кнопку Button3 для запуска событийной процедуры

вывода элементов матрицы смежности взвешенного

неориентированного графа;

• управляющий nnereem StringGrrd2 Bra вывода эле-ментов матрицы смежности связного взвешенного не-ориентированного графа;

• управляющий элемент stringgrid3 для вывода весов ребер остовного связного дерева;

• управляющий элемент StringGridl для вывода эле-ментов матрицы смежности евязного взвешенного

ориентированного графа;

• кнопку Button3 для запуска событийной процедуры вывода элементов матрицы смежности взвешенного неориентированного графа;

3. Объявить:

• целочисленные массивы х [1] и т [I] для хранения координат вершин графа;

• целочисленный двумерный массив в [ I ] для хранения весов ребер графа;

• целочисленный двумерный массив RI [I] для хранения весов ребер остовного связного дерева минимального веса;

• целочисленные переменные 1, ((, и К, используемые в качестве счетчиков циклов;

• целочисленную переменную $ для хранения суммы весов ребер остовного связного дерева минимального веса;

• целочисленную переменную A для хранения значения, возвращаемого функцией Мее ssgeglg (];

• строковые переменные st rN и st re для хранения номеров точек, возвращаемых функцией InputBax (].

4. щелкнуть по кнопке But tonl и в заготовку

процедуры ввести программный код:

procedure TForml.ButtonlClick(Sender: TOhIect)1

begin

//Очистка областей рисования и обнуление

//переменной

Imagel.Canvas. Brush.Color:=clWhrte;

1magel .Canvas .Rectangle (0, О, 200, 200);

Image2.Canvas. Brush.Color:=clWhrte1

Image2 .Canvas .Rectangle (О, О, 200, 200)(

S:=О;

//ббовиачение строк и столбцов в влементах

//управления Srrrngdri d

For 1:=О То б Do

begin

StringGridl.Celis(I,Ol:=IntToStrt1))

StrrngGridl.Cells[0,1l:=IntToStr(1);

атгглтбгтб2.Cells[I,O]:=IntTOStr(I)1

StrrngGrid2 Cells[0,Il IntТoStг(I)

БбггвсбгтбЗ.Cells[I,О]:=IntToStr(I)

StrirgGrrd3.Cells[0,1l:=IntToStr(I)1

end)

//Генерация случайных коордииат вершин графа

//и их рисование

For 1:=1 То 5 По

begin

Х(1) =Random(200);

I [1]: «Random (2 О 0) )

1magel.Canvas.Pen.Нг4ТЬ:=3(

Image 1. Canvas. El 1 Ipse (Х [ I], I [ I [, Х (I ] Та, I [I ] Те) 1

IЗЗ ~a1 Imagel . Canvas TextQut (Х [I] +5, Y [I]

IntToSrr(I))1

end;

5. запустить проект и осуществить щелчок по кнопке Верши-ны графа. В графическое поле будут выведены вершины графа и их номера.

6. Щелкнуть по кнопке Button2 н в заготовку событийной процедуры ввести программный код: procedure TForml.Button2Click(Sender: TOhject)I begin //Но влоиеннои цикле рисование ребер ориентированного графа, вычисление весов

7. Осуществить щелчок по кнопке Матрица смежности орграфа. В графическом поле будут нарисованы ребра графа, а в таблицу будут выведены веса ребер ориентированного графа 

8. Щелкнуть по кнопке Button3 и в заготовку событийной процедуры ввести программный код. 

9. Осуществить щелчок по кнопке Матрица смежности графа. В таблицу будут выведены веса ребер неориентированного графа

10. Щелкнуть по кнопке But ton 4 и в заготовку событийной процедуры ввести программный код

11. Осуществить щелчок по кнопке Остовное связанное дерево 

12. В появившемся диалоговом окне Выбор ребра минимального веса ввести номер второй точки и щелкнуть по кноп-ке ОК 

13. В появившемся диалоговом окне Confirm подтвердить или опровергнуть истинность условий щелчком по кноп-ке Yes 

В результате будет построено остовное связанное дерево.