Giáo án Tin học 11

Chia sẻ: thong111

MỘT SỐ KHÁI NIỆM VỀ LẬP TRÌNH VÀ NGÔN NGỮ LẬP TRÌNH - KHÁI NIỆM LẬP TRÌNH VÀ NGÔN NGỮ LẬP TRÌNH

Bạn đang xem 20 trang mẫu tài liệu này, vui lòng download file gốc để xem toàn bộ.

Nội dung Text: Giáo án Tin học 11

Giáo án Tin học 11 GV: Nguyễn Văn Thịnh
--------------------------------------------------------------------------------------------------------------

Ngày soạn: 01/09/07
Chương I : MỘT SỐ KHÁI NIỆM VỀ LẬP TRÌNH VÀ NGÔN NGỮ LẬP TRÌNH
Tiết ….Bài 1 : KHÁI NIỆM LẬP TRÌNH VÀ NGÔN NGỮ LẬP TRÌNH
I. Mục tiêu
+ Kiến thức:
 Hiểu khả năng của ngôn ngữ lập trình bậc cao, phân biệt được với ngôn ngữ máy và
hợp ngữ.
 Hiểu ý nghĩa và nhiệm vụ của chương trình dịch. Phân biệt được biên dịch và thông
dịch.
+ Thái độ: Ham muốn tìm hiểu các ngôn ngữ lập trình.
II. Chuẩn bị của giáo viên và học sinh
+ Giáo viên:
+ Học sinh: Đọc trước SGK, xem lại một số kiến thức Tin học lớp 10.
III. Phương pháp: Diễn giải, đàm thoại, giải quyết tình huống có vấn đề.
IV. Tiến trình bài học:
Hoạt động 1: Tìm hiểu khái niệm lâp trình và ngôn ngữ lập trình

TG Hoạt động của học sinh Hoạt động của giáo viên Ghi bảng
Bài 1
KHÁI NIỆM LẬP
TRÌNH VÀ NGÔN
NGỮ LẬP TRÌNH
-Cho bài toán sau: Kết luận
nghiện của phương trình ax +
-Quan sát bài toán và trả lời câu b=0.
hỏi. + Hãy xác định Input, Output
+Input: a, b của bài toán trên.
3’ +Output: x=-b/a, vô nghiệm, vô
số nghiệm.
+ Hãy xác định các bước để
giải bài toán trên
+B1: Nhập a, b.
B2: Nếu a 0 kết luận có
nghiệm x=-b/a.
B3: Nếu a=0 và b0, kết luận
vô nghiệm.
4’ B4: Nếu a=0 và b=0, kết luận
vô số nghiệm. -Hệ thống các bước này
chúng ta gọi là thuật toán.
Làm thế nào để máy tính điện
tử có thể hiểu được thuật
toán này ?
-Dùng ngôn ngữ lập trình. -Diễn giải: Hoạt động để
diễn đạt một thuật toán thông
3’ qua một ngôn ngữ lập trình
được gọi là lập trình.
Giáo án Tin học 11 GV: Nguyễn Văn Thịnh
--------------------------------------------------------------------------------------------------------------

-Các em hãy cho biết khái
niệm về lập trình ?
5’ -Nghiên cứu nội dung trong SGK
và trả lời câu hỏi - Lập trình là việc sử
+Lập trình là việc sử dụng cấu dụng cấu trúc dữ liệu và
trúc dữ liệu và các lệnh của ngôn các lệnh của ngôn ngữ
ngữ lập trình cụ thể để mô tả dữ lập trình cụ thể để mô
liệu và diễn đạt các thao tác của tả dữ liệu và diễn đạt
thuật toán. các thao tác của thuật
toán.


- Kết quả của hoạt động lập
trình ?

+ Được một chương trình. -Ngôn ngữ lập trình gồm
những loại nào ?

+Ngôn ngữ máy, hợp ngữ và -Theo các em chương trình
4’ ngôn ngữ bâc cao. được viết bằng ngôn ngữ bậc
cao và chương trình được
viết bằng ngôn ngữ máy khác
nhau như thế nào ?

-Nghiên cứu SGK và trả lời câu
hỏi.
+ Chương trình viết bằng ngôn
ngữ máy có thể nạp trực tiếp vào
bộ nhớ và thực hiện ngay.
+ Chương trình viết bằng ngôn
3’ ngữ lập trình bậc cao phải được
chuyển đổi thành chương trình -Làm thế nào để chuyển một
trên ngôn ngữ lập máy thì mới chương trình viết bằng ngôn
thực hiện được. ngữ bậc cao sang ngôn ngữ
máy ?
-Vì sao không lập trình trên
ngôn ngữ máy để khỏi mất
-Phải sử dụng một chương trình công chuyển đổi khi lập trình
dịch để chuyển đổi. với ngôn ngữ bậc cao

3’

Ngôn ngữ bậc cao dễ viết, dễ
hiểu. Ngôn ngữ máy khó viết.
Hoạt động 2: Tìm hiểu hai loại chương trình dịch: thông dịch và biên dịch
Giáo án Tin học 11 GV: Nguyễn Văn Thịnh
--------------------------------------------------------------------------------------------------------------

TG Hoạt động của học sinh Hoạt động của giáo viên Ghi bảng
-Theo các em đối với chương
trình dịch: chương trình nào là
chương trình nguồn và
5’ -Nghiên cứu SGK và trả lời câu chương trình đích
hỏi:
+ Chương trình nguồn là chương
trình viết bằng ngôn ngữ lập
trình bậc cao.
+ Chương trình đích là chương
trình thực hiện chuyển đổi sang
ngôn ngữ máy. -Nêu vấn đề: Em muốn giới
thiệu về trường mình cho
một người khách du lịch quốc
tế biết tiếng Anh, có hai cách
thực hiện:
4’ C1: Cần một người biết
tiếng Anh dịch từng câu nói
của em sang tiếng Anh cho
người khách. Cách mày gọi
lag thông dịch
C2: Em soạn nội dung giới
thiệu ra giấy và người phiên
dịch dịch toàn bộ nội dung đó
sang tiếng Anh rồi đọc cho
khách nghe. Cách này gọi là
biên dịch.
Tương tự chương trình dịch -Chương trình dịch gồm
có hai loại là thông dịch và thông dịch và biên dịch.
biên dịch. a) Thông dịch
-Các em hãy cho biết tiến B1: Kiểm tra tính đúng
trình của thông dịch và biên đắn của câu lệnh tiếp
-Nghiên cứu SGK và trả lời câu dịch. theo trong chương trình
hỏi: nguồn;
+Thông dịch: B2: Chuyển lệnh đó
3’ B1: Kiểm tra tính đúng đắn của thành ngôn ngữ máy
câu lệnh tiếp theo trong chương B3: Thực hiện các câu
trình nguồn; lệnh vừa được chuyển
B2: Chuyển lệnh đó thành ngôn đổi.
ngữ máy +Biên dịch:
B3: Thực hiện các câu lệnh vừa B1: Duyệt, phát hiện lỗi,
được chuyển đổi. kiểm tra tính đúng đắn
+Biên dịch: của các câu lệnh trong
3’ B1: Duyệt, phát hiện lỗi, kiểm chương trình nguồn.
tra tính đúng đắn của các câu B2: Dịch toàn bộ chương
lệnh trong chương trình nguồn. trình nguồn thành một
Giáo án Tin học 11 GV: Nguyễn Văn Thịnh
--------------------------------------------------------------------------------------------------------------

B2: Dịch toàn bộ chương trình chương trình đích có thể
nguồn thành một chương trình thực hiện trên máy và có
đích có thể thực hiện trên máy và thể lưu trữ để sử dụng
có thể lưu trữ để sử dụng lại khi lại khi cần thiết
cần thiết

Hoạt động 3(3’): Củng cố kiến thức
-Khái niệm lập trình và ngôn ngữ lập trình.
-Các ngôn ngữ lập trình: ngôn ngữ máy, ngôn ngữ bậc cao, hợp ngữ.
-Khái niệm chương trình dịch.
-Thông dịch và biên dịch.

Ngày soạn :06/09/07
Tiết …..- Bài 2: CÁC THÀNH PHẦN CỦA NGÔN NGỮ LẬP TRÌNH

I. Mục tiêu:
1. Kiến thức:
- Biết ngôn ngữ lập trình có ba thành phần cơ bản là: Bảng chữ cái, cú pháp và ngữ nghĩa. hiểu được
ba thành phần này
- Biết một số khái niệm: Tên, tên chuẩn, tên dành riêng(từ khoá), hằng và biến.
2. Kỹ năng:
- Phân biệt được ba thành phần:bảng chữ cái ,cú pháp và ngữ nghĩa
- Phân biệt được tên, hằng và biến. biết đặt tên đúng
3. Tư duy và thái độ :
- Tư duy logic
- Thái độ cẩn thận, chính xác.
II. Chuẩn bị của giáo viên và học sinh;
1. GV: Bảng phụ, phấn, thước.
2. HS: Đọc trước bài ở nhà
III. Phương pháp
- Thuyết trình, vấn đáp, hoạt động nhóm
IV. Tiến trình bài học
HĐ1: Các thành phần cơ bản (15’)
TG HĐ CỦA HS HĐ CỦA GV GHI BẢNG
HĐTP1:Dẫn dắt vào bài
- Chữ cái - Để diễn tả một ngôn ngữ tự
- Cú pháp nhiên ta cần phải biết những gì?
- Ý nghĩa của điều - Các ngôn ngữ lập trình nói chung
cần diễn tả. thường có chung một số thành
phần như: Dùng những kí hiệu nào
3’ để viết chương trình, viết theo quy
tắc nào? viết như vậy có ý nghĩa là
gì? Mỗi ngôn ngữ lập trình có một
Lắng nghe quy định riêng về những thành
phần này
Giáo án Tin học 11 GV: Nguyễn Văn Thịnh
--------------------------------------------------------------------------------------------------------------


Các thành phần
1.
cơ bản
- Mỗi ngôn ngữ lập trình
thường có ba thành
H ĐTP2: Giới thiệu bảng chữ cái phần cơ bản là: bảng
GV treo bảng phụ 1 (SGK Trang 9) chữ cái ,cú pháp và ngữ
- Bảng chữ cái trong ngôn nghĩa.
7’ ngữ lập trình khác nhau có sự
khác nhau. Ví dụ bảng chữ cái
trong ngôn ngữ lập trình C++ chỉ a.Bảng chữ cái:Là tập
HS chú ý khác pascal là sử dụng thêm các các kí hiệu dùng để viết
kí tự như dấu nháy kép(“), dấu chương trình
sổ ngược(\), dấu chấm than(!).
- HĐTP3: Giớ thiệu cú pháp

- Cú pháp ngôn ngữ lập trình
khác nhau cũng khác nhau ngôn
ngữ pascal dùng cặp từ Begin-
End để gộp nhiều lệnh thành
một lệnh nhưng trong C++ dùng
cặp kí hiệu {}.
12’ Ví dụ : Xét 2 biểu thức A+B (1)
A,B là các số thực.
I+J (2) với I,J là các số nguyên b. Cú pháp
Hỏi HS: Về ngữ nghĩa 2 biểu thức - Là bộ quy tắc để viết
trên có khác nhau không? chương trình
- Mỗi nôn ngữ khác nhau cũng có
HS lắng nghe ngữ nghĩa khác nhau




8’ c. Ngữ nghĩa
Xác định ý nghĩa thao tác
cần phải thực hiện, ứng
với tổ hợp kí tự dựa vào
ngữ cảnh của nó.
Khác nhau: Dấu cộng
8’ trong (1) là cộng 2 số
thực cong trong (2) là
cộng trong 2 số nguyên

Tóm lại:
- cú pháp cho biết cách
Giáo án Tin học 11 GV: Nguyễn Văn Thịnh
--------------------------------------------------------------------------------------------------------------

viết một chương trình
HS lắng nghe và ghi chép. hợp lệ, còn ngữ nghĩa
xác định ý nghĩa của
các tổ hợp kí tự trong
3’ chương trình.
- Các lỗi cú pháp được
chương trình dịch phát
hiện và thông báo cho
người lập trình biết.
chương trình không
còn lỗi cú pháp thì mới
có thể dịch sang ngôn
ngữ máy.
- Lỗi ngữ nghĩa được
phát hiện khi chạy
chương trình


HĐ2: Giới thiệu Tên(15’)
TG HĐ CỦA HS HĐ CỦA GV GHI BẢNG
- Trong các ngôn ngữ lập trình nói 2 Một số khái niệm
chung,các đối tượng sử dụng a. Tên:
trong chương trình đều phải đặt - Mọi đối tượng trong
tên để tiện cho việc sử dụng. chương trình đều phải
5’ Việc dặt tên trong các ngôn ngữ được đặt tên theo quy
Lắng nghe và ghi chép khác nhau là khác nhau,có ngôn tắc của ngôn ngữ lập
ngữ phân biệt chữ hoa,chữ trình
thường, có ngôn ngữ không phân - Trong ngôn ngữ turbo
biệt chữ hoa, chữ thường. pascal tên là một dãy liên
tiếp không quá 127 kí tự
bao gồm: chữ số, chữ cái
- Ngôn ngữ lập trình pascal không hoặc dấu gạch dướivà
phân biệt chữ hoa chữ thường bắt đầu bằng chữ cái
nhưng một số ngôn ngữ lập trình hoặc gạch dưới
khác(như C++) lại phân biệt chữ - Ví dụ : Trong ngôn ngữ
hoa, chữ thường pascal
+ Các tên đúng: A, Bre1,
-ten, . . .
+ Các tên sai: a bc, 6hgf, x#
y, ....
- Ngôn ngữ lập trình có 3
loại tên: tên dành riêng, tên
chuẩn, tên do người lập
trình đặt.
• Tên
dành riêng: Là những
Giáo án Tin học 11 GV: Nguyễn Văn Thịnh
--------------------------------------------------------------------------------------------------------------

tên được ngôn ngữ lập
4’ trình quy định với ý nghĩa
riêng xác định mà người
lập trình không được
dùng với ý nghĩa khác
- Tên dành riêng được gọi là
từ khoá
- Ví dụ: một số tên dành
riêng:
- Trong pascal : program,
uses, var, const, ....
- Trong c++: main, include,
if,...
- * Tên chuẩn: là nhữnh tên
được ngôn ngữ lập trình
dùng với ý nghĩa nhất định
5’ nào đó. Trong các thư viện
của ngôn ngữ lập trình.
- Ví dụ : Một số tên chuẩn
- Trong pascal: real, integer,
char, ...
- Trong c++: cin, count,...
* Tên do người lập trình
đặt: Được xác định bằng
cách trước khi sử dụng,
không được trùng với tên
dành riêng
5’

HĐ3: Hằng và biến (10’)
TG HĐ CỦA HS HĐ CỦA GV GHI BẢNG
5’ Lắng nghe VG đưa ra ví dụ:Đẻ viết một - b. Hằng và biến
chương trình giải phương trình - * Hằng: Là đại lượng có
bậc hai ta cần khai báo những giá trị không đổi trong quá
tên sau: trình thực hiện chương
- a,b,c là ba tên dùng để lưu ba trình
hệ số của phương trình. - - Các ngôn ngữ lập trình
- - x1,x2 là hai tên dùng để lưu thường có:
nghiệm ( nếu có). - + Hằng số học: số nguyên
- - Delta là tên dùng để lưu giá trị hoặc số thực
của delta. - + Hăng logic: Là cácgiá trị
đúng hoặc sai
- Ví dụ ( bảng phụ 2:vd về
hằng sgk trang 12)
5’ Lắng nghe - * Biến:Là đại lượng được
đặt tên, dùng để lưu trữ gí
Giáo án Tin học 11 GV: Nguyễn Văn Thịnh
--------------------------------------------------------------------------------------------------------------

trị và giá trị có thể được
thay đổi trong quá trình
thực hiện chương trình
- Biến phải khai báo trước
khi sử dụng.
- C. Chú thích:
- - Trong khi viết chương
Biến là đối tượng sử dụng trình có thể viết các chú
nhiều nhất trong khi viết thích cho chương trình.
chương trình. Biến là đại lượng Chú thích không làm ảnh
có thể thay đổi được nên hưởng đến chương trình
3’ thường dùng để lưu trữ kết quả- Trong pascal chú thích
được đặt trong {} hoặc (*
*)
- Trong C++ chú thích đặt
trong: /* */
HĐ4: Củng cố toàn bài:(4’)
Giáo viên mở một chương trình pascal đơn giản có chứa các thành phần là các khái niệm của bài
học, nếu không có máy thì sử dụng bảng phụ đẻ chỉ cho HS từng khái niệm trong chương trình.
Giáo án Tin học 11 GV: Nguyễn Văn Thịnh
--------------------------------------------------------------------------------------------------------------

Ngày soạn: 12/09/07
Tíêt thứ:…….. BÀI TẬP CHƯƠNG 1
I. Mục tiêu:
1. Về kiến thức:
- Biết có 3 lớp ngôn ngữ lập trình và các mức của ngôn ngữ lập trình: ngôn ngữ máy, hợp ngữ và
ngôn ngữ bậc cao.
- Biết vai trò của chương trình dịch.
- Biết khái niệm biên dịch và thông dịch.
- Biết các thành phần cơ bản của ngôn ngữ lập trình: bảng chữ cái, cú pháp và ngữ nghĩa.
- Biết các thành phần cơ sở của Pascal: bảng chữ cái, tên, tên chuẩn, tên riêng (từ khóa), hằng và
biến.
2. Về kỹ năng:
- Biết viết hằng và tên đúng trong một ngôn ngữ lập trình cụ thể.
3. Về tư duy và thái độ:
- Nhận thức được quá trình phát triển của ngôn ngữ lập trình gắn liền với quá trình phát triển của
tin học nhằm giải các bài toán thực tiễn ngày càng phức tạp.
- Ham muốn học một ngôn ngữ lập trình cụ thể để có khả năng giải các bài toán bằng máy tính
điện tử.
II. Chuẩn bị của giáo viên và học sinh:
1. Giáo viên: chuẩn bị nội dung để giải bài tập cuối chương và một số câu hỏi trắc nghiệm của
chương.
2. Học sinh:Ôn lại kiến thức của chương, chuẩn bị bài tập cuối chương.
III. Phương pháp:
- Thuyết trình, vấn đáp
IV. Tiến trình bài học:
1. Ổn định lớp và kiểm tra sĩ số.
2. Kiểm tra bài cũ.
3. Tiến trình tiết dạy:
TG Hoạt động của học sinh Hoạt động của giáo viên Ghi bảng
5‘ - Đọc yêu cầu của câu hỏi - ĐVĐ: Trước khi giải bài Bài: BÀI TẬP CHƯƠNG 1
và bài tập cuối chương tập trong SGK, các em tự ôn
trang 13 SGK. lại một số kiến thức mà
- Suy nghĩ để đưa ra chúng ta đã học ở các bài
phương án trả lời. trước dựa trên yêu cầu của
câu hỏi trang 13 SGK. 1. Câu 1:
- Suy nghĩ, trả lời câu hỏi. - Đặt câu hỏi số 1: Tại sao - Ngôn ngữ bậc cao gần
người ta phải xây dựng các với ngôn ngữ tự nhiên
ngôn ngữ lập trình bậc cao? hơn, thuận tiện cho đông
- Nhận xét, đánh giá và bổ đảo người lập trình.
sung hướng dẫn cho học - Chương trình viết bằng
sinh trả lời câu hỏi số 1: ngôn ngữ bậc cao nói
chung không phụ thuộc
vào phần cứng máy tính
và một chương trình có
thể thực hiện trên nhiều
máy tính khác nhau.
Giáo án Tin học 11 GV: Nguyễn Văn Thịnh
--------------------------------------------------------------------------------------------------------------

