1. Trang chủ
  2. » Giáo án - Bài giảng

Bài tập Pascal_Phần 5

19 198 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 19
Dung lượng 194,5 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Readln; Normvideo; END.. 265/Lỗi khởi động: Program Loi_Khoi_Dong; Uses Graph; Var Gd,Gm : Integer; kieu : Word; Cardmode : String; Begin DetectGraphGd,Gm; InitGraphGd,Gm,'Pa

Trang 1

Thư Viện Các Dạng Bài Tập Pascal của Tin Học 11 - Phần 5 251/Star:

Program Star;

Uses Points, Graph, Crt;

CONST

Seed = 1999;

NumPoints = 2000;

VAR

GrDriver, GrMode, Color : Integer;

i, MaxColor : Word;

XMax, YMax : Integer;

Vp : ViewPortType;

M : Point;

BEGIN

GrDriver :=CGA;

GrMode := CGAC0;

InitGraph(GrDriver, GrMode, 'C:\BP\BGI');

SetBkColor(Blue);

MaxColor := GetMaxColor;

Rectangle(0,0,GetMaxX, GetMaxY);

SetViewport(i,i,GetMaxX-1,GetMaxY-1,ClipOn);

GetViewSettings(Vp);

With Vp Do

Begin

Xmax := (X2 - X1);

Ymax := (Y2 - Y1);

End;

Randomize;

While Not KeyPressed Do

Begin

RandSeed := Seed;

i := 0;

While (Not KeyPressed) And ( i < NumPoints) Do

Begin

Inc(i);

PutPixel(Random(Xmax)+1,Random(Ymax)+1,Random(MaxColor)+1);

End;

RandSeed := Seed;

i := 0;

While ( Not KeyPressed) And ( i < 2 * NumPoints) Do

Begin

M.Init(Random(Xmax)+1,Random(Ymax)+1);

Color := GetPixel(M.X,M.Y);

If Color = Random(GetMaxColor) + 1 Then

M.Hide

Else

M.Show;

Inc(i);

End;

End;

END

252/Phương thức trùng tên:

Program Phuong_Thuc_Trung_Ten;

TYPE

Father = OBJECT

Procedure A;

Procedure B;

End;

Child = OBJECT( Father )

Trang 2

Procedure B;

End;

VAR

F : Father;

C : Child;

{ -}

Procedure Father.A;

Begin

Writeln('Phuong thuc A cua kieu CHA'); End;

{ -}

Procedure Father.B;

Begin

Writeln('Phuong thuc B cua kieu CHA'); End;

{ -}

Procedure Child.B;

Begin

Writeln('Phuong thuc B cua kieu CON'); End;

{ -}

BEGIN

Writeln(' - Goi F.B -'); F.B;

Writeln(' - Goi C.B -');

C.B;

Readln;

END

253/Virtual Constructor:

Program Virtual_Constructor;

TYPE

Father = OBJECT

Constructor Init;

Procedure A;

Procedure B ; Virtual;

End;

Child = OBJECT( Father )

Procedure B; Virtual;

End;

VAR

F : Father;

C : Child;

D : Child;

{ -}

Constructor Father.Init;

Begin

End;

{ -}

Procedure Father.A;

Begin

Writeln('Phuong thuc A cua kieu CHA'); End;

{ -}

Procedure Father.B;

Begin

Writeln('Phuong thuc B cua kieu CHA'); End;

{ -}

Procedure Child.B;

Begin

Writeln('Phuong thuc B cua kieu CON');

Trang 3

End;

{ -}

BEGIN

F.Init ; {Khoi dong F va tao VMT cho kieu cha } C.Init ; {Khoi dong F va tao VMT cho kieu con }

D.Init ; {Khoi dong F va tao VMT cho kieu con }

Writeln(' - Goi F.B -');

F.B;

Writeln(' - Goi C.B -');

C.B;

Writeln(' - Goi D.B -');

D.B;

Readln;

END

254/ND_Constructor:

Program ND_Constructor;

