Математическое решение задач с графической иллюстрацией результатов

Автор работы: Пользователь скрыл имя, 10 Ноября 2012 в 10:46, реферат

Описание

Целью выполненной курсовой работы является разработка программного продукта. Приложение должно в заданном множестве точек найти три треугольника с вершинами на плоскости, так чтобы второй треугольник лежал строго внутри первого, а третий внутри второго.

Содержание

Введение
1 Общая часть
1.1 Постановка задачи
1.2 Описание математического метода решения задачи
1.3 Описание решения поставленной задачи
2 Специальная часть
2.1 Алгоритм работы программы
2.1.1 Процедура создания главной формы
2.1.2 Процедура ввода значений с клавиатуры
2.1.3 Процедура выбора случайных значений
2.1.4 Процедура открытия из текстового файла
2.1.5 Процедура сохранения в текстовый файл
2.1.6 Процедура вычисления
2.1.6.1 Процедура вывод
2.1.6.2 Процедура повтор
2.1.7 Процедура очистки окна вывода информации
2.1.8 Процедура выхода из программы
2.2 Системно – технические требования программы
2.3 Руководство пользователя
Заключение
Литература
Приложение А Листинг программы
Приложение Б Таблица спецификации глобальных переменных

Работа состоит из  1 файл

Документ Microsoft Word2003.doc

— 1.80 Мб (Скачать документ)

else result:=false;

end;

procedure TForm1.setka;

var

  h,w:integer;//высота окна вывода

 lx,ly,ly1,lx1,lx2,lx3,lx4,ly2,ly3,ly4:integer;//оцифровка по осям ox, oy

begin

  h:=Form1.Image1.Height;

w:=Form1.Image1.Width;

x0:=w div 2;;

y0:=h div 2;

with Form1.Image1.Canvas do

begin


  MoveTo(x0,y0);

  LineTo(w,y0);

  MoveTo(x0,y0);

  LineTo(x0,0);

  MoveTo(x0,y0);

  LineTo(0,y0);

  MoveTo(x0,y0);

  LineTo(x0,h);

end;

dx:=x0 div 5;

dy:=y0 div 5;

lx:=x0;

lx1:=0;

lx3:=x0;

lx4:=0;

Form1.Image1.Canvas.TextOut(x0-4,y0+7,IntToStr(lx1));

repeat //прорисовка меток и оцифровка по оси ox

  with Form1.Image1.Canvas do

  begin

   Pen.Style:=psDot;

   Pen.Color:=clBlack;

   lx:=lx+dx;

   lx1:=lx1+5;

   MoveTo(lx,y0);

   LineTo(lx,0);

   moveTo(lx,y0);

   LineTo(lx,h);

   Pen.Style:=psSolid ;

   MoveTo(lx,y0+3);

   Lineto(lx,y0);

   lx2:=Trunc (lx1);

   TextOut(lx-4,y0+7,IntToStr(lx2));


   Pen.Style:=psDot;

   lx3:=lx3-dx;

   lx4:=lx4-5;

   MoveTo(lx3,y0);

   LineTo(lx3,0);

   moveTo(lx3,y0);

   LineTo(lx3,h);

   Pen.Style:=psSolid ;

   MoveTo(lx3,y0+3);

   Lineto(lx3,y0);

   lx2:=Trunc (lx4);

   TextOut(lx3-4,y0+7,IntToStr(lx2));

  end;

until (lx>=w);

ly:=y0;

ly1:=0;

 ly3:=y0;

 ly4:=0;

 repeat//прорисовка меток и оцифровка по оси oy

  with Form1.Image1.Canvas do

  begin

   Pen.Style:=psDot;

   ly:=ly-dy;

   MoveTo(x0,ly);

   LineTo(w,ly);

   MoveTo(x0,ly);

   LineTo(0,ly);

   Pen.Style:=psSolid;

   MoveTo(x0-3,ly);

   Lineto(x0,ly);

   ly1:=ly1+5;

   ly2:=trunc(ly1);


   TextOut(x0-7,ly+4,InttoStr(ly2));

   Pen.Style:=psDot;

   ly3:=ly3+dy;

   MoveTo(x0,ly3);

   LineTo(w,ly3);

   MoveTo(x0,ly3);

   LineTo(0,ly3);

   Pen.Style:=psSolid;

   MoveTo(x0-3,ly3);

   Lineto(x0,ly3);

   ly4:=ly4-5;

   ly2:=trunc(ly4);

   TextOut(x0-7,ly3+4,InttoStr(ly2));

  end;

