Контрольная работа по "Программирование"

Автор: Пользователь скрыл имя, 20 Декабря 2010 в 21:03, контрольная работа

Краткое описание

Простейшая программа в среде Delphi.

Цель работы: Научиться конструировать главную форму программы простейшими стандартными компонентами.

Постановка задачи:

1.Создать главную форму и присвоить ей имя, соответствующее лабораторной работе.
2.Сконструировать простейший калькулятор.
3.Написать обработчики, реализующие основные арифметические действия калькулятора.
4.Изучить структуру Unit главной формы.

Файлы: 1 файл

Записка.doc

— 640.50 Кб (Скачать)

          Image1.Canvas.CopyRect(Rect(0,0,500,300),b1.Canvas,Rect(0,0,500,300));

        end;

        if (flag=8)and(lin=1) then

        begin

          b1.Canvas.CopyRect(Rect(0,0,500,300),bp.Canvas,Rect(0,0,500,300));

          duga(X1,x,Y1,y,StrToInt(Edit7.Text));

          Image1.Canvas.CopyRect(Rect(0,0,500,300),b1.Canvas,Rect(0,0,500,300));

        end;

        if (flag=5)and(lin=1) then

        begin

          ellips(X1,Y1,x,y);

          Image1.Canvas.CopyRect(Rect(0,0,500,300),b1.Canvas,Rect(0,0,500,300));

          b1.Canvas.CopyRect(Rect(0,0,500,300),bp.Canvas,Rect(0,0,500,300));

        end;

        if (flag=7)and(lin=1) then

        begin

          line(b1,X1,Y1,X,Y1);

          line(b1,X1,Y1,X1,Y);

          line(b1,X,Y1,X,Y);

          line(b1,X1,Y,X,Y);

          Image1.Canvas.CopyRect(Rect(0,0,500,300),b1.Canvas,Rect(0,0,500,300));

          b1.Canvas.CopyRect(Rect(0,0,500,300),bp.Canvas,Rect(0,0,500,300));

        end;

        if (flag=6)and(lin=1) then

        begin

          //Image1.Canvas.CopyMode:=cmSrcCopy;

          //Image1.Canvas.CopyRect(Rect(0,0,500,300),bp.Canvas,Rect(0,0,500,300));

          b2.Canvas.CopyMode:=cmMergeCopy;

          b2.Canvas.CopyRect(Rect(0,0,500,300),b1.Canvas,Rect(0,0,500,300));

          line(b2,X1,Y1,X,Y);

          //Image1.Canvas.CopyMode:=cmSrcAnd;

          //Image1.Canvas.CopyRect(Rect(0,0,500,300),b2.Canvas,Rect(0,0,500,300));

        end; 

end; 

procedure TRed.BitBtn5Click(Sender: TObject);

begin

        flag:=1; // Заливка

        lin:=0;

end; 

procedure TRed.BitBtn1Click(Sender: TObject);

begin

        flag:=2;

        if lin=1 then

        begin

            lin:=0;

            polegon();

        end;

end; 

procedure TRed.BitBtn2Click(Sender: TObject);

begin

        flag:=3;

        if lin=1 then

        begin

            lin:=0;

            polegon();

        end;

end; 

procedure TRed.Timer1Timer(Sender: TObject);

var r:Trect;

begin

        r.Left:=0;

        r.Top:=0;

        r.Right:=500;

        r.Bottom:=300;

        Image1.Canvas.BrushCopy(r,bp,r,RGB(255,255,255)); 

end; 

procedure TRed.Shape1MouseDown(Sender: TObject; Button: TMouseButton;

  Shift: TShiftState; X, Y: Integer);

begin

        ColorDialog1.Execute();

        Shape1.Brush.Color:=ColorDialog1.Color;

end; 

procedure TRed.BitBtn3Click(Sender: TObject);

begin

        flag:=4;

        if lin=1 then

        begin

            lin:=0;

            polegon();

        end;

end; 

procedure TRed.BitBtn4Click(Sender: TObject);

begin

        flag:=5;

        if lin=1 then

        begin

            lin:=0;

            polegon();

        end; 

end; 

procedure TRed.BitBtn6Click(Sender: TObject);

begin

        flag:=6;

        if lin=1 then

        begin

            lin:=0;

            polegon();

        end;

end; 
 

procedure TRed.Button1Click(Sender: TObject);

var

   x1,y1,x2,y2,r:integer;

begin

    b1.Canvas.CopyRect(Rect(0,0,500,300),bp.Canvas,Rect(0,0,500,300));

    x1:=StrToInt(Edit3.Text)+250;

    y1:=StrToInt(Edit4.Text)*(-1)+150;

    x2:=StrToInt(Edit6.Text)+250;

    y2:=StrToInt(Edit5.Text)*(-1)+150;

    r:=StrToInt(Edit7.Text);

    duga(x1,x2,y1,y2,r);

    bp.Canvas.CopyRect(Rect(0,0,500,300),b1.Canvas,Rect(0,0,500,300));

    Image1.Canvas.CopyRect(Rect(0,0,500,300),b1.Canvas,Rect(0,0,500,300));

end; 

