Bài giảng môn Tin học 11 - Trường THPT Quang Oai

Bài giảng môn Tin học 11 - Trường THPT Quang Oai

 I. MỤC TIÊU:

Kiến thức:

- Học sinh nhận biết được có ba 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 dược vai trò của chương thình dịch.

 Kĩ năng: Phân biệt được hai khái niệm biên dịch và thông dịch, phân biệt được các loại ngôn ngữ lập trình.

 Thái độ: Thấy được sự cần thiết và tiện lợi khi sử dụng các ngôn ngữ lập trình bậc cao. Liên hệ được với quá trình giao tiếp trong đời sống.

II. CHUẨN BỊ:

 Giáo viên: Một số ví dụ về ngôn ngữ lập trình.

 Học sinh: Tìm hiểu một số loại ngôn ngữ giao tiếp thông dụng.

III. HOẠT ĐỘNG DẠY HỌC:

1) Ổn định tổ chức: Kiểm tra sĩ số lớp.

2) Kiểm tra bài cũ: Nếu chỉ có thuật toán thì máy đã thực hiện được các bài toán mà chúng ta đã giải hay chưa ?

3) Giảng bài mới:

 

doc 114 trang Người đăng minh_thuy Lượt xem 2080Lượt tải 1 Download
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng môn Tin học 11 - Trường THPT Quang Oai", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Ngày soạn : 16/8/2009
Tiết PPCT:1
Chương I: MỘT SỐ KHÁI NIỆM VỀ LẬP TRÌNH VÀ NGÔN NGỮ LẬP TRÌNH
 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: 
Học sinh nhận biết được có ba 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 dược vai trò của chương thình dịch.
	Kĩ năng: Phân biệt được hai khái niệm biên dịch và thông dịch, phân biệt được các loại ngôn ngữ lập trình. 
	Thái độ: Thấy được sự cần thiết và tiện lợi khi sử dụng các ngôn ngữ lập trình bậc cao. Liên hệ được với quá trình giao tiếp trong đời sống. 
II. CHUẨN BỊ:
	Giáo viên: Một số ví dụ về ngôn ngữ lập trình. 
	Học sinh: Tìm hiểu một số loại ngôn ngữ giao tiếp thông dụng. 
III. HOẠT ĐỘNG DẠY HỌC:
Ổn định tổ chức: Kiểm tra sĩ số lớp.
Kiểm tra bài cũ: Nếu chỉ có thuật toán thì máy đã thực hiện được các bài toán mà chúng ta đã giải hay chưa ? 
Giảng bài mới:
Nội dung
Hoạt động của GV và HS
Ngôn ngữ máy: Là ngôn ngữ duy nhất mà máy tính có thể trực tiếp hiểu và xử lý đựơc.
Hợp ngữ: Là loại ngôn ngữ sử dụng một số từ để thực hiện lệnh trên thanh ghi.
Ngôn ngữ bậc cao: Là loại ngôn ngữ gần với ngôn ngữ tự nhiên, ít phụ thuộc vào loại máy.
Chương trình dịch là chương trình đặc biệt, có chức năng chuyển đổi chương trình đợc viết bằng ngôn ngữ lập trình bậc cao sang ngôn ngữ máy. 
CHƯƠNG TRÌNH NGUỒN
CHƯƠNG TRÌNH DỊCH
CHƯƠNG TRÌNH ĐÍCH
Dùng máy chiếu diễn giải hai tình huống này.
Kết luận : 
Thông dịch (Interpreter) đợc thực hiện bằng cách lặp lại dãy các bước sau
- Kiểm tra tính đúng đắn của câu lệnh tiếp theo trong chương trình nguồn
- Chuyển đổi câu lệnh đó thành một hay nhiều câu lệnh tương ứng trong ngôn ngữ máy.
- Thực hiện câu lệnh vừa chuyển đổi được
Biên dịch (Compiler): được thực hiện qua hai bước
- Duyệt, phát hiện lỗi, kiểm tra tính đúng đắn của các câu lệnh trong chương trình nguồn
- Dịch toàn bộ chương trình nguồn thành một chơng trình đích có thể thực hiện trên máy và có thể lưu trữ để sử dụng lại khi cần thiết
GV : Gọi một học sinh nhắc lại các khái niệm : ngôn ngữ máy, hợp ngữ và ngôn ngư bậc cao.
HS: Trả lời câu hỏi.
GV : Để chuyển đổi chương trình viết bằng ngôn ngữ lập trình bậc cao sang ngôn ngữ máy cần phải có gì?
HS : Đó là chương trình dịch.
GV : - Cho ví dụ từ thực tế : “ Người phóng viên chỉ biết một ngôn ngữ là tiếng việt phóng vấn một chính khách nước ngoài ” thông qua người phiên dịch.
GV : Như vậy có hai cách để người phóng viên có thể thực hiện công việc của mình : biên dịch và thông dịch
CỦNG CỐ : Khái niệm lập trình? Chương trình dịch là gì? Khái niệm ngôn ngữ lập trình?
BÀI TẬP VỀ NHÀ:
IV. RÚT KINH NGHIỆM, BỔ SUNG: 
 Ngày soạn : 16/8/2009