- Chương trình viết bằng
ngôn ngữ bậc cao dễ
hiểu, dễ hiệu chỉnh và
dễ nâng cấp.
- Ngôn ngữ bậc cao cho
phép làm việc với nhiều
- Suy nghĩ, trả lời câu hỏi. kiêu dữ liệu và cách tổ
chức dữ liệu đa dạng,
thuận tiện cho mô tả
- Đặt câu hỏi 2: Chương thuộc toán.
trình dịch là gì? Tại sao cần 2. Câu 2:
phải có chương trình dịch? - Chương trình dịch là
10 ‘ . chương trình đặc biệt,
có chức năng chuyển đổi
- Suy nghĩ, trả lời câu hỏi, chương trình được viết
cho ví dụ trên ngôn ngữ lập trình
bậc cao thành chương
- Đặt câu hỏi 3: Biên dịch và trình thực hiện được trên
thông dịch khác nhau như máy tính cụ thể.
thế nào? Chương trình nguồn ->
- Phân tích câu trả lời của Chương trình dịch ->
học sinh. Chương trình đích
3. Câu 3:
- Trình biên dịch: duyệt,
kiểm tra, phát hiện lỗi,
xác định chương trình
nguồn có dịch được
10’ không? dịch toàn bộ
chương trình nguồn
thành một chương trình
- Suy nghĩ, trả lời, giải thích đích có thể thực hiện
từng câu hỏi, trên máy và có thể lưu
trữ lại để sử dụng về
- Đặt câu hỏi 4: Hãy cho biết sau khi cần thiết.
các điểm khác nhau giữa tên - Trình thông dịch lần lượt
dành riêng và tên chuẩn? dịch từng câu lệnh ra
- Gọi hs trả lời và cho ví dụ ngôn ngữ máy rồi thực
- Phân tích câu trả lời của hiện ngay câu lệnh vừa
học sinh. dịch được hoặc báo lỗi
nếu không dịch được.

- Đặt câu hỏi 5: Hãy tự viết 4. Câu 4:
ra ba tên đúng theo quy tắc - Tên dành riêng không
của Pascal được dùng khác với ý
- Gọi 3 học sinh lên bảng cho nghĩa đã xác định, tên
ví dụ về tên do người lập chuẩn có thể dùng với ý
Giáo án Tin học 11 GV: Nguyễn Văn Thịnh
--------------------------------------------------------------------------------------------------------------

trình đặt. nghĩa khác.
- Nhận xét, sửa chữa, góp ý. VD:
Tên dành riêng trong Pascal:
program, uses, const, type,
var, begin, end.
Tên chuẩn: trong Pascal abs,
- Đặt câu hỏi 6: Hãy cho biết integer.
12’ những biểu diễn nào dưới 5. Câu 5: Gợi ý: Trong
đây không phải là biểu diễn Pascal tên (do người lập
hằng trong Pascal và chỉ rõ trình đặt) được đặt tuân
trong từng trường hợp: theo các quy tắc sau:
a) 150.0 - Chỉ bao gồm chữ cái,
b) –22 chữ số và dấu gạch
c) 6,23 dưới;
d) ‘43’ - Không bắt đầu bằng chữ
e) A20 số;
f) 1.06E-15 - Độ dài theo quy định của
g) 4+6 chương trình dịch (TP
h) ‘C không quá 127 kí tự, Free
i) ‘TRUE’ Pascal không quá 255 kí
- Nhận xét, giải thích tự).
- Tuy nhiên, không nên đặt
tên quá dài hay quá ngắn
mà nên đặt sao cho gợi ý
nghĩa đối tượng mang
tên đó.

-Những biểu diễn sau đây
không phải là hằng trong
Pascal:
6,23 dấu phẩy phải thay
bằng dấu chấm;
A20 là tên chưa rõ giá trị;
4+6 là biểu thức hằng trong
Pascal chuẩn cũng được coi
là hằng trong Turbo Pascal;
‘TRUE’ là hằng xâu nhưng
không là hằng lôgic.

IV: Hoạt động củng cố 3’
-Ôn lại các khái niệm, các tên
-Chuẩn bị bài Cấu trúc chương trình.
Giáo án Tin học 11 GV: Nguyễn Văn Thịnh
--------------------------------------------------------------------------------------------------------------

Ngày soạn :18/09/07
Tiết thứ…. Bài 3: CẤU TRÚC CHƯƠNG TRÌNH
I - Mục tiêu.
1. Kiến thức.
Biết được cấu trúc chung của một chương trình
2. Kỷ năng:
Nhận biết từng phần cấu trúc
3. Tư duy – thái độ:
Tư duy logic.
II - Chuẩn bị.
1. Giáo viên : Máy tính, máy chiếu projec, một số ví dụ minh hoạ.
2. Học sinh : SGK
III – Phương pháp dạy học:
Đặt vấn đề hướng dẫn học sinh nắm bắt vấn đề
Hoạt động nhóm.
IV - Tiến trình bài học

Hoạt động 1: Kiểm tra bài cũ.( 10 ‘)
Câu 1: Có mấy loại tên trong ngôn ngữ Pascal ?.
Câu 2: Khái niệm hằng và biến ?
Hoạt động 2: Cấu trúc chung.
TG HĐ Giáo viên HĐ Học sinh Trình bày bảng
10’ Cho học sinh đọc phần “ cấu trúc Bài: CẤU TRÚC
chung “ CHƯƠNG TRÌNH
Hỏi: “ Cáu trúc chung gồm máy Tập hợp số tự
phần “ nhiên,nguyên, hữu tỉ, thực.
Yêu cầu học sinh đọc SGK phần Đọc sách.
khai báo. Sau đó trả lời câu hỏi.
+ Trong phần khai báo có những
phần khai báo

Hoạt động 3. Một số kiển dữ liệu chuẩn.
7’ Yêu cầu học sinh nghiên cứu sách. 1.khai báo tên chương
Trả lời các câu hỏi sau: trình
- Có bao nhiêu dữ liệu chuẩn -program ;
- Trong ngôn ngữ Pascal, có nguyên, thực, kí tự, + Tên chương trình:
những kiểu nguyên nào lôgic. dongườI lập trình tự
thương dùng, phạm vi biểu - Có 4 loại : Byte, đặt.
diễn của mỗi loại. word, integer, logint +ví dụ: program vi_du;
- Trong ngôn ngữ Pascal, có 2 . Khai báo thư viện
những kiểu thực nào thương - Có 2 loại: Real, extended. uses
dùng, phạm vi biểu diễn của + ví dụ: trong pascal
mỗi loại. uses crt;
3. khai báo hằng
const ;
+ ví dụ: N=100;




8’ Cho học sinh đọc ví dụ đơn giản 4.khai báo biến
trong SGK. var ;
Giải thích từng dòng lệnh

Hoạt động 4 . Khai báo biến.
10’ Yêu cầu học sinh nghiên cứu sách ĐỌC sách. Khai báo biến.
GK và cho biết vì sao phải khai báo Mọi biến dùng trong Var :;
khai báo tên biến và kiểu dữ • Danh sách biến:
liệu của biến. Tên biến SGK
dùng để xác lập quan hệ • Kiểu dữ liệu :
giữa biến với địa chỉ bộ SGK
nhớ nơi lưu giữ giá trị của
biến.
Ví dụ: trong chương
trình ta cần dùng biến a
kiểu số nguyên, b kiểu
số thực
Var a : integer;
b : real;
5’ Cho ví dụ: Khai báo x,y,z đúng, H sai
Var x,y,z : Word;
H: in teger;
Yêu cầu học sinh cho ý kiến về ví
dụ.
Hoạt động 4 .Phần thân chương trình - ví dụ chương trình đơn giản
Dãy lệnh trong phạm vi Trong pascal: Thân
được xác định bởi cặp chương trình có
dấu hiệu mở đầu và kết dạng:
thúc BEGIN
[< Dãy lệnh>]
END.
5’ Trong vd1:đâu là phần Ví dụ chương trình
khai báo đâu là phần thân đơn giản
chương trình? - Trong ngôn
Program vd1; là phần khai báo. ngữ pascal:
Begin Program vd1;
Write(‘chao cac ban’); Begin
End. Write(‘chao cac
là phần thân chương trình. ban’);
Giáo án Tin học 11 GV: Nguyễn Văn Thịnh
--------------------------------------------------------------------------------------------------------------

End.
Cho học sinh quan sát - Trong ngôn
nhận xét 2 chương trình ngữ C++:
trong 2 ngôn ngữ khác #include
Hai chương trình cùng thực nhau main()
hiệnmột công việcnhưng viết {
bằng 2 ngôn ngữ khác nhau nên hệ pri ntf(“ chao
thống các câu lệnh trong chương các ban”);
trình cũng khác nhau }

V – Cũng cố.
Xem có mấy loại kiểu dữ liệu chuẩn ?
Cấu trúc khai báo biến ?
VI – BTVN.
Mỗi em cho ví dụ về Khai báo biến ( hôm sau trả lời)

V – Cũng cố.
Xem có mấy loại kiểu dữ liệu chuẩn ?
Cấu trúc khai báo biến ?

Ngày soạn : 25/10 /2007
Tiết thứ…Bài 4,5: MỘT SỐ KIỂU DỮ LIỆU CHUẨN, KHAI BÁO BIẾN
I - Mục tiêu.
1. Kiến thức.
Biết được một số kiểu dữ liệu chuẩn
Cách khai báo biến.
2. Kỷ năng:
Xác định được kiểu khai báo của dữ liệu
Khai báo biến đúng cấu trúc.
3. Tư duy – thái độ:
Tư duy logic.
II - Chuẩn bị.
3. Giáo viên : Máy tính, máy chiếu projec, một số ví dụ minh hoạ.
4. Học sinh : SGK
III – Phương pháp dạy học:
Đặt vấn đề hướng dẫn học sinh nắm bắt vấn đề
Hoạt động nhóm.
IV - Tiến trình bài học

Hoạt động 1: Kiểm tra bài cũ.( 10 ‘)
Câu 1: Nêu cấu trúc chung của một chương trình.
Câu 2: Nêu cấu trúc của các phần khai báo: tên chương trình, hằng, thư viện

Hoạt động 2: Đặt vấn đề.
TG HĐ GIÁO VIÊN HĐ HỌC SINH GHI BẢNG
10’ Trong toán học để thực hiện
Giáo án Tin học 11 GV: Nguyễn Văn Thịnh
--------------------------------------------------------------------------------------------------------------

được tính toán cần phải có
các tập số. Đó là các tập số Tập hợp số tự nhiên,nguyên,
nào ? hữu tỉ, thực.
Trong lập trình Pascal cũng Đọc sách.
có các tập hợp, mỗi tập hợp
có 1 giới hạn nhất định.

Hoạt động 3. Một số kiển dữ liệu chuẩn.
Yêu cầu học sinh nghiên cứu
sách. Trả lời các câu hỏi sau:
- Có bao nhiêu dữ liệu
chuẩn trong ngôn ngữ - Có 4 kiểu : kiểu SGK
Pascal ? nguyên, thực, kí tự, lôgic.
- Trong ngôn ngữ Pascal, - Có 4 loại : Byte, word,
7’ có những kiểu nguyên nào integer, logint SGK
thương dùng, phạm vi biểu
diễn của mỗi loại.
- Trong ngôn ngữ Pascal,
có những kiểu thực nào - Có 2 loại: Real, extended.
thương dùng, phạm vi biểu SGK
diễn của mỗi loại.
Cho học sinh đọc ví dụ đơn Đọc sách. SGK
8’ giản trong SGK.
Giải thích từng dòng lệnh

Hoạt động 4 . Khai báo biến.
10’ Yêu cầu học sinh nghiên ĐỌC sách. Khai báo biến.
cứu sách GK và cho biết Mọi biến dùng trong Var :;
biến ? phải được khai báo • Danh sách biến: SGK
tên biến và kiểu dữ • Kiểu dữ liệu : SGK
liệu của biến. Tên Ví dụ: trong chương trình ta cần
biến dùng để xác lập dùng biến a kiểu số nguyên, b
quan hệ giữa biến với kiểu số thực
địa chỉ bộ nhớ nơi Var a : integer;
lưu giữ giá trị của b : real;
biến.
5’ Cho ví dụ: Khai báo x,y,z đúng, H
Var x,y,z : Word; sai
H: in teger;
Yêu cầu học sinh cho ý
kiến về ví dụ.
V – Cũng cố.
Xem có mấy loại kiểu dữ liệu chuẩn ?
Cấu trúc khai báo biến ?
VI – BTVN.
Giáo án Tin học 11 GV: Nguyễn Văn Thịnh
--------------------------------------------------------------------------------------------------------------

Mỗi em cho ví dụ về Khai báo biến ( hôm sau trả lời).

Ngày soạn: 01/10/07
Tiết thứ:……Bài 6 PHÉP TOÁN - BIỂU THỨC - CÂU LỆNH GÁN
I / Mục tiêu dạy học:
1. Kiến thức :
- Biết được các phép toán thông dụng trong NNLT
- Biết cách diễn đạt một biểu thức trong NNLT
- Biết được chức năng của lệnh gán và cấu trúc của nó
- Nắm vững một số hàm chuẩn thông dụng trong NNLT Pascal.
2. Kỹ năng:
- Nhận biết được các phép toán để xây dựng biểu thức cho hợp lý.
- Sử dụng được một số lệnh gán khi viết chương trình đơn giản.
3. Tư duy và thái độ :
- Phát triển tư duy lôgic, linh hoạt, có tính sáng tạo
- Biết thể hiện về tính cẩn thận chính xác trong tính toán cũng như lập luận
II/ Chuẩn bị của GV & HS:
* Giáo viên:
- SGK, các tranh liên quan đến bài học.
- Máy vi tính và máy chiếu Projector (nếu có)
* Học sinh: - SGK
III/ Phương pháp:
IV/ Tiến trình bài học:
1. Họat động 1:
a) Mục tiêu: HS biết được tên và ký hiệu các phép toán, biết cách sử dụng các phép toán đối với
mỗi kiểu dữ liệu.
b) Nội dung:
+ Phép toán số học: + , - , *, / , DIV, MOD.
+ Phép toán quan hệ: =, =, < > , giá trị logic (true hoặc false)
+ Phép toán lôgic: NOT , OR , AND.
c) Tiến hành:
TG Hoạt động GV Hoạt động HS Ghi bảng
9’ Khi viết chương trình ta phải Chú ý lắng nghe * NNLT nào cũng sử dụng
sử dụng các phép toán, phép so đến phép toán, câu lệnh gán
sánh để đưa ra quyết định xem và biểu thức, các khái niệm
và làm việc gì? và một chương này chỉ được xét trong NNLT
trình ta viết như thế nào ? Pascal.
Tất cả các ngôn ngữ có sử
dụng một cách giống nhau hay
không.
- Toán học có những phép toán
nào?
Giáo án Tin học 11 GV: Nguyễn Văn Thịnh
--------------------------------------------------------------------------------------------------------------

- Các phép toán đó có dùng 1. Phép toán:
trong NNLT hay không?
NNLT Pascal sử dụng một số
+ Một số phép toán dùng được phép toán như sau:
và một số phép toán phải sử
dụng từ các phép tóan khác . + Số nguyên: + , - , *, / ,
DIV, MOD.
- Ghi một số phép toán lên Suy nghĩ và đưa ra một
bảng. số phép toán thường
dùng: + Số thực: + , - , *, / ,

- Phép DIV, MOD được sử Phép cộng, trừ, nhân, chia + Phép toán quan hệ: =, =, < > .

- Kết quả của phép toán quan Nghiên cứu SGK và cho + Phép toán logic: AND, OR,
hệ thuộc kiểu dữ liệu nào? biết các nhóm phép toán NOT.
- Chỉ được sử dụng cho
kiểu số nguyên.
- Kiểu logic




2/ Hoạt động 2: Tìm hiểu biểu thức:
a) Mục tiêu: HS cần biết về khái niệm biểu thức số học, biểu thức quan hệ, biểu thức logic và một
số hàm số học.
b) Nội dung:
- Biểu thức số học nhận được từ hằng số, biến số và hàm số liên kết.
- Nắm bắt được tuần tự các bước khi thực hiện biểu thức số học.
- Biểu thức logic được cấu thành từ các biểu thức quan hệ.
c) Tiến hành :
TG Hoạt động GV Hoạt động HS Ghi bảng
22’ - Trong toán học biểu thức là gì - Suy nghĩ và đưa ra khái 2. Biểu thức số học:
? niệm
- Là một dãy các phép toán + ,
- Trong tin học khái niệm về - , *, / , DIV, MOD từ hằng
biểu thức trong lập trình ? biến kiểu số và các hàm.
- Cách viết các biểu thức trong - Dùng dấu ( ) để qui định
lập trình có giống cách viết trình tự tính toán.
Giáo án Tin học 11 GV: Nguyễn Văn Thịnh
--------------------------------------------------------------------------------------------------------------

trong toán học hay không ? VD: ( SGK - 25)
- Treo tranh có chứa các biểu * Chú ý :
thức toán học lên bảng.
- Quan sát tranh và trả Thứ tự thực hiện các phép
Yêu cầu: HS sử dụng các phép lời : toán:
toán số học hãy biểu diễn các
biểu thức toán học thành biểu + Trong ngoặc trước, ngoài
thức trong NNLT. ngoặc sau.

4x - 2y + Nhân, chia, chia nguyên,
chia lấy dư trước, cộng, trừ
1 4*x-2*y sau.
x+
x− y
x+1/(x-y)
a+b+c
b2 − c
2a -
+c ac
b ((a+b+c)/((2*a /b)+c)) - 3. Hàm số học chuẩn:
- Trong toán học ta đã làm quen (b*b-c)/a*c Cách viết cho một số hàm số
với một số hàm số học, hãy kể học chuẩn :
tên?
- Hàm trị tuyệt đối, hàm Tên hàm (đối số)
- Muốn tính ax2 + 1 ta viết thế căn bậc 2, hàm sin ...
nào? + Đối số là một hay nhiều
biểu thức số học đặt trong
- Muốn tính x , x , sinx ... ta dấu ngoặc ( ) sau tên hàm .
làm thế nào? - HS trả lời: 2*x*x+1
VD: (SGK - 26).
Tính các giá trị đó một cách đơn
giản người ta đã xây dựng sẵn - HS chưa trả lời được
một số đơn vị chương trình
trong các thư viện chương trình
giúp người lập trình tính toán
nhanh hơn.
- Treo tranh chứa bảng một số
hàm chuẩn.
Yêu cầu: Học sinh điền thêm
một số thông tin với các chức
năng của hàm. Nghiên cứu SGK - 26 và
quan sát tranh vẽ, lên
- Cho biểu thức bảng điền tranh
x - 2x + 1

x2 - 1
Hãy biểu diễn biểu thức toán
Giáo án Tin học 11 GV: Nguyễn Văn Thịnh
--------------------------------------------------------------------------------------------------------------