Uses Graph;

TYPE

Point = OBJECT

X,Y : Integer;

Constructor Init(InitX,InitY : Integer);

Procedure Show; Virtual;

Procedure MoveTo(NewX,NewY: Integer);

End;

Circle = OBJECT(Point)

Radius : Integer;

Constructor Init(InitX,InitY,InitRadius : Integer);

Procedure Show;Virtual;

End;

Arc = OBJECT(Circle)

StartAngle,EndAngle : Integer;

Constructor Init(InitX,InitY,InitRadius,InitS,InitE:Integer); Procedure Show;Virtual;

End;

VAR

M : Point;

C : Circle;

A : Arc;

GrDriver,GrMode : Integer;

{ -}

Constructor Point.Init;

Begin

X := InitX;

Y := InitY;

End;

{ -}

Procedure Point.Show;

Begin

PutPixel(X,Y,1);

End;

{ -}

Procedure Point.MoveTo;

Begin

X := NewX;

Y := NewY;

End;

{ -}

Constructor Circle.Init;

Begin

Trang 4

Point.Init(InitX,InitY);

Radius := InitRadius;

End;

{ -}

Procedure Circle.Show;

Begin

Graph.Circle(X,Y,Radius);

End;

{ -}

Constructor Arc.Init;

Begin

Circle.Init(InitX,InitY,InitRadius);

StartAngle := InitS;

EndAngle := InitE;

End;

{ -}

Procedure Arc.Show;

Begin

Graph.Arc(X,Y,Radius,StartAngle,EndAngle);

End;

{ -}

BEGIN

GrDriver := CGA;

GrMode := CGAC0;

InitGraph(GrDriver,GrMode,'C:\BP\BGI');

SetBkColor(Blue);

M.Init(GetMaxX Div 2, GetMaxY Div 2);

M.Show;

C.Init(GetMaxX Div 2, GetMaxY Div 2, GetMaxY Div 2);

C.Show;

A.Init(GetMaxX Div 2, GetMaxY Div 2, GetMaxX Div 4,0,60); A.Show;

A.MoveTo(GetMaxX Div 3,GetMaxY Div 2);

A.Show;

Readln;

CloseGraph;

END

255/Bảng lượng giác:

Program Bang_Luong_Giac;

CONST

g='|';

Var

F : Text;

k : Integer;

Rad,S,C,T,CT : Real;

{ -}

Function Replicate(Chu:Char;Times:Integer):String;

Var

j : Integer;

Tam :String[80];

Begin

Tam := ' ';

For j := 1 To Times Do

Tam := Tam + Chu;

Replicate := Tam;

End;

{ -}

BEGIN

Assign(f,'BLGIAC.DAT');

Rewrite(f);

Writeln(f,' * BANG LUONG GIAC *');

Trang 5

Writeln(f);

