Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практикум ЭВМ.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
6 Mб
Скачать

3. Рисунок

Нарисовать произвольный рисунок.

unit Unit1_ris;

interface

uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, StdCtrls;

type

TForm1 = class(TForm)

Button1: TButton;

procedure Button1Click(Sender: TObject);

private { Private declarations }

public { Public declarations }

end;

var Form1: TForm1;

implementation {$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

begin

form1.Canvas.MoveTo(100,150);

form1.Canvas.lineto(100,350);

form1.Canvas.lineto(400,350);

form1.Canvas.lineto(400,150);

form1.Canvas.lineto(100,150);

form1.Canvas.lineto(250,50);

form1.Canvas.lineto(400,150);

form1.Canvas.MoveTo(220,200);

form1.Canvas.lineto(220,280);

form1.Canvas.lineto(280,280);

form1.Canvas.lineto(280,200);

form1.Canvas.lineto(220,200);

form1.Canvas.MoveTo(220,225);

form1.Canvas.lineto(280,225);

form1.Canvas.MoveTo(250,225);

form1.Canvas.lineto(250,280);

form1.Canvas.MoveTo(400,350);

form1.Canvas.lineto(500,300);

form1.Canvas.lineto(500,100);

form1.Canvas.lineto(400,150);

form1.Canvas.MoveTo(500,100);

form1.Canvas.lineto(350,0);

form1.Canvas.lineto(250,50);

form1.Canvas.ellipse(230,90,280,130);

form1.Canvas.ellipse(10,10,80,80);

form1.Canvas.MoveTo(70,70);

form1.Canvas.lineto(80,120);

form1.Canvas.lineto(110,90);

form1.Canvas.lineto(70,70);

form1.Canvas.MoveTo(80,45);

form1.Canvas.lineto(130,65);

form1.Canvas.lineto(130,25);

form1.Canvas.lineto(80,45);

form1.Canvas.MoveTo(45,80);

form1.Canvas.lineto(25,140);

form1.Canvas.lineto(60,140);

form1.Canvas.lineto(45,80);

form1.Canvas.brush.color:=clyellow;

form1.Canvas.floodfill(250,300,clblack,fsborder);

form1.Canvas.floodfill(450,300,clblack,fsborder);

form1.Canvas.floodfill(30,30,clblack,fsborder);

form1.Canvas.floodfill(75,80,clblack,fsborder);

form1.Canvas.floodfill(85,45,clblack,fsborder);

form1.Canvas.floodfill(45,85,clblack,fsborder);

form1.Canvas.brush.color:=clblue;

form1.Canvas.floodfill(100,10,clblack,fsborder);

form1.Canvas.brush.color:=claqua;

form1.Canvas.floodfill(250,60,clblack,fsborder);

form1.Canvas.brush.color:=cllime;

form1.Canvas.brush.style:=bscross;

form1.Canvas.floodfill(430,100,clblack,fsborder);

end;

end.

4. Тест

1. Создать тест-программу на произвольную тему.

unit Unit1;

interface

uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, StdCtrls;

type

TForm1 = class(TForm)

Button1: TButton;Label1: TLabel; Button2: TButton; Label2: TLabel; Label3: TLabel; Label4: TLabel; Edit1: TEdit;Edit2: TEdit; Edit3: TEdit;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

private { Private declarations }

public{ Public declarations } end;

var Form1: TForm1;fam,n,kurs:string;

implementation

uses Unit2,Unit3; {$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

begin

fam:=edit1.Text;

n:=edit2.Text;

kurs:=edit3.Text;

form2.show

end;

procedure TForm1.Button2Click(Sender: TObject);

begin form1.close end;

end.

unit Unit2;

interface

uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls;

type

TForm2 = class(TForm)

Button1: TButton; Label1: TLabel;RadioButton1: TRadioButton;RadioButton2: TRadioButton;

RadioButton3: TRadioButton;RadioButton4: TRadioButton;

procedure FormShow(Sender: TObject);

procedure Button1Click(Sender: TObject);

private{ Private declarations }

public { Public declarations }end;

var Form2: TForm2; v,o1,o2,o3,o4,o:array[1..30] of string; ball,j,i,ot:integer; f,t:textfile; p:real;

implementation uses Unit1, Unit3; {$R *.dfm}

procedure TForm2.FormShow(Sender: TObject);

begin assignfile(f,'D:\lina\эвм\тест\my\europe.txt');reset(f);

for i:=1 to 5 do begin

readln(f,v[i]); readln(f,o1[i]); readln(f,o2[i]); readln(f,o3[i]); readln(f,o4[i]); readln(f,o[i]); end;

label1.caption:=v[1];

RadioButton1.caption:=o1[1]; radiobutton2.caption:=o2[1];

radiobutton3.caption:=o3[1]; radiobutton4.caption:=o4[1]; ball:=0; i:=1

end;

procedure TForm2.Button1Click(Sender: TObject);

begin if i<=5 then begin

if (radiobutton1.Checked) and (radiobutton1.caption=o[i]) then ball:=ball+1 else

if (radiobutton2.Checked) and (radiobutton2.caption=o[i]) then ball:=ball+1 else

if (radiobutton3.Checked) and (radiobutton3.caption=o[i]) then ball:=ball+1 else

if (radiobutton4.Checked) and (radiobutton4.caption=o[i]) then ball:=ball+1;

radiobutton1.Checked:=false; radiobutton2.Checked:=false; radiobutton3.Checked:=false;

radiobutton4.Checked:=false; end;

if i<=4 then begin

label1.caption:=v[i+1]; RadioButton1.caption:=o1[i+1]; radiobutton2.caption:=o2[i+1];

radiobutton3.caption:=o3[i+1]; radiobutton4.caption:=o4[i+1]; i:=i+1; end

else begin p:=ball*100/5;

if p<45 then ot:=2;

if (p>=45) and (p<65) then ot:=3;

if (p>=65) and (p<85) then ot:=4;

if p>=85 then ot:=5; form3.show end;

end;

end.

unit Unit3;

interface

uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;

type

TForm3 = class(TForm)

Label1: TLabel; Edit1: TEdit;Label2: TLabel;Edit2: TEdit;Button1: TButton; Label3: TLabel;

procedure FormShow(Sender: TObject);

procedure Button1Click(Sender: TObject);

private{ Private declarations }

public{ Public declarations }

end;

var Form3: TForm3;

implementation

uses Unit1,Unit2; {$R *.dfm}

procedure TForm3.FormShow(Sender: TObject);

begin

edit1.Text:=inttostr(ball); edit2.Text:=inttostr(ot); label3.Caption:=fam+' '+n+', '+kurs;

assignfile(t,'D:\lina\эвм\тест\my\rezultat.txt');append(t); writeln(t,fam); writeln(t,n);

writeln(t,'gruppa: ',kurs); writeln(t,'kol-vo pravilnix otvetov: ',ball);

writeln(t,'otsenka: ',ot); closefile(t)

end;

procedure TForm3.Button1Click(Sender: TObject);

begin

form3.close; form2.close; form1.close;

end; end.