until (ly<=0);

end;

procedure TForm1.vivod;

var

ravn,result: boolean;

i,j,k,l,m,s,s4,u,v,i1,j1,k1,A1B1,A1C1,B1C1:integer;

r,pr,pr1,pr2,pr3,AB,BC,AC,Ga,GB,GC,DE,FD,EF,s1,s2,s3,GD,GE,GF: real;

A1,B1,C1: TPoint;

begin

   ravn:=false;

for i:=1 to cnt-1 do

  begin

   A:=point[i];

   for j:=1 to cnt-1 do

   begin

    B:=point[j];

    for k:=1 to cnt-1 do

    begin


     C:=point[k];

     AB:=(sqrt(sqr(B.X-A.X)+sqr(B.Y-A.Y)));

     BC:=(sqrt(sqr(C.x-B.X)+sqr(C.Y-B.Y)));

     AC:=(sqrt(sqr(C.X-A.X)+sqr(C.Y-A.Y)));

     if ((AB+BC<>AC) and (AB>0) and (BC>0) and (AC>0)) then

     begin

      kol:=1;

      for l:=1 to cnt-1 do

      begin

       G:=point[l];

       GA:=(sqrt(sqr(A.X-G.X)+sqr(A.Y-G.Y)));

       GB:=(sqrt(sqr(B.X-G.X)+sqr(B.Y-G.Y)));

       GC:=(sqrt(sqr(C.X-G.X)+sqr(C.Y-G.Y)));

       if (GA+GB<>AB) and (GB+GC<>BC) and (GA+GC<>AC) and (GA<>0)and(GB<>0)and(GC<>0)then

       begin

       s:=round(TriangleArea(A.X,A.Y,B.X,B.Y,C.X,C.Y));

      s1:=TriangleArea(A.X,A.Y,G.X,G.Y,B.X,B.Y);

       s2:=TriangleArea(A.X,A.Y,G.X,G.Y,C.X,C.Y);

       s3:=TriangleArea(B.X,B.Y,G.X,G.Y,C.X,C.Y);

       s4:=round(s1+s2+s3);

       if s4=s then

       begin inc(kol);D:=G;

       kol:=2;

        for u:=1 to cnt-1 do

        begin

         G:=point[u];

       GA:=(sqrt(sqr(A.X-G.X)+sqr(A.Y-G.Y)));

       GB:=(sqrt(sqr(B.X-G.X)+sqr(B.Y-G.Y)));

       GC:=(sqrt(sqr(C.X-G.X)+sqr(C.Y-G.Y)));

if (GA+GB<>AB) and (GB+GC<>BC) and (GA+GC<>AC) and (GA<>0)and(GB<>0)and(GC<>0)then

       begin

       result:=IsInTriange(G.X,G.Y,A.X,A.Y,B.X,B.Y,C.X,C.Y);


       if result then

       begin

       inc(kol);

        E:=G;

        kol:=3;

        for v:=1 to cnt-1 do

        begin

        G:=point[v];

       GA:=(sqrt(sqr(A.X-G.X)+sqr(A.Y-G.Y)));

       GB:=(sqrt(sqr(B.X-G.X)+sqr(B.Y-G.Y)));

       GC:=(sqrt(sqr(C.X-G.X)+sqr(C.Y-G.Y)));

if (GA+GB<>AB) and (GB+GC<>BC) and (GA+GC<>AC) and (GA<>0)and(GB<>0)and(GC<>0)then

       begin

       result:=IsInTriange(G.X,G.Y,A.X,A.Y,B.X,B.Y,C.X,C.Y);

       if result then

       begin  //

         F:=G; inc(kol);

       end; //

       If kol=4 then

       begin//

        DE:=round(sqrt(sqr(E.X-D.X)+sqr(E.Y-D.Y)));

        EF:=round(sqrt(sqr(F.X-E.X)+sqr(F.Y-E.Y)));

        FD:=round(sqrt(sqr(D.X-F.X)+sqr(D.Y-F.Y)));