trong biểu thức trong NNLT. 4. Biểu thức quan hệ:
-Trong lập trình ta phải so sánh - Suy nghĩ và trả lời: Cấu trúc chung:
2 giá trị nào đó trước khi thực
hiện lệnh bằng cách sử dụng < phép toán quan hệ >
biểu thức quan hệ . Biểu thức (abs(x)-sqrt(2*x+1)/(x* x-
quan hệ còn gọi là biểu thức so 1) + trong đó BT1 và BT2 phải
sánh được dùng để so sánh 2 cùng kiểu.
giá trị đúng hoặc sai.
+ Kết quả của biểu thức quan
- Cho một ví dụ về biểu thức hệ là TRUE hoặc FALSE.
quan hệ
VD: - 5 > 2
- Kết quả mà phép toán quan
hệ thuộc kiểu dữ liệu nào đã
học?
5. Biểu thức logic.
- Biểu thức logic đơn gảin
-Biểu thức logic là biểu thức - Trả lời: là hằng hoặc biến logic.
quan hệ được liên kết với nhau
bởi phép toán logic x + y < 2* x*y - Dùng để liên kết nhiều
biểu thức quan hệ lại với
- Hãy quan sát ví dụ về biểu nhau.
thức logic sau:
- Kiểu logic VD: ( SGK - 28)
2< x ≤ 8
Trong Pascal cần phải tách
thành 2 < x và x ≤ 8 như thế
nào ? - Lắng nghe, theo dõi sự
sự dẫn dắt của Gv để trả
lời .




- Kết hợp SGK, trả lời:
(2< x) and (x:= ;
- Đưa ra ý kiến.
- Phân tích câu trả lời của học
sinh sau đó tổng hợp lại .
- Lệnh gán là gì ?
- Minh họa một vài ví dụ khác
khi sử dụng lệnh gán trên bảng. VD:
Treo tranh lên bảng và giới x:= (b*b-4* a*c);
thiệu một ví dụ về Pascal cho
chương trình i:= i+1;
- Suy nghĩ và đưa ra vài ví
Var i, j integer; dụ tương tự. j:= j-1;

Begin
i := 2;
j := 5;
i := i+1;
j := j-1;
Writeln (‘i=’, i);
Writeln (‘j=’, j);
readln;
End.
Giáo án Tin học 11 GV: Nguyễn Văn Thịnh
--------------------------------------------------------------------------------------------------------------

- Vậy chương trên in ra màn
hình giá trị của i và j bằng bao
nhiêu ?


- Quan sát và trả lời:
i = 3 và j = 4




V/ Củng cố, dặn dò:(2’)
- Nhắc lại một số khái niệm mới về:
+ Các phép toán : Số học, quan hệ, logic.
+ Cấu trúc lệnh trong Pascal: tên_biến := biểu_thức;
- Làm các bài tập 5, 6, 7, 8 SGK trang 35 - 36
- Xem trước bài: Các thủ tục chuẩn vào/ ra đơn giản
Ngày soạn: 06/10/2007
Tiết thứ:……BÀI 7-8 THỦ TỤC CHUẨN VÀO/ RA ĐƠN GIẢN - SOẠN THẢO, DỊCH,
THỰC HIỆN VÀ HIỆU CHỈNH CHƯƠNG TRÌNH
I. Mục tiêu
1 Kiến thức:
+ Biết các lệnh vào ra đơn giản để nhập dữ liệu từ bàn phím hoặc đưa dữ liệu ra màn hình.
+ Viết được một số lệnh vào/ ra đơn giản.
+ Biết các bước: Soạn, dịch, thực hiện và hiệu chỉnhchương trình.
2 Thái độ: Ham muốn tìm hiểu các biên soạn và thực hiện chương trình.
II. Chuẩn bị của giáo viên và học sinh
+ Giáo viên: một số ví dụ.
+ Học sinh: Đọc trước SGK.
III. Phương pháp:
+ Diễn giải, đàm thoại, giải quyết tình huống có vấn đề.
IV. Tiến trình bài học:
Hoạt động 1: tìm hiểu thủ tục nhập dữ liệu từ bàn phím.
TG Hoạt động của học sinh Hoạt động của giáo viên Ghi bảng
- Khi giải một bài toán, 1. Nhập dữ liệu vào từ bàn
những đại lượng đã biết phím
phải nhập thông tin vào, - Trong pascal ta dùng thủ tục
- Ta có lệnh để nhập như vậy khi lập trình ta chuẩn sau:
nhập bằng cách nào? Read(danh sách biến vào);hoặc
- Làm thế nào nhập giá trị Readln(danh sách biến vào);
Giáo án Tin học 11 GV: Nguyễn Văn Thịnh
--------------------------------------------------------------------------------------------------------------

cho bàn phím? Ví - dụ: Read(N);
Readln(a,b,c);
- Chú ý:+ Khi nhập dữ liệu từ
bàn phím READ, READLN,
có ý nghĩa như nhau, thường
- Nghe và ghi bài - Thủ tục READ sau khi dọc hay dùng READLN hơn.
xong giá trị con trỏ không
xuống dòng còn READLN là + Khi nhập giá trị cho các
xuống dòng. biến thủ tục, những giá trị
này được gõ cách nhau một
dấu cách hoặc phím Enter.
- Trả lời - Thủ tục READLN không
có tham số có chức năng
lamg gì? dừng chương trình.
- Thủ tục READLN không
có tham số dừng chương
trình.


Hoạt động 2: tìm hiểu thủ tụcđưa dữ liệu ra màn hình.
TG Hoạt động của học sinh Hoạt động của giáo viên Ghi bảng
- Trên đây là thủ tục nhập 2. Đưa dữ liệu ra màn hình
dữ liệu vào còn xuất ra thí Trong pascal cung cấp thủ
sao? tục chuẩn:
- Tr - Trường hợp thủ tục write(); hoặc writeln();
dụng để làm gì? trong đó có thể tên biến đơn,
WRITELN; không có tham biểu thức, hằng.
số thì thì thủ tục có tác Ví dụ: write(‘Nap so N:’);
dụng đưa con trỏ xuống Readln(N);
dòng tiếp theo. • Chú ý:
- writeln sau khi đưa kết quả
ra con trỏ xuống dòng mới.
- Ngoài ra trong TPcó quy
cách đưa thông tin ra nàm hình
sau:
+ Kết quả thực:
::
+ Kết quả khác:
- Độ rộng, số chữ số thập :
phân là các hằng nguyên ví dụ: Write(N:3);
dương. Writeln(‘X=’,x:8:2);
Giáo án Tin học 11 GV: Nguyễn Văn Thịnh
--------------------------------------------------------------------------------------------------------------


Hoạt động3 : Tìm hiểu cách soạn thảo, dịch, thực hiện, hiệu chỉnh chương trình .
TG Hoạt động của học sinh Hoạt động của giáo viên Ghi bảng
- Nghe giảng Để thực hành trong TP ta khởi • Một số tao tác thường
động bằng cách: Nháy dúp vào dùng trong pascal:
biểu tượng turbo pascal trên - Khi soạn thảo muốn
màn hình. xuống dòng nhấn Enter.
- Trên máy cần có tệp: - Ghi file vào đĩa: F2
-Nghe giảng Turbo.exe(file chạy) - Mở file đã có: F3
Turbo.tpl(file thư viện) - Biêng dịch chương trình:
Turbo.tph(file hướng dẫn) Alt +F9
- Chạy chương trình: Ctrl +
F9
- Đóng cửa sổ chương trình:
Alt + F3
- Thoát khỏi phần mền: Alt
+X
Hoạt động :củng cố:
- Nhắt lại sự hoạt động của Write/Writeln, read/Readln
- Cách soạn thảo,chạy chương trình, ghi vào đĩa, thoát khỏi TP
- Về nhà làm bài tập trong sách trang 35,36.

Ngày soạn :10/10/07
Tiết thứ:…. Bài BÀI THỰC HÀNH SỐ 1

I/ Mục tiêu:
1. Về kiến thức:
- Biết được một chương trình Pascal hoàn chỉnh.
- Biết sử dụng một số dịch vụ chủ yếu của Pascal trong soạn thảo, lưu, dịch và thực hiện
chương trình.
2. Về kỹ năng:
- Viết được chương trình đơn giản, lưu được chương trình trên đĩa, dịch lỗi cú pháp, thực
hiện và tìm lỗi thuật toán, hiệu chỉnh.
- Bước đầu biết phân tích và hoàn thành một chương trình đơn giản trên Pascal hoặc Free
Pascal.
3. Về tư duy và thái độ:
- Hình thành cho học sinh bước đầu về tư duy về lập trình có cấu trúc.
- Tự giác, tích cực và chủ động hoàn thành,
II/ Chuẩn bị của giáo viên và học sinh:
+ Giáo viên: Phòng máy tính đã cài sẵn chương trình Turbo Pascal hoặc Free Pascal, các chương
trình làm ví dụ.
+ Học sinh:
- Sách giáo khoa, sách bài tập và bài viết sẵn ở nhà.
- Đọc trước phần phụ lục B1 trang 122 - Môi trường Turbo Pascal.
- Xem trước nội dung bài thực hành số 1.
Giáo án Tin học 11 GV: Nguyễn Văn Thịnh
--------------------------------------------------------------------------------------------------------------

III/ Phương pháp: Gởi mở thông qua hoạt động tư duy.
IV/ Tiến trình bài dạy:
Hoạt động 1: Kiểm tra nội dung thực hành và khởi động máy.
TG Hoạt động của học sinh Hoạt động của giáo viên Ghi bảng
10’ - HS để nội dung thực hành - GV kiểm tra sự chuẩn bị nội
trước mặt. dung thực hành của học sinh.
- Chý ý hướng dẫn của GV - GV hướng dẫn học sinh khởi
để khởi động máy và động máy, và khởi động chương
chương trình Turbo Pascal trình Turbo Pascal hoặc Free
hoặc Free Pascal. Pascal.
Hoạt động 2: Tìm hiểu một chương trình Pascal hoàn chỉnh.
TG Hoạt động của học sinh Hoạt động của giáo viên Ghi bảng
35’ - Học sinh quan sát trên - GV ghi chương trình Chương trình giải phương
bảng và độc lập gõ chương Giai_PTB2 lên bảng. trình bậc hai:
trình vào máy. - GV yêu cầu học sinh đọc và gõ program Giai_PTB2;
chương trình Giai_PTB2 như uses crt;
trên bảng. var a, b , c, D: real;
x1, x2: real;
begin
clrscr;
write(‘ a, b, c: ‘);
readln(a, b, c);
D:=b*b - 4a*b*c;
x1:= (-b - sqrt(D))/
(2*a);
x2:= -b/a - x1;
write(‘x1 = ‘, x1 : 6 :
2, ’x2: = ‘, x2 : 6 : 2);
readln
- Nhấn phím F2 và gõ - GV yêu cầu học sinh thực hiện end.
PTB2.PAS các nhiệm vụ sau:
+ Lưu chương trình bằng cách
- Nhấn phím Alt+F9 nhấn phím F2 với tên
PTB2.PAS.
- Nhấn phím Ctrl+F9 + Dịch và sửa lỗi cú pháp với tổ
hợp phím Alt+F9.
- x1 = 1.00 x2 = 2.00 + Thực hiện chương trình với tổ
hợp phím Ctrl+F9.
+ Nhập các giá trị 1; -3; và 2.
- Nhấn phím Enter Thông báo kết quả của máy đưa
ra.
- Nhấn phím Ctrl+F9 + Trở về màn hình soạn thảo
- Thông báo lỗi và cho biết bằng phím Enter.
vì sao: Do căn bậc hai của + Tiếp tục thực hiện chương
một số âm. trình
+ Nhập các giá trị 1 ; 0 ; -2.
Giáo án Tin học 11 GV: Nguyễn Văn Thịnh
--------------------------------------------------------------------------------------------------------------

- Sửa lại: Thông báo kết quả của máy đưa
ra.
HỎI: Vì sao lại có lỗi xuất
hiện? readln(a, b, c);
+ Sửa lại chương trình trên x1:= (-b - sqrt(b*b -
không dùng đến biến D và thực 4a*b*c))/(2*a);
hiện chương trình đã sửa. x2:= -b - x1;
- Tiếp tục sửa lại: write(‘x1 = ‘, x1 : 6 :
2, ’x2: = ‘, x2 : 6 : 2);

readln(a, b, c);
+ Sửa lại chương trình bằng x1:= (-b - sqrt(b*b -
cách thay đổi công thức tính của 4a*b*c))/(2*a);
x2. x2:= (-b + sqrt(b*b -
- x1 = 2.00 x2 = 3.00 4a*b*c))/(2*a);
write(‘x1 = ‘, x1 : 6 :
2, ’x2: = ‘, x2 : 6 : 2);
- Thông báo lỗi với lý do - x1 = 2.00 x2 = 3.00
delta của pt là số âm.
+ Thực hiện chương trình đã sửa
với bộ dữ liệu 1 ; - 5 ; 6. Thông
báo kết quả.
+ Thực hiện chương trình với bộ
dữ liệu 1 ; 1 ; 1. Thông báo kết
quả.
Hoạt động 3: Rèn luyện thêm về kỹ năng lập trình cho học sinh
TG Hoạt động của học sinh Hoạt động của giáo viên Ghi bảng
35’ - Nghe và nhận nhiệm vụ. - GV yêu cầu học sinh hãy viết
một chương trình tính diện tích
một tam giác khi biết độ dài ba
- Phân tích theo yêu cầu của cạnh của nó.
giáo viên: - GV định hướng để học sinh
+ Dữ liệu vào ba cạnh a; ; b ; phân tich bài toán.
c + Dữ liệu vào (Input)
+ Dữ liệu ra S:
+ p:= (a+b+c)/2 +Diệu liệu ra (Output)
S: = sqrt(sqr(p-a)*sqr(p- + Cách tính:
b)*sqr(p-c))
- Thực hiện theo yêu cầu của
giáo viên: - GV yêu cầu học sinh soạn và
+ Soạn chương trình chạy chương trình lên đĩa.
+ Bấm phím F2 để lưu
chương trình.
+Bấm Alt+F9 để dịch lỗi cú
pháp.
+ Bấm Ctrl+F9 để chạy
Giáo án Tin học 11 GV: Nguyễn Văn Thịnh
--------------------------------------------------------------------------------------------------------------

chương trình.
+ Thông báo kết quả cho giáo
viên.
- Học sinh thông báo kết quả.
- GV yêu cầu học sinh nhập dữ
liệu và thông báo kết quả ;
a = 3; b = 6; c = 5
a = 2; b = 5; c = 10;
Hoạt động 4: Củng cố buổi thực hành và bài tập về nhà.
TG Hoạt động của học sinh Hoạt động của giáo viên Ghi bảng
10’ - Chú ý và ghi nhớ. Gv nhắc lại các bước khi hoàn
thành một chương trình
+ Phân tích bài toán để xác định
dữ liệu vào/ ra.
+ Xác định thuật toán.
+ Soạn chương trình
+ Lưu chương trình
+ Biên dịch chương trình
+ Thực hiện và hiệu chỉnh
chương trình.
- Về nhà làm bài tập trang 35 - Làm bài tập trang 35 và 36.
và 36.

Ngày soạn :16/10/07
Tiết thứ:……Bài 9 : CẤU TRÚC RẼ NHÁNH.
I. Mục tiêu bài dạy:
1. Kiến thức:
- Hiểu nhu cầu của cáu trúc rẽ nhánh trong biểu diễn thuật toán.
- Học sinh nắm vững ý nghĩa và cú pháp của câu lệnh rẽ nhánh dạng khuyết và dạng đủ, hiểu
được cách sử dụng câu lệnh ghép.
2. Kĩ năng:
- Sử dụng cấu trúc rẽ nhánh trong mô tả thuật toán của một số bài toán đơn giản.
- Viết được các lệnh rẽ nhánh khuyết, rẽ nhánh đầy đủ và áp dụng được để thể hiện thuật
toán của một số bài toán đơn giản
II. Chuẩn bị:
- Giáo viên: + Soạn giáo án.
+ Chuẩn bị bảng phụ sau:
IF

Điều kiện Đ Câu lệnh

S IF

S Điều kiện Đ
Câu lệnh 2 Câu lệnh 1
Giáo án Tin học 11 GV: Nguyễn Văn Thịnh
--------------------------------------------------------------------------------------------------------------




- Trò: học bài cũ, đọc và chuẩn bị bài mới.
III. Phương pháp truyền thụ:
Giảng giải + hoạt động của học sinh.
IV. Tiến trình bài dạy:
1. Ổn định lớp:
2. Kiểm tra bài cũ:
Bài toán: cho 2 số nguyên a, b; tìm Max(a,b).
Yêu cầu: viết phần tên, phần khai báo, và câu lệnh nhập a, b.
Nêu thuật toán tìm Max(a,b).
Hoạt động 1:
TG Hoạt động của giáo viên Hoạt động của học sinh Ghi bảng
GV: Giao nhiệm vụ cho HS . HS: Thực hiện lần lượt các Program baitap;
yêu cầu. Var a, b, max : integer;
H:Làm thế nào để tìm Max(a, Đ: So sánh: Begin
b)? - Nếu a > b thì max = a readln(a,b);
H: Để thể hiện thuật toán - Nếu a < b thì max = b. end.
trên trong TP các em làm như Đ: Chưa thể làm.
thế nào?
3. Bài mới:

Hoạt động 2:
TG Hoạt động của giáo viên Hoạt động của học sinh Ghi bảng
H: Cho ví dụ về 1 câu điều Đ:+ Nếu em thuộc bài thì 10 1. Rẽ nhánh:
kiện? điểm… * Một số mệnh đề có dạng
+ Nếu tối nay trời mưa điều kiện:
thì em nghỉ học ngược lại + Dạng thiếu: Nếu…thì…
GV: Chọn hai câu làm ví dụ. thì em đi học…. + Dạng đủ: Nếu … thì …
Từ đó phân tích cho học sinh (Có thể có nhiều câu khác nếu không thì …
thấy cấu trúc rẽ nhánh thể nhau). * Cấu trúc dùng để mô tả các
hiện trong ví dụ này. mệnh đề như trên được gọi là
cấu trúc rẽ nhánh thiếu và đủ.
* Mọi ngôn ngữ lập trình đều
có các câu lệnh để mô tả cấu
trúc rẽ nhánh.

Hoạt động 3:
TG Hoạt động của giáo viên Hoạt động của học sinh Ghi bảng
GV: Nêu cú pháp câu lệnh rẽ 2. Câu lệnh IF – THEN:
nhánh dạng đủ và dạng * Để mô tả cấu trúc rẽ nhánh,
khuyết. HS: Quan sát và ghi chép. Pascal dùng câu lệnh:
Giáo án Tin học 11 GV: Nguyễn Văn Thịnh
--------------------------------------------------------------------------------------------------------------

GV: Treo bảng phụ và giải a. Dạng khuyết:
thích quá trình thực hiện câu IF THEN ;
dạng khuyết. If a > b then max:= a; b. Dạng đủ:
H: Gọi học sinh viết câu lệnh If a < b then max:= b; IF THEN b then max:=a lệnh 1> ELSE < câu lệnh 2>;
2 cách. Else max:=b; Trong đó:
GV: Có thể chỉ dùng 1 câu - Điều kiện là biểu thức lôgic.
lệnh khuyết? - Câu lệnh, câu lệnh 1, câu
max:=a; if a < b then max:=b; lệnh 2 là 1 câu lệnh của
GV: lưu ý các em trước từ Pascal.
khoá Else không có dấu ; và
sau then, sau else chỉ có 1 lệnh HS: tìm câu trả lời.
chương trình. -> tuỳ trường hợp cụ thể.
GV: Với 2 dạng này, dạng
nào thuận tiện hơn?


Hoạt động 4:
TG Hoạt động của giáo viên Hoạt động của học sinh Ghi bảng
GV: Muốn thực hiện nhiều HS: Phát biểu ý kiến của 3. Câu lệnh ghép và ví dụ:
lệnh sau if hoặc sau then thì mình. * Trong ngôn ngữ Pascal câu
làm thế nào? lệnh ghép có dạng:
→ Dẫn đến khái niệm và Begin
cách dùng câu lệnh ghép: nếu ;
trong cấu trúc rẽ nhánh, sau End;
THEN có từ 2 lệnh trở lên thì
gộp thành câu lệnh ghép, đặt
các lệnh đó trong cặp từ khoá
Begin…end; với Pascal

H: Gọi học sinh nêu thuật
toán giải PT bậc hai? Đ: B1: Nhập a, b, c. * Ví dụ: Viết chương trình
B2: Tính d = b2 – 4ac; giải phương trình bậc hai.
B3: + Nếu d < 0 thì pt vô Program ptb2;
nghiệm. Var a, b, c, d, x1, x2: real;
+ Ngược lại thì pt có Begin
GV: Nhận xét, bổ sung. −b± d Write(‘ Nhap a, b, c:’);
GV: Phân nhóm và yêu cầu 2 nghiệm x1,2 = Readln(a,b,c);
2a
học sinh thảo luận nhóm để HS: Thảo luận theo nhóm d := b*b – 4*a*c;
viết chương trình thể hiện và trình bày lời giải vào If d < 0 then Write(‘ PT vo
thuật toán trên. Ghi lời giải bảng phụ: nghiem’) else
vào bảng phụ. Begin
GV: Yêu cầu đại diện nhóm Write(‘ PT co nghiem :’);
lên treo bảng lời giải và trình x1:= (- b – sqrt(d))/(2*a);
bày. HS: Đại diện nhóm lên treo x2:= (- b + sqrt(d))/(2*a);
Giáo án Tin học 11 GV: Nguyễn Văn Thịnh
--------------------------------------------------------------------------------------------------------------

Cho các nhóm khác nhận xét. bảng lời giải và trình bày. Write(x1:6:2, x2:6:2);
GV: chính xác hoá lời giải Các nhóm khác nhận xét. End;
của HS và cho điểm. Readln
end.

VI. Củng cố: GV tóm tắt các vấn đề cần nắm trong bài:
- Cú pháp, ý nghĩa của câu lệnh rẽ nhánh dạng đủ và dạng khuyết.
- Cách sử dụng câu lệnh ghép.
VII. Bài tập về nhà:
- Học bài, trả lời câu 1, 2 trang 50 và làm bài 4 trang 51 sgk.
- Viết chương trình tìm Max(a, b, c).
- Viết chương trình giải phương trình bậc nhất.
- Chuẩn bị bài mới: Cấu trúc lặp.

Ngày soạn :20/10/07
Tiết thứ:……..BÀI 10: CẤU TRÚC LẶP
I. Mục đích yêu cầu:
- Về kiến thức:
+ Hiểu nhu cầu của cấu trúc lặp trong biểu diễn thuật toán.
+ Biết được cấu trúc chung của lệnh lặp FOR trong ngôn ngữ lập trình.
+ Hiểu được cấu trúc lặp với số lần biết trước và câu lệnh FOR - DO
- Về kỹ năng:Bước đầu sử dụng được lệnh lặp FOR để lập trình giải quyết được một số bài
toán đơn giản
II. Chuẩn bị:
- GV: SGK, Giáo án, Máy chiếu Projector
- HS: SGK, vỏ
III. Phương pháp:
- Gợi mở, vấn đáp.
- Làm việc theo nhóm
IV. Hoạt động dạy học:
1. Ổn định lớp: Kiểm tra sĩ số HS
2. Kiểm tra bài cũ: Cho biết kết quả của doạn chương trình sau
Program VD;
Begin
Writeln (‘PASCAL’);
Writeln (‘PASCAL’);
Writeln (‘PASCAL’);
Writeln (‘PASCAL’);
Writeln (‘PASCAL’);
Readln;
End..
3. Nội dung dạy học:
* HĐ1: Tìm hiểu ý nghĩa của cấu trúc lặp
TG Hoạt động GV Hoạt động HS Ghi bảng - Trình chiếu
- Nếu giải bài toán trên với - Chương trình dài dòng CẤU TRÚC LẶP
việc in khoảng 10 dòng có từ 1. Lặp:
Giáo án Tin học 11 GV: Nguyễn Văn Thịnh
--------------------------------------------------------------------------------------------------------------

PASCAL? - Cấu trúc lặp mô tả thao tác
- Có nhận xét gì về các dòng - Lặp lại nhiều lần với câu lặp.
lệnh trong chương trình trên? lệnh: Writeln - Có 2 loại thao tác lặp:
- Đối với những thuật toán có + Lặp với số lần biết
những thao tác phải thực hiện trước.
lặp đi lặp lại một số lần thì + Lặp với số lần chưa
máy tính có thể thực hiện hiệu biết trước.
quả hơn các thao tác lặp đó
bằng các cấu trúc lặp.
- Nêu VD về cấu trúc lặp: - HS làm việc theo nhóm
a. Tính tổng của 20 số tự nhiên
Thuật toán 1:
đầu tiên. B1: S=0; n=0
b. Tính tổng của n số tự nhiên
B2: n → n +1
đầu tiên vói n 20 thì chuyển
Chia HS làm 4 nhóm để viết đến B5
thuật toán giải 2 bài toán trên
B4: S= S + n rồi quay lai b2
B5: Đưa S ra màn hình và
kết thúc
Thuật toán 2:
B1: S=0; n=20
B2: n → n -1
B3: Nếu n < 1 thì chuyển
đến B5
B4: S= S + n rồi quay lai b2
B5: Đưa S ra màn hình và
kết thúc
- Từ VD trên và nghiên cứu - 2 loại
thêm ở SGK hãy cho biết có
mấy loại cấu trúc lặp?

* HĐ 2: Tìm hiểu cấu trúc lặp với số lần biết trước và câu lệnh FOR - DO
TG Hoạt động GV Hoạt động HS Ghi bảng- Trình chiếu
- Số lần lặp của cả 2 thuật 2.Lặp với số lần biết trước
toán trên là biết trước và như và câu lệnh FOR - DO
nhau (20 lần). - Cấu trúc lặp:
- Giải thích từng thuật toán + Dạng lặp tiến:
+ TT1: n bắt đầu là 1 và sau FOR := TO
cho đến khi n>20 thì kết thúc DO ;
lặp + Dạng lặp lùi:
+ TT2: n bắt đầu là 20 và sau FOR := DOWNTO DO ;
lặp - Trong đó:
- Nêu các dạng của cách lặp? - Dạng tiến và dạng lùi + Biến đếm là biến đơn,
- Giới thiệu câu lệnh FOR - thường có kiểu nguyên.
Giáo án Tin học 11 GV: Nguyễn Văn Thịnh
--------------------------------------------------------------------------------------------------------------

DO với 2 dạng tiến, lùi trong + Giá trị đầu, giá trị cuối là
Pascal. các biểu thức cùng kiểu với
- Giải thích các thông số trong biến đếm và giá trị đầu phải
câu lệnh. nhỏ hơn hoặc bằng giá trị
cuối
- Yêu cầu HS nghiên cứu SGK - HS trả lời - Hoạt động của lệnh FOR-
và nêu hoạt động của lệnh DO
FOR - DO? + Dạng lặp tiến: câu lệnh
viết sau từ khóa DO được
thực hiện tuần tự, với biến
đếm lần lượt nhận các giá trị
liên tiếp tăng từ giá trị đầu
đến giá trị cuối,
+ Dạng lặp lùi: câu lệnh viết
sau từ khóa DO được thực
hiện tuần tự, với biến đếm
lần lượt nhận các giá trị liên
tiếp giảm từ giá trị cuối đến
giá trị đầu.
- GV treo bảng phụ 1 về sơ đồ - Quan sát bảng phụ - Chú ý: Câu lệnh viết sau
thuật toán lặp DO không được thay đổi giá
- Gv treo bảng phụ 2 về cài - Quan sát bảng phụ trị của biến đếm
đặt các thuật toán ở VD trên
- Qua 2 chương trình trên có - Được điều chỉnh tự động
nhận xét gì về biến đếm ?
- Cho HS cài đặt thuật toán vơi
Program In_chu;
VD1 Var i:byte;
Begin
For i:=1 to 5 do writeln
(‘PASCAL’);
Readln;
END.
- Lập chương trình tạo bảng - HS làm việc theo nhóm
cửu chương

* HĐ 3: Củng cố- Dặn dò
- Nắm lại các cấu trúc lặp.
- Nhớ được 2 dạng tiến lùi của câu lệnh FOR - DO trong Pascal
- Xem trước bài mới
Giáo án Tin học 11 GV: Nguyễn Văn Thịnh
--------------------------------------------------------------------------------------------------------------




BẢNG PHỤ 1
Biến đếm:= Giá trị
đầu



Biến tb then d:=d+1;
If t3>tb then d:=d+1;
If t4>tb then d:=d+1;
If t5>tb then d:=d+1;
Giáo án Tin học 11 GV: Nguyễn Văn Thịnh
--------------------------------------------------------------------------------------------------------------

TG H/động của hs H/động của gv N ội dung ghi bảng
If t6>tb then d:=d+1;
If t7>tb then d:=d+1;
If cn>tb then d:=d+1;
Writeln('Nhiet do tr/binh tuan: ',tb:5:2);
Writeln('So ngay nh/do cao hon nh/do t/binh
la: ',d);
Readln;
End.
-Nếu ta viết bằng mảng 1 Dùng mảng 1 chiều:
chi ều: Program nhdo;
Const max = 20;
Type a = array[1..max] of real;
Var ndo:a; d,i,n: byte; t,tb: real;
Begin
Writeln('Nhap so ngay: ');
Readln(n);
T:=0; d:=0;
For i:=1 to n do
Begin
Writeln('Nhap vao nhiet do cua ngay
thu ',i,':');
Readln(ndo[i]);
T:=t+ndo[i];
End;
Tb:=t/n;
For i:=1 to n do
If ndo[i]>tb then d:=d+1;
Writeln('Nhiet do tr/binh tuan: ',tb:5:2);
Writeln('So ngay nh/do cao hon nh/do t/binh
la: ',d);
-So s ánh 2 ch/tr trên Readln;
-Thế nào là mảng 1 End.
chiều? A/ Định nghĩa:sgk


Hoạt động 2: Tìm hiểu cách khai báo mảng 1 chiều
TG H/động của hs H/động của gv Nội dung ghi bảng
15’ Trả lời Có mấy cách để khai báo B/Khai báo:
mảng 1 chiều? Cách 1: Khai báo trực tiếp:
Var : array[kiểu chỉ số] of
;
Cách 2: Khai báo gián tiếp
Type = array[kiểu chỉ số]
of ;
Var :;
Giáo án Tin học 11 GV: Nguyễn Văn Thịnh
--------------------------------------------------------------------------------------------------------------

Trong đó: +Kiểu chỉ số thường là một
đoạn số nguyên liên tục có dạng
n1...n2(n1 : array
hỏi. Cả lớp theo dõi, [ kiểu chỉ số ] of < kiểu phần tử>;
nhận xét
b/ Khai báo gián tiếp
Type < tên kiểu mảng > : array
[ kiểu chỉ số ] of < kiểu phần tử>;
Var < tên biến mảng >: < tên kiểu
-Giáo viên nhận xét, cho mảng >;
Giáo án Tin học 11 GV: Nguyễn Văn Thịnh
--------------------------------------------------------------------------------------------------------------

điểm


2.Hoạt động 2: Bài tập số 1 sgk/63

TG Hoạt động học sinh Hoạt động giáo viên Ghi bảng

25’ 1/HĐTP1:
Quan sát bảng phụ, Treo bảng phụ có nội
dung bài số 1a/ sgk/63 ( có
- Lắng nghe câu hỏi và thể sử dụng máy chiếu ).
trả lời. Sau đó đặt câu hỏi cho học
sinh trả lời .
+ Khai báo uses CRT; có ý -Khai báo thư viện chương trình
nghĩa gì? con CRT để sử dụng được thủ tục
Clrscr;
- Myarray : tên kiểu dữ liệu
+Myarray là tên kiểu dữ - nmax: số phần tử tối đa có thể
liệu hay tên biến? chứa của biến mảng a,
+Vai trò của nmax và n có n: số phần tử thực tế của a.
gì khác nhau?


-Random(n): cho số ngẫu nhiên từ
+Những dòng lệnh nào 0 đến n-1
dùng để tạo biến mảng a

-Theo dõi để nắm hàm -Giáo viên giới thiệu hàm
Random. Random cho học sinh.Sau
đố đặt câu hỏi:
+Câu lệnh cho số ngẫu + a[i] := Random(300) –
nhiên có giá trị từ -299 Random (300) có ý nghĩa
đến 299. gì?

+câu lệnh in ra màn hình + Lệnh for i:=1 to n do
giá trị tất cả các phần tử Write ( a[i] : 5);
của mảng. Có ý nghĩa gì?


+cộng tất cả các phần +Lệnh For-do cuối cùng
tử chia hết cho k. thực hiện nhiệm vụ gì?

+Số lần thực hiện lệnh +Lệnh gán s := s + a[i] ;
gán đúng bằng số phần được thực hiện bao nhiêu
tử của mảng chia hết lần?
cho k.
Giáo án Tin học 11 GV: Nguyễn Văn Thịnh
--------------------------------------------------------------------------------------------------------------


-Theo dõi kết quả chạy -Thực hiện lại chương
thử chương trình. trình lần cuối để học sinh
10’ thấy được kết quả.

2/HĐTP2: Sửa
chương trính câu a/ để
được chương trình giải
quyết bài toán câu b/
-Quan sát bảng phụ, theo
dõi và trả lời các câu hỏi +posi : đếm số dương trong mảng.
của GV. -Treo bảng phụ câu b/ bài +neg: đếm các số âm trong mảng.
tập 1 sgk/64

Hỏi HS:
+ Ý nghĩa của biến posi và
neg?

+Nếu a[i] > 0 thì cộng
a[i] vào posi; ngược lại
nếu a[i] < 0 thì cộng a[i] + Chức năng của lệnh :
vào neg. If a[i] > 0 then
posi := posi +1
else if a[i] < 0 then
neg := neg +1;
+Quan sát các lệnh và là gì?
suy nghĩ vị trí cần sửa
trong chương trình câu +Hướng dẫn học sinh
a/. thêm vào vị trí cần thiết để
chương trình đếm được số
lượng các số âm và các số
+Theo dõi kết quả chạy dương.
chương trình.
+Chạy thử chưong trình để
học sinh theo dõi kết quả.

3.Hoạt động 3: Bài tập số 2/sgk/64

TG Hoạt động học sinh Hoạt động giáo viên Ghi bảng

15’ 1/HĐTP1: Đưa ra một
ví dụ cụ thể .

Ví dụ: Cho mảng gồm 5 phần
tử: 1 5 7 5 2 . Tìm
phần tử có giá trị lớn nhất và
Giáo án Tin học 11 GV: Nguyễn Văn Thịnh
--------------------------------------------------------------------------------------------------------------

vị trí của nó trong mảng ( số
thứ tự )
-Theo dõi, suy nghĩ để -Gợi ý , hướng dẫn học sinh j:=1;
nắm thuật toán. thuật toán tìm phần tử lớn For i:=2 to n do
nhất và vị trí của nó (kết hợp If a[i] > a[j] then
làm thủ công). j:=i;
(Sau khi kết thúc:
+ Giá trị lớn nhất là a[j]
+ vị trí cần tìm j.)


-Đọc đoạn chương -Cho học sinh đọc đoạn
trình sgk. Liên hệ trả chương trình trong bài
lời các câu hỏi mà GV 2/64sgk .
nêu ra.
Hỏi HS:
+Sửa a[i] > a[j] ; thành + Nếu muốn tìm phần tử nhỏ
a[i] < a[j] ; nhất thì cần sửa ở chỗ nào?
+Nếu muốn tìm phần tử lớn
+Sửa a[i] > a[j]; thành nhất với chỉ số lớn nhất của
a[i] >= a[j]; nó thì ta sửa ổ chỗ nào?

-Chạy thử chưong trình cho
học sinh theo dõi

-Theo dõi học sinh thực hiện
30’ 2/HĐTP2: chương trình và xem kết quả.
-Theo dõi GV chạy
chương trình và làm lại
trên máy tính.

4.Hoạt động 4: Củng cố (3’)
-Nhắc lại cho học sinh một số kiến thức về:
+ Tính tổng các phần tử các phần tử thoả mãn một điều kiện nào đó.
+ Đếm số các phần tử thoả mãn một điều kiện nào đó.
+ Tìm phần tử lớn nhất/ bé nhất.
5.Bài tập về nhà (2’)
- Viết một chương trình nhập một mảng một chiều, đếm số phần tử nhỏ hơn một số k nào đó.
Giáo án Tin học 11 GV: Nguyễn Văn Thịnh
--------------------------------------------------------------------------------------------------------------

Ngày soạn: 30/11/07
Tiết thứ:…..Bài: BÀI THỰC HÀNH SỐ 4
I. Mục tiêu
1. Kiến thức
- Củng cố kiến thức về dữ liệu kiểu mảng.
- Xây dựng cấu trúc dữ liệu, hiểu thuật toán sắp xếp bằng tráo đổi.
2. Kĩ năng
- Biết chỉnh sữa lỗi trong chương trình.
- Tự nhập các bộ dữ liệu để hiểu ý nghĩa một số câu lệnh.
3. Thái độ
- Nghiêm túc thực hiện đúng nội quy phòng máy, tự giác trong khi lập trình.
II.Chuẩn bị
- Gv:Bảng phụ viết sẵn chương trình, phòng máy, project.
- Hs: Sgk, CT đã được viết sẵn.
III. Phương pháp
IV. Tiến hành dạy học
1. Hoạt động 1: Nhắc lại kiến thức đã học liên quan bài thực hành.
Hđ của GV Hđ của Hs
Hỏi 1: Nêu cách khai báo kiểu mảng 1 chiều. Tl: có 2 cách
+ gián tiếp:
+ trực tiếp:
Hỏi 2: Nhập từ bàn phím xây dựng mảng một
chiều A có 6 phần tử. TL: For i:= 1 to 6 do
Begin
Writeln(‘Nhap phan tu thu ’,i,’=’);
Readln(A[i]);
End;
2. Hoạt động 2: Xác định bài toán và tìm hiểu chương trình.
TG Hđ của GV Hđ của HS Ghi bảng
1. Chiếu đề bài lên bảng. 1. Quan sát đề và lằng nghe Đề: Sắp xếp dãy số
câu hỏi của gv. nguyên bằng thuật toán
2. Xác định bài toán 2. Trả lời câu hỏi. tráo đổi với các giá trị
Y/cầu hs xác định dữ liệu vào/ra - Vào: mảng A khác nhau của n số.
của bài toán? - Ra: mảng A đã sắp xếp
3. Gv minh hoạ bài toán: 3. Theo dãy số minh họa, nhớ
A lại thuật toán sắp xếp đã
5 học.
7
2
8
6
- Nhắc lại thuật toán. CT( SGK/65)
4
- Quan sát, đối chiếu thuật
1 toán liệt kê với CT (SGK).
2
3 4. Xem CT và tìm hiểu một
Giáo án Tin học 11 GV: Nguyễn Văn Thịnh
--------------------------------------------------------------------------------------------------------------
4 số biến, lệnh.
5
6 - TL: Dùng làm biến chỉ số.
- TL:3 lệnh: tg := a[i];
Mảng A đã sắp xếp: a[i]:= a[i+1];
A a[i+1]:= tg;
2 - Chú ý, lắng nghe, quan sát
4 và ghi nhớ.
5
6
7
8

1
2
3
4
5
6


- Yêu cầu hs nhắc lại ý tưởng
thuật toán(Lớp 10)?
- Chiếu thuật toán đã được liệt
kê các bước.
4. Tìm hiểu chương trình

- Vai trò của biến i, j trong CT?
- Đoạn lệnh nào thực hiện tráo
đổi giá trị 2 phần tử liền kề của
mảng?
- Treo bảng CT chuẩn bị sẵn.
Giải thích một số lệnh của CT.

3. Hoạt động 3: Chạy CT câu a.
TG Hđ của GV Hđ của HS Ghi bảng
- Yêu cầu hs tự nhập dữ liệu với - Chạy CT, nhập dữ liệu, xm
CT có sẵn. kết quả.
- Giúp hs phát hiện và sữa lỗi. - Chỉnh sữa CT thông qua các
thông báo lỗi.
- Thuật toán trên tiến hành đưa - Chú ý hiểu rõ thêm về CT.
số lớn thứ j về đến vị trí j sau
mỗi vòng lặp:
For i:= 1 to j-1 do
4. Hoạt động 4: Xác định bài toán câu b.
TG Hđ của GV Hđ của HS Ghi bảng
1. Xác định bài toán. 1. Xác định bài toán: Đề: Khai báo biến đếm
- Y/cầu hs xác I/O bài toán? + I: mảng a; nguyên Dem và bổ sung
+O: mảng a đã sắp xếp, số vào chương trình những
Giáo án Tin học 11 GV: Nguyễn Văn Thịnh
--------------------------------------------------------------------------------------------------------------

lần tráo đổi (Dem); câu lệnh cần thiết để
- Biến Dem được tăng lên khi TL: Khi A[i] > A[i+1] biến Dem tính số lần tráo
nào? (tức là biểu thức đk trong CL đổi trong chương trình.
If đúng)
- Cần đưa câu lệnh tăng Dem TL: Trong thân CL If: trước
vào chỗ nào trong CT trên? hoặc sau 3 lệnh tráo đổi.
- Câu lệnh khởi tạo Dem:= 0
được đặt vào vị trí nào trong TL: Chọn một trong hai
CT? phương án 3, 4.
+ Trước CL đầu tiên:
For j:= N down to 2 do
+ Trước CL duyệt:
For i:= 1 to j-1 do
+ Trước 3 CL tráo đổi
+ Sau 3 CL tráo đổi
- Sau CL cuối CT nên đưa CL
nào vào để hiển thị giá trị biến
Dem ra màn hình.
4. Hoạt động 5: Sữa CT câu a để giải bài toán câu b.
TG Hđ của GV Hđ của HS Ghi bảng
- Yêu cầu hs sữa lại CT theo gợi - Thêm các CL như đã hướng CT(Phụ lục)
ý đã nêu. dẫn vào CT.
- Hướng dẫn hs chỉnh sữa và - Chạy CT.
chạy CT.
- Đánh giá kết quả của hs.
Hoạt động 6: Củng cố
- Thuật toán sắp xếp bằng tráo đổi.
- Đếm số lần tráo đổi.
Hoạt động 7: Bài tập về nhà
- Tìm thêm các thuật toán sắp xếp khác tối ưu hơn.
- Cho mảng A và mảng B (là mảng A đã được sắp xếp). Hãy in ra chỉ số của các phần tử
mảng A theo mảng B.
Giáo án Tin học 11 GV: Nguyễn Văn Thịnh
--------------------------------------------------------------------------------------------------------------

Ngày soạn: 02/12/07
Tiết thứ:…..Bài: BÀI THỰC HÀNH SỐ 4
I. Mục tiêu
1. Kiến thức
Tiếp tục củng cố kiến thức khi lập trình với dữ liệu kiểu mảng.
2. Kĩ năng
Nhận xét, phân tích và đề xuất các cách giải bài toán sao cho chương trình chạy nhanh hơn.
3. Thái độ
Tự giác, chủ động trong khi lập trình.
II.Chuẩn bị
Gv:Bảng phụ viết sẵn chương trình, phòng máy, project.
Hs: Sgk, CT đã được viết sẵn
III. Phương pháp
IV. Tiến hành dạy học
1. Hoạt động 1:(3') Ôn lại kiến thức chuẩn bị thực hành
Hđ của GV Hđ của Hs
Hỏi 1: cách khai báo kiểu mảng 1 chiều. Tl: có 2 cách
+ gián tiếp:
+ trực tiếp:
Hỏi 2: (tuỳ từng lớp)
2. Hoạt động 2:(13') Nêu đề bài toán và tìm hiểu
TG Hđ của GV Hđ của HS Ghi bảng
2' 1. Ghi đề bài lên bảng. 1. Quan sát đề và lắng nghe Đề: Cho mảng A gồm n
câu hỏi của gv. phần tử. Viết CT tạo ra
2. Tìm hiểu đề 2. Trả lời câu hỏi. mảng B[1..n]
Y/cầu hs xác định dữ liệu vào/ra - Vào:
của bài toán? - Ra:
3' 3. Gv lấy ví dụ minh hoạ 3. Theo dõi ví dụ minh hoạ
A
4
5
1
2
3
7 Tl: (2-3hs)

1
2
3
4
5
6
Tl:
B
B
4
5' 9
10 Khai báo:
Giáo án Tin học 11 GV: Nguyễn Văn Thịnh
--------------------------------------------------------------------------------------------------------------

12 + k/báo mảng
15 + biến đơn
22 Phần thân:
B1: tạo mảng A.
B2: xd mảng B theo A.
1 B3: In mảng B.
2
1
3
2
4
3
5
4
6
5
6
4. Lần lượt cho từng hs trình
Ban đầu: mọi B[i] = 0 bày
Hỏi: mỗi B[i] được tạo mới Tl:
bằng bao nhiêu?
Tóm lại: B[i] = A[1] + …+ A[i]
3' i


=
∑A[j ]
j=1



GV minh hoạ một số phần tử: Tl: sử dụng 2 vòng for lồng
B[1], B[2], B[3] nhau.
for i:=1 to n do
- Y/cầu hs tìm kết quả mảng B begin
theo ví dụ trên. b[i]: =0;
for j:=1 to i do
4. Viết CT thô b[i]:=b[i]+a[j];
- Y/cầu hs cho biết từng phần end;
của CT cần xây dựng?
5. Chú ý, lắng nghe, quan sát
Gv tranh thủ ghi lại trên bảng. và ghi nhớ.



H: Bước B2 được cụ thể trong
CT như thế nào?




5. Treo bảng CT chuẩn bị sẵn.
Giải thích từng phần của CT
tương ứng với phần trả lời
được ghi bảng của hs.
3. Hoạt động 3: (5')Tối ưu chương trình
TG Hđ của GV Hđ của HS Ghi bảng
1. Dựa vào phần phân tích ví dụ
5' thuật toán ở trên.
Giáo án Tin học 11 GV: Nguyễn Văn Thịnh
--------------------------------------------------------------------------------------------------------------

Gv hỏi: So sánh giá trị B[i] và
B[i-1]? Tl: B[i]:=B[i-1]+A[i]
Đặc biệt: B[1]=? Tl: B[1]=A[1]
2. Chta luôn hướng tới thuật 2. Chú ý theo dõi
toán tối ưu. Đối với bài toán này
theo phân tích ở trên ta đã tận
dụng được kết quả của việc
tính tổng
i -1 phần tử có sẵn ở bước
trước.
- Do vậy ta có được:
+ Số lượng phép toán '+' ít hơn {tùy đối tượng hs}
+Chỉ dùng 1 vòng lặp for
-> chỉ sd 1 biến chỉ số i cho cả 2 3. Nhìn bảng, tự điều chỉnh
mảng A, B. hành vi nhận thức. Đoạn CT cải tiến: Sgk
3. Cải tiến lại chtrình.
Gv treo bảng chtrình được cải
tiến.
4. Hoạt động 4: (20') Hs thực hành trên máy theo nhóm
TG Hđ của GV Hđ của HS Ghi bảng
1. Y/cầu hs nhập CT cải tiếnvào 1. Hs nhập chtrình vào máy
máy. 2. Tự biên dịch và chạy CT
2. Theo dõi quá trình t/hiện của với ví dụ trên.
hs. Giải quyết 1 số lỗi nhỏ tại
từng nhóm. 3. Tự lấy Input để chạy lại
CT
5. Hoạt động 5: (3') Củng cố, uốn nắn những sai sót thường gặp của Hs.
6. Hoạt động 6: (1') Dặn dò:
Xem, chuẩn bị trước bài 12: Kiểu xâu.

Ngày soạn: 06/12/07
Tiết thứ:…..Bài 12: KIỂU XÂU
I.Mục tiêu
1. Về kiến thức
- Biết được một kiểu dự liệu mới, biết được khái niệm kiểu xâu.
- Phân biệt được sự giống và khác giữa kiểu mảng với kiểu xâu.
- Biết được cách khai báo biến, nhập/xuất dữ liệu, tham chiếu dến từng kí tự của xâu.
- Biết các phép toán liên quan đến xâu.
2. Về kĩ năng
- Khai báo được biến kiểu xâu trong ngôn ngữ lập trình Pascal.
- Sử dụng biến xâu và các phép toán trên xâu để giải quyết một bài toán đơn giản.
II. Chuẩn bị của GV và HS
1. GV: Máy vi tính, Máy chiếu để giới thiệu ví dụ.
2. HSSGK.
III. Phương pháp
Thuyết trình, vấn đáp
Giáo án Tin học 11 GV: Nguyễn Văn Thịnh
--------------------------------------------------------------------------------------------------------------

IV. Tiến trình bài học
HĐ1: Kiểm tra bài cũ và khởi động bài mới
T/g HĐ của GV HĐ của HS Ghi bảng
10' Ghi câu hỏi lên bảng Suy nghĩ, trả lời Câu hỏi:
Phát vấn HS tại chỗ Định nghĩa mảng một chiều và
Y/c HS khác nhận xét Nhận xét cách khai báo.
Chính xác hóa nội dung Ghi nhớ kiến thức 'Viet Nam' có phải là dữ liệu
'Viet Nam' là dữ liệu kiểu kiểu mảng một chiều không, Vì
mảng. Tuy nhiên nó là một sao?
kiểu dữ liệu mà tiết này ta
sẽ học: KIỂU XÂU
HĐ2: Tìm hiểu về dữ liệu kiểu xâu
T/g HĐ của GV HĐ của HS Ghi bảng
14' Xâu là gì? Trả lời Bài 12: KIỂU XÂU
Y/c HS khác nhận xét Nhận xét Khái niệm (SGK)
Chính xác hóa nội dung Hình thành khái niệm Xâu
Y/c HS cho VD Cho VD
Xâu có bao nhiêu kí tự? Trả lời.
Dấu cách là 1 ký tự.
Y/c HS viết xâu có ký tự
trống, xâu rỗng, nêu số
lượng ký tự của mỗi xâu.
Giới thiệu cách tham chiếu Ttự kiểu mảng
phần tử

HĐ3: Khai báo dữ liệu kiểu xâu và các thao tác xử lí xâu
T/g HĐ của GV HĐ của HS Ghi bảng
- Hỏi: Ý nghĩa của từ Trả lời 1. Khai báo (SGK)
15' String?
Độ dài lớn nhất của
xâu là bao nhiêu Trả lời 2. Các thao tác xử lí xâu
- Hãy nhắc lại các phép toán Var st:string;
đã học trên kiểu dữ liệu Quan sát chương trình để Begin
chuẩn dự tính kết qủa St:='A' + 'B';
- Chiếu chương trình VD Write(st);
- Hỏi: Kết quả của chương Readln;
trình in ra màn hình? End.
Thực hiện chương trình cho
HS thấy kết quả
- Y/c HS tìm một số VD VD:
khác 'AB', ); Vào/Ra dữ liệu;
Đóng tệp.
Hoạt động 4.1 Gán tên tệp(4’)
Để thao tác với tệp, trước hết
phải gán tên tệp cho biến tệp
Vd1 bằng câu lệnh :
MYFILE := 'DULIEU.DAT'; ASSIGN(< Tên biến tệp>,);
ASSIGN(F2,'DULIEU.DAT'); Trong đó Tên tệp là biến xâu
Vd2 hoặc hằng xâu. Assign(f1, ‘b1.inp’);
MYFILE := 'C:\INP.DAT'; Ví dụ 1 Giả thiết có biến xâu Rewrite(f1);
ASSIGN(F3,MYFILE);
3.Mở têp :
̣ MYFILE và cần gán biến tệp F2
Để đoc : RESET();
̣ ́ ̣ với tệp có tên DULIEU.DAT.
Để ghi : REWRITE();
́ ̣ Việc gán tên tệp được thực hiện
bằng các câu lệnh ?
Ví dụ 1 Ví dụ 2 Để chuẩn bị thao tác với
TF := 'C:\KQ.DAT'; tệp có tên là INP.DAT trên thư
ASSIGN(F3,TF);
REWRITE(F3); mục gốc đĩa C: ta dùng các câu
lệnh sau để gắn nó với tệp F3?
Ví dụ 2 Hoạt động 4.2 Mở tệp(10’) Assign(f1, ‘b1.out’);
Giáo án Tin học 11 GV: Nguyễn Văn Thịnh
--------------------------------------------------------------------------------------------------------------

Néi dung ghi b¶ng Ho¹t ®éng cña gi¸o viªn Ho¹t ®éng cña häc  
sinh
Để đọc dữ liệu từ tệp Tệp có thể dùng để chứa kết Reset(f1);
DL.INP ta có thể mở tệp bằng : quả ra hoặc dữ liệu vào. Trước
ASSIGN(F1, 'DL.INP'); khi mở tệp, biến tệp phải được
RESET(F1);
gán tên tệp bằng thủ tục
ASSIGN.
̣ ̣
4.Đoc/ghi têp : Câu lệnh mở tệp để ghi kết
Đọc : quả có dạng :
READ(,); Khi thực hiện lệnh
Ghi : REWRITE(F3), nếu trên thư mục
WRITE(, ); gốc C:\ chưa có tệp KQ.DAT, thì
Ví dụ 1 tệp sẽ được tạo với nội dung Readln(f,x1,x2);
Lệnh ghi giá trị biến A vào rỗng. Nếu tệp này đã có, thì nội Đọc dữ liệu từ biến tệp
tệp gắn với biến tệp F3 : dung của nó sẽ bị xoá để chuẩn bị f,®Æt gi¸ trÞ vµo hai biÕn
WRITE(F3,A); ghi thông tin mới. x1 vµ x2.
Ví dụ 2 Để chuẩn bị đọc dữ liệu từ Writeln(f, ‘hieu la’,x1-x2);
Lệnh đọc giá trị từ tệp gắn tệp đã có ta mở tệp bằng câu lệnh Ghi vµo biÕn tÖp f hai
với biến tệp F1 và gán cho biến C : tham sè lµ dßng ch÷ ‘hieu
: RESET(); la’ vµ gi¸ trÞ x1-x2
READ(F1,C); Hoạt động 4.3 Đọc/ghi tệp (6’) Học sinh ghi bài
5. Đóng tệp Tệp định kiểu mở bằng thủ Close(f1);
Sau khi làm viêc xong phải đóng têp
̣ ̣
băng câu lệnh :
̀
tục REWRITE chỉ có thể ghi dữ Eof(f1);
CLOSE(); liệu bằng thủ tục WRITE. Câu
Ví dụ: CLOSE(F1); lệnh ghi có dạng :WRITE(,);
Nếu tệp được mở bằng thủ
Một số hàm và thủ tục chuẩn tục RESET thì có thể đọc thông
thường dùng trong thao tác tệp tin. Câu lệnh đọc có dạng:
Hàm lô gíc EOF(); READ(,);
đang chỉ tới cuối tệp. Yêu cầu học sinh cho ví dụ và
Hàm lôgíc EOFLN() Cho giá trị True nếu con trỏ Hoạt động 4.4 Đóng tệp (3’)
tệp đang chỉ tới cuối dßng. Sau khi làm việc xong với tệp
cần phải đóng tệp. Việc đóng tệp
là đặc biệt quan trọng sau khi ghi
thông tin vào tệp.
Câu lệnh đóng tệp có dạng :
CLOSE();
Một tệp, sau khi đóng có thể
mở lại. Khi mở lại tệp, nếu vẫn
dùng biến tệp cũ thì không cần
thiết phải dùng thủ tục ASSIGN
gán lại tên tệp.
Giáo án Tin học 11 GV: Nguyễn Văn Thịnh
--------------------------------------------------------------------------------------------------------------

Néi dung ghi b¶ng H t ®
o¹ éng cña gi ¸ o vi ªn H t ®
o¹ éng cña häc
si nh
Hoạt động 4.5 Một số hàm và
thủ tục chuẩn thường dùng trong
thao tác tệp(2’)
Giới thiệu HS biết hai hàm chuẩn
và ý nghĩa của nó.
IV ­ Cñng cè(2’)
Nêu đặc điểm của kiểu dữ liệu tệp
Hãy cho biết những khác biệt giữa tệp định kiểu và tệp văn bản.
Cho biết các thao tác cơ bản khi làm việc với tệp.
Sơ đồ làm việc với tệp dùng để nhập thông tin phải có những lệnh cơ bản nào?
Các thao tác với tệp được mô tả trong hình16
Ghi tÖp:G¸n tªn tÖp,t ¹o tÖp míi , ghi th«ng t in , ®ãng tÖp.
§äc tÖp: G¸n tªn tÖp,më tÖp, ®äc th«ng t in , ®ãng tÖp.


ASSIGN(,);



Ghi §äc




REWRITE(); RESET();




WRITE(,);   READ(,);




CLOSE(); 
tÖp>);



Hình 16. Sơ đồ làm việc với tệp
Giáo án Tin học 11 GV: Nguyễn Văn Thịnh
--------------------------------------------------------------------------------------------------------------

Ngày 16/10/08
Tiết thứ:….. Bài 16: VÍ DỤ LÀM VIỆC VỚI TỆP
I: Mục tiêu:
3. Kiến thức:
- Củng cố lại kiến thức đã học về tệp trong bài 14, 15 của chương V thông qua ví dụ
4. Kỹ năng:
- Nhận biết được các cách hoạt động của tệp.
- Biết sử dụng các thủ tục và hàm liên quan để giải quyết bài toán.
- Nắm được chức năng của các thủ tục và hàm để thao tác với tệp.
II. Chuẩn bị của GV và HS:
- GV: Giáo án, SGK, sách GV, máy chiếu, sách bài tập, máy tính có soạn sẵn các ví dụ.
- HS: Sách GK.
III. Phương pháp:
- Đặt vấn đề.
- Thuyết trình.
- Diễn giải, dùng bảng để ghi lại các chi tiết quan trọng trong ví dụ
IV. Tiến trình bài học.
* Hoạt động 1: Kiểm tra bài cũ và giới thiệu bài mới. (7’)
- Mục tiêu: + Ôn lại kiến thức đã học ở bài 14, 15
+ Vận dụng để giải quyết một vấn đề cụ thể trong thực tế.
- Các bước tiến hành:

Hoạt động của thầy Hoạt động của trò Nội dung
1. Nhắc lại kiến thức cũ.
- Gọi 1 HS nhắc lại các hàm và thủ tục - HS đứng dậy và trả lời câu - Ghi lại những hàm
liên quan đến tệp. hỏi. và thủ tục mà HS 1 đã
Var :text; nêu.
Assign(,);
Rewrite();
...
- Gọi 1 HS khác nhận xét và bổ sung - Nhận xét và bổ sung thêm các - Bổ sung những thiếu
cho đầy đủ. hàm, thủ tục còn còn thiếu. sót của HS1.
- Nhận xét chung về ý kiến của 2 HS đã - HS Lắng nghe lời giảng của - Đánh số thứ tự trên
trình bày. GV. các hàm thủ tục đã ghi
2. Giới thiệu bài mới ở bảng.
- Nêu lên vai trò của tệp trong việc xử - HS hướng theo sự dẫn dắt
lý và lưu trữ thông tin, áp dụng vào thực của GV để đi vào VD 1.
tế. ( Sơ lược VD1)

* Hoạt động 2 : Tìm hiểu VD1 và VD2. (34’)
- Mục tiêu : Giúp HS hiểu được nội dung CT, biết đầu vào, đầu ra của CT.
- Nội dung: VD1 SGK, tính khoảng cách giữa trại Hiệu trưởng và trại của từng GVCN.
- Các bước tiến hành:

Hoạt động của thầy Hoạt động của trò Nội dung
Giáo án Tin học 11 GV: Nguyễn Văn Thịnh
--------------------------------------------------------------------------------------------------------------

1. Tìm hiểu VD 1.
- Gọi 1 HS đọc VD1 - Theo dõi VD1.
- Nhấn mạnh những điểm - Lắng nghe hướng dẫn của
quan trọng cần lưu ý trong GV.
VD1.
- Gợi ý cách giải quyết bài
toán, để giải được bài bài toán
này ta cần phải nắm được
công thức tính khoảng cách
giữa 2 điểm. - Ghi lại công thức tính khoảng
- Nhắc lại công thức tính cách giữa 2 điểm lên bảng để
khoảng cách giữa 2 điểm trên HS nắm rõ.
mặt phẳng toạ độ.
- ? Trong VD này ta cần tổ - HS trả lời : Cần tổ chức và
chức và lưu trữ dữ liệu trong lưu trữ tệp ở dạng văn bản.
tệp ở dạng nào ?
- ? Các thao tác liên quan đến - HS trả lời :
tệp được sử dụng trong VD Khai báo tệp.
này gồm những gì ? Gắn tên tệp.
Mở tệp để đọc dữ liệu.
Hiện kết quả ra màn hình.
Đóng tệp.
- ?Các hàm và thủ tục nào sẽ - HS trả lời : Các hàm sẽ sử
sử dụng trong VD này ? dụng là: Var : text;
Var Assign(, );
Assign Reset();
Reset While..do
While..do Eof();
Eof Read(,);
Read Writeln();
Writeln Close();
Close
- ?Hàm Eof() có - HS trả lời: Trả về kết quả là
chức năng gì ? True nếu con trỏ chỉ ở cuối
- ?Có thể thay thế lệnh tệp.
While..do bằng lệnh - Không, vì không biết trước số
For..to..do được không ? lượng phần tử của tệp.
- Kết luận lại những vấn đề
đã nêu. - Lắng nghe giải thích của - Trình bày nội dung CT lên
- Thực hiện chương trình cho thầy. bảng.
HS thấy được kết quả.
2. Tìm hiểu VD2. - Theo giỏi quá trình thực hiện
- Gọi HS đọc VD2. của GV. - Ghi lại công thức tính điện
- Nhắc lại công thức tính địên trở tương đương của 3 điện trở
trở tương đương của 3 điện - Theo dõi VD 2 trong SGK. mắc song song.
trở mắc song song. - HS lắng nghe lời giảng của - Ghi lại kết quả điện trở
Giáo án Tin học 11 GV: Nguyễn Văn Thịnh
--------------------------------------------------------------------------------------------------------------

- Gọi HS trình bày cách tính GV. tương đương do HS trình bày.
điện trở tương đương của các
điện trở được mắc như trong
hình 1 đến 5. - Bổ sung thêm cho hoàn
- Nhận xét và sửa sai. chỉnh. .
- Cho HS đọc qua nội dung CT
của VD2. - HS nhìn lên bảng để theo dõi.
- ? Mảng a dùng để làm gì? - Theo dõi nội dung CT của
- ? Dòng lệnh For..to.. do có ý VD2 trong SKG.
nghĩa gì? - HS trả lời: Dùng để lưu kết
quả điện trở tương đương của
-? Tại sao phải dùng 2 hàm 3 điện trở được mắc theo 5
Close? cách như hình vẽ.
- Vì CT dùng 2 biến tệp f1và f2
- Tổng kết lại CT của VD2 nên ta phải dùng 2 hàm Close
- Yêu cầu HS về tìm hiểu lại để đóng 2 tệp đó.
VD2 qua sự hướng dẫn trên
lớp.
* Hoạt động 3: Củng cố kiến thức đã học trong chương V.(3)
- Những nội dung đã học.
+ Các thao tác xử lý tệp:
ệ Gán tên tệp.
ệ Tạo tệp mới
ớ Mở tệp.
ệ Đọc, ghi dữ liệu vào tệp.
ệ Đóng tệp.
* Hoạt động 4: Dặn dò.(2)
- Cần nắm vững cách làm việc với tệp.
- Xem lại các VD1 và VD2

Ngày 22/01/08
Tiết thứ:…….. Bài 17 CHƯƠNG TRÌNH CON VÀ PHÂN LOẠI
(Tiết 1)
I. Mục đích yêu cầu:
+ Biết CTC là một khối lệnh nhằm giải quyết một bài toán con để góp phần giải quyết một bài toán
lớn hơn bằng một chương trình.
+ Biết khi viết nhứng chương trình dài, phức tạp thì việc sử dụng CTC là cần thiết.
+ Biết được lợi ích của việc sử dụng CTC.
II. Chuẩn bị:
Máy chiếu hoặc bảng phụ đã viết sẵn chương trình tinh_tong không sử dụng chương trình con và
sử dụng chương trình con.
III. Nội dung:
Hoạt động của GV Hoạt động của HS Ghi bảng
+ Hoạt động 1:(5’)
Đặt vấn đề:
Giáo án Tin học 11 GV: Nguyễn Văn Thịnh
--------------------------------------------------------------------------------------------------------------

Các chương trình giải các bài toán + Nghe GV nêu vấn đề điều
phức tạp thường rất dài, có thể cần thiết phải có chương trình
gồm nhiều lệnh, khi đọc rất khó con.
hình dung chương trình thực hiện
những công việc gì và việc hiệu
chỉnh chương trình cũng rất khó
khăn.
Như vậy làm thế nào để cho bài
toán phức tạp dễ đọc, dễ hiểu, dễ
hiệu chỉnh, dễ nâng cấp?
Do đó ta nghiên cứu vấn đề mới là
CTC, để tìm hiểu CTC là gì?
+ Hoạt động 2(17’)
Tỉnh tổng : an + bm + cp + dq
+ GV cho HS nêu ý tưởng bài
toán này + HS nêu ý tưởng giải quyết
Có nghĩa là chia bài toán thành 2 bài toán và trả lời .
bài toán nhỏ, làm như vậy là
làm mịn dần bài toán ---> thiết + Cho HS khác nhận xét trả lời
kế bài toán từ trên xuống. của bạn.
+ GV phân tích: để giải BT trên
MT có thế chia chương trình
thành các khối, mỗi khối gồm
nhiều lệnh giải bài toán con
nào đó ---> chương trình chính
được xây dựng từ các CTC.
+ Chương trình con là gì?
+ Giáo viên chốt lại khái niệm
trên bảng phụ, máy chiếu hoặc 1.Khái niệm chương trình
viết trên bảng. + Trả lời khái niệm chương con
trình con. Những bài toán phức tạp có
thể phân chia thành nhiều
bài toán nhỏ, mỗi bài toán
nhỏ được phân chia thành
nhiều bài toán nhỏ, quá trình
làm “mịn” dần bài toán như
vậy được gọi là cách thiết
kế từ trên xuống.
Khi lập trình để giải các bài
toán có thể chia thành các
khối, mỗi khối bao gồm các
lệnh để giải 1 bài toán nào
đó, mỗi khối lệnh được xây
dựng thành 1 CTC , sau đó
chương trình chính được
+ Hoạt động 3(17’) xây dựng trên các CTC này,
Giáo án Tin học 11 GV: Nguyễn Văn Thịnh
--------------------------------------------------------------------------------------------------------------

+ GV dùng bảng phụ 1: bài cách lập trình như vậy gọi
tinh_tong ( không sử dụng CTC là chương trình có cấu trúc.
trang 92 SGK ), cho HS nhận Chương trình con là một dãy
xét đoạn chương trình trên. lệnh mô tả một số thao tác
nhất định và có thể được
thực hiện (được gọi ) từ
+ GV chốt lại các ý: đoạn CT có 4 nhiều vị trí trong chương
đoạn lệnh tương tự + Chú ý bảng phụ hoặc trình trình.
---> chương trình dài, khó theo dõi, chiếu, sau đó nhận xét.
khó hiệu chỉnh.
+ Dùng bảng phụ 2: Chương trình
tinh_tong có sử dụng chương trình
con.
+ GV giải rhích : các dòng lệnh: + HS nhận xét và so sánh 2
var j: integer; đoạn chương trình.
tich:=1.0;
for j:=1 to k do
tich:=tich*x
+ Để tính các luỹ thừa ta viết:
Luythua(a,n), luythua(b,m),
Luythua(c,p), luythua(d,q)
+ Và chỉ rõ các đoạn lệnh được
thay thế bằng CTC.
+ Từ những điều đã nêu cho HS
nêu các ích lợi của CTC.
+ GV giải thích rõ từng ích lợi của
việc sử dụng CTC

+ Hoạt động 4: (5’) + Các HS nêu lần lượt các lợi
IV. Củng cố: ích của CTC.
1/ HS nêu khái niệm CTC, lợi ích
việc sử dụng CTC.

* Lợi ích của việc sử
dụng CTC
+ Tánh được việc phải viết đi viết lại nhiều
lần cùng 1 dãy lệnh;

+ Hổ trợ việc thực hiện các
chương trình lớn;
+ Phục vụ cho quá trình trừu
tượng hoá ;
+ Mở rộng khả năng ngôn
ngữ;
+ Thuận tiện cho phát triển,
nâng cấp chương trình;
Giáo án Tin học 11 GV: Nguyễn Văn Thịnh
--------------------------------------------------------------------------------------------------------------

V. Dặn dò: Xem trước phần 2của bài 17.

Ngày 27/01/08
Tiết thứ:…….. Bài 17 CHƯƠNG TRÌNH CON VÀ PHÂN LOẠI (Tiết 2)
I: Mục tiêu:
1. Kiến thức:
Biết phân biệt được hai loại chương trình con: Hàm và thủ tục.
Biết được cấu trúc của một chương trình con.
Biết phân biệt được tham số hình thức với tham số thực sự, biến cục bộ với biến toàn cục.
2. Kỹ năng:
- Nhận biết được hai loại tham số hình thức và tham số thật sự.
- Nhận biết được phạm vi hoạt động của biến toàn cục, biến cục bộ.
- Cách thực hiện một chương trinh con
3. Thái độ:
- Phát huy tinh thần học tập theo nhóm.
II. Đồ dùng dạy học:
-GV: Bảng phụ, máy chiếu(nếu có)
-HS: Sách GK, sách bài tập
III. Phương pháp:
-Đặt vấn đề.
-Thuyết trình.
-Diễn giải, dùng bảng để ghi lại các chi tiết quan trọng trong ví dụ
-Phát huy tính sáng tạo của học sinh.
IV. Tiến trình bài học.

Hoạt động của thầy Hoạt động của trò Nội dung
* Kiểm tra kiến thức cũ.
- Gọi HS : - HS đứng dậy và trả lời
Câu 1: Trình bày khái niệm câu hỏi.
chương trình con là gì?.
Câu 2: Mục đích sử dụng
chương trình con là gì?

-GV nhận xét cho điểm.
* Giới thiệu bài mới
ĐVĐ: Chúng ta đã biết chương
trình con là gì?. Lợi ích của việc
sử dụng chương trình con trong
lập trình. Nhưng ta chưa biết
chương trình chương trình con có
cấu trúc như thế nào? Và được
phân loại như thế nào?. 2. Phân loại và cấu trúc của
chương trình con.

-Trong nhiều ngôn ngữ lập trình -HS trả lời câu hỏi. a. Phân loại:
chương trình con được phân làm
Hàm

Thủ
Giáo án Tin học 11 GV: Nguyễn Văn Thịnh
--------------------------------------------------------------------------------------------------------------

Hoạt động của thầy Hoạt động của trò Nội dung
mấy loại? -Chương trình con




-Trong ngôn ngữ pascal các em -HS trả lời câu hỏi:
cho biết một số hàm và thủ tục + Hàm: Sin(x),
chuẩn mà em biết? sqrt(x),length(x)...
+ Writeln, readln,....

-Xét hàm sin(x)
Với x=∏/6 giá trị của hàm sin(x) -HS trả lời câu hỏi:
cho kết quả là bao nhiêu ? Sin(x)=1/2

GV nhận xét : Sau khi thực hiện
tính toán hàm sin(x) với x= ∏/6
cho giá trị là 1/2

Vậy các em cho biết hàm có đặc -Học sinh trả lời +Hàm:
điểm gì ?(hay hàm là gì ?). • Là chương trình con
• Thực hiện một số thao tác
nào đó.
• Trả lại giá trị qua tên của
hàm.


-Xét thủ tục Writeln,
Writeln(‘‘xin chao’’)
Thủ tục Writeln(‘xin chao’) làm -Học sinh trả lời
gì ? cho kết quả là gì ? có trả về
giá trị nào không ?.


Vậy các em cho biết thủ tục có +Thủ tục:
đặc điểm gì ?(hay hàm là gì ?). • Là chương trình con
• Thực hiện một số thao tác
nào đó.
• KhôngTrả lại giá trị qua tên
của thủ tục.

ĐVĐ : Trên cơ sở phân loại hàm
b. Cấu trúc chương trinh con
và thủ tục bây giờ ta tìm hiểu cấu
Giáo án Tin học 11 GV: Nguyễn Văn Thịnh
--------------------------------------------------------------------------------------------------------------

Hoạt động của thầy Hoạt động của trò Nội dung
trúc của hàm và thủ tục (Chương
trình con) được tổ chức như thế
nào ?

-Các em hãy cho biết chương -Học sinh trả lời:
trình chính gồm mấy phần ?(kiến []
thức củ).



-Trong chương trình con cấu trúc -Học sinh trả lời:
của nó gồm mấy phần ?
[]



-Về cơ bản chương trình con và -Học sinh trả lời. -Chương trình con có cấu trúc
chuơng trình chính có tương tự tương tự như chương trình chính
nhau không ? gồm 3 phần:

[]




-Phần đầu dùng để làm gì ? -HS trả lời +Phần đầu:
• Để khai báo tên của hàm
hoặc thủ tục.
• Nếu là hàm phải khai báo
kiểu dữ liệu chi giá trị trả
về của hàm.
• Nhất thiết phải có.


-Phần Khai báo dùng để làm gì ? -HS trả lời +Phần khai báo:
• Khai báo các biến cho dữ
liệu vào/ra, các hằng và
biến dùng trong chương
trình con.
-Phần thân dùng để làm gì ? -HS trả lời +Phần thân:
• Gồm dãy các lệnh thực
hiện để từ những dữ iệu
vào/ra ta nhận dữ liệu ra
hay kết qủa mong muốn.
Giáo án Tin học 11 GV: Nguyễn Văn Thịnh
--------------------------------------------------------------------------------------------------------------

Hoạt động của thầy Hoạt động của trò Nội dung


ĐVĐ :Bây giờ ta tiếp tục sẽ tìm
hiểu các biến được khai báo và
phạm vi hoạt động của nó trong
chương trình con và trong chương
trình chính.

Xét ví dụ : Tính luỹ thừa :
luythua= x . khi đó tên chương
k

trình con có thể đặt là luythua,
tên các biết chưa dữ liệu vào là x,
k. Vậy khi tính xk ta viết
luythua(x,k). Khi đó x, k là tham
số hình thức.
*Khái niệm các biến:
-Vậy tham số hình thức là gì ? -HS trả lời - Tham số hình thức: gồm các biến
được khai báo cho dữ liệu vào/ra.
- Biến cục bộ: Gồm các biến khái
được khai báo trong chương trình
con.
- Biến toàn cục: Gồm các biến
khái được khai báo trong chương
trình chính.


*Phạm vi hoạt động của các
ĐVĐ : Đối biến cục bộ, ,biến -Học sinh đọc sách GK biến:
toàn cục thì phạm vi hoạt động và trả lời.
của nó như thế nào ? -Biến cục bộ:
• Chỉ sử dụng trong một
chương trình con cuả nó mà
thôi.
• Không thể sử dụng biến
cục bộ cuả một chương
trình con cho chương trình
chính và các chương trình
con khác.
-Biến toàn cục:
• Được sử dụng trong
chương trình chính cũng có
thể sử dụng trong chương
trình con.

c. Thực hiện chương trình con:
Giáo án Tin học 11 GV: Nguyễn Văn Thịnh
--------------------------------------------------------------------------------------------------------------

Hoạt động của thầy Hoạt động của trò Nội dung
ĐVĐ : Sau khi có một chương -Để thực hiện gọi chương trình
trình con, muốn thực hiện chuơng con ta thực hiện lệnh theo cú pháp
trình con đó thì ta làm thế nào ? sau
Cú pháp:
()
Trong đó: tham số thực sự là
các hằng, biến chứa dữ liệu vào/
-Hãy cho ví dụ về lệnh gọi CTC ? -HS trả lời ra.
Ví dụ: sqrt(255)
-Khi thực hiện chương trình con
các tham số hình thức dùng để
Xét ví dụ :CTC luythua(x,k) với nhập dữ liệu vào và tham số hình
x,k tham số hình thức. thức sẽ nhận giá trị của tham số
Với biến : a =2, b=3 thực sự tương ứng, còn các tham
Lệnh gọi CTC là Luythua(a,b) khi số hình thức dùng để lưu trữ dữ
đó tham số hình thức x,k nhận giá liệu ra sẽ trả giá trị đó cho tham
trị tương ứng của tham số thực số thực sự tương ứng.
sự a,b.

*Cũng cố kiến thức:
Những nội dung đã học:
-CTC gồm: Hàm và thủ tục.
-Cấu trúc chương trinh con.
-Biến cục bộ, biến toàn cục.
-Tham sô hình thức, tham số thật sự.
-Cách gọi chương trinh con.
Giáo án Tin học 11 GV: Nguyễn Văn Thịnh
--------------------------------------------------------------------------------------------------------------

Ngày soạn 15/02/08
Tiết thứ ………. Bài 18: VÍ DỤ VỀ CÁCH VIẾT VÀ SỬ DỤNG CHƯƠNG TRÌNH
CON
I: Mục tiêu:
5. Kiến thức:
- Học sinh biết được cấu trúc chung và vị trí của thủ tục trong chương trình chính.
- Phân biệt được tham trị, tham biến.
6. Kỹ năng:
- Nhận biết được các thành phần trong phần đầu của thủ tục.
- Nhận biết được 2 loại tham số trong phần đầu của thủ tục.
- Nhận biết lời gọi của thủ tục ở chương trình chính cùng với tham số thực sự.
7. Tư duy và thái độ:
- Rèn luyện cho HS phẩm chất của người lập trình như tinh thần hợp tác, khả năng làm việc
nhóm, làm việc chung.
II. Chuẩn bị của GV và HS:
- GV: Giáo án, SGK, sách GV, các ví dụ, bảng phụ, sách bài tập.
- HS: Sách GK, sách bài tập.
III. Phương pháp:
- Thuyết trình.
- Diễn giải.
- Đàm thoại.
IV. Tiến trình bài học.
* Hoạt động 1: Kiểm tra bài cũ và giới thiệu bài mới(5’)
1. Ổn định lớp.
2. Kiểm tra bài cũ.
Hoạt động của thầy Hoạt động của trò Nội dung ghi bảng
Câu hỏi: Trả lời :
- CT con là gì ? CT con có những - CT con là 1 dãy lệnh mô - Khái niệm
loại nào? cấu trúc của 1 CT tả một số thao tác nhất định
con ? và có thể được thực hiện ở
nhiều vị trí trong CT.
- CT con có 2 loại : Hàm - Phân loại
và thủ tục.
- ... - Cấu trúc : Phần đầu,
phần khai báo, phần
thân.
- HS đứng lên nhận xét.
- GV gọi 1 HS nhận xét câu trả lời.
GV nhận xét lại và cho điểm.
* Hoạt động 2 : Bài mới.
1. Giới thiệu bài mới : Các em đã được học về CT con, bài học hôm nay sẽ cung cấp cho các
em 1 số ví dụ để các em thấy rõ hơn lợi ích, cấu trúc của CT con trong chương trình.
2. Cách viết và sử dụng thủ tục.
Giáo án Tin học 11 GV: Nguyễn Văn Thịnh
--------------------------------------------------------------------------------------------------------------


Hoạt động của thầy Hoạt động của trò Nội dung
HĐ1 : Dẫn dắt vấn đề : 1. Cách viết và sử dụng thủ
- GV treo bảng phụ đã ghi vd - HS quan sát bảng phụ tục.
vẽ HCN cho HS quan sát * VD: Bảng phụ (VD vẽ HCN
- ? Ví dụ trên bảng sử dụng - Sử dụng 3 câu lệnh để vẽ trang 96).
bao nhiêu câu lệnh để vẽ HCN.
HCN ? - HS lắng nghe.
* Diễn giải : Như vậy khi
cần cẽ 1 HCN ta phải dùng 3
câu lệnh. Giả sử muốn vẽ 3
HCN thì 3 câu lệnh Writeln ở
trên phải lặp lại 3 lần. - HS trả lời chương trình
- Gọi 1 HS đứng lên nhận xét. rất dài dòng, tốn TG.
- HS lắng nghe.
- Đúng vậy nếu dùng 3 lần
câu lệnh đó thì chương trình
sẽ rất dài, để khắc phục điều
đó ta dùng CT con là thủ tục.
HĐ 2 : Tìm hiểu chương trình. - HS quan sát chương trình trên a. Cấu trúc thủ tục:
- Treo bảng phụ 2 ( VD thủ bảng phụ. - VD bảng 2 (VD thủ tục 2
tục 1 SGK trang 96, 97). - HS lắng nghe GV giới thiệu. trang 96, 97 SGK).
- Giới thiệu cho HS từng câu * Thủ tục có cấu trúc như sau.
lệnh trong chương trình để HS Procedure [()];
- ?Vị trí của thủ tục nằm ở phần khai báo trong chương [< phần khai báo>]
phần nào trong chương trình. trình. Begin
- HS trả lời: Gồm có 3 phần: []
- ?Các em quan sát và cho biết Tên thủ tục, phần khai báo, End;
cấu trúc thủ tục gồm mấy phần thân thủ tục - Phần đầu thủ tục gồm tên
phần ? - Nằm ở phần thân của CT dành riêng Procedure, tiếp theo
- Qua VD cho biết lời gọi thủ chính. là tên thủ tục. DS tham số có
tục nằm ở đâu ? - HS lắng nghe và ghi bài thể có hoặc không có.
- GV nhận xét và ghi bảng. - Phần khai báo: Dùng để xác
định các hằng, kiểu, biến và
cũng có thể xác định các
chương trình con khác được sử
dụng trong thủ tục.
- Dãy câu lệnhh:Được viết
giữa cặp tên dành riêng Begin
- HS quan sát bảng phụ. và End tạo thành thân của thủ
- GV cho HS quan sát bảng tục.
phụ 3 (VD thủ tục 2 trang b. VD về thủ tục:
98,99 SGK). - HS lắng nghe theo dõi. - Trong lời gọi thủ tục các tham
- GV giải thích về VD. số hình thức được thay bằng
- HS lắng nghe theo dõi. tham số thực sự tương ứng là
Giáo án Tin học 11 GV: Nguyễn Văn Thịnh
--------------------------------------------------------------------------------------------------------------

- GV nhận xét : Qua VD trên ta các giá trị cụ thể đgl tham số
có thể dùng nhiều giá trị thay giá trị (tham trị).
thế để vẽ nhiều HCN với 1 - Trong lệnh gọi thủ tục các
chương trình. tham số hình thức được thay
- Thủ tục vẽ - HCN ở đây đã bằng các tham số thực sự
diễn đạt 1 thủ tục vẽ 1 HCN tương ứng là tên các biến chứa
có kích thước chiều dài và dữ liệu ra đgl tham số biến
chiều rộng tuỳ theo giá trị của (tham biến).
các tham số chdai, chrong. * Sự khác nhau trong khai báo
Những tham số này gọi là tham số hình thức:
tham số hình thức. Ngoài ra nó - Các tham số có từ khoá Var
còn đựơc thay bằng tên các - HS quan sát bảng phụ đứng là tham số biến, còn
biến. không có là tham số giá trị.
- GV treo bảng phụ 4 cho HS ** Chú ý:
quan sát (VD tham biến 1, VD - HS nhận xét: Khi khai báo - Nếu có nhiều tham biến cùng
tham biến 2 trang 99, 100). tham số biến ta đặt từ khoá Var một kiểu dữ liệu thì có thể
- Gọi HS nhận xét. đằng trước các tham số đó. dùng 1 từ khoá Var cho phần
- HS lắng nghe khai báo, ngăn cách bằng dấu
phẩy.
- GV nhận xét. - Khai báo dữ liệu cho tham số
- Để phân biệt 2 tham số này chỉ được dùng tên kiểu. Tên
Pascal dùng từ khoá Var để - HS ghi bài. kiểu là tên chuẩn hoặc tên do
khai báo. người lập trình đặt.
- GV ghi bảng



* Hoạt động 3: Củng cố, dặn dò:
- Cấu trúc CT con và vị trí của nó trong CT chính?
- CT con được viết ở phần khai báo. CT con có phần đầu, phần khai báo và phần thân.
- CT con có thể có tham số hình thức khi khai báo và được thay bằng tham số thực sự khi gọi
CT con.
- Phân biệt tham số hình thức và tham số thực sự. Cách sử dụng tham biến và tham trị.
* BT về nhà: BT trang 60 SBT: 6.1, 6.3, 6.4, 6.5.

Ngày 25/02/08
Tiết 2 – Bài 18: VÍ DỤ VỀ CÁCH VIẾT VÀ SỬ DỤNG CHƯƠNG TRÌNH CON
I/ Mục tiêu:
- Về kiến thức:
+ Nhớ cấu trúc của hàm, cách sử dụng hàm.
+ Phân biệt được giữa hai loại chương trình con (thủ tục và hàm)
+ Xác định được biến toàn cục và biến cục bộ.
- Về kỹ năng:
+ Nhận biết các thành phần trong đầu hàm.
+ Nhận biết các câu lệnh sử dụng hàm ở chương trình chính cùng các tham số thực sự.
- Về tư duy và trình độ:
Giáo án Tin học 11 GV: Nguyễn Văn Thịnh
--------------------------------------------------------------------------------------------------------------

+ Tiếp tục rèn luyện, thảo luận làm việc theo nhóm.
II/ Chuẩn bị của giáo viên và học sinh
- Giáo viên: Giáo án, bảng phụ.
- Học sinh: Ghi chép bài đầy đủ.
2/ Phương pháp:
- Học sinh nghe giảng, thảo luận và trả lời câu hỏi do giáo viên đưa ra.
- Giáo viên thuyết trình, đặt câu hỏi cho học sinh.
III/ Tiến trình tiết dạy:
Hoạt động 1: Kiểm tra bài cũ và giới thiệu bài mới

TG Hoạt động của giáo viên Hoạt động của học sinh Nội dung ghi bảng
Câu hỏi: Cho ví dụ về cấu
5’ trúc thủ tục?
Nêu sự khác nhau giữa tham
số giá trị và tham số biến? HS lên bảng trả lời.
GV: Gọi học sinh lên trả
lời? - 1 HS nhận xét
Có 2 loại chương trình con
đó là Thủ tục (Procedure) và
hàm (Function). Thủ tục
được chúng ta tìm hiểu ở
tiết trước. Bầy giờ ta tiếp
tục tìm hiểu về Hàm.
- Em hãy kể tên hàm mà - Như các hàm: Abs(x),
chúng ta đã được học và cho sqrt(x), round(x)…
biết cách sử dụng của
chúng?
Hoạt động 2: Nội dung bài mới

TG Hoạt động của giáo viên Hoạt động của học sinh Nội dung ghi bảng
II/ Dạng Hàm (Function)
- do người dùng 1/ Cấu trúc:
7’ tự đặt Function []: ;
- Cũng giống như thủ tục [khai báo các biến];
[]: Begin
không cần thiết nếu hàm []
không có tham số. End;
- : Kiểu dữ liệu
trả lại của hàm như các kiểu
- Em hãy nhắc lại các kiểu integer, real, char, boolean,
dữ liệu đã được học? - Các kiểu dữ liệu: string.
integer, real, char, boolean, Vd: Function tong(x,y: integer):
string integer;
2/ Sử dụng hàm:
- Giống hàm chuẩn, viết tên của
Giáo án Tin học 11 GV: Nguyễn Văn Thịnh
--------------------------------------------------------------------------------------------------------------

hàm gọi và thay thế tham số
hình thức bằng các tham số thực
sự tương ứng.
- Lệnh gọi hàm tham gia vào
7’ biểu thức như một toán hạng.
Ví dụ: A:= 8*UCLN(x,y)-3;
Chú ý: Trong thân hàm phải có ít
nhất một lệnh gán giá trị cho tên
hàm.
:= ;

Ví dụ 1:
5’ Chương trình được trình - Chương trình thực hiện rút gọn
bày trên bảng phụ một phân số, sử dụng hàm tính
-Trong ví dụ có bao nhiêu - Có một hàm UCLN ước chung lơn của 2 số.
hàm? - Tính ước chung lớn nhất
- Hàm UCLN(x,y): được của hai số x, y.
dùng để làm gì? - UCLN:= x;
- Chỉ ra lệnh gán giá trị cho 3/ Phân biệt giữa hàm và thủ
tên hàm? tục:
a/ Giống nhau:
- Em hãy cho biết sự giống - Là chương trình con, có cấu
5’ nhau và khác nhau giữa hàm trúc giống chương trình.
và thủ tục? - Đều có thể chứa các tham
- Tổng hợp rút ra kết luật - Đều là chương trình con. số, cùng tuân theo một quy định
chung. - Khác: trong thân hàm khai báo.
phải có ít nhất một lệnh. b/ Khác nhau:
- Tên hàm phải có kiểu dữ
liệu.
- Trong thân hàm phải có lệnh
gán giá trị cho tên hàm.
4/ Biến toàn cục và biến cục bộ:
- Biến toàn cục là biến được
khai báo trong chương trình
5’ - Dựa vào ví dụ 1 chi ra đâu chính.
là biến toàn cục, biến cục - Biến cục bộ là biến được khai
bộ? chúng được khai báo ở - Biến toàn cục là: Tuso, báo trong chương trình con.
vị trí nào? mauso, a. Được khai báo
trong chương trình chính. Ví dụ 2:
Chương trình tìm ra số nhỏ nhất
Chương trình được trình trong 3 số được nhập từ bàn
5’ bày trên bảng phụ. phím.
- Phân tích cho hoc sinh biết - Biến cục bộ: x, y. Được
được ý tưởng thuật toán. khai báo trong chương
- Chỉ ra các biến được sử trình con.
dụng trong chương trình,
Giáo án Tin học 11 GV: Nguyễn Văn Thịnh
--------------------------------------------------------------------------------------------------------------

phân biệt biến cục bộ, biến
toàn cục, được khai báo ở vị
trí nào trong chương trình ?
- Nêu tên của hàm, giá trị
kết quả của hàm thuộc kiểu - Biến được sử dụng gồm
dữ liệu nào? 3 biến.
- Hàm được sử dụng mấy - a, b vừa là biến toàn cục
lần? vừa là biến cục bộ, c là
biến toàn bộ.
- Tên hàm là Min, giá trị
kết quả thuộc kiểu dữ
liệu real.
- Hàm được sử dụng 2
lần.


IV/ Cũng cố:(4’)
- Nhấn mạnh lại cách khai báo hàm, phân biệt giữa hàm và thủ tục.
- Phân được biến toàn cục và biến cục bộ.
V/ Bài tập về nhà: (3’)
Function tim(m,n: integer);
Begin
r:=m mod n;
If r= 0 then tim:=n;
Else
Tim:=tim(n,r);
End;
1. Khai báo biến, sửa lỗi cho đoạn chương trình trên?
2. Đoạn chương trình thực hiện công việc gì?

N gµy so¹ n: 03/ 03/ 08
Ti Õ t hø: … . .
t … Bµi: Bµi thùc hµnh sè 6
i . Môc Tiªu
1. KiÕn thøc:
- Còng cè l¹ i c¸c kiÕn thøc vÒ x©u, kÝ tù, ch¬ng tr×nh con.
2. Kü n¨ng:
- RÌn luyÖn kü n¨ng xö lý x©u b»ng viÖc t¹o hiÖu øng cho m¸y ch¹y
trªn mµn h×nh
- N©ng cao kü n¨ng viÕt vµ sö dông ch¬ng tr×nh con.
II. ®å dïng d¹y häc
1. ChuÈn bÞ cña gi¸o viªn:
- M¸y vi tÝnh, tæ chøc t¹ i phßng m¸y® häc sinh cã ® c¸c kü n¨ng
Ó îc
c¬ b¶n tronh viÖc tæ chøc vµ sö dông ch¬ng tr×nh con trong lËp
tr×nh.
2. ChuÈn bÞ cña häc sinh:
Giáo án Tin học 11 GV: Nguyễn Văn Thịnh
--------------------------------------------------------------------------------------------------------------

- S¸ch gi¸o khoa.
III. Ho¹t ®éng d¹y häc
1. Ho¹t ®éng 1: T×m hiÓu viÖc x©y dùng hai thñ tôc catdan(s1, s2) vµ
cangiua(s ) .
a. Môc tiªu:
- n¾ ® chøc n¨ng cña hai thñ tôc catdan(s1, s2) vµ cangiua(s).
m îc
BiÕt ® ý nghÜa c¶u mçi tham sè trong tõng ch¬ng tr×nh con ®ã.
îc
b. Néi dung:
Thñ tôc catdan
Type str79 = string[79];
Procedure catdan(s1 : str79; var s2 : str79);
Begin
S2 := copy(s1 , 2 , length(s1) - 1) + s1[1];
End;
Thñ tôc cangiua
Procedure cangiua( var s : str79);
Var i ,n : integer;
Begin
n:= length(s);
n:= (80- n)div 2;
for i := 1 to n do
s:= ‘ ‘ + s
end;

c. C¸c bíc tiÕn hµnh:
H t ®
o¹ éng cña gi ¸ o vi ªn H t ®
o¹ éng cña häc si nh
1. T×m hiÓu hai thñ tôc catdan (s1, 1. Quan s¸t thñ tôc catdan()
s2) vµ cangiua (s). vµ tr¶ lêi c©u hái cña gi¸o
- ChiÕu néi dung thñ tôc catdan (s1, viªn.
s2);
- Hái: §Çu vµo vµ ®Çu ra cña thñ tôc
nµy? - Vµo: X©u kÝ tù s1
- Hái: Chøc n¨ng cña thñ tôc nµy lµ - Ra: BiÕn x©u kÝ tù s2
g×? - Thùc hiÖn viÖc t¹o x©u s2 tõ
x©u s1 b»ng viÖc chuyÓn kÝ tù
thø nhÊt ®Õn vÞ trÝ cuèi cïng
- Yªu cÇu häc sinh cho mét vÝ dô cña x©u.
minh ho¹. - S1= ‘abcd’ th× S2 = ‘ bcda’
- ChiÕu néi dung thñ tôc:
cangiua(s);
- Hái: §Êu vµo cña thñ tôc? - Quan s¸t, suy nghÜ vµ tr¶
lêi .
- Thñ tôc thùc hiÖn c«ng viÖc g×? - §Çu vµo lµ mét x©u kÝ tù S
kh«ng qua 79 kÝ tù.
- Thñ tôc thùc hiÖn thªm vµo
- Gi¸o viªn chó ý: Cã thÓ nh¾c häc tr íc x©u s mét sè kÝ tù tù
Giáo án Tin học 11 GV: Nguyễn Văn Thịnh
--------------------------------------------------------------------------------------------------------------
sinh nÕu kh«ng khai b¸o s lµ tham tr¾ng ®Ó khi ® s ra mµn h×nh
a
biÕn th× thñ tôc nµy kh«ng cã hiÖu kÝ tù trong S ban ®Çu ® c¨n
îc
lùc g× v× lÖnh ® s ra nµm h×nh
a gi÷a cña dßng gåm 80 kÝ tù.
kh«ng n»m trong thñ tôc nµy.
2. T×m hiÓu ch¬ng tr×nh cña c©u b,
s¸ch gi¸o khoa, trnag 103, 104.
- ChiÕu ch¬ng tr×nh lªn b¶ng.
- Hái: Chøc n¨ng cña ch¬ng tr×nh. 2. Quan s¸t ch¬ng tr×nh trªn
b¶ng vµ theo dâi dÉn d¾t cña
- Gií i thiÖu cho häc sinh c¸c thñ gi¸o viªn.
tôc chuÈn : gotoxy (x,y); delay(n);
vµ keypressed; - Yªu cÇu cña ngêi sö dông
- Thùc hiÖn ch¬ng tr×nh ® gióp häc nhËp mét x©u kÝ tù. §a x©u ®ã
Ó
sinh thÊy kÕt qu¶ cña ch¬ng tr×nh. ra mµn h×nh cã d¹ng dßng ch÷
ch¹y mµn h×nh v¨n b¶n 25*80.

- Quan s¸t trªn mµn h×nh ®Ó
®èi chiÕu víi kÕt qu¶ mµ häc
sinh tù suy luËn tÝnh ®îc
2. Ho¹ t ®éng 2: RÌ n l uyÖ kÜ n¨ng l Ëp t r ×
n nh:
a. Môc tiªu:
- Häc sÞnh vËn dông ® c¸c hiÓu biÕt vÒ ch¬ng tr×nh con, thuËt
îc
toµn vÒ ® cung cÊp ® gi¶i quyÕt bµi to¸n tæng qu¸t h¬n.
îc Ó
b. Néi dung:
- ViÕt ch¬ng tr×nh nhËp mét x©u kÝ tù vµ ® ra dßng ch÷ ch¹y ë
a
dßng bÊt k× do ch¬ng tr×nh chÝnh quy ®Þnh.
- Néi dung ch¬ng tr×nh gièng nh ch¬ng tr×nh c©ub, SGK, trang 10.
c. C¸c bíc tiÕn hµnh:
H t ®
o¹ éng cña gi ¸ o vi ªn H t ®
o¹ éng cña häc si nh
1. T×mhiÓu yªu cÇu ®Òbµi. 1. Quan s¸t yªu cÇu trªn b¶ng.
- ChiÕu néi dung yªu cÇu lªn
b¶ng. - VÒ c¬ b¶n, gièng nh nhiÖm vô mµ
- Yªu cÇu häc sinh t×m ra vÊn ®Ò c©u b ®· lµm. ChØ kh¸c lµ ch¬ng
míi trong bµi tËp nµy. tr×nh c©u b lu«n cho x©u kÝ tù ch¹y
ë dßng 12, cßn trong bµi nµy x©u kÝ
tù ph¶i ch¹y ë dßng bÊt k×. V× vËy
ph¶i truyÒn tham sè quy ®Þnh dßng
ch¹y cho thñ tôc.
- §éc lËp viÕt ch¬ng tr×nh vµo m¸y
- Yªu cÇu häc sinh lËp tr×nh vµ b¸o c¸o kÕt qu¶ thö nghiÖm.
trªn m¸y. - NhËp d÷ l iÖu theo test cña gi¸o
- Yªu cÇu häc sinh thùc hiÖn ch- viªn vµ b¸o c¸o kÕt qu¶.
¬ng tr×nh vµ nhËp d÷ l iÖu test.
- §¸nh gi¸ kÕt qu¶ lËp tr×nh cña
häc sinh
IV . §¸nh gi¸ cuèi bµi :
Giáo án Tin học 11 GV: Nguyễn Văn Thịnh
--------------------------------------------------------------------------------------------------------------
C©u hái vµ bµi tËp vÒ nhµ.
- ViÕt thñ tôc chaychu ( s,dong) nhËn tham sè vµ x©u S gåm kh«ng
qua 79 kÝ tù vµ mét biÕn nguyªn Dong. In ra mµn h×nh dßng ch÷ x¸c
®Þnh bëi S ch¹y ë dßng Dong viÕt ch¬ng tr×nh vµ thùc hiÖn cã sö
dông thñ tôc nµy.
- ChuÈn bÞ bµi cho bµi thùc hµnh sè 7: Xem tr íc néi dung cña bµØ
thùc hµnh sè 7, SGK, trang 105.

Ngµy so¹n: 
TiÕt thø:…….. Bµi:           Bµi thùc hµnh sè 7
I. MỤC TIÊU:
1. Kiến thức:
Củng cố lại các kiến thức về chương trình con: Thủ tục, hàm, tham số biến và tham số giá trị,
biến toàn cục và biến cục bộ.
2. Kỹ năng:
Sử dụng được chương trình con để giải quyết trọn vẹn một bài toán trên máy tính
II. ĐỒ DÙNG DẠY HỌC:
1. Chuẩn bị của giáo viên:
Máy vi tính, tổ chức tại phòng máy để HS có được các lỹ năng cơ bản trong việc tổ chức và sử
dụng các chương trình con trong lập trình
2. Chuẩn bị của học sinh:
Đọc trước bài tập thực hành theo yêu cầu của giáo viên
III. HOẠT ĐỘNG DẠY VÀ HỌC:
1. Hoạt động 1: Tìm hiểu việc xây dựng hàm và thủ tục trong chương trình, thực hiện các việc liên
quan đến tam giác.
a. Muc tiêu:
HS biết được các hàm và thủ tục trong chương trình, hiểu được chức năng của từng chương trình
con, tính được đầu vào và đầu ra của chương trình
b. Nội dung:
- Procedure daicanh(R: Tamgiac; var a,b,c: real);
- Function chuvi(var R: Tamgiac): real;
- Function dientich(var R: Tamgiac): real;
- Procedure tinhchat(var R: Tamgiac; var deu,can,vuong: boolean);
- Procedure hienthi(var R: Tamgiac);
- Funtion kh_cach(P,Q: Diem): real;
c. Các bước tiến hành:

T/g Hoạt động của GV Hoạt động của HS
- Đưa ra bài toán: Nhập toạ độ 3 đỉnh của 1 tam giác,
tính diện tích, chu vi, hiển thị tính vuông, cân đều
của tam giác.
- GV định hướng cho HS vì sao phải xây dựng kiểu - HS nhìn bảng và trả lời các câu hỏi
dữ liệu để giải quyết bài toán như trong SGK của GV đưa ra
- Hỏi: Yêu cầu HS phân biệt hàm và thủ tục - Trả lời câu hỏi của GV
- GV chính xác hoá kết quả, nhấn mạnh ý: Một - Trả lời các câu hỏi của GV đưa ra
chương trình con có thể được dùng các chương trình trong quá trình giảng bài
Giáo án Tin học 11 GV: Nguyễn Văn Thịnh
--------------------------------------------------------------------------------------------------------------

con khai báo trước nó trong thân của chương trình
mình
- Dẫn dắt, giải thích cho HS hiểu được ý nghĩa, - HS lắng nghe GV giảng bài và trả
dạng chương trình con, cách dùng các tham số (tham lời các câu hỏi GV đưa ra:
biến, tham trị), thứ tự khai báo, đầu vào, đầu ra của + Xác định đâu là tham trị và đâu là
từng chương trình con được sử dụng để giải quyết tham biến trong các chương trình con
bài toán trên ở bên
+ Procedure daicanh(R: Tamgiac; var a,b,c: real);:
Nhận đầu vào là biến R mô tả một tam giác và đầu
ra là độ dài 3 cạnh a,b,c.
+ Function chuvi(var R: Tamgiac): real;: Cho giá trị là
chu vi của tam giác R
+ Function dientich(var R: Tamgiac): real;: Cho giá trị
là chu vi của tam giác R
+ Procedure tinhchat(var R: Tamgiac; var
deu,can,vuong: boolean);: Nhận đầu vào là một biến
R mô tả tam giác và đầu ra là tính chất của tám giác
(đều, cân hoặc vuông)
+ Procedure hienthi(var R: Tamgiac);: Hiển thị toạ độ
3 đỉnh của tam giác trên màn hình
+ Funtion kh_cach(P,Q: Diem): real;: Cho giá trị là
khoảng cách giữa hai điểm P, Q
- GV sử dụng máy chiếu để để hiển thị nội dung - Quan sát chương trình, dự tính chức
của chương trình trong SGK lên màn hình cho HS năng của chương trình
quan sát, kết hợp với dùng bảng để thảo luận và
giải thích nội dung của từng chương trình con và
cách dùng các chương trình con trong chương trình - Nhập vào toạ độ 3 đỉnh của tam
chính. Sau khi HS đã thông hiểu được chương trình, giác, khảo sát tính chất của tam giác
yêu cầu HS lên chạy thử bằng cách nhập những toạ (cân, vuông, đều). Quan sát kết quả
độ HS đã kiểm tra trước 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
biến và tham trị

2. Hoạt động 2: Rèn luyện kỹ năng lập trình
a. Mục tiêu:
Viết được chương trình có sử dụng chương trình con để tính được số lượng tam giác đều, số
lượng tam giác cân và số lượng tam giác vuông
b. Nội dung:
- Viết chương trình, sử dụng các hàm và thủ tục đã được xây dựng để giải quyết bài toán sau:
Cho tệp dữ liệu TAMGIAC.DAT có cấu trúc như sau:
Dòng 1: Ghi số nguyên N (1= 5)
Giáo án Tin học 11 GV: Nguyễn Văn Thịnh
--------------------------------------------------------------------------------------------------------------

Ngày soạn:
Tiết thứ:
BÀI 19: THƯ VIỆN CHƯƠNG TRÌNH CON CHUẨN (Tiết 1: 1 + 2 a,b)
I. Mục tiêu:
+ Kiến thức:
- Giới thiệu một số thư viện chương trình con chuẩn và cách sử dụng
+ Kĩ năng:
- Bước đầu sử dụng các thư viện đó trong lập trình
- Biết khai báo và sử dụng thư viện CRT, GRAPH
II. Đồ dùng Dạy học:
+ Giáo viên: giáo án, máy chiếu, chương trình sử dụng các hàm cần giới thiệu
+ Học sinh: Sách giáo khoa
III. Hoạt động Dạy - Học:
+ Ổn định lớp
+ Kiểm tra bài cũ
+ Tiến trình tiết dạy:
Hoạt động của giáo viên Hoạt động của học sinh Nội dung ghi bảng
+ Đặt vấn đề: Giới thiệu về các
thư viện chương trình trong ngôn
ngữ lập trình
+ HĐ 1: Giới thiệu thư viện CRT
- Yêu cầu học sinh đọc sách và kể 1/ CRT:
tên những chương trình con trong + Các chương trình trong thư - Chứa các thủ tục liên quan
thư viện CRT viện CRT : đến việc quản lí và khai thác
- Clrscr, textcolor, mà hình, bàn phím của máy
- Trình chiếu và cho chạy chương textbackgrond, gotoXY tính
trình sau: - Quan sát
Program xoamanhinh;
Begin
Clrscr;
Writeln(‘Xoa man hinh’);
Readln;
End.
- Vì sao xuất hiện lỗi khi chạy
chương trình này? - Chưa sử dụng thư viện - Clrscr: xoá màn hình
- Thêm : Uses CRT vào trước CRT
begin và chạy chương trình - Quan sát
- Chức năng của thủ tục Clrscr ?
- Trình chiếu chương trình chứa
thủ tục textcolor, yêu cầu học -Xoá màn hình
sinh quan sát và nhận xét về chức
năng của lệnh này - Đặt màu chữ - Textcolor(n): đặt màu chữ,
- Trình chiếu chương trình chứa trong đó n là hằng hoặc biến
thủ tục textbackground, yêu cầu xác định màu
học sinh quan sát và nhận xét về
chức năng của lệnh này
Giáo án Tin học 11 GV: Nguyễn Văn Thịnh
--------------------------------------------------------------------------------------------------------------

Hoạt động của giáo viên Hoạt động của học sinh Nội dung ghi bảng
- Trình chiếu chương trình chứa - Đặt màu nền - Textbackground(n): đặt màu
thủ tục gotoXY, yêu cầu học sinh nền
quan sát và nhận xét về chức năng
của lệnh này
+ HĐ 2: Tìm hiểu thư viện Graph
- ĐVĐ: thư viện Graph chứa các - Đưa con trỏ về cột X và - GotoXY(x,y): đưa con trỏ
thủ tục liên quan đến chế độ đồ dòng Y đến cột x dòng y của màn hình
hoạ văn bản
+ Cho HS xem sách và trả lời:
- Các dạng dữ liệu nào có thể
được hiển thi trên màn hình?
- Card màn hình có nhiệm vụ gì? 2/ Graph:
- Các tệp điều khiển đồ hoạ có - Lắng nghe - Chứa các hàm và thủ tục liên
chức năng gì? quan đến chế độ đồ hoạ
a) Các thiết bị và chương
trình hỗ trợ đồ hoạ:
- Khi nói đến màn hình phân giải - Có hai chế độ làm việc: văn
640x480 là nói đến điều gì? - Văn bản và hình ảnh bản và đồ hoạ
+ Để sử dụng thư viện đồ hoạ ta - Bảng mạch điều khiển màn
phải làm gì? - Đảm bảo tương tác giữ vi hình là thiết bị đảm bảo tương
- Để khởi tạo chế độ đồ hoạ ta xử lí và màn hình tácgiữa vi xử lí và màn hình
sử dụng thủ tục nào? - Cung cấp các chương trình
điều khiền tương ứng với
các loại bảng mạch đồ hoạ
- 640 dòng và 480 cột
b) Khởi tạo chế dộ đồ hoạ:
- Initgraph(var driver, mode:
- Khởi tạo chế độ đồ hoạ Integer; path: string);
+ Trong đó:
- Initgraph(var driver, mode: - driver: số hiệu chương trình
- Khi không sử dụng chế độ đồ Integer; path: string); điều khiển BGI
hoạ nữa thì ta phải làm gì? - mode: số hiệu độ phân giải
- path: đường dẫn đến tệp
BGI
- CloseGraph: Kết thúc chế độ
đồ hoạ


- Trở về chế độ văn bản
IV. Củng cố:
V. Dặn dò, về nhà:
Giáo án Tin học 11 GV: Nguyễn Văn Thịnh
--------------------------------------------------------------------------------------------------------------

Ngày soạn:
Tiết thứ:
BÀI 19: THƯ VIỆN CHƯƠNG TRÌNH CON CHUẨN (TIẾT 2)
I. Mục đích yêu cầu:
- Về kiến thức: Biết được một số thư viện chương trình con chuẩn.
- Về kỹ năng:
+ Khởi động được chế độ đồ họa.
+ Sử dụng được các thủ tục vẽ điểm, đường, hình tròn, hình elip, hình chữ nhật
II. Chuẩn bị:
- GV: SGK, giáo án, máy chiếu Projector
- HS: SGK, vở
III. Phương pháp:
- Gợi mở, vấn đáp
- Làm việc theo nhóm
IV. Hoạt động dạy học:
1. Ổn định lớp: Kiểm tra sĩ số HS
2. Kiểm tra bài cũ: Nêu ý nghĩa và một số thủ tục của thư viện CRT ?
3. Nội dung dạy học:
* HĐ 1: Khởi động và đóng chế độ đồ họa:
Hoạt động Giáo Viên Hoạt động Học sinh Nội dung
- Trình chiếu ví dụ về vẽ - Quan sát ví dụ và trả
đường tròn. Hãy chỉ ra đoạn lời
chương trình khởi động đồ b) Khởi động đồ họa:
họa. - Cấu trúc chung của thủ tục khởi
- Yêu cầu học sinh nghiên cứu động đồ họa.
SGK và ví dụ để nêu ra cấu - Initgraph ( driver, Initgraph (driver, mode: integer,
trúc chung của thủ tục khởi mode: integer, path: path: string);
động đồ họa. string)
- Giải thích các thông số trong + Driver: số hiệu của chương
thủ tục. trình điều khiển BGI, thường được
gán giá trị 0.
+ Mode: là số hiệu của độ
phân giải.
+ Path: đường dẫn đến các tệp
.BGI
- Muốn thoát khỏi chế độ đồ - Thủ tục kết thúc đồ họa:
họa dùng thủ tục gì? Closegraph
- Trình chiếu thêm ví dụ minh - Closegraph
họa
- Quan sát
*HĐ 2: Các thủ tục vẽ điểm, đoạn thẳng
Hoạt động Giáo viên Hoạt động Học sinh Nội dung
 Thủ tục Putpixel c.Các thủ tục vẽ điểm, đoạn thẳng
- Trình chiếu ví dụ - Quan sát Use graph;
Begin
Giáo án Tin học 11 GV: Nguyễn Văn Thịnh
--------------------------------------------------------------------------------------------------------------

Drive: = 0;
Initgraph ( drive, mode,
- Cho HS nêu kết quả ‘C: TP\BGI’);
- Gọi HS nêu cấu trúc chung Putpixel(20,40,60);
của thủ tục Putpixel Readln;
End.
- Giải thích các thông số trong - HS trả lời - Cấu trúc chung:
thủ tục Putpixel (x, y: integer; color: word);
- Chức năng của Putpixel là + x và y là tọa độ của điểm
gì ? + color là màu của điểm
- HS trả lời - Chức năng: Vẽ một điểm màu
Thủ tục Line: color trên màn hình tại tọa độ (x,y)
- Trình chiếu ví dụ
Use graph;
Begin
Drive: = 0;
- Quan sát Initgraph ( drive, mode,
‘C: TP\BGI’);
Line (20,40,30,60);
Readln;
- Cho HS nêu kết quả End.
- Gọi HS nêu cấu trúc chung - Cấu trúc chung:
của thủ tục Line Line (x1,y1,x2,y2: integer)
- Giải thích các thông số trong
thủ tục - HS trả lời
- Chức năng của Line là gì ?
- Chức năng: Vẽ một đoạn thẳng từ
điểm có tọa độ (x1,y1) đến điểm có
tọa độ (x2,y2).
Thủ tục Lineto: - HS trả lời
- Trình chiếu ví dụ Use graph;
Begin
Drive: = 0;
Initgraph ( drive, mode,
- Quan sát ‘C: TP\BGI’)
Lineto (20,20)
- Cho HS nêu kết quả Readln;
- Gọi HS nêu cấu trúc chung End.
của thủ tục Lineto - Cấu trúc chung:
- Giải thích các thông số trong - HS trả lời Lineto (x,y: integer)
thủ tục
- Chức năng của Lineto là gì?

- Chức năng: Vẽ một đường thẳng
Thủ tục Linerel: - HS trả lời từ điểm hiện tại đến điểm có tọa độ
- Trình chiếu ví dụ (x,y)
Giáo án Tin học 11 GV: Nguyễn Văn Thịnh
--------------------------------------------------------------------------------------------------------------



- Quan sát Use graph
Begin
Drive: = 0;
Initgraph ( drive, mode,
‘C: TP\BGI’)
Linerel (10,10);
- Cho HS nêu kết quả Readln;
- Gọi HS nêu cấu trúc chung End.
của thủ tục Linerel - Cấu trúc chung:
- Giải thích các thông số trong - HS trả lời Linerel (dx,dy: integer)
thủ tục
- Chức năng của Linerel là gì? - Chức năng: Vẽ một đường thẳng
nối điểm hiện tại với điểm có tọa
độ bằng tọa độ hiện tại cộng với
- HS trả lời gia số (dx,dy).
Thủ tục Setcolor:
- Trình chiếu ví dụ
Use graph;
Begin
Drive: = 0;
- Quan sát Initgraph ( drive, mode,
‘C: TP\BGI’)
Lineto (20,20);
Setcolor (10);
- Cho HS nêu kết quả Lineto (20;-20);
- Gọi HS nêu cấu trúc chung Readln;
của thủ tục Setcolor End.
- Giải thích các thông số trong - Cấu trúc chung:
thủ tục Setcolor (color: word)
- Chức năng của Setcolor là gì?
- HS trả lời
- Chức năng: Đặt màu cho nét vẽ.
- HS trả lời

*HĐ 3: Các thủ tục vẽ hình đơn giản và các thủ tục, hàm liên quan đến vị trí con trỏ.
Hoạt động GV Hoạt động HS Nội dung
 Trình chiếu: ví dụ - Quan sát d. Các thủ tục vẽ hình đơn giản
Use graph;
Begin
Drive: = 0;
Initgraph ( drive, mode,
‘C: TP\BGI’)
Circle (20, 20, 30);
Elipse (50,50,30,120,50,100);
Giáo án Tin học 11 GV: Nguyễn Văn Thịnh
--------------------------------------------------------------------------------------------------------------

Rectangle (100,100,100,200);
Readln;
End.
- Cho HS nêu kết quả - HS trả lời - Cấu trúc chung:
- Gọi HS nêu lần lượt - HS trả lời + Hình tròn:
cấu trúc chung của các Circle (x,y: integer; r:word)
thủ tục Circle, Ellipse, + Elipse:
Rectange Ellipse(x,y:integer; stAngle, EndAngle,
Xr, Yr: word)
+ Hình chữ nhật:
Rectange(x1,y1,x2,y2:integer)
- HS trả lời - Chức năng:
- Giải thích các thông số + Circle:Vẽ một đường tròn có tâm tại
trong thủ tục (x,y) và bán kính r.
- Chức năng của từng + Elipse : Vẽ cung của Elip có tâm tại
thủ tục là gì? điểm (x,y) với trục lớn xr, trục nhỏ yr, từ
góc đầu StAngle đến góc cuối EndAngle.
+ Rectange: Vẽ hình chữ nhật với (x1,y1)
là tọa độ của đỉnh trái trên; (x2,y2) là tọa
độ của đỉnh phải dưới.
 Giới thiệu các hàm e. Các thủ tục và hàm liên quan đến vị trí
xác định GTLN của màn con trỏ
hình, thủ tục chuyển con - Hàm xác định GTLN cua màn hình:
trỏ tới tọa độ (x, y) Function GetMaxX: integer;
Function GetMaxY: integer;
- Thủ tục chuyển con trỏ tới tọa độ (x;y)
Procedure MoveTo(x,y:integer);
*HĐ 4:Tìm hiểu một số thư viện khác
Hoạt động GV Hoạt động HS Nội dung ghi bảng
- Hãy nêu một số thư - System, Dos, printer 3. Một số thư viện khác:
viện khác trong Pascal? - System: chứa các hàm sơ cấp và các thủ
- Chức năng của từng thư - HS trả lời tục vào ra.
viện? - Dos: chứa các thủ tục tạo thư mục,
thiết lập giờ hệ thống.
- Printer: cung cấp các thủ tục làm việc
với máy in.
4. Sử dụng thư viện:
- Để sử dụng các thủ tục - Khai báo - Khai báo thủ tục và hàm chuẩn theo cấu
và hàm chuẩn của thư trúc:
viện nào đó ta phải làm Uses unit1, unit2,...,unit n;
gì?
- uses crt,graph;
- Gọi HS nêu VD
*HĐ 5: Củng cố - Dặn dò
- Biết được một số thư viện chuẩn.
- Biết được một số thủ tục đồ họa đơn giản.
Giáo án Tin học 11 GV: Nguyễn Văn Thịnh
--------------------------------------------------------------------------------------------------------------

- Đọc thêm bài “Âm thanh”
Đề thi vào lớp 10 môn Toán |  Đáp án đề thi tốt nghiệp |  Đề thi Đại học |  Đề thi thử đại học môn Hóa |  Mẫu đơn xin việc |  Bài tiểu luận mẫu |  Ôn thi cao học 2014 |  Nghiên cứu khoa học |  Lập kế hoạch kinh doanh |  Bảng cân đối kế toán |  Đề thi chứng chỉ Tin học |  Tư tưởng Hồ Chí Minh |  Đề thi chứng chỉ Tiếng anh
Theo dõi chúng tôi
Đồng bộ tài khoản