Tiết PPCT:2
&2. CÁC THÀNH PHẦN CỦA NGÔN NGỮ LẬP TRÌNH.
I. MỤC TIÊU
- Kiến thức:
+ Biết một số khái niệm: tên, tên chuẩn, tên dành riêng, hằng và biến. 
+ Học sinh ghi nhớ được các quy định về tên, hằng và biến trong một ngôn ngữ lập trình.
- Kĩ năng:
+ Phân biệt được tên, hằng và biến.
+ Biết cách đặt tên chúng và nhận biết được tên viết sai quy tắc.
- Thái độ: Rèn luyện cho HS tính nguyên tắc, chặt chẽ trong lập trình. 
 II. CHUẨN BỊ:
	Giáo viên: Soạn giáo án, nghiên cứu sách giáo khoa, sách bài tập, tài liệu tham khảo. Máy tính cá nhân và máy chiếu ( nếu có).
 	Học sinh: Đọc trước ở nhà Sách giáo khoa.
III. HOẠT ĐỘNG DẠY HỌC:
Ổn định tổ chức: Kiểm tra sĩ số lớp.
Kiểm tra bài cũ:
Câu hỏi : 
1. Chương trình dịch là gì?
2. Biên dịch và thông dịch khác nhau như thế nào?
Giảng bài mới:
Hoạt động của GV và HS
Nội dung
GV: Gọi HS trả lời ý nghĩa của việc đặt tên? 
HS: Tại chỗ trả lời.
GV: Nhận xét và đưa ra kết luận.
HS: Chú ý và ghi bài.
GV: Mọi đối tượng trong chương trình đều phải được đặt tên theo quy tắc của ngôn ngữ lập trình và từng chương trình dịch cụ thể.
HS: Chú ý và ghi bài.
GV: Lấy ví dụ tên đặt sai và tên đặt đúng và gọi học sinh nhận xét.
HS: - Tên đúng: a,b,c,x1, a_b.
- Tên sai: a bc, 2x.
GV: Ngôn ngữ Pascal không phân biệt chữ hoa, chữ thường.
HS: Chú ý lắng nghe.
GV: Ngôn ngữ lập trình thường có ba loại tên cơ bản: tên dành riêng, tên chuẩn và tên do người lập trình đặt. 
HS: Đọc SGK và trình bày về tên dành riêng.
GV: Trong Pascal, khi soạn thảo, tên dành riêng có màu trắng phân biệt với các tên khác
GV: Gọi HS phát biểu về tên chuẩn.
HS: Tại chỗ trả lời
GV: Viết một số tên chuẩn. 
HS: Ghi bài,
GV: Lấy ví dụ khi giải phương trình bậc hai thì cần dùng các biến nào?
HS: Khi giải PTBH ta cần dùng các biến: a,b,c, x1, x2, Delta để biểu diễn nội dung của hệ số của phương trình; các nghiệm của phương trình và biệt số delta. 
GV: Vậy các tên đó là tên do người lập trình đặt.
GV: Nêu khái niệm hằng trong ngôn ngữ lập trình.
HS: Tại chỗ trả lời.
GV: Lấy ví dụ cả ví dụ đúng và ví dụ sai về hằng cho học sinh nhận biết.
HS: Nhận biết tên hằng đúng và tên hằng sai.
Ví dụ: 123, ‘123’, ‘TRUE, 2+3,
GV: Các biến được dùng trong chương trình phải được khai báo.
GV: Khi viết chương trình người lập trình có nhu cầu giải thích cho những câu lệnh mình viết để khi đọc lại được thuận tiện hoặc người khác đọc có thể hiểu được chương trình mình viết, do vậy các ngôn ngữ lập trình thường cung cấp cho chúng ta cách đưa vào các đoạn chú thích trong chương trình.
HS: Chú ý lắng nghe và ghi bài.
GV: Ví dụ một chương trình Pascal đơn giản minh họa.
2. Một số khái niệm
a. Tên 
- Ý nghĩa của việc đặt tên và khai báo tên cho các đối tượng:
+ Để quản lý và phân biệt các đối tượng trong chương trình.
+ Để gợi nhớ nội dung của đối tượng.
- Qui tắc đặt tên trong Pascal:
Tên là một dãy liên tiếp không quá 127 kí tự bao gồm các chữ cái, chữ số và dấu gạch dưới nhưng phải bắt đầu bằng chữ cái hoặc dấu gạch dưới.
* Tên dành riêng: 
- Là tên được dùng với ý nghĩa riêng xác định.
- Tên dành riêng còn được gọi là từ khoá.
Ví dụ: Trong Pascal:
Program, uses, var, type, const, begin, end, array, type,
Trong C++: main, include, if, while, void.
* Tên chuẩn 
- Được dùng với ý nghĩa nhất định nào đó, dùng riêng thì phải khai báo.
Ví dụ:
Trong Pascal: abs, sqr, sqrt, cos, sin,
Trong C++: cin, cout, getchar.
*Tên do người lập trình đặt
- Được dùng với ý nghĩa riêng, xác định bằng cách khai báo trước khi sử dụng.
b. Hằng và biến. 
Hằng 
- Hằng là đại lượng có giá trị không thay đổi trong quá trình thực hiện chương trình.
- Các ngôn ngữ lập trình thường có:
+ Hằng số: số nguyên và số thực.
VD: 2 , 1.0E-6,
+ Hằng lôgic: Là giá trị đúng (True)hoặc sai (False).
+ Hằng xâu: Là chuỗi kí tự trong bộ mã ASCII, đặt trong cặp dấu nháy.
Biến 
- Là đại lượng được đặt tên, dùng để lưu trữ giá trị và giá trị có thể được thay đổi trong quá trình thực hiện chương trình.
c. Chú thích 
- Các chú thích không làm ảnh hưởng đến chương trình.
- Trong Pascal chú thích được đặt trong {} hoặc (*và*).
- Trong C++ chú thích đặt trong /* và */ hoặc //.
CỦNG CỐ : Nhắc lại quy tắc đặt tên trong Pascal và khái niệm tên dành riêng, tên chuẩn, tên do người lập trình đặt. Khái niệm hằng, biến và sự khác nhau giữa hằng và biến
BÀI TẬP VỀ NHÀ:
Hướng dẫn làm bài tập 5 và bài tập 6.
- Bài 6: Các hằng số: a, b, f,g Các hằng xâu: d,i.
IV. RÚT KINH NGHIỆM, BỔ SUNG: 
Ngày soạn : 16/8/2009
Tiết PPCT:3
BÀI TẬP
I. MỤC TIÊU
- Kíến thức:
+ Củng cố lại cho HS những kiến thức đã học về lập trình, ngôn ngữ lập trình bậc cao, ngôn ngữ máy, chương trình dịch, thông dịch, biên dịch qua các bài tập trắc nghiệm.
- Kĩ năng:
+ Xác định được tên đúng, tên sai, tên chuẩn, từ khoá.
+ Biết viết hằng và tên đúng trong một ngôn ngữ lập trình cụ thể.
- 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.
+ 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Ị:
	Giáo viên: Soạn giáo án, nghiên cứu sách giáo khoa, sách bài tập, tài liệu tham khảo. Máy tính cá nhân và máy chiếu ( nếu có).
 	Học sinh: Làm bài tập trước ở nhà.
