I. MỤC ĐÍCH, YÊU CẦU
Qua bài học này sẽ giúp học sinh:
• Biết được một kiểu dữ liệu mới là kiểu mảng một chiều và kiểu mảng hai chiều;
• Biết khái niệm mảng một chiều, mảng hai chiều; ý nghĩa và sự cần thiết của mảng một chiều và hai chiều trong việc giải quyết một số bài toán;
• Biết cấu trúc tạo kiểu mảng một chiều, mảng hai chiều và cách khai báo 2 kiểu mảng trên;
• Tạo được mảng một chiều, hai chiều và áp dụng biến mảng để giải quyết một số bài toán cụ thể.
II. PHƯƠNG TIỆN DẠY HỌC
• Sử dụng bảng hoặc máy chiếu nếu có điều kiện.
• Giáo viên có thể chuẩn bị một số chương trình Pascal đơn giản để minh hoạ cho bài giảng.
III. NỘI DUNG
Tiết 18,19,20: § 11. KIỂU MẢNG Ngày soạn: .././2009 Ngày dạy: ././2009 I. MỤC ĐÍCH, YÊU CẦU Qua bài học này sẽ giúp học sinh: Biết được một kiểu dữ liệu mới là kiểu mảng một chiều và kiểu mảng hai chiều; Biết khái niệm mảng một chiều, mảng hai chiều; ý nghĩa và sự cần thiết của mảng một chiều và hai chiều trong việc giải quyết một số bài toán; Biết cấu trúc tạo kiểu mảng một chiều, mảng hai chiều và cách khai báo 2 kiểu mảng trên; Tạo được mảng một chiều, hai chiều và áp dụng biến mảng để giải quyết một số bài toán cụ thể. II. PHƯƠNG TIỆN DẠY HỌC Sử dụng bảng hoặc máy chiếu nếu có điều kiện. Giáo viên có thể chuẩn bị một số chương trình Pascal đơn giản để minh hoạ cho bài giảng. III. NỘI DUNG Hoạt động của giáo viên Hoạt động của HS Ghi bảng 1. Hoạt động 1: Ổn định tổ chức 2. Hoạt động 2: Giảng bài mới Dẫn vấn đề: Trong học kì I chúng ta đã được học một số kiểu dữ liệu cơ bản là những kiểu dữ liệu đơn không có cấu trúc. Hôm nay chúng ta cùng nhau tìm hiểu một kiểu dữ liệu mới đó là kiểu dữ liệu có cấu trúc, kiểu dữ liệu có cấu trúc đầu tiên mà chúng ta nghiên cứu đó là kiểu mảng. 2.1 Giới thiệu mảng một chiều. GV: Xét ví dụ sau: Nhập vào điểm trung bình của các môn học và đếm xem có bao nhiêu môn học có điểm trung bình > 5? GV: Để giải bài toán này chúng ta sẽ sử dụng cấu trúc nào đã học để đếm số môn có điểm > 5 ? GV: Với 13 môn học chúng ta phải sử dụng 13 câu lệnh If. Chương trình trên sẽ có những hạn chế nào ? GV: Để khắc phục hạn chế trên người ta ghép chung 13 biến trên thành một dãy và đặt cho nó chung một tên và đánh cho một phần tử một chỉ số (lần lượt từ 1 đến 13). Dãy trên được gọi là mảng một chiều, vậy mảng một chiều là gì? GV: Để mô tả mảng một chiều, ta cần xác định các yếu tố nào? GV: Làm thế nào để khai báo mảng một chiều? GV: Sau khi đã khai báo xong mảng một chiều chúng ta cần phải nhập dữ liệu cho mảng một chiều, xuất dữ liệu của mảng một chiều, xác định một phần tử nào đó trong mảng một chiều. GV: Đưa ra một số bài toán học sinh đã học ở lớp 10 và yêu cầu học sinh sử dụng mảng một chiều để giải quyết các bài toán đó. HS: báo cáo sĩ số HS: nghe GV dẫn vấn đề và ghi đề mục bài học vào vở. HS: Cấu trúc If ...then ... HS: Phải khai báo nhiều biến, chương trình viết rất dài. HS: Tham khảo SGK và trả lời. HS: Cần xác định kiểu của các phần tử và cách đánh chỉ số cho các phần tử đó. HS: nghiên cứu SGK và nêu hai cách khai báo mảng một chiều. HS: ghi bài vào vở HS: quan sát và ghi bài. HS: quan sát và ghi bài. HS: suy nghĩ và viết chương trình cho các bài toán mà GV đưa ra. § 11. KIỂU MẢNG 1. Kiểu mảng một chiều (M1C) KN: Mảng một chiều là dãy hữu hạn các phần tử có cùng kiểu dữ liệu. Các phần tử trong mảng một chiều có cùng một tên và được phân biệt nhau bởi chỉ số. Đê xây dựng mảng một chiều chúng ta cần xác định: Tên mảng một chiều; Số lượng phần tử; Kiểu dữ liệu của phần tử. a) Khai báo mảng một chiều Cách 1: Var : array[kiểu chỉ số] of ; Cách 2: Type = array[kiểu chỉ số] of ; Var : ; Ví dụ: Var DTB: array[1..13] of integer; Trong khai báo trên: - DTB là tên biến mảng; - 1..13 là kiểu chỉ số được đánh cho 13 phần tử của mảng; - Kiểu dữ liệu của mỗi phần tử là số nguyên. b) Nhập dữ liệu cho mảng một chiều: Sử dụng cấu trúc sau: For i := 1 to n do begin write(‘Nhap phan tu thu’, i, ‘=’); readln(phantu[i]); end; Trong đó: phantu là tên biến mảng một chiều. c) Xuất dữ liệu mảng một chiều Sử dụng cấu trúc sau: For i := 1 to n do write(phantu[i], ‘ ’); d) Xác định một phần tử nào đó trong mảng một chiều Sử dụng cấu trúc sau: TênbiếnM1C[chỉsố]; Ví dụ: DTB[i] là điểm trung bình của môn học ở vị trí i trong mảng DTB. e) Một số bài toán sử dụng mảng một chiều: Bài 1: Sắp xếp một dãy số nguyên bất kì thành một dãy không giảm hoặc không tăng. Bài 2: Tìm kiếm một phần tử nào đó có xuất hiện trong mảng đã cho hay không? Nếu có thì xuất hiện bao nhiêu lần? Bài 3: Tìm phần tử lớn nhất (max) hoặc nhỏ nhất (min) trong một mảng đã cho. IV. CỦNG CỐ GV nhắc lại cách khai báo của mảng một chiều; Cách nhập dữ liệu, xuất dữ liệu của mảng một chiều; Cách tham chiếu đến một phần tử nào đó trong mảng một chiều. V. BÀI TẬP VỀ NHÀ Trả lời các câu hỏi và bài tập 8, 9 trong SGK trang 79, 80 và sách bài tập. VI. RÚT KINH NGHIỆM Tiết 21,22: BÀI TẬP VÀ THỰC HÀNH 3 Ngày soạn: .././2009 Ngày dạy: ././2009 I. MỤC ĐÍCH, YÊU CẦU Qua bài học này sẽ giúp học sinh: Củng cố lại các kiến thức về kiểu dữ liệu mảng như: khai báo kiểu dữ liệu mảng, nhập xuất dữ liệu cho mảng, duyệt các phần tử của mảng để xử lý. II. PHƯƠNG TIỆN DẠY HỌC Học sinh thực hành trên máy dưới sự hướng dẫn của giáo viên. III. NỘI DUNG 1. Gõ chương trình sau vào máy và chạy thử: Program Tong; Uses crt; Const max := 100; Var M: array[1..max] of integer; S,n,k : integer; BEGIN Clrscr; Write(‘Nhap so phan tu cua mang: n = ’); Readln(n); For i := 1 to n do Begin Write(‘Nhap phan tu thu’, i, ‘=’); Readln(M[i]); End; Write(‘Mang vua nhap vao la: ’) For i := 1 to n do Write(M[i], ‘ ’); Write(‘Nhap vao gia tri: k = ’); Readln(k); S := 0; For i := 1 to n do If M[i] mod k = 0 then S := S + M[i]; Write(‘Tong cua cac so chia het cho k la: ’,S); Readln; END. 2. Hãy khai báo thêm một số biến và sửa lại chương trình trên thành chương trình tính tổng các số dương và tổng các số âm của một mảng. Program Tong_duong_am; Uses crt; Const max := 100; Var M: array[1..max] of integer; SD,SA, n : integer; BEGIN Clrscr; Write(‘Nhap so phan tu cua mang: n = ’); Readln(n); For i := 1 to n do Begin Write(‘Nhap phan tu thu’, i, ‘=’); Readln(M[i]); End; Write(‘Mang vua nhap vao la: ’) For i := 1 to n do Write(M[i], ‘ ’); SD := 0; SA := 0; For i := 1 to n do If M[i] > 0 then SD := SD + M[i] Else IF M[i] < 0 then SA := SA + M[i]; Write(‘Tong cua cac so duong la: ’,SD); Write(‘Tong cua cac so am la: ’,SA); Readln; END. 3. Viết chương trình tìm phần tử lớn nhất của một mảng sau đó in ra giá trị và chỉ số của giá trị lớn nhất đó. Nếu có nhiều phần tử có cùng giá trị lớn nhất thì đưa ra chỉ số nhỏ nhất. Program Tim_max; Uses crt; Const max := 100; Var M: array[1..max] of integer; i,j, n : integer; BEGIN Clrscr; Write(‘Nhap so phan tu cua mang: n = ’); Readln(n); For i := 1 to n do Begin Write(‘Nhap phan tu thu’, i, ‘=’); Readln(M[i]); End; Write(‘Mang vua nhap vao la: ’) For i := 1 to n do Write(M[i], ‘ ’); j := 1; For i := 2 to n do If M[i] > M[j] then j := i; Write(‘Gia tri lon nhat: ’,M[j]); Write(‘Chi so cua gia tri lon nhat: ’,j); Readln; END. IV. CỦNG CỐ Nhắc lại một số thuật toán: - Tính tổng các phần tử thoả mãn điều kiện nào đó; - Đếm số phẩn tử thảo mãn điều kiện nào đó; - Tìm phần tư lớn nhất, nhỏ nhất của mảng; - Sắp xếp mảng không tăng, không giảm. V. BÀI TẬP VỀ NHÀ 1. Viết chương trình nhập vào một mảng mộtt chiều và nhập vào một giá trị k. Đếm số phần tử trong mảng có giá trị bằng k. 2. Xem trước nội dung bài thực hành số 4 SGK, trang 65. VI. RÚT KINH NGHIỆM Tiết 23: § 11. KIỂU MẢNG (TT) Ngày soạn: .././2009 Ngày dạy: ././2009 I. MỤC ĐÍCH, YÊU CẦU Qua bài học này sẽ giúp học sinh: Biết được kiểu mảng hai chiều; Biết khái niệm mảng hai chiều; ý nghĩa và sự cần thiết của mảng hai chiều trong việc giải quyết một số bài toán; Biết cấu trúc tạo kiểu mảng hai chiều và cách khai báo; Tạo được mảng hai chiều và áp dụng biến mảng để giải quyết một số bài toán cụ thể. II. PHƯƠNG TIỆN DẠY HỌC Sử dụng bảng hoặc máy chiếu nếu có điều kiện. Giáo viên có thể chuẩn bị một số chương trình Pascal đơn giản để minh hoạ cho bài giảng. III. NỘI DUNG Hoạt động của giáo viên Hoạt động của HS Ghi bảng 2.1 Giới thiệu mảng hai chiều. GV: xét ví dụ tạo ra một bảng nhân như sau: 1 2 3 4 5 2 4 6 8 10 3 6 9 12 15 4 8 12 16 20 5 10 15 20 25 GV: Các em hãy sử dụng kiến thức của mảng một chiều để lưu trữ bảng nhân trên ? GV: Với cách làm như vậy chúng ta sẽ gặp những hạn chế nào ? GV: Để khắc phục hạn chế trên người ta đưa ra kiểu dữ liệu mảng hai chiều. GV: Để mô tả mảng hai chiều, ta cần xác định các yếu tố nào? GV: Làm thế nào để khai báo mảng hai chiều? GV: Sau khi đã khai báo xong mảng hai chiều chúng ta cần phải biết cách nhập dữ liệu cho mảng hai chiều, xuất dữ liệu của mảng hai chiều, xác định một phần tử nào đó trong mảng hai chiều. GV: Đưa ra một số bài toán và yêu cầu học sinh sử dụng mảng hai chiều để giải quyết các bài toán đó. HS: sẽ sử dụng 5 mảng một chiều, mỗi mảng lưu một hàng của bảng. HS: Khai báo nhiều biến mảng một chiều, viết chương trình nhập xuất dữ liệu dài. HS: nghe giảng và ghi bài. HS: Cần xác định kiểu của các phần tử; số phần tử trên một hàng, số phần tử trên một cột; cách đánh chỉ số cho các phần tử trên hàng, cột. HS: nghiên cứu SGK và nêu hai cách khai báo mảng hai chiều. HS: quan sát và ghi bài. HS: quan sát và ghi bài. HS: quan sát và ghi bài. HS: quan sát và ghi bài. HS: quan sát và ghi bài. HS: suy nghĩ và viết chương trình cho các bài toán mà GV đưa ra. § 11. KIỂU MẢNG (TT) 2. Mảng hai chiều (M2C) Khái niệm: Mảng hai chiều là một bảng gồm nhiều hàng và nhiều cột chứa các phần tử cùng kiểu dữ liệu. Đê xây dựng mảng hai chiều chúng ta cần xác định: Tên mảng hai chiều; Số lượng phần tử trên mỗi chiều; Kiểu dữ liệu của phần tử. a) Khai báo mảng hai chiều Cách 1: Var : array[kiểu chỉ số hàng, kiểu chỉ số cột] of ; Cách 2: Type = array[kiểu chỉ số hàng, kiểu chỉ số cột] of ; Var : ; Ví dụ: Var BNHAN: array[1..5, 1..5] of integer; Trong khai báo trên: - BNHAN là tên biến mảng; - 1..5 là kiểu chỉ số được đánh cho 5 phần tử của hàng; - 1..5 là kiểu chỉ số được đánh cho 5 phần tử của cột; - Kiểu dữ liệu của mỗi phần tử là số nguyên. b) Nhập dữ liệu cho mảng hai chiều: Sử dụng cấu trúc sau: For i := 1 to n do Begin For j := 1 to m do write(‘Nhap phan tu thu’, i,j, ‘=’); readln(phantu[i,j]); end; Trong đó: - phantu là tên biến mảng hai chiều. - m, n là số phẩn tử trên hàng và số phần tử trên cột. c) Xuất dữ liệu mảng hai chiều Sử dụng cấu trúc sau: For i := 1 to n do Begin For j := 1 to m do write(phantu[i,j, ‘ ’]); writeln; end; d) Xác định một phần tử nào đó trong mảng một chiều Sử dụng cấu trúc sau: TênbiếnM2C[chỉ số hàng, chỉ số cột]; Ví dụ: BNHAN[3,4] = 12 e) Một số bài toán ví dụ Bài 1: Viết chương trình xuất ra màn hình bảng nhân như trên. Bài 2: Viết chương trình nhập từ bàn phím một mảng gồm 3 hàng và 4 cột. Sau đó đếm xem có bao nhiêu phần tử có giá trị nhỏ hơn 5. IV. CỦNG CỐ GV nhắc lại cách khai báo của mảng mảng hai chiều; Cách nhập dữ liệu, xuất dữ liệu của mảng mảng hai chiều; Cách tham chiếu đến một phần tử nào đó trong mảng hai chiều. V. BÀI TẬP VỀ NHÀ Trả lời các câu hỏi và bài tập 8, 9 trong SGK trang 79, 80 và sách bài tập. VI. RÚT KINH NGHIỆM Tiết 24,25: BÀI TẬP VÀ THỰC HÀNH 4 Ngày soạn: .././2009 Ngày dạy: ././2009 I. MỤC ĐÍCH, YÊU CẦU Qua bài học này sẽ giúp học sinh: Củng ... nh tính chất của tam giác: đều, cân hoặc vuông. hienthi(); hiển thị tọa độ ba đỉnh của một tam giác trên màn hình. Kh_cách():real; cho giá trị là khoảng cách giữa hai điểm. - Tham số biến r, a, b, c. - Tham số giá trị p,q. 2. Quan sát chương trình, dự tính chức năng của chương trình. - Nhập vào tọa độ ba đỉnh của tam giác và khảo sát tính chất của tam giác: cân, vuông, đều. In ra chu vi và diện tích của tam giác. - Quan sát kết quả trên màn hình để đối chiếu với kết quả tự tính được. - Quan sát và ghi nhớ kết quả để thấy được hiệu ứng thay đổi của tham trị và tham biến. 2. Hoạt động 2: Rèn luyện kĩ năng lập trình. HOẠT ĐỘNG CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC SINH 1. Phân tích yêu cầu của đề bài. - Chiếu nội dung yêu cầu lên bảng. - Chia lớp thành 2 nhóm. + Nhóm 1: Nêu câu hỏi phân tích để giải quyết bài toán + Nhóm 2: Trả lời câu hỏi phân tích của nhóm 1 để tìm ra cách giải quyết bài toán. - Giáo viên góp ý bổ sung cho câu hỏi phân tích và trả lời phân tích. 2. Lập trình. - Yêu cầu học sinh lập trình trên máy. Giáo viên tiếp cận từng học sinh để sửa lỗi cần thiết. - Yêu cầu học sinh nhập dữ liệu vào của giáo viên và báo cáo kết quả của chương trình. - Đánh giá kết quả của học sinh. 1. Quan sát yêu cầu. - Nhóm 1: Đặt câu hỏi. + Dữ liệu vào. + Dữ liệu ra. + Cần sửa những chỗ nào trong chương trình câu b. + Thuật toán để đếm số lượng các loại hình tam giác - Nhóm 2: Trả lời câu hỏi phân tích. + Cho trong tệp, phải viết lệnh đọc dữ liệu trong tệp + Ba số nguyên dương là số lượng của ba loại hình tam giác. Ba số được ghi trên ba dòng của một tệp. + Cần thay đoạn chương trình nhập dữ liệu bằng một chương trình con để đọc dữ liệu từ tệp TAMGIAC.INP. Thay đoạn chương trình in kết quả ra màn hình bằng một chương trình con để in ba số nguyên dương là số lượng ba loại hình ra tệp TAMGIAC.OUT + Thuật toán: Nếu deu thì d:=d+1 Ngược lại nếu can thì c:=c+1 ngược lại thì v:=v+1; 2. Độc lập viết chương trình, thực hiện chương trình đối với test tự tạo. - Thông báo kết quả cho giáo viên - Nhập dữ liệu của giáo viên và báo cáo kết quả. IV. ĐÁNH GIÁ CUỐI BÀI 1. Những nội dung đã học - Cách xây dựng hàm và thủ tục, cách khai báo tham số dạng tham biến và tham trị. - Tìm hiểu một số chương trình con liên quan đến tam giác 2. Câu hỏi và bài tập về nhà - Cho file dữ liệu như ở bài tập trong hoạt động 2. - Đọc bài đọc thêm: Ai là lập trình viên đầu tiên? Sách giáo khoa, trang 109. - Chuẩn bị bài cho tiết học lý thuyết: Xem trước nội dụng bài Thư viện chương trình con chuẩn, sách giáo khoa, trang 110. VI. RÚT KINH NGHIỆM Tiết 45: Kiểm tra thực hành Tiết 46,47: THƯ VIỆN CHƯƠNG TRÌNH CON CHUẨN Ngày soạn: ././2009 Ngày dạy: ././2009 I. MỤC TIÊU 1. Kiến thức: - Biết được một số thư viện chương trình con. 2. Kĩ năng: - Bước đầu sử dụng được các thư viện đó trong lập trình. - Khởi động được chế độ đồ hoạ. - Sử dụng được các thủ tục vẽ điểm, đường, hình tròn, hình ellipse, hình chữ nhật. II. ĐỒ DÙNG DẠY HỌC 1. Chuẩn bị của giáo viên - Máy chiếu projector để giới thiệu ví dụ. 2. Chuẩn bị của học sinh - Sách giáo khoa. III. HOẠT ĐỘNG DẠY-HỌC 1. Hoạt động 1: Tìm hiểu thư viện CRT. a. Mục tiêu: HOẠT ĐỘNG CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC SINH 1. Tìm hiểu thủ tục Clrscr. - Yêu cầu học sinh nghiên cứu sách giáo khoa, kể tên các chương trình con trong thư viện CRT. - Chiếu chương trình sau: Begin clrscr; Readln; End. - Biên dịch chương trình. Hỏi: Tại sao xuất hiện lỗi? Khắc phục như thế nào? - Thêm Uses CRT; vào đầu chương trình và thực hiện chương trình để học sinh thấy kết quả. Chú ý cho học sinh ghi nhớ màn hình trước lúc thực hiện chương trình này. - Hỏi: Chức năng của thủ tục Clrscr; 2. Tìm hiểu thủ tục textcolor. - Chiếu chương trình ví dụ: Uses CRT; Begin Write(‘Chua dat mau chu’); textcolor(4); Write(‘Da dat mau chu la do’); Readln; End. - Thực hiện chương trình để học sinh thấy kết quả. - Hỏi: Chức năng của lệnh textcolor(4); 3. Tìm hiểu thủ tục Textbackground. - Chiếu chương trình ví dụ: Uses CRT; Begin Textbackground(1); Writeln(‘Da dat lai mau nen’); Readln; End. - Thực hiện chương trình để học sinh thấy kết quả. - Hỏi: Chức năng của lệnh textbackground(1); 4. Tìm hiểu thủ tục gotoxy. - Chiếu chương trình ví dụ: Uses CRT; Begin Writeln(‘Con tro dang dung o cot 10 dong 20’); Gotoxy(10,20); Readln; End. - Thực hiện chương trình để học sinh thấy kết quả. - Hỏi: Chức năng của lệnh gotoxy(10,20); 1 Tham khảo sách giáo khoa: - Clrscr, textcolor, textbackground, gotoxy. - Quan sát chương trình. - Vì sử dụng thủ tục nhưng chưa sử dụng thư viện CRT. - Thêm lệnh USES CRT; - Quan sát giáo viên thực hiện chương trình. - Xóa màn hình - Quan sát chương trình - Quan sát kết quả chương trình - Đặt màu chữ thành màu đỏ. - Quan sát chương trình - Quan sát kết quả chương trình - Đặt màu chữ nền thành màu xanh trời. - Quan sát chương trình - Quan sát kết quả chương trình - Đưa con trỏ về vị trí cột 10 dòng 20. 2. Hoạt động 2: Tìm hiểu thư viện Graph của ngôn ngữ lập trình Pascal. HOẠT ĐỘNG CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC SINH 1. Yêu cầu học sinh nghiên cứu sách giáo khoa để trả lời các câu hỏi: - Hỏi: Các dạng dữ liệu nào có thể được hiển thị trên màn hình? - Hỏi: Nhiệm vụ chính của Card màn hình? - Hỏi: Khi nói màn hình có độ phân giải 640 x 480 là nói đến điều gì? 2. Đưa ra cấu trúc chung của thủ tục khởi động đồ họa. Initgraph(dr,md:integer;pth:string); - Giải thích các thông số trong thủ tục cho học sinh. - Cho học sinh thấy một ví dụ khởi động đồ họa. 3. Giới thiệu thủ tục trở về chế độ văn bản Closegraph; - Yêu cầu học sinh khởi động chế độ đồ họa và chuyển về chế độ văn bản. 1. Tham khảo sách giáo khoa để trả lời - Văn bản và hình ảnh. - Làm cầu nối giữa CPU và màn hình khi thể hiện thông tin. - Là nói đến màn hình có 640 dòng và 480 cột. 2. Quan sát và theo dõi dẫn dắt của giáo viên. - Quan sát gáo viên thực hiện. 3. Quan sát và so sánh giữa hai chế độ văn bản và đồ họa. - Thay phiên nhau thực hiện việc chuyển đổi giữa hai chế độ văn bản và đồ họa. 3. Hoạt động 3: Tìm hiểu các thủ tục vẽ điểm, đường và các hình cơ bản. HOẠT ĐỘNG CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC SINH 1. Tìm hiểu thủ tục Putpixel - Chiếu cấu trúc chung của thủ tục: Putpixel(x,y:integer;color:word); - Chiếu chương trình ví dụ. Use graph Begin drive:=0; initgraph(drive, mode, ‘c:\Tp\BGI’); Putpixel(12,40,15); readln; End. - Thực hiện chương trình để học sinh thấy kết quả. - Hỏi: Chức năng của thủ tục Putpixel 2. Tìm hiểu thủ tục Line - Chiếu cấu trúc chung của thủ tục: Line(x1,y1,x2,y2:integer); - Chiếu chương trình ví dụ trên nhưng thay lệnh Putpixel(12,40,15); bằng lệnh line(1,1,20,20); - Thực hiện chương trình để học sinh thấy kết quả. - Hỏi: Chức năng của thủ tục Line 3. Tìm hiểu thủ tục Lineto - Chiếu cấu trúc chung của thủ tục: Lineto(x,y:integer); - Chiếu chương trình ví dụ trên nhưng thay lệnh Putpixel(12,40,15); bằng lệnh lineto(20,20); - Thực hiện chương trình để học sinh thấy kết quả. - Hỏi: Chức năng của thủ tục Lineto 4. Tìm hiểu thủ tục Lineto - Chiếu cấu trúc chung của thủ tục: Linerel(dx,dy:integer); - Hỏi: Chức năng của thủ tục Linerel 5. Tìm hiểu thủ tục Circle, Ellipse, Rectangle. - Chiếu cấu trúc chung của các thủ tục: Circle(x,y:integer; r:word); Ellipse(x,y:integer;stangle,endangle,xr,yr:word); Rectangle(x1,y1,x2,y2:integer); - Chiếu chương trình ví dụ Use graph Begin drive:=0; initgraph(drive, mode, ‘c:\Tp\BGI’); Circle(12,40,30); Ellipse(50,50,30,120,50,100:word); Rectangle(100,100,200,200); readln; End. - Thực hiện chương trình để học sinh thấy kết quả. - Hỏi: Chức năng của các thủ tục Circle, Ellipse, Rectangle. 6. Tìm hiểu thủ tục Setcolor - Chiếu cấu trúc chung của các thủ tục: Setcolor(m:word); - Chiếu chương trình ví dụ Use graph Begin drive:=0; initgraph(drive, mode, ‘c:\Tp\BGI’); Circle(12,40,100); Setcolor(4); Circle(12,40,200); readln; End. - Thực hiện chương trình để học sinh thấy kết quả. - Hỏi: Chức năng của thủ tục Lineto 1. Quan sát cấu trúc chung và suy nghĩ để trả lời câu hỏi. - Quan sát chương trình. - Quan sát kết quả của chương trình - Vẽ một điểm có màu Color trên màn hình tại tọa độ (x,y). 2. Quan sát cấu trúc chung và suy nghĩ để trả lời câu hỏi. - Quan sát chương trình. - Quan sát kết quả của chương trình - Vẽ một đoạn thẳng từ điểm có tọa độ (x1,y1) đến điểm có tọa độ (x2,y2). 3. Quan sát cấu trúc chung và suy nghĩ để trả lời câu hỏi. - Quan sát chương trình. - Quan sát kết quả của chương trình - Vẽ một đoạn thẳng từ điểm hiện tại đến điểm có tọa độ (x,y). 3. Quan sát cấu trúc chung và suy nghĩ để trả lời câu hỏi. - Vẽ đọan thẳng nối điểm hiện tại với điểm có toạ độ bằng tọa độ điểm hiện tại cộng với dx, dy 5. Quan sát cấu trúc chung và suy nghĩ để trả lời câu hỏi. - Quan sát chương trình. - Quan sát kết quả của chương trình + Circle: Vẽ một đường tròn có tâm tại (x,y) và bán kính r. + Ellipse: Vẽ cung của ellipse 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 stangle đến góc kết thúc endangle. 6. Quan sát cấu trúc chung và suy nghĩ để trả lời câu hỏi. - Quan sát chương trình. - Quan sát kết quả của chương trình - Setcolor(m: word): Đặt màu cho nét vẽ với màu có số hiệu m. 3. Hoạt động 3: Tìm hiểu một số thư viện khác HOẠT ĐỘNG CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC SINH 1. Yêu cầu học sinh nghiên cứu sách giáo khoa, nêu tên các thư viện. 2. Yêu cầu học sinh nêu chức năng của mỗi thư viện. 1. Các thư viện: System, Dos, Printer. 2. Chức năng mỗi thư viện: - System: chứa các hàm và thủ tục vào/ra sơ cấp. - Dos: chứa các thủ tục như tạo thư mục, đóng mở file... - Printer: chứa các thủ tục liên quan máy in. 4. Hoạt động 4: Rèn luyện kĩ năng lập trình. HOẠT ĐỘNG CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC SINH 1. Giới thiệu nội dung yêu cầu lên bảng. Định hướng cách giải quyết vấn đề cho học sinh. - Thủ tục để vẽ được một hình tròn có tâm là điểm chính giữa màn hình - Cần bao nhiêu lệnh như vậy, dùng cấu trúc nào để điều khiển. 2. Chia lớp làm 3 nhóm. 01 nhóm viết chương trình trên máy. 02 nhóm viết lên bìa trong. - Thu phiếu trả lời. Chiếu lên bảng, gọi học sinh nhóm khác nhận xét đánh giá. Sửa chương trình hoàn chỉnh cho học sinh viết trên máy. 3. Thực hiện chương trình trên máy để học sinh thấy kết quả. 1. Quan sát yêu cầu của giáo viên. Circle(x,y:integer;r:word); - Cần 20 lệnh, nên dùng cấu trúc For để chương trình ngắn gọn 2. Thảo luận theo nhóm để viết chương trình lên giấy bìa trong. - Báo cáo kết quả viết được. - Nhận xét, đánh giá và bổ sung thiếu sót của các nhóm khác. 3. Quan sát kết quả trên màn hình. IV. ĐÁNH GIÁ CUỐI BÀI 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ế độ đồ hoạ. Chuyển từ chế độ màn hình đồ hoạ 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. VI. RÚT KINH NGHIỆM
Tài liệu đính kèm: