Trong bài hôm nay chúng ta sẽ nắm được sơ lược nội dung của một số thư viện trong chương trình con chuẩn của Pascal... Dùng cách thủ tục của thư viện này người ta có thể điều khiển việ
Trang 1THƯ VIỆN CHƯƠNG TRÌNH
CON CHUẨN
Giáo viên hướng dẫn: Thầy Trần Doãn Vinh
Sinh viên thực hiện: Tạ Duy Hoàng
BÀI 19
Trang 2Để viết chương trình giải các bài toàn lớn và phức tạp người lập trình có thể chia thành nhiều bài toán nhỏ, mỗi bài toán là một dãy lệnh mô tả một
số thao tác nhất định gọi là chương trình con Sau đó ghép nối các chương trình con để tạo thành một chương trình chính hoàn chỉnh
Nhãm trëng
ViÖc B
Giới thiệu chung
Trang 3Giới thiệu chung (tiếp)
Mỗi ngôn ngữ lập trình đều có một số lượng phong phú các chương trình con chuẩn trong các thư viện Trong bài hôm nay chúng ta sẽ nắm được sơ lược nội dung của một số thư viện trong chương trình con chuẩn của Pascal
Trang 41 Thƣ viện crt
Thư viện crt chứa các thủ tục liên quan tới việc quản
lý và khai thác màn hình, bàn phím của máy tính
Dùng cách thủ tục của thư viện này người ta có thể điều khiển việc đưa dữ liệu ra màn hình, xây dựng các giao diện màn hình – bàn phím, dùng bàn phím điều khiển chương trình hoặc sử dụng âm thanh để xây dựng các chương trình mô phỏng
Trang 5Các thủ tục tiện ích của crt
Ngoài thủ tục clrscr đã giới thiệu ở các bài trước thì crt còn có một số thủ tục tiện ích sau:
Thủ tục TextColor(color) là thủ tục đặt màu cho chữ trên màn hình, trong đó color là hằng hoặc biến xác định màu và có thể nhận giá trị trong bảng sau
Trang 6Thƣ viện crt (tiếp)
• Thủ tục TextBackground(color) là thủ tục đặt màu nền của màn hình, trong đó color là hằng hoặc biến xác định màu và có thể nhận giá trị ở bảng nêu trên
• Thủ tục GotoXY(x,y) là thủ tục đưa con trỏ tới vị trí cột x dòng y của màn hình văn bản Do màn hình của văn bản gồm 25 dòng và 80 cột nên phạm vi giá trị của các tham số là:
1 <=x <= 80, 1<=y <=25
Trang 7Một số ví dụ về các thủ tục trong crt
Uses CRT;
Begin Write(‘Chua dat mau chu’);
Textcolor(4);
Write(‘Da dat mau chu la do’);
Readln;
End
Theo các em thì lệnh Textcolor(4)
Có chức năng gì Trong chương trình trên?
Trang 8Một số ví dụ về các thủ tục trong crt (tiếp)
Uses CRT;
Begin
Writeln(‘Con tro dang dung o cot 10 dong 20’);
Gotoxy(10,20);
Readln;
End
Chức năng của
lệnh gotoxy(10,20) ?
Trang 92 Thƣ viện GRAPH
Mặc dù pascal không phải là một ngôn ngữ chuyên về
đồ họa nhưng với thư viện đồ họa người lập trình có thể khai thác khả năng đồ họa của máy tính ở mức độ thông dụng
Thư viện Graph chứa các chương trình con phục vụ khai thác khả năng đồ họa của máy tính ở mức độ thông dụng như vẽ điểm, đường, tô màu…
Trang 10a Các thiết bị hỗ trợ chương trình đồ họa
Có hai chế độ màn hình : đồ họa và văn bản
Bảng mạch điều khiển màn hình là thiết bị đảm bảo tương tác giữa bộ xử lí và màn hình để thực hiện các chế độ phân giải và màu sắc
Turbo Pascal cung cấp các chương trình điều khiển (có phần mở rộng là BGI) tương ứng với các loại card
đồ họa Khi khởi động chế độ đồ họa cần chỉ ra đường dẫn đến chương trình này
Tọa độ màn hình đồ họa được đánh số từ 0 Cột được đánh số từ trái qua phải, dòng được đánh số từ trên xuống dưới Giá trị lớn nhất của tọa độ dòng và tọa
độ cột được gọi là độ phân giải của màn hình
Để thực hiện được chức năng đồ họa cần sử dụng các thủ tục và hàm trong thư viện Graph
Trang 11b Khởi tạo chế độ đồ họa
Khởi động chế độ đồ họa : Initgraph(dr,md:integer;pth:string);
• dr : là số hiệu của trình điều khiển BGI
• md : là số hiệu của độ phân giải
• pth : là đường dẫn tới các tệp BGI
Kết thúc chế độ đồ họa trở về chế độ văn bản : Closegraph;
Trang 12c Thủ tục vẽ điểm, đoạn thẳng
• Vẽ điểm và đoạn thẳng là hai thao tác căn bản nhất của
đồ họa
• Trước khi vẽ ta có thể đặt màu cho nét vẽ bằng thủ tục:
Procedure setcolor(color: word);
Vẽ điểm được thực hiện bằng thủ tục:
Procedure PutPixel(x,y: interger; color: word);
Trong đó:
• X và y là tọa độ của điểm;
• Color là màu của điểm
Trang 13c Thủ tục vẽ điểm, đoạn thẳng (tiếp)
Vẽ đoạn thẳng nối hai điểm ta sử dụng thủ tục:
Procedure Line(x1,y1,x2,y2:integer);
Trong đó:
(x1, y1) là tọa độ điểm đầu
(x2,y2) là tọa độ điểm cuối
Vẽ đoạn thẳng nối điểm hiện tại (vị trí con trỏ) với điểm có tọa độ (x,y):
Procedure Lineto(x,y: integer);
Vẽ đoạn thẳng nối điểm hiện tại với điểm có tọa độ hiện tại cộng với gia số (dx,dy):
Procedure LineRel(dx,dy: integer);
Trang 14Ví dụ về vẽ đoạn thẳng:
Uses graph Begin
Drive:=0;
Initgraph(drive, mode ,‘c:\Tp\BGI’); Procedure Line(1,1,20,20);
Readln;
End
Hỏi : Chức năng của thủ tục Line trong ví dụ kể trên?
Trang 15d Các thủ tục và hàm liên quan tới vị trí
con trỏ
Các hàm xác định giá trị lớn nhất có thể của tọa độ màn hình X và Y (để biết độ phân giải của màn hình trong chế độ đồ họa đang sử dụng):
Function GetMaxX: integer;
Function GetMaxY: integer;
Thủ tục chuyển con trỏ tới tọa độ (x,y) Procedure MoveTo(x,y: integer);
Trang 16e Một số thủ tục vẽ hình đơn giản
Vẽ đường tròn có tâm tại (x,y) bán kính r:
Procedure Circle(x,y: integer; r: word);
Vẽ cung của elip có tâm tại điểm (x,y) với các bán kính trục Xr, Yr từ góc khởi đầu StAngel đến góc kết thúc EndAngel:
Procedure Ellipse(x,y: integer;StAngel, EndAngel, Xr, Yr: word);
Vẽ hình chữ nhật có các cạnh song song với các trục tọa độ, (x1, y1) là tọa độ của đỉnh trái trên còn (x2, y2)
là tọa độ của đỉnh phải dưới:
Procedure Rectangle(x1, y1, x2, y2: integer);
Trang 17Thủ tục ý nghĩa
Putpixel(x,y:integer,color: word) Vẽ điểm tại toạ độ x,y có màu color
Line(x1,y1,x2,y2: integer) Vẽ đoạn thẳng có toạ độ hai đầu mút
là (x1,y1),(x2,y2)
Circle(x,y:integer,r:word) Vẽ đờng tròn tâm (x,y) bán kính r
Ellipse(x,y:integer,gd,gc,Rx,Ry:word) Vẽ cung elip tâm tại điểm(x,y), bán
kính các trục Rx,Ry từ góc đầu(gd)
đến góc cuối(gc)
Rectangle(x1,y1,x2,y2:integer) Vẽ hình chữ nhật có toạ độ đỉnh trên
bên trái (x1,y1) và đỉnh dới bên phải (x2,y2)
Trang 183 Một số thƣ viện khác:
Thư viện System chứa các hàm sơ cấp và các thủ tục vào/ra mà các chương trình đều dùng tới
Thư viện Dos chứa các thủ tục cho phép thực hiện trực tiếp các lệnh như tạo thư mục, thiết lập ngày, giờ hệ thống
`Thư viện Printer cung cấp các thủ tục làm việc với máy in
Trang 194 Sử dụng thƣ viện
Muốn sử dụng các thủ tục và hàm chuẩn của một (một số) thư viện nào đó (trừ system) phải dùng lệnh khai báo:
Trong đó uses là từ khóa, unit1, unit2,…,unitN là tên các thư viện (được viết cách nhau bởi dấu phẩy);
Khai báo này là lệnh đầu tiên trong phần khai báo (nghĩa là nó chỉ viết sau tên khai báo chương trình)
Trang 205 Củng cố và bài tập về nhà
Những nội dung đã học :
• Thư viện chương trình con cung cấp những
chương trình con chuẩn nhằm mở rộng khả năng ứng dụng
• Khởi động chế độ đồ họa Chuyển từ chế độ màn
hình đồ họa sang chế độ màn hình văn bản
• Thủ tục vẽ điểm, đường, hình cơ bản : hình tròn,
hình chữ nhật, hình ellipse
Câu hỏi và bài tập về nhà :
• Yêu cầu tất cả các em nghiên cứu bài học tiếp
theo
• Đọc thêm và tìm hiểu các ứng dụng ngoài thực tế
và ứng dụng lý thuyết của bài học.
• Làm các bài tập trong sách giáo khoa