Writeln(f,Replicate(#205,58));

Writeln(f,g,' DO ',g,' RADIAN ',g,' SIN ',g,' COSIN ',

g,' TAN ',g,' COTANG ',g);

Writeln(f,Replicate(#205,58));

For k := 1 To 89 Do

Begin

Rad := k * Pi /180;

S := Sin(Rad);

C := Cos(Rad);

T := S/C;

CT := 1/t;

Writeln(f,g,k:2,g,Rad:10:8,g,S:10:8,g,C:10:8,g,T:10:6,g,CT:10:6,g); End;

Writeln(f,Replicate(#205,58));

Flush(f);

Close(f);

END

256/Minh hoạ tập tin thiết bị KDB:

Program Tap_tin_Kbd;

Uses Crt,Turbo3;

Var

a: Array[1 20] Of String[15];

Item,Wide,i,j: Integer;

Choose : String[5];

Ch : Char;

Begin

ClrScr;

Writeln('MINH HOA TAP TIN THIET BI KBD');

Writeln(' -');

Writeln;

Write('-Cho biet so tieu de: ');

Readln(Item);

Write('-Do rong cac tieu de: ');

Readln(Wide);

For i := 0 To Item - 1 Do

Begin

Write('-Tieu de thu: ',i+1,' : ');

Readln(a[i]);

End;

ClrScr;

GotoXY(10,3);

j := Wide;

Ch := 'M';

For i := 0 To Item - 1 Do

Write(a[i] : Wide);

i := 0;

While Ch < 'M' Do

Begin

If J < Wide Then

j := j + (Item * Wide);

If i = -1 Then

i := Item - 1;

i := i Mod Item;

j := j Mod ((Item + 1) * Wide);

If j = 0 Then

j := Wide;

GotoXY(10 - Wide + j,3);

Normvideo;

Write(a[i]:Wide);

Read(Kbd,Ch);

Trang 6

If KeyPressed Then

Begin

Read(Kbd,Ch);

End;

Lowvideo;

GotoXY(WhereX-Wide, WhereY);

Write(a[i] : Wide);

GotoXY(WhereX + Wide, WhereY);

Normvideo;

If (Ord(Ch) = 77) Then

Begin

i := i + 1;

j := j + Wide;

End

Else

If (Ord(Ch) = 75) Then

Begin

i := i - 1;

j := j - Wide;

End;

If(Ord(Ch) = 13) Then

Begin

Choose := a[i];

GotoXY(50,20);

Writeln('Bam vua chon: ',Choose);

Readln;

Ch := 'Y';

End;

End;

End

257/In bảng lượng giác:

Program In_Bang_Luong_Giac;

Uses Printer;

CONST

g='|';

Var

k : Integer;

Rad,S,C,T,CT : Real;

{ -}

Function Replicate(Chu:Char;Times:Integer):String; Var

j : Integer;

Tam :String[80];

Begin

Tam := ' ';

For j := 1 To Times Do

Tam := Tam + Chu;

Replicate := Tam;

End;

{ -}

BEGIN

Writeln(Lst,' ');

Writeln(Lst,' ');

Writeln(Lst,' * BANG LUONG GIAC *');

Writeln(Lst,' ');

Writeln(Lst,Replicate(#205,58));

Writeln(Lst,g,' DO ',g,' RADIAN ',g,' SIN ',g,' COSIN ', g,' TAN ',g,' COTANG ',g);

Writeln(Lst,Replicate(#205,58));

For k := 1 To 89 Do

Begin

Trang 7

Rad := k * Pi /180;

S := Sin(Rad);

C := Cos(Rad);

T := S/C;

CT := 1/t;

Writeln(Lst,g,k:2,g,Rad:10:8,g,S:10:8,g,C:10:8,g,T:10:6,g,CT:10:6,g); End;

Writeln(Lst,Replicate(#205,58));

END

258/Tạo Buffer:

Program Tao_Buffer;

Var

f : Text;

Filename : String[20];

Ch : Char;

Buf : Array[1 10240] Of Char;

Begin

Writeln('MINH HOA THU TUC SETTEXTBUF()');

Writeln(' -');

Writeln;

Write('-Cuo biet ten tap tin: ');

Readln(Filename);

Assign(f, Filename);

SetTextBuf(f,Buf);

Reset(f);

While Not EOF(f) Do

Begin

Read(f,Ch);

Write(Ch);

End;

Readln;

End

259/Ngày giờ cập nhật tập tin:

Program Ngay_Gio_Cap_nhat_Tap_Tin;

Uses Dos;

Var

f : Text;

Filename : String[20];

Time : LongInt;

Dt : DateTime;

Begin

Writeln('MINH HOA THU TUC GETFTIME()');

Writeln(' -');

Writeln;

Write('-Cho biet ten tap tin: ');

Readln(Filename);

Writeln;

Assign(f,Filename);

Reset(f);

If DosError <> 6 Then

Begin

GetFTime(f,Time);

UnpackTime(Time,DT);

Writeln('+Tap tin: ',Filename,' duoc cap nhat lan cuoi');

Writeln(' -Ngay : ',DT.Day);

Writeln(' -Thang : ',DT.Month);

Writeln(' -Nam : ',DT.Year);

Writeln(' -Hoi : ',DT.Hour,' gio ',DT.Min,' phut ',DT.Sec,' giay'); Close(f);

End

Trang 8

Else

Writeln('-Ma loi: ',DosError);

Writeln;

Write(' Bam <Enter> ');

Readln

End

260/Xem ngày hệ thống:

Program Xem_Ngay_He_Thong;

Uses Dos;

Var

Nam,Thang,Ngay,Thu : Word;

TenThu : String[10];

Begin

Writeln('MINH HOA THU TUC GETDATE()'); Writeln(' -');

Writeln;

Write(' Hom nay la ngay nao ? ');

GetDate(Nam,Thang,Ngay,Thu);

Case Thu Of

0 : TenThu := 'Chu Nhat';

1 : TenThu := 'Thu Hai';

2 : TenThu := 'Thu Ba';

3 : TenThu := 'Thu Tu';

4 : TenThu := 'Thu Nam';

5 : TenThu := 'Thu Sau';

6 : TenThu := 'Thu Bay';

End;

Writeln;

Writeln(' Hom nay la : ');

Writeln(' +Thu : ',TenThu);

Writeln(' +Ngay : ',Ngay);

Writeln(' +Thang: ',Thang);

Writeln(' +Nam : ',Nam);

Writeln;

Write(' Bam <Enter> ');

Readln

End

261/Sửa ngày:

Program Sua_Ngay;

Uses Dos;

Var

Nam,thang,ngay,Thu: Word;

Tenthu : String[3];

Begin

Writeln('MINH HOA THU TUC SETDATE()'); Writeln(' -');

Writeln;

Write('Hom nay la: ');

GetDate(Nam,Thang,Ngay,Thu);

Case Thu Of

0 : TenThu := 'Sun';

1 : Tenthu := 'Mon';

2 : Tenthu := 'Tue';

3 : Tenthu := 'Wed';

4 : Tenthu := 'Thu';

5 : Tenthu := 'Fri';

6 : Tenthu := 'Sat';

End;

Write(Thang,'-',Ngay,'-',Nam,' ',TenThu,' : '); Writeln;

Trang 9

Write('-Sua lai thang: ');

Readln(Thang);

Write('-Sua lai ngay: ');

Readln(Ngay);

Write('-Sua lai nam: ');

Readln(Nam);

SetDate(Nam,Thang,Ngay);

Writeln;

Writeln(' Da sua xong, bam <Enter> ');

Readln

End

263/Khung chử nhật nét kép:

Program Khung_chu_Nhat_net_kep;

Uses Crt;

Var

x1,y1,x2,y2 : Integer;

{ -}

Procedure VeKhung(x1,y1,x2,y2,mau1,mau2: Integer); Var

i : Byte;

Begin

TextColor(mau1);

TextBackGround(mau2);

For i := X1 + 1 To x2-1 Do

Begin

GotoXY(i,y1);

Write(#205);

GotoXY(i,y2);

Write(#205);

End;

For i := y1 + 1 To y2 - 1 Do

Begin

GotoXY(x1,i);

Write(#186);

GotoXY(x2,i);

Write(#186);

End;

GotoXY(x1,y1);

Write(#201);

GotoXY(x2,y1);

Write(#187);

GotoXY(x1,y2);

Write(#200);

GotoXY(x2,y2);

Write(#188)

End;

{ -}

BEGIN

ClrScr;

Writeln('-Toa do goc tren ben trai: ');

Write(' +X1 = ');

Readln(x1);

Write(' +Y1 = ');

Readln(y1);

Writeln('-Toa do goc duoi ben phai: ');

Write(' +X2 = ');

Readln(x2);

Write(' +Y2 = ');

Readln(y2);

ClrScr;

VeKhung(x1,y1,x2,y2,Red,black);

Trang 10

Readln;

Normvideo;

END

264/Card_Mode màn hình:

Program Card_Mode_man_hinh;

Uses Graph;

Var

Gd,Gm : Integer;

kieu : Word;

Cardmode : String;

Begin

DetectGraph(Gd,Gm);

InitGraph(Gd,Gm,'C:\BP\BGI');

Cardmode := GetDriverName;

Kieu := GetMaxMode;

CloseGraph;

Writeln('-Ten card man hinh: ',Cardmode); Writeln('-Ten mode man hinh: ',kieu);

Readln

End

265/Lỗi khởi động:

Program Loi_Khoi_Dong;

Uses Graph;

Var

Gd,Gm : Integer;

kieu : Word;

Cardmode : String;

Begin

DetectGraph(Gd,Gm);

InitGraph(Gd,Gm,'Path');

Cardmode := GetDriverName;

Writeln(GraphErrorMsg(GraphResult));

Write('Bam <Enter> de tiep tuc ');

Readln;

DetectGraph(Gd,Gm);

InitGraph(Gd,Gm,'C:\BP\BGI');

Kieu := GetMaxMode;

CloseGraph;

Writeln('-Ten card man hinh: ',Cardmode); Writeln('-Ten mode man hinh: ',kieu);

Readln

End

266/Thủ tục hàm tiện nghi:

Program ThuTuc_Ham_Tien_nghi;

Uses Graph,Crt;

Var

Gd,Gm,LoMode,HiMode,MaxMode : Integer; CenterX,CenterY : Word;

CardMonitor : String;

Begin

DetectGraph(Gd,Gm);

Writeln('-Chi so card man hinh: ',Gd);

Writeln('-Chi so mode man hinh: ',Gm);

Initgraph(Gd,Gm,'A:'); {Co y sai de thong bao loi} Writeln(GraphErrorMsg(GraphResult));

GotoXY(5,25);

Write('Bam <Enter> ');

Readln;

Gd := CGA;

Trang 11

Gm := CGAC2;

InitGraph(Gd,Gm,'C:\BP\BGI');

CenterX := GetMaxX Div 2; {Toa doo con tro}

CenterY := GetMaxY Div 2;

MaxMode := GetMaxMode;

CardMonitor := GetDriverName;

Circle(CenterX,CenterY,CenterY);

Readln;

GraphDefaults;

SetColor(1);

Circle(CenterX,CenterY,CenterY);

GetModeRange(Gd,LoMode,HiMode);

Readln;

CloseGraph;

Writeln('-TenCard : ',CardMonitor);

Writeln('-Mode toi da : ',MaxMode);

Writeln('-Mode thap : ',LoMode);

Writeln('-Mode cao : ',HiMode);

Readln;

End

267/Tạo cửa sổ:

Program Tao_Cua_So;

Uses Graph,Crt;

Const

n : Byte = 20;

Var

Gd,Gm : Integer;

{ -}

Procedure SetViewBox(x1,y1,x2,y2: Integer; Clip:Boolean); Begin

SetViewPort(x1,y1,x2,y2,Clip);

Rectangle(0,0,x2-x1,y2-y1);

End;

{ -}

BEGIN

Gd := Detect;

InitGraph(Gd,Gm,'C:\BP\BGI');

If GraphResult <> GrOK Then

Halt;

SetViewBox(2*n,2*n,GetMaxX,GetMaxY,ClipOn);

OutTextXY(20,2,'Xin Chao nam 2000');

Repeat

Until KeyPressed;

SetPalette(0,1);

SetViewBox(0,0,GetMaxX-n,GetMaxY-n,ClipOn);

OutTextXY(30,2,'Xin chao The ky 21');

Readln;

CloseGraph;

END

268/Tạo xoá cửa sổ:

Program Tao_Xoa_Cua_So;

Uses Graph;

Var

Gd,Gm : Integer;

Vp : ViewPortType;

k : Word;

Begin

Gd := Detect;

InitGraph(Gd,Gm,'C:\BP\BGI');

Rectangle(0,0,GetMaxX,39);

Ngày đăng: 10/05/2015, 08:00

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w