if (DE+EF<>FD)and(DE+FD<>EF)and(EF+FD<>DE)then

          begin

          ravn:=false;

           kol:=1;

           for i1:=1 to cnt-1 do

           begin

           G:=point[i1];

       GD:=(sqrt(sqr(d.X-G.X)+sqr(D.Y-G.Y)));

       GE:=(sqrt(sqr(E.X-G.X)+sqr(E.Y-G.Y)));


       GF:=(sqrt(sqr(F.X-G.X)+sqr(F.Y-G.Y)));

if (GD+GE<>DE) and (GD+GF<>FD) and (GE+GF<>EF) and (GD<>0)and(GE<>0)and(GF<>0)then

       begin

       result:=IsInTriange(G.X,G.Y,D.X,D.Y,E.X,E.Y,F.X,F.Y);

       if result then

       begin inc(kol);A1:=G;

       kol:=2;

       for j1:=1 to cnt-1 do

       begin

        G:=point[j1];

       GD:=(sqrt(sqr(d.X-G.X)+sqr(D.Y-G.Y)));

       GE:=(sqrt(sqr(E.X-G.X)+sqr(E.Y-G.Y)));

       GF:=(sqrt(sqr(F.X-G.X)+sqr(F.Y-G.Y)));

if (GD+GE<>DE) and (GD+GF<>FD) and (GE+GF<>EF) and (GD<>0)and(GE<>0)and(GF<>0)then

       begin

       result:=IsInTriange(G.X,G.Y,D.X,D.Y,E.X,E.Y,F.X,F.Y);

       if result then

       if s4=s then

       begin inc(kol);B1:=G;

       kol:=3;

       for k1:=1 to cnt-1 do

       begin

        G:=point[k1];

       GD:=(sqrt(sqr(d.X-G.X)+sqr(D.Y-G.Y)));

       GE:=(sqrt(sqr(E.X-G.X)+sqr(E.Y-G.Y)));

       GF:=(sqrt(sqr(F.X-G.X)+sqr(F.Y-G.Y)));

if (GD+GE<>DE) and (GD+GF<>FD) and (GE+GF<>EF) and (GD<>0)and(GE<>0)and(GF<>0)then

       begin

       result:=IsInTriange(G.X,G.Y,D.X,D.Y,E.X,E.Y,F.X,F.Y);

       if result then

       begin inc(kol);C1:=G;

       end;


       If kol=4 then

       begin//

        kol:=5;

        A1B1:=round(sqrt(sqr(B1.X-A1.X)+sqr(B1.Y-A1.Y)));

        A1C1:=round(sqrt(sqr(C1.X-A1.X)+sqr(C1.Y-A1.Y)));

        B1C1:=round(sqrt(sqr(C1.X-B1.X)+sqr(C1.Y-B1.Y)));

          if (A1B1+A1B1<>B1C1) and (A1B1<>0) and (A1C1<>0) and (B1C1<>0) then

          begin//

          mas[cnt1]:=A;

          mas[cnt1+1]:=B;

          mas[cnt1+2]:=C;

          mas[cnt1+3]:=D;

          mas[cnt1+4]:=E;

          mas[cnt1+5]:=F;

          mas[cnt1+6]:=A1;

          mas[cnt1+7]:=B1;

          mas[cnt1+8]:=C1;

          cnt1 :=cnt1+9;

          ravn:=true;

          with Image1.Canvas do

          begin

          moveto(A.X*dx div 5+x0,A.Y*dy div 5+y0);

          lineto(B.X*dx div 5+x0,B.Y*dy div 5+y0);

          lineto(C.X*dx div 5+x0,C.Y*dy div 5+y0);

          lineto(A.X*dx div 5+x0,A.Y*dy div 5+y0);

          moveto(D.X*dx div 5+x0,D.Y*dy div 5+y0);

          lineto(E.X*dx div 5+x0,E.Y*dy div 5+y0);

          lineto(F.X*dx div 5+x0,F.Y*dy div 5+y0);

          lineto(D.X*dx div 5+x0,D.Y*dy div 5+y0);

          moveto(A1.x*dx div 5+x0,A1.y*dy div 5+y0);

          lineto(B1.x*dx div 5+x0,B1.y*dy div 5+y0);

          lineto(C1.x*dx div 5+x0,C1.y*dy div 5+y0);


          lineto(A1.x*dx div 5+x0,A1.y*dy div 5+y0);

          end;

          end;

          end;

          end;

          if ravn then begin k2:=k1; break; end;

          end;

          end

          end;

          if ravn then begin j2:=j1; break; end;

          end;

          end;

          end;

          if ravn then begin i2:=i1; break; end;

          end;

          end;

          end;

          end;

          if ravn then begin v1:=v; break; end;

          end;

          end;

          end;

          if ravn then begin u1:=u; break; end;

          end;

          end;

          end;

         if ravn=true then begin q:=l; break; end;

        end;

       end;

       if ravn=true then begin t:= k; break; end;

      end;

      if ravn=true then begin w:=j; break; end;


     end;

     if ravn=true then begin z:=i; break; end;

    end;

    if kol<5 then

    begin

    Form3.listbox1.Clear;

    //cnt:=1;

    for m:=1 to cnt do

    begin

     point[m].X:=0;

     point[m].Y:=0;

    end;

    cnt:=1;

    cnt1:=1;

    r:= MessageDlg( 'Нет точек удовлетворяющих  условию', mtInformation, [mbOK], 0);exit;

    end;

    Form3.OKBtn.Caption:='повторить';

    kol:=1;

