Автор: Пользователь скрыл имя, 17 Мая 2012 в 00:29, курсовая работа
Я выбрал эту тему курсовой работы, потому что каждый человек ежедневно, не всегда осознавая это, решает проблему: как получить наибольший эффект, обладая ограниченными средствами. Наши средства и ресурсы всегда ограничены. Жизнь была бы менее интересной, если бы это было не так. Чтобы достичь наибольшего эффекта, имея ограниченные средства, надо составить план, или программу действий.
Введение 4
1 Транспортная задача: общая постановка, типы и виды моделей 5
1.1 Общая постановка, цели, задачи 5
1.2 Основные типы, виды моделей 6
2. Методы решения транспортной задачи 11
2.1 Диагональный метод, или метод северо-западного угла 11
2.2 Метод минимального элемента 13
2.3 Метод наименьшей стоимости 15
2.4 Скриншоты курсового программного продукта 18
2.5 Листинг программы 19
БИБЛИОГРАФИЧЕСКИЙ СПИСОК 48
s := InputBox( 'Введите цену', '', '1' );
l.i1 := i1;
l.i2 := i2;
l.val := StrToInt( s );
fLines.Add( l );
end;
end;
procedure TForm1.Button8Click(Sender: TObject);
begin
fLines.Clear;
fFigures.Clear;
Redraw;
end;
procedure TForm1.PaintBox1MouseDown(
Shift: TShiftState; X, Y: Integer);
var
i: integer;
begin
i := IsOver( X,Y );
if (i < 0) then
exit;
if (Button = mbLeft) then
fMouseState := 1
else if (Button = mbRight) then
fMouseState := 2;
fMouseInd := i;
end;
procedure TForm1.PaintBox1MouseMove(
Y: Integer);
var
fig: TFigure;
begin
if (fMouseState = 1) then
begin
fig := fFigures.Items[fMouseInd];
fig.x := X;
fig.y := Y;
Redraw;
end
else if (fMouseState = 2) then
begin
fig := fFigures.Items[fMouseInd];
Redraw;
PaintBox1.Canvas.MoveTo( fig.x, fig.y );
PaintBox1.Canvas.LineTo( x, y );
end;
end;
procedure TForm1.PaintBox1MouseUp(
Shift: TShiftState; X, Y: Integer);
var
i: integer;
begin
i := fMouseState;
fMouseState := 0;
if (i = 2) then
begin
i := IsOver( x,y );
Redraw;
if (i < 0) then
exit;
AddRemoveLine( fMouseInd, i );
end;
Redraw;
end;
procedure TForm1.PaintBox1Paint(Sender: TObject);
begin
Redraw;
end;
procedure TForm1.Button7Click(Sender: TObject);
var
index, c1, c2: integer;
fig, fig2: TFigure;
l: TLine;
begin
c1 := 0;
c2 := 0;
for index := 0 to fFigures.Count-1 do
begin
fig := fFigures.Items[index];
if (fig.flag = 0) then
inc(c1)
else
inc(c2);
end;
StringGrid1.ColCount := c2 + 2;
StringGrid1.RowCount := c1 + 2;
c1 := 0;
c2 := 0;
for index := 0 to fFigures.Count-1 do
begin
fig := fFigures.Items[index];
if (fig.flag = 0) then
begin
StringGrid1.Cells[1,c1+2] := IntToStr( fig.val );
fig.p := c1;
inc( c1 );
end
else
begin
StringGrid1.Cells[c2+2,1] := IntToStr( fig.val );
fig.p := c2;
inc( c2 );
end;
end;
for index := 0 to fLines.Count-1 do
begin
l := fLines.Items[index];
fig := fFigures.Items[ l.i1 ];
fig2 := fFigures.Items[ l.i2 ];
if (fig.flag = fig2.flag) then
continue;
if (fig.flag = 0) then
StringGrid1.Cells[ fig2.p+2, fig.p+2 ] := IntToStr( l.val )
else
StringGrid1.Cells[ fig.p+2, fig2.p+2 ] := IntToStr( l.val );
end;
Button2Click( nil );
end;
end.
Информация о работе Методы решения транспортной задачи (метод потенциалов)