III. HOẠT ĐỘNG DẠY HỌC:
Ổn định tổ chức: Kiểm tra sĩ số lớp.
Kiểm tra bài cũ
Câu hỏi : 
1. Nêu các thành phần cơ bản của ngôn ngữ lập trình? 
2. Nêu quy tắc đặt tên trong Turbo Pascal? 
Đáp án:
1. Ngôn ngữ lập trình có ba thành phần cơ bản: bảng chữ cái, cú pháp và ngữ nghĩa.
- Bảng chữ cái: Là tập các kí tự được dùng để viết chương trình.
- Cú pháp: Là bộ quy tắc để viết chương trình.
- Ngữ nghĩa: Xác định ý nghĩa của các tổ hợp kí tự.
2. Quy tắc đặt tên trong Pascal:
- Đối tượng HS kiểm tra: HS trung bình.
Giảng bài mới:
Hoạt động của GV và HS
Nội dung
GV: Gọi HS đọc câu hỏi 1, cả lớp suy nghĩ trả lời.
HS: Đọc câu hỏi.
GV: Gọi HS đứng tại chổ trả lời.
GV: Gọi HS khác bổ sung. Sau đó GV nhận xét câu trả lời và ghi đáp án.
HS: Chữa bài tập vào vở.
GV: Gọi HS đọc câu hỏi 2 và trả lời câu hỏi 2.
HS: Tại chỗ trả lời và nêu khái niệm chương trình dịch.
GV: Nêu Input và Output của chương trình dịch để gợi ý cho HS vai trò của chương trình dịch.
HS: Tại chỗ trả lời.
GV: Gọi HS trả lời câu hỏi 3.
HS: Tại chỗ đọc câu hỏi.
GV: Gọi HS khác nhận xét câu trả lời, bổ sung và đưa ra đáp án.
GV: Gọi HS khác nhận xét câu trả lời, bổ sung và đưa ra đáp án.
GV: Gọi HS đọc câu hỏi 4, cả lớp suy nghĩ câu hỏi.
GV: Gọi 1 HS trả lời.
GV: Nhận xét và nêu đáp án.
GV: Gọi HS đọc câu hỏi 5
GV: Gợi ý cho HS bằng cách gọi 1 HS nêu quy tắc đặt tên trong Pascal và tên được đặt không quá ngắn, hay quá dài mà nên đặt sao cho gợi nhớ ý nghĩa đối tượng mang tên đó.
HS: Tại chỗ đọc câu hỏi.
HS: Lên bảng làm.
GV: Chữa bài.
GV: Gọi HS đọc câu hỏi 6
GV: Từng câu a,b,, i gọi lần lượt từng HS: Trả lời:
- c) không phải là hằng vì dấu phẩy phải thay bằng dấu chấm.
- e) là tên chưa rõ giá trị.
- h) thiếu dấu nháy đơn ơ cuối. 
Câu1: Tại sao người ta phải xây dựng các ngôn ngữ lập trình bậc cao? 
Người ta phải xây dựng các ngôn ngữ lập trình bậc cao, vì:
- Ngôn ngữ lập trình bậc cao gần với ngôn ngữ tự nhiên hơn, thuận tiện cho đông đảo người lập trình.
- Chương trình viết bằng ngôn ngữ lập trình bậc cao nói chung không phụ thuộc vào phần cứng máy tính.
- Chương trình viết bằng ngôn ngữ bậc cao dễ hiểu, dễ hiệu chình và nâng cấp.
- Ngôn ngữ bậc cao cho phép làm việc với nhiều kiểu dữ liệu và cách tổ chức dữ liệu đa dạng, thuận tiện cho việc mô tả thuật toán.
Câu2: Chương trình dịch là gì? Tại sao cần phải có chương trình dịch. 
- Chương trình dịch là chương trình đặc biệt, có chức năng chuyển đổi chương trình được viết trên ngôn ngữ bậc cao thành một chương trình đích có thể thực hiện trên máy.
- Để một chương trình viết bằng ngôn ngữ bậc cao máy có thể hiểu và thực hiện được thì phải có chương trình dịch dịch sang ngôn ngữ máy.
Câu3: Biên dịch và thông dịch khác nhau như thế nào? 
- 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 không và dịch toàn bộ thành một chương trình đích có thể thực hiện trên máy và có thể lưu trữ được.
- Trình thông dịch lần lượt dịch từng câu ra ngôn ngữ máy rồi thực hiện và không lưu lại trên máy.
Câu4: Hãy cho biết ...  một số thao tỏc nhất định và có thể được thực hiện (được gọi ) từ nhiều vị trí trong chương trình.
* Lợi ích của việc sử dụng CTC
+ Trá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;
IV. Củng cố:
1/ HS nêu khái niệm CTC, lợi ích việc sử dụng CTC.
V. Dặn dò: Xem trước phần 2của bài 17.
Ngày soạn :4/4/2010	Ngày dạy :5/4/2010
Tiết PPCT : 41	 Tuần : 32
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: SGK, sách bài tập
IV. Tiến trình bài học.
ổn định : 
Bài cũ : Câu 1: Trình bày khái niệm chương trình con là gì ?.
 Câu 2: Mục đích sử dụng chương trình con là gì ?