end;

procedure TForm1.povtor;

var

ravn, result: boolean;

i,j,k,l,m,s4,u,v,i1,j1,k1,A1B1,A1C1,B1C1,s,p,p1,p2,p3,p4,p5,p6,p7,p8,p9:integer;

r,AB,BC,AC,Ga,GB,GC,DE,FD,EF,GD,GE,GF: real;

A1,B1,C1: TPoint;

begin

   ravn:=false;

for i:=z to cnt-1 do

  begin

   A:=point[i];

   for s:=1 to cnt1-1 do

   begin


    if (mas[s].X=A.X)and(mas[s].Y=A.Y) then begin p1:=1; break; end else p1:=0;

   end;

   for j:=w to cnt-1 do

   begin

    B:=point[j];

    for s:=1 to cnt1-1 do

   begin

    if (mas[s].X=B.X)and(mas[s].Y=B.Y) then begin p2:=1; break; end else p2:=0;

   end;

    for k:=t to cnt-1 do

    begin

     C:=point[k];

     for s:=1 to cnt1-1 do

     begin

      if (mas[s].X=C.X)and(mas[s].Y=C.Y)then begin p3:=1; break; end else p3:=0;

     end;

     AB:=(sqrt(sqr(B.X-A.X)+sqr(B.Y-A.Y)));

     BC:=(sqrt(sqr(C.x-B.X)+sqr(C.Y-B.Y)));

     AC:=(sqrt(sqr(C.X-A.X)+sqr(C.Y-A.Y)));

     if ((AB+BC<>AC) and (AB>0) and (BC>0) and (AC>0)) then

     begin

      kol:=1;

      for l:=q to cnt do

      begin

       G:=point[l];

       GA:=(sqrt(sqr(A.X-G.X)+sqr(A.Y-G.Y)));

       GB:=(sqrt(sqr(B.X-G.X)+sqr(B.Y-G.Y)));

       GC:=(sqrt(sqr(C.X-G.X)+sqr(C.Y-G.Y)));

      if (GA+GB<>AB) and (GB+GC<>BC) and (GA+GC<>AC) and (GA<>0)and(GB<>0)and(GC<>0)then

       begin

       result:=IsInTriange(G.X,G.Y,A.X,A.Y,B.X,B.Y,C.X,C.Y);

 

       if result then


       begin inc(kol);D:=G;

       for s:=1 to cnt1-1 do

       begin

        if (mas[s].X=D.X)and(mas[s].Y=D.Y) then begin p4:=1; break; end else p4:=0;

       end;

       kol:=2;

        for u:=u1 to cnt do

        begin

         G:=point[u];

       GA:=(sqrt(sqr(A.X-G.X)+sqr(A.Y-G.Y)));

       GB:=(sqrt(sqr(B.X-G.X)+sqr(B.Y-G.Y)));

       GC:=(sqrt(sqr(C.X-G.X)+sqr(C.Y-G.Y)));

       if (GA+GB<>AB) and (GB+GC<>BC) and (GA+GC<>AC) and (GA<>0)and(GB<>0)and(GC<>0)then

       begin

       result:=IsInTriange(G.X,G.Y,A.X,A.Y,B.X,B.Y,C.X,C.Y);

       if result then

       begin

       inc(kol);

        E:=G;

        for s:=1 to cnt1-1 do

        begin

         if (mas[s].X=E.X)and(mas[s].Y=E.Y) then begin p5:=1; break; end else p5:=0;

        end;

        kol:=3;

        for v:=v1+1 to cnt do

        begin

        G:=point[v];

       GA:=(sqrt(sqr(A.X-G.X)+sqr(A.Y-G.Y)));

       GB:=(sqrt(sqr(B.X-G.X)+sqr(B.Y-G.Y)));

       GC:=(sqrt(sqr(C.X-G.X)+sqr(C.Y-G.Y)));

       if (GA+GB<>AB) and (GB+GC<>BC) and (GA+GC<>AC) and (GA<>0)and(GB<>0)and(GC<>0)then


       begin

       result:=IsInTriange(G.X,G.Y,A.X,A.Y,B.X,B.Y,C.X,C.Y);

       if result then

       begin  //

         F:=G;

         for s:=1 to cnt1-1 do

         begin

          if (mas[s].X=F.X)and(mas[s].Y=F.Y) then begin p6:=1; break; end else p6:=0;

         end;

         inc(kol);

       end; //

       If kol=4 then

       begin//

        DE:=round(sqrt(sqr(E.X-D.X)+sqr(E.Y-D.Y)));

        EF:=round(sqrt(sqr(F.X-E.X)+sqr(F.Y-E.Y)));

        FD:=round(sqrt(sqr(D.X-F.X)+sqr(D.Y-F.Y)));

          if (DE+EF<>FD) and (DE<>0) and (EF<>0) and (FD<>0) then

          begin

          ravn:=false;

           for i1:=i2 to cnt-1 do

           begin

           G:=point[i1];

       GD:=(sqrt(sqr(d.X-G.X)+sqr(D.Y-G.Y)));

       GE:=(sqrt(sqr(E.X-G.X)+sqr(E.Y-G.Y)));

       GF:=(sqrt(sqr(F.X-G.X)+sqr(F.Y-G.Y)));

       if (GD+GE<>DE) and (GD+GF<>FD) and (GE+GF<>EF) and (GD<>0)and(GE<>0)and(GF<>0)then

       begin

       result:=IsInTriange(G.X,G.Y,D.X,D.Y,E.X,E.Y,F.X,F.Y);

       if result then

       begin inc(kol);A1:=G;

       for s:=1 to cnt1-1 do

       begin


        if (mas[s].X=A1.X)and(mas[s].Y=A1.Y) then begin p7:=1; break; end else p7:=0;

       end;

       kol:=2;

       for j1:=j2 to cnt-1 do

       begin

        G:=point[j1];

       GD:=(sqrt(sqr(d.X-G.X)+sqr(D.Y-G.Y)));

       GE:=(sqrt(sqr(E.X-G.X)+sqr(E.Y-G.Y)));

       GF:=(sqrt(sqr(F.X-G.X)+sqr(F.Y-G.Y)));

       if (GD+GE<>DE) and (GD+GF<>FD) and (GE+GF<>EF) and (GD<>0)and(GE<>0)and(GF<>0)then

       begin

       result:=IsInTriange(G.X,G.Y,D.X,D.Y,E.X,E.Y,F.X,F.Y);

       if result then

       begin inc(kol);B1:=G;

       for s:=1 to cnt1-1 do

       begin

        if (mas[s].X=B1.X)and(mas[s].Y=B1.Y) then begin p8:=1; break; end else p8:=0;

       end;

       kol:=3;

       for k1:=k2+1 to cnt-1 do

       begin

        G:=point[k1];

       GD:=(sqrt(sqr(d.X-G.X)+sqr(D.Y-G.Y)));

       GE:=(sqrt(sqr(E.X-G.X)+sqr(E.Y-G.Y)));

       GF:=(sqrt(sqr(F.X-G.X)+sqr(F.Y-G.Y)));

       if (GD+GE<>DE) and (GD+GF<>FD) and (GE+GF<>EF) and (GD<>0)and(GE<>0)and(GF<>0)then

       begin

       result:=IsInTriange(G.X,G.Y,D.X,D.Y,E.X,E.Y,F.X,F.Y);

       if result then

       begin inc(kol);C1:=G;

       for s:=1 to cnt1-1 do


       begin

        if (mas[s].X=C1.X)and(mas[s].Y=C1.Y) then begin p9:=1; break; end else p9:=0;

       end;

       end;

       p:=p1*p2*p3*p4*p5*p6*p7*p8*p9;

       If (kol=4)and(p=0)  then

       begin//

       kol:=5;

        A1B1:=round(sqrt(sqr(B1.X-A1.X)+sqr(B1.Y-A1.Y)));

        A1C1:=round(sqrt(sqr(C1.X-A1.X)+sqr(C1.Y-A1.Y)));

        B1C1:=round(sqrt(sqr(C1.X-B1.X)+sqr(C1.Y-B1.Y)));

          if (A1B1+A1B1<>B1C1) and (A1B1<>0) and (A1C1<>0) and (B1C1<>0) then

          begin//

          mas[cnt1]:=A;

          mas[cnt1+1]:=B;

          mas[cnt1+2]:=C;

          mas[cnt1+3]:=D;

          mas[cnt1+4]:=E;

          mas[cnt1+5]:=F;

          mas[cnt1+6]:=A1;

          mas[cnt1+7]:=B1;

          mas[cnt1+8]:=C1;

          cnt1 :=cnt1+9;

          ravn:=true;

          with Image1.Canvas do

          begin

          moveto(A.X*dx div 5+x0,A.Y*dy div 5+y0);

          lineto(B.X*dx div 5+x0,B.Y*dy div 5+y0);

          lineto(C.X*dx div 5+x0,C.Y*dy div 5+y0);

          lineto(A.X*dx div 5+x0,A.Y*dy div 5+y0);

          moveto(D.X*dx div 5+x0,D.Y*dy div 5+y0);

          lineto(E.X*dx div 5+x0,E.Y*dy div 5+y0);


          lineto(F.X*dx div 5+x0,F.Y*dy div 5+y0);

          lineto(D.X*dx div 5+x0,D.Y*dy div 5+y0);

          moveto(A1.x*dx div 5+x0,A1.y*dy div 5+y0);

          lineto(B1.x*dx div 5+x0,B1.y*dy div 5+y0);

          lineto(C1.x*dx div 5+x0,C1.y*dy div 5+y0);

          lineto(A1.x*dx div 5+x0,A1.y*dy div 5+y0);

          end;

          end;

          end;

          end;

          k2:=0;

          if ravn then begin k2:=k1; break; end;

          end;

          end

          end;

          j2:=1;

          if ravn then begin j2:=j1; break; end;

          end;

          end;

          end;

          i2:=1;

          if ravn then begin i2:=i1; break; end;

          end;

          end;

          end;

          end;

          v1:=0;

          if ravn then begin v1:=v; break; end;

          end;

          end;

          end;

          u1:=1;


          if ravn then begin u1:=u; break; end;

          end;

          end;

          end;

          q:=1;

         if ravn=true then begin q:=l; break; end;

        end;

       end;

       t:=1;

       if ravn=true then begin t:= k; break; end;

      end;

      w:=1;

      if ravn=true then begin w:=j; break; end;

     end;

     if ravn=true then begin z:=i; break; end;

    end;

    s:=p;

    s:=kol;

    if (kol<5) or (cnt1>199)  then

    begin

    Form3.listbox1.Clear;

    for m:=1 to cnt do

    begin

     point[m].X:=0;

     point[m].Y:=0;

    end;

    for s:=1 to cnt1-1 do

    begin

     mas[s].X:=0;

     mas[s].Y:=0;

    end;

    cnt:=1;


     cnt1:=1;

     Form3.OKBtn.Caption:='вывести';

    r:= MessageDlg( 'Нет точек удовлетворяющих  условию', mtInformation, [mbOK], 0);exit;

    end;

   end;

procedure TForm1.N4Click(Sender: TObject);

begin

close;

end;

procedure TForm1.N7Click(Sender: TObject);

var

r: real;

begin

Form3.Show;

end;

procedure TForm1.FormCreate(Sender: TObject);

begin

setka;

end;

procedure TForm1.N2Click(Sender: TObject);

begin

image1.Canvas.FillRect(image1.Canvas.ClipRect);

setka;

Form3.ListBox1.Clear;

Информация о работе Математическое решение задач с графической иллюстрацией результатов