Реферат: Линейное программирование: решение задач графическим способом
{далее проверяем вышла ли cTmp за ОДЗ}
if (N.x*XResult+N.y*YResult>N.b) then begin Exit
end;
end;
cTmp:=cTmp+STEP;{Увеличиваем cTmp на STEP}
if keyPressed then key:=ReadKey;{если Esc нажата, то прерываем}
until (key=#27) or (cTmp>=10000);
if boolAnswer then begin
{пишем ответ:}
{1. Рисуем целевую ф-ю в нужном месте}
c:=MainF.x*XResult+MainF.y*YResult;
MoveTo(MinX+1,MinY-Round(C/MainF.y*MASHT)-1);
SetColor(Red);{рисуем целевую линию на экр. красным}
LineTo(MinX+Round(C/MainF.x*MASHT)+1,MinY-1);
SetLineStyle(1,0,NormWidth);
SetColor(Yellow);
{2. Считаем max(f)}
Str(MainF.x*XResult+MainF.y*YResult:2:1,STmp);
Result:='max(f)='+Stmp;
{3. Рисуем значение на оси X}
Line(MinX+Round(XResult)*MASHT,MinY-Round(YResult)*MASHT,MinX+Round(XResult)*MASHT,MinY+3);
Str(XResult:2:1,STmp);
OutTextXY(MinX+Round(XResult)*MASHT,MinY+4,STmp);
Result:=Result+' при x='+Stmp;
{4. Рисуем значение на оси Y}
Line(MinX+Round(XResult)*MASHT,MinY-Round(YResult)*MASHT,MinX-3,MinY-Round(YResult)*MASHT);
Str(YResult:2:1,STmp);
OutTextXY(MinX-30,MinY-Round(YResult)*MASHT,STmp);
Result:=Result+' y='+Stmp;