procedure TRed.BitBtn8Click(Sender: TObject);

begin

        flag:=7;

        if lin=1 then

        begin

            lin:=0;

            polegon();

        end;

end; 

procedure TRed.Button2Click(Sender: TObject);

var

   x1,y1,x2,y2:integer;

begin

    b1.Canvas.CopyRect(Rect(0,0,500,300),bp.Canvas,Rect(0,0,500,300));

    x1:=StrToInt(Edit1.Text)+250;

    y1:=StrToInt(Edit2.Text)*(-1)+150;

    x2:=StrToInt(Edit8.Text)+250;

    y2:=StrToInt(Edit9.Text)*(-1)+150;

    line(b1,x1,y1,x2,y2);

    bp.Canvas.CopyRect(Rect(0,0,500,300),b1.Canvas,Rect(0,0,500,300));

    Image1.Canvas.CopyRect(Rect(0,0,500,300),b1.Canvas,Rect(0,0,500,300));

end; 

procedure TRed.Button3Click(Sender: TObject);

var

        x1,y1,x2,y2:integer;

begin

    b1.Canvas.CopyRect(Rect(0,0,500,300),bp.Canvas,Rect(0,0,500,300));

    x1:=StrToInt(Edit10.Text)+250;

    y1:=StrToInt(Edit11.Text)*(-1)+150;

    x2:=StrToInt(Edit13.Text)+250;

    y2:=StrToInt(Edit12.Text)*(-1)+150;

    ellips(x1,y1,x2,y2);

    bp.Canvas.CopyRect(Rect(0,0,500,300),b1.Canvas,Rect(0,0,500,300));

    Image1.Canvas.CopyRect(Rect(0,0,500,300),b1.Canvas,Rect(0,0,500,300));

end; 

procedure TRed.Button4Click(Sender: TObject);

var

        x1,y1,x2,y2:integer;

begin

    b1.Canvas.CopyRect(Rect(0,0,500,300),bp.Canvas,Rect(0,0,500,300));

    x1:=StrToInt(Edit14.Text)+250;

    y1:=StrToInt(Edit15.Text)*(-1)+150;

    x2:=StrToInt(Edit17.Text)+250;

    y2:=StrToInt(Edit16.Text)*(-1)+150;

    krug(x1,y1,x2,y2);

    bp.Canvas.CopyRect(Rect(0,0,500,300),b1.Canvas,Rect(0,0,500,300));

    Image1.Canvas.CopyRect(Rect(0,0,500,300),b1.Canvas,Rect(0,0,500,300));

end; 

procedure TRed.N1Click(Sender: TObject);

begin

if Red.OpenPictureDialog1.Execute then

begin

        b1.LoadFromFile(Red.OpenPictureDialog1.FileName);

        b1.Width:=500;

        b1.Height:=300;

        bp.Canvas.CopyRect(Rect(0,0,500,300),b1.Canvas,Rect(0,0,500,300));

        Image1.Canvas.CopyRect(Rect(0,0,500,300),b1.Canvas,Rect(0,0,500,300));

        Image1.Width:=500;

        Image1.Height:=300;

        bp.Width:=500;

        bp.Height:=300; 

end;

end; 

procedure TRed.Save1Click(Sender: TObject);

begin

if Red.SavePictureDialog1.Execute() then

begin

        Red.image1.Picture.SaveToFile(SavePictureDialog1.FileName+'.bmp');

end;

end; 

procedure TRed.Exit1Click(Sender: TObject);

begin

        Red.Close;

end; 

procedure TRed.New1Click(Sender: TObject);

begin

           b2.Canvas.Brush.Color:=RGB(255,255,255);

           b2.Canvas.FillRect(Rect(0,0,500,300));

           bp.Canvas.Brush.Color:=RGB(255,255,255);

           bp.Canvas.FillRect(Rect(0,0,500,300));

           b1.Canvas.Brush.Color:=RGB(255,255,255);

           b1.Canvas.FillRect(Rect(0,0,500,300));

           b2.Canvas.MoveTo(0,0);

           b2.Canvas.LineTo(0,299);

           b2.Canvas.LineTo(499,299);

           b2.Canvas.LineTo(499,0);

           b2.Canvas.LineTo(0,0); 

           b1.Canvas.CopyRect(Rect(0,0,500,300),b2.Canvas,Rect(0,0,500,300));

           bp.Canvas.CopyRect(Rect(0,0,500,300),b2.Canvas,Rect(0,0,500,300));

           Image1.Canvas.CopyRect(Rect(0,0,500,300),bp.Canvas,Rect(0,0,500,300)); 

end; 

procedure TRed.BitBtn7Click(Sender: TObject);

begin

        flag:=8;

        if lin=1 then

        begin

            lin:=0;

            polegon();

        end;

end; 

end 

2) Пример работы программы:

 

Лабораторная  работа №9,10

Графическое представление данных

Цель  работы: Изучить возможности вывода результатов моделирования временных процессов в виде графиков

Постановка  задачи: Разработать программу отображения результатов вычисления определенного интеграла (из работы №3) в графической форме с помощью компонента TChar.

Информация о работе Контрольная работа по "Программирование"