Bài giảng : 
Hoạt động của GV & HS
Nội dung
Đ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?.
-Trong nhiều ngôn ngữ lập trình chương trình con được phân làm mấy loại?
-Trong ngôn ngữ pascal các em cho biết một số hàm và thủ tục chuẩn mà em biết?
-HS trả lời câu hỏi:
 + Hàm: Sin(x), sqrt(x),length(x)...
 + Writeln, readln,....
-Xét hàm sin(x)
 Ví i x=∏/6 giá trị của hàm sin(x) cho kết quả là bao nhiờu ?
-HS trả lời câu hỏi:
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 điểm gì  ?(hay hàm là gì  ?).
-Xét thủ tục Writeln,
 Writeln(‘‘xin chao’’)
Thủ tục Writeln(‘xin chao’) làm 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ó đặc điểm gì  ?(hay hàm là gì  ?).
ĐVĐ : Trên cơ sở phân loại hàm và thủ tục bây giờ ta tìm hiểu cấu 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 trình chính gồm mấy phần ?(kiến thức củ).
-Học sinh trả lời:
 []
-Trong chương trình con cấu trúc của nú gồm mấy phần ?
-Học sinh trả lời:
[]
-Về cơ bản chương trình con và chuơng trình chính có tương tự nhau không ?
-Phần đầu dùng để làm gì  ?
-Phần Khai báo dùng để làm gì  ?
-Phần thân dùng để làm gì  ?
Xét ví dụ : Tính luỹ thừa : luythua= xk . khi đó tên chương 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.
-Vậy tham số hình thức là gì  ?
ĐVĐ : Đối biến cục bộ, ,biến toàn cục thỡ phạm vi hoạt động của nó như thế nào ?
ĐVĐ : Sau khi có một chương trình con, muốn thực hiện chuơng trình con đó thỡ ta làm thế nào ?
-Hãy cho ví dụ về lệnh gọi CTC ?
Xét ví dụ :CTC luythua(x,k) ví i x,k tham số hình thức.
Ví i biến : a =2, b=3
Lệnh gọi CTC là Luythua(a,b) khi đó tham số hình thức x,k nhận giá trị tương ứng của tham số thực sự a,b. 
-Học sinh đọc sách GK và trả lời.
2. Phân loại và cấu trúc của chương trình con.
Hàm
Thủ tục
a. Phân loại:
+Hàm: 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.
+Thủ tục: Là chương trình con thực hiện một số thao tác nào đó. Không trả lại giá trị qua tên của thủ tục.
b. Cấu trúc chương trinh con
 []
+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 :
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 :
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.
*Khái niệm các biến:
- 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 biến:
-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:
-Để thực hiện gọi chương trình con ta thực hiện lệnh theo có pháp sau
Có pháp : 
()
 Trong đó: tham số thực sự là các hằng, biến chứa dữ liệu vào/ ra.
V. Cũng cố kiến thứ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.
Ngày soạn :4/4/2010	Ngày dạy :5/4/2010
Tiết PPCT : 42	 Tuần : 32
Bài 18 : VÍ DỤ VỀ CÁCH VIẾT VÀ SỬ DỤNG CHƯƠNG TRÌNH CON
I. MỤC TIÊU
1. Kiến thức:
- Biết được cấu trúc chung và vị trí của thủ tục trong chương trình.
- Phân biệt được tham số giá trị và tham số biến.
- Nắm được khái niệm về biến toàn cục và biến cục bộ.
2. Kĩ năng:
- Nhận biết được các thành phần trong đầu của thủ tục.
- Nhận biết được hai loại tham số hình thức trong đầu của thủ tục.
- Biết cách khai báo hai loại chương trình con cùng ví i tham số hình thức của chúng.
- Sử dụng đúng lời gọi chương trình con trong thân chương trình chính.
- Phân biệt được khác nhau cơ bản của hàm và thủ tục.
- Phân biệt và sử dụng đúng biến toàn cục và biến cục bộ.
3. Thái độ:
- Rèn luyện các phẩm chất của người lập trình như tinh thần hợp tác, làm việc theo nhóm, tuân thủ yêu cầu vì một công việc chung.
II. CHUẨN BỊ : 
Giáo viên : Máy vi tính và máy chiếu projector để giới thiệu ví dụ.
Học sinh : Sách giáo khoa.
III. TIẾN TRÌNH LÊN LỚP : 
1. Hoạt động 1: Tìm hiểu cấu trúc chung và vị trí của thủ tục trong chương trình chính.
HOẠT ĐỘNG CỦA GV VÀ HS
NỘI DUNG
1. Giới thiệu ví dụ mở đầu.
- Chiếu chương trình ví dụ lên bảng (Ví dụ VD-thutuc1, trang 96). Giới thiệu cho học sinh cấu trúc thủ tục vị trí khai báo của thủ tục, lời gọi thủ tục.
2. Tìm hiểu cấu trúc thủ tục.
- Hỏi: Vị trí của thủ tục nằm ở phần nào trong chương trình chính?
- Hỏi: Cấu trúc của thủ tục gồm mấy phần?
- Ba phần: Tên thủ tục, khai báo của thủ tục và phần thân của thủ tục.
- Hỏi: Phân biệt giống và khác nhau giữa chương trình con và chương trình chính? 
- Giống: Cấu trúc chung.
- Khác: Trong phần tên: Từ khóa đặt tên Procedurre, có các tham số.
- Giới thiệuc cấu trúc chung của thủ tục.
- Lời gọi thủ tục ta viết ở phần nào trong chương trình?
3. Tìm hiểu tham số hình thức và tham số thực sự.
- Chiếu ví dụ 2, VD_thutuc2, sách giáo khoa trang 98.
- Yêu cầu học sinh nhận xét về thủ tục ve_hcn của ví dụ này ví i ví dụ trước.
- Hỏi: Quan sát chương trình cho biết, trong chương trình chính ta vẽ được tất cả bao nhêu hình chữ nhật.
- Tham số chdai, chrong được gọi là tham số hình thức.
- Trong lời gọi thủ tục các tham số hình thức được thay bằng các tham số thực sự.
- So sánh các tham số của lời gọi ve_hcn(5,10); và ve_hcn(a,b);
4. Tìm hiểu tham số giá trị và tham số biến.
- Hỏi: Các tham số trong ví dụ 2 thuộc loại nào?
- Chiếu chương trình VD_thambien1, sách giáo khoa trang 99.
- Hỏi: Các tham số x,y thuộc loại nào?
- Diễn giải: Trong lời gọi thủ tục, các tham số hình thức được thay bằng các tham số thực sự tương ứng là tên các biến chứa dữ liệu ra được gọi là các tham số biến.
- Hỏi: x, y là tham số giá trị hay tham số biến?
- Hỏi: Có nhận xét gì khi khai báo tham số hình thức là tham trị và tham biến? 
- Chiếu vd_thambien2 và giải thích để học sinh thấy được sự khác biệt giữa tham số giá trị và tham số biến
1. Cách viết và sử dụng thủ tục.
a. Cấu trúc thủ tục:
Procedure [()];
[]
Begin
[]
End;
- Phần đầu thủ tục gồm tên dành riêng Procedure, tiếp theo là tên thủ tục. DS tham số có thể có hoặc không có.
- 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 và End tạo thành thân của thủ tục.
b. VD về thủ tục:
- Trong lời gọi thủ tục các tham số hình thức được thay bằng tham số thực sự tương ứng là các giá trị cụ thể đgl tham số giá trị (tham trị).
- Trong lệnh gọi thủ tục các tham số hình thức được thay bằng các tham số thực sự tương ứng là tên các biến chứa dữ liệu ra đgl tham số biến (tham biến).
2.Hoạt động 2: Tìm hiểu cấu trúc chung và vị trí của hàm trong chương trình chính.
HOẠT ĐỘNG CỦA GV VÀ HS
NỘI DUNG
1. Nhắc lại kiến thức cũ về hàm chuẩn.
- Hỏi: Hãy kể tên một số hàm chuẩn đã học và cách sử dụng chúng.
1. Suy nghĩ và trả lời.
- Hàm ABS(), SQRT(), ROUND()...
- Viết tên hàm cần gọi và các tham số.
- Lời gọi hàm được viết trong biểu thức như một nêu hạng, thậm chí là tham số của một hàm khác.
2. Giới thiệu cấu trúc chung và vị trí của hàm trong chương trình chính.
- Hỏi: So sánh sự giống và khác nhau của hàm và thủ tục.
2. Quan sát cấu trúc chung.
- Giống: Có cấu trúc tương tự, có các tham số...
- Khác: Tên hàm phải quy đinh kiểu dữ liệu; Trong thân hàm phải có lệnh Tên_hàm:=biểu_thức;
Bắt đầu của hàm là từ Function
3. Tìm hiểu hàm thông qua ví dụ
- Chiếu chương trình ví dụ rutgon_phanso, sách giáo khoa trang 101.
- Hỏi: Trong chương trình có mấy hàm.
- Hàm UCLN(x,y) dùng để làm gì?
- Hỏi: Lời gọi hàm ở đâu?
- Hỏi: Có gì khác ví i thủ tục trong lời gọi hàm.
- Chiếu chương trình ví dụ 2, Minbaso, sách giáo khoa, trang 102.
- Hỏi: Trong chương trình có bao nhiêu hàm? chức năng của hàm?
- Có bao nhiêu lời gọi hàm trong chương trình chính?
4. Tìm hiểu về biến cục bộ và biến toàn bộ.
- Chiếu chương trình ví du 2: Rutgon_phanso lên bảng. 
- Hỏi: Có những biến nào được sử dụng trong chương trình? Các biến đó được khai báo ở chỗ nào trong chương trình?
- Yêu cầu học sinh: Phân biệt sự giống nhau và khác nhau của biến toàn bộ và biến cục bộ.
II/ Dạng Hàm (Function)
1/ Cấu trúc:
 Function []: ;
 [khai báo các biến];
 Begin
 []
 End;
- : Kiểu dữ liệu trả lại của hàm như các kiểu integer, real, char, boolean, string.
Vd: Function tong(x,y: integer): integer;
2/ Sử dụng hàm:
- Giống hàm chuẩn, viết tên của 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 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.
 := ;
3/ Phân biệt giữa hàm và thủ tục:
a/ Giống nhau: 
 - Là chương trình con, có cấu trúc giống chương trình.
 - Đều có thể chứa các tham số, cùng tuân theo một quy định khai báo.
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. 
IV. ĐÁNH GIÁ CUỐI BÀI

Tài liệu đính kèm:

  • docTin_hoc_11.doc