Giáo án Tin học lớp 11 - Bài 13 đến bài 18 - Nguyễn Thị Trang

Giáo án Tin học lớp 11 - Bài 13 đến bài 18 - Nguyễn Thị Trang

I. Mục tiêu:

1. Về kiến thức:

 - Biết được khái niệm về bản ghi.

 - Biết được các khai báo bản ghi, gán giá trị, truy cập trường của bản ghi.

2. Về kỹ năng:

 - Khai báo được kiểu bản ghi, khai báo được biến kiểu bản ghi.

 - Nhận biết được trường (thuộc tính) của một biến bản ghi.

3. Về tư duy và thái độ:

 - Biết quy lạ về quen.

- Phát triển tư duy logic từ mảng một chiều và kiểu xâu.

 - Tích cực học tập, lắng nghe bài giảng.

 - Cẩn thận, chính xác trong lập luận.

II. Chuẩn bị:

+ Giáo viên: Giáo án, đồ dùng dạy học, bảng phụ.

+ Học sinh: Sách giáo khoa, sách bài tập, bài cũ, bài mới.

III. Hoạt động dạy học

 1. Ổn định tổ chức

 2. Kiểm tra bài cũ

H1: Nêu cách khai báo mảng một chiều? Cho ví dụ?

H2: Nêu cách khai báo kiểu xâu? Cho ví dụ?

 

doc 32 trang Người đăng quocviet Lượt xem 2171Lượt tải 1 Download
Bạn đang xem 20 trang mẫu của tài liệu "Giáo án Tin học lớp 11 - Bài 13 đến bài 18 - Nguyễn Thị Trang", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tiết 33 Bài 13: KIỂU BẢN GHI.
I. Mục tiêu:
1. Về kiến thức:
	- Biết được khái niệm về bản ghi.
	- Biết được các khai báo bản ghi, gán giá trị, truy cập trường của bản ghi.
2. Về kỹ năng:
	- Khai báo được kiểu bản ghi, khai báo được biến kiểu bản ghi.
	- Nhận biết được trường (thuộc tính) của một biến bản ghi.
3. Về tư duy và thái độ:
	- Biết quy lạ về quen.
- Phát triển tư duy logic từ mảng một chiều và kiểu xâu.
	- Tích cực học tập, lắng nghe bài giảng.
	- Cẩn thận, chính xác trong lập luận.
II. Chuẩn bị:
+ Giáo viên: Giáo án, đồ dùng dạy học, bảng phụ.
+ Học sinh: Sách giáo khoa, sách bài tập, bài cũ, bài mới.
III. Hoạt động dạy học
	1. Ổn định tổ chức
	2. Kiểm tra bài cũ
H1: Nêu cách khai báo mảng một chiều? Cho ví dụ?
H2: Nêu cách khai báo kiểu xâu? Cho ví dụ?
	3. Tiến trình tiết dạy
Hoạt động 1: 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
Ghi bảng
15’
Gv : Yêu cầu học sinh quan sát bảng kết quả thi trang 74.
Gv : Trên bảng đó có những thông tin gì ?
Gv : Yêu cầu : Học sinh tìm thêm ví dụ tương tự.
GV chỉ rõ : Mỗi hàng như vậy ta gọi là một bản ghi, mỗi cột là một trường.
Gv : Kiểu bản ghi(record) được dùng để mô tả các đối tượng có cùng một số thuộc tính mà các thuộc tính có thể có các kiểu dữ liệu khác nhau.
- HS chú ý quan sát.
- HS trả lời : Các thông tin trên bảng là : Họ tên, ngày sinh, giới tính, điểm của 7 môn thi Tin, Toán, Lí, Hoá, Văn, Sử, Địa
- HS : Để mô tả một người trong danh bạ điện thoại cần có các thông tin : Họ tên, địa chỉ và số điện thoại.
- HS : Lắng nghe
- HS : Lắng nghe, ghi bài
- Dữ liệu kiểu bản ghi dùng để mô tả các đối tượng có cùng một số thuộc tính mà các thuộc tính đó có thể có các kiểu dữ liệu khác nhau.
- Kiểu bản ghi là một kiểu dữ liệu có cấu trúc. Mỗi bản ghi gồm nhiều trường, mô tả về một đối tượng.
- Ngôn ngữ lập trình đưa ra qui tắc, cách thức xác định:
+Tên kiểu bản ghi;
+Tên các thuộc tính (trường);
+Kiểu dữ liệu của mỗi trường;
+Cách khai báo biến;
+Cách tham chiếu đến trường;
Hoạt động 2: Khai báo
TG
Hoạt động của giáo viên
Hoạt động của học sinh
Ghi bảng
5’
Gv : Mỗi ngôn ngữ có một cách khai báo kiểu bản ghi khác nhau. Ngôn ngữ Pascal không cho bạn khai báo biến bản ghi trực tiếp mà phải khai báo biến bản ghi thông qua kiểu bản ghi.
- Do dữ liệu kiểu bản ghi thường dùng để mô tả nhiều đối tượng nên ta thường định nghĩa một kiểu bản ghi và sau đó dùng nó để khai báo các biến liên quan.
Chú ý: Phần mô tả kiểu bản ghi được bắt đầu bằng từ khoá record và kết thúc bằng từ khoá end. Giữa hai từ khoá đó là phần khai báo các trường gồm tên trường, dấu hai chấm, rồi đến kiểu dữ liệu của trường đó và kết thúc bằng dấu chấm phẩy.
Gv : Yêu cầu học sinh tìm một ví dụ để minh hoạ? 
+ GV nhận xét
+ Làm thế nào để khai báo được nhiều bản ghi có cùng một kiểu? (GV gợi ý)
+ GV nhận xét
Ví dụ
Để xử lý bảng kết quả thi nêu trên ta có thể khai báo Lop là biến mảng một chiều, mỗi phần tử mảng là một bản ghi HocSinh gồm các thông tin: HoTen, NgaySinh, GioiTinh và điểm 7 môn thi : Tin, Toan, Li, Hoa, Van, Su, Dia.
 + Hãy xác định kiểu dữ liệu cho các trường trên (Mỗi nội dung trên là một trường của bản ghi)
 + GV nhận xét
 + Gọi 1 học sinh lên bảng khai báo bản ghi của ví dụ trên ?
GV : nhận xét
Gv : Em nào hãy cho cô biết tên kiểu dữ liệu của biến A, hai biến A và B có cùng một kiểu không?
+ Phần tử Lop[1] và phần tử Lop[5] của mảng Lop thuộc kiểu gì? Lop[1] và A có cùng kiểu không?
- GV nhận xét
- Yêu cầu HS phân biệt sự khác và giống nhau của bản ghi và mảng một chiều?
-Lop[15].HoTen là để chỉ thông tin gì?
- Nêu cách tham chiếu đến trư ờng.
HS : Lắng nghe
- HS : Lắng nghe, ghi bài
- HS : Ghi bài
- HS: Lấy ví dụ về cách khai báo kiểu bản ghi, biến bản ghi.
- HS trả lời: Sử dụng kiểu mảng trong đó phần tử mảng sẽ có kiểu bản ghi.
- HS :  Xác định kiểu dữ liệu (hình 14-tr 75)
- HS trả lời : 
+Biến A là biến kiểu bản ghi
+ A, B cùng một kiểu
- HS trả lời : 
 Thuộc kiểu bản ghi. Lop[1] và A có cùng kiểu
- HS :
+Giống nhau: Được ghép bởi nhiều phần tử.
+Khác nhau: Mảng một chiều là ghép nhiều phần tử có cùng dữ liệu. Trong bản ghi là ghép nhiểu phần tử có kiểu dữ liệu có thể khác nhau.
- HS : Ghi bài
- HS trả lời : Chỉ họ tên của học sinh thứ 15 trong lớp
1. Khai báo
- Khi khai báo cần có các thông tin:
+ Tên kiểu bản ghi
+ Tên các thuộc tính
+ Kiểu dữ liệu của các thuộc tính
* Khai báo kiểu bản ghi:
 type = record
 : ;
 ............................................
 : ;
 end;
* Khai báo biến bản ghi 
 var 
 : ;
Ví dụ :
const Max=60;
type
 HocSinh = record
 HoTen : string[30];
 NgaySinh : string[10];
 GioiTinh : boolean;
 Tin, Toan, Li, Hoa, Van, Su, Dia : Real;
end;
var 
 A, B: HocSinh;
Lop:array[1..Max]of HocSinh;
Để tham chiếu tới trường của biến kiểu bản ghi:
 .
 VD : A.X
Trong đó : A là biến kiểu bản ghi.
X là tên một trường.
Ví dụ 
 A.HoTen
 B.NgaySinh
 Lop[i].Van
với i là chỉ số nào đó của mảng Lop
Hoạt động 3: Gán giá trị
TG
Hoạt động của giáo viên
Hoạt động của học sinh
Ghi bảng
Gv : Vì bản ghi có nhiều trường nên việc gán giá trị cho từng bản ghi phức tạp hơn các biến khác.
- Khi nhập thông tin vào từ bàn phím, ta thường phải nhập cho từng trường.
- Đọc đề bài của ví dụ trong SGK.
- Đối với mỗi học sinh, thông tin về thuộc tính xếp loại không nhập từ bàn phím mà cần được chương trình tính toán dựa vào giá trị của hai thuộc tính khác nhau theo một quy tắc đã biết.
Câu lệnh for-do, tại bước lặp thứ i làm việc với một bản ghi, đây là hồ sơ của học sinh thứ i. Các việc phải làm đối với một bản ghi như vậy chia làm hai giai đoạn: Trước tiên ta nhập từ bàn phím giá trị 5 trường của bản ghi này (có 5 cặp lệnh write-readln), tiếp đến tính toán giá trị trường XepLoai dựa trên giá trị của hai trường Toan và Van theo bốn trường hợp đã được quy định ( bốn câu lệnh if-then).
 + Câu lệnh for-do ở cuối chương trình duyệt qua từng phần tử của mảng để đưa ra màn hình thông tin họ tên và xếp loại của mỗi học sinh.
 + Bốn điều kiện thực hiện lệnh ở bốn câu lệnh if-then trong chương trình thể hiện việc chia thực tế thành bốn trường hợp phân biệt do vậy tại mỗi bước lặp có một và chỉ một câu lệnh sau then của một trong bốn if-then ấy được thực hiện. Có thể viết đoạn này theo kiểu if-then-else.
Nếu có thời gian, GV yêu cầu HS viết lại đoạn chương trình đó theo kiểu if-then-else.
 Gv : Em nào hãy cho cô biết đặc điểm cơ bản giống và khác của kiểu bản ghi với hai kiểu dữ liệu có cấu trúc mảng và xâu?
HS: nghe giảng và ghi bài
- HS : Lắng nghe
- HS : Quan sát, lắng nghe giải thích, phân tích của GV
- HS : Quan sát, lắng nghe giải thích, phân tích của GV.
 HS : Viết lại đoạn chương trình đó.
- HS trả lời:
 + Đặc điểm chung của kiểu dữ liệu có cấu trúc: Được tạo nên từ một số kiểu cơ sở, giá trị của một biến có nhiều thành phần.
 + Khác với mảng và xâu, các kiểu thành phần của kiểu bản ghi có thể thuộc các kiểu dữ liệu cơ sở khác nhau.
- Có 2 cách gán giá trị cho biến bản ghi :
 + Dùng lệnh gán trực tiếp: Nếu A và B là hai biến bản ghi cùng kiểu, thì ta có thể gán giá trị của B cho A bằng câu lệnh:
 A:= B;
 + Gán giá trị cho từng trường: Có thể thực hiện bằng lệnh gán hoặc nhập từ bàn phím.
VD: A.HoTen:=’Tran Phuong Thao’;
	Readln(A.NgaySinh);
Treo bảng phụ có chứa chương trình:
IV. Củng cố
Nhắc lại cách khai báo, gán giá trị.
Dặn hs xem trước câu hỏi và bài tập trang 79
Tiết 34 BÀI TẬP CHƯƠNG IV (t1) 
I. Mục tiêu:
1. Về kiến thức: Củng cố các kiến thức về:
	- Các quy tắc kiểu dữ liệu có cấu trúc để thực hiện dữ liệu thực tế.
	- Kiểu dữ liệu có cấu trúc được xây dựng từ những kiểu dữ liệu cơ sở theo một số cách thức tạo kiểu do ngôn ngữ lập trình Pascal quy định.
	- Mỗi kiểu dữ liệu có cấu trúc thường hữu ích trong việc giải quyết một số bài tập.
	- Trong ngôn ngữ Pascal dùng mô tả kiểu dữ liệu mới với từ khoá Type.
2. Về kĩ năng: 
	- Rèn luyện kĩ năng khai báo kiểu dữ liệu có cấu trúc (với Pascal, sử dụng thành thạo các từ khoá Var, Type).
	- Sử dụng thành thạo các thao tác vào/ ra và các phép toán trên các thành phần cơ sở.
3. Về tư duy và thái độ:
	- Thái độ học tập tích cực, ham thích lập trình.
	- Tiếp tục hình thành và xây dựng phẩm chất cần thiết của người lập trình.
II. Chuẩn bị:
	- Giáo viên: Computer, Projecter.
	- Học sinh: Chuẩn bị bài tập về nhà.
III. Hoạt động dạy học
Ổn định trật tự
Kiểm tra bài cũ:
Tiến trình tiết dạy:
Hoạt động 1: Giải bài tập số 6 trang 79 Sách GK Tin học lớp 11
T/g
Hoạt động của GV
Hoạt động của HS
Ghi bảng
15
15
H1: Sử dụng kiểu dữ liệu nào và cách khai báo?
H2: Khai báo biến như thế nào?
- Yêu cầu HS viết chương trình nhập mảng A.
- Chỉnh sửa bài làm của HS.
H3: Số chẵn là số như thế nào?
 - Nếu có số lượng số chẵn trong dãy thì tìm số lượng số lẻ được hay không? - Nếu được thì tìm bằng cách nào?
H4: Sử dụng câu lệnh nào để viết?
- Yêu cầu HS hoàn thành chương trình của câu a.
- Nhận xét, chỉnh sửa bài làm của HS.
HĐTP 2:
H1: Nêu thuật toán kiểm tra 1 số có phải là số nguyên tố hay không?
- Yêu cầu HS viết chương trình dựa theo thuật toán.
Hd: Sử dụng câu lệnh nào?
- Yêu cầu HS hoàn thành đoạn chương trình câu b.
- Nhận xét, đánh giá:
- Gợi ý để HS kết hợp hai đoạn chương trình thành một chương trình hoàn chỉnh cho cả bài.
- Trả lời:
Kiểu mảng một chiều:
Var A:array [1..100] of integer;
- Trình bày lên bảng:
TL: Chia hết cho 2.
- Nếu có số lượng số chẵn trong dãy thì tìm số lượng lẻ bằng cách: n - số lượng số chẵn.
TL: If ... then...
- Trình bày lên bảng:
- Trả lời câu hỏi:
- Trình bày lên bảng:
Chính xác hoá bài 6/tr79.
Hoạt động 2: Giải bài tập 7 trang 79 Sách GK Tin học lớp 11
T/g
Hoạt động của GV
Hoạt động của HS
Ghi bảng
13
- Yêu cầu HS liệt kê 6 số hạng đầu của dãy Fiponaci.
H1: Đoạn chương trình nhập từ bàn phím số nguyện dương như thế nào?
H2: Số hạng tổng quát thứ n như thế nào?
- Gợi ý: Để viết chương trình này ta cần bao nhiêu biến phụ?
H3: sử dụng câu lệnh nào trong bài này?
- Yêu cầu HS viết chương trình tìm số hạng thứ n.
- Gọi 1 HS hoàn chỉnh lại chương trình.
- Nhận xét, chỉnh sửa, đánh giá bài làm.
- Liệt kê: 0, 1, 1, 2, 3, 5.
- Viết chương trình lên bảng:
TL: Fn = Fn-1 + Fn-2
TL: Dùng 2 biến phụ (F1, F2)
- Suy nghĩ, trả lờ:
- Lên bảng trình bày:
Chính xác hoá bài 7/trang79.
IV. Củng cố - dặn dò
	 - Cấu trúc lệnh: While ... do ... và For ... do ...
 - Về nhà làm các bài tập tiếp theo.
Tiết 35 BÀI TẬP CHƯƠNG IV (t2)
I. Mục tiêu bài học
1. Kiến thức
 - Ôn lại những kiến thức cơ bản của chương IV.
 - Kiểu mảng: khai báo, truy xuất đến các phần tử của biến mảng.
 - Kiểu xâu: khai báo, các thao tác xử lý trên xâu. Hàm và thủ tục sử dụng trên xâu.
 - Kiểu bản ghi: khai báo, truy xuất đến các trường của kiểu bản ghi.
2. Kĩ năng:
Vận dụng các kiểu dữ liệu có cấu trúc vào làm bài tập. Rèn luyện kĩ năng tư duy thuật toán trong lập trình.
3. Thái độ : nghiêm túc, hứng thú với môn học.
II. Chuẩn bị của giáo viên và học sinh
+ Giáo viên: giáo án, phấn, sổ điểm.
+ Học sinh: sgk ... c biến.
- GV treo bảng phụ 4 cho HS quan sát (VD tham biến 1, VD tham biến 2 trang 99, 100).
- Gọi HS nhận xét.
- GV nhận xét.
- Để phân biệt 2 tham số này Pascal dùng từ khoá Var để khai báo.
- GV ghi bảng
HS quan sát bảng phụ
Sử dụng 3 câu lệnh để vẽ HCN.
HS lắng nghe.
HS trả lời chương trình rất dài dòng, tốn TG.
HS lắng nghe.
- HS quan sát chương trình trên bảng phụ.
- HS lắng nghe GV giới thiệu.
- HS trả lời: Thủ tục nằm ở phần khai báo trong chương trình.
- HS trả lời: Gồm có 3 phần: Tên thủ tục, phần khai báo, phần thân thủ tục
- Nằm ở phần thân của CT chính.
- HS lắng nghe và ghi bài
- HS quan sát bảng phụ.
- HS lắng nghe theo dõi.
- HS lắng nghe theo dõi.
- HS quan sát bảng phụ
- HS nhận xét: Khi khai báo tham số biến ta đặt từ khoá Var đằng trước các tham số đó.
- HS lắng nghe
- HS ghi bài.
1. Cách viết và sử dụng thủ tục.
* VD: Bảng phụ (VD vẽ HCN trang 96).
a. Cấu trúc thủ tục:
- VD bảng 2 (VD thủ tục 2 trang 96, 97 SGK).
* Thủ tục có cấu trúc như sau.
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).
* Sự khác nhau trong khai báo tham số hình thức:
- Các tham số có từ khoá Var đứng là tham số biến, còn không có là tham số giá trị.
** Chú ý:
- Nếu có nhiều tham biến cùng một kiểu dữ liệu thì có thể dùng 1 từ khoá Var cho phần khai báo, ngăn cách bằng dấu phẩy.
- Khai báo dữ liệu cho tham số chỉ được dùng tên kiểu. Tên kiểu là tên chuẩn hoặc tên do người lập trình đặt.
	* 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/10
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 độ:
 + 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
5’
Câu hỏi: Cho ví dụ về cấu trúc thủ tục?
Nêu sự khác nhau giữa tham số giá trị và tham số biến?
GV: Gọi học sinh lên trả lời?
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à chúng ta đã được học và cho biết cách sử dụng của chúng?
HS lên bảng trả lời.
- 1 HS nhận xét
- Như các hàm: Abs(x), sqrt(x), round(x)
 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
7’
7’
5’
5’
5’
5’
- do người dùng tự đặt
- Cũng giống như thủ tục []: không cần thiết nếu hàm không có tham số.
- Em hãy nhắc lại các kiểu dữ liệu đã được học?
Chương trình được trình bày trên bảng phụ
-Trong ví dụ có bao nhiêu hàm?
- Hàm UCLN(x,y): được dùng để làm gì?
- Chỉ ra lệnh gán giá trị cho tên hàm?
- Em hãy cho biết sự giống nhau và khác nhau giữa hàm và thủ tục? 
- Tổng hợp rút ra kết luật chung.
- Dựa vào ví dụ 1 chi ra đâu là biến toàn cục, biến cục bộ? chúng được khai báo ở vị trí nào?
Chương trình được trình bày trên bảng phụ.
- Phân tích cho hoc sinh biết được ý tưởng thuật toán.
- Chỉ ra các biến được sử dụng trong chương trì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 dữ liệu nào?
- Hàm được sử dụng mấy lần?
- Các kiểu dữ liệu: integer, real, char, boolean, string
- Có một hàm UCLN
- Tính ước chung lớn nhất của hai số x, y.
- UCLN:= x;
- Đều là chương trình con.
- Khác: trong thân hàm phải có ít nhất một lệnh.
- Biến toàn cục là: Tuso, mauso, a. Được khai báo trong chương trình chính.
- Biến cục bộ: x, y. Được khai báo trong chương trình con.
- Biến được sử dụng gồm 3 biến.
- a, b vừa là biến toàn cục 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.
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.
 := ;
Ví dụ 1:
- Chương trình thực hiện rút gọn một phân số, sử dụng hàm tính ước chung lơn của 2 số.
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. 
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 chính.
- Biến cục bộ là biến được khai báo trong chương trình con.
Ví dụ 2:
Chương trình tìm ra số nhỏ nhất trong 3 số được nhập từ bàn phím.
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ì?
Ngµy so¹n: 03/03/10
TiÕt thø:..	Bµi: Bµi thùc hµnh sè 6
i. Môc Tiªu
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.
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
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¸c kü n¨ng c¬ b¶n tronh viÖc tæ chøc vµ sö dông ch­¬ng tr×nh con trong lËp tr×nh.
ChuÈn bÞ cña häc sinh:
S¸ch gi¸o khoa.
III. Ho¹t ®éng d¹y häc
Ho¹t ®éng 1: T×m hiÓu viÖc x©y dùng hai thñ tôc catdan(s1, s2) vµ cangiua(s).
Môc tiªu: 
n¾m ®­îc chøc n¨ng cña hai thñ tôc catdan(s1, s2) vµ cangiua(s). BiÕt ®­îc ý nghÜa c¶u mçi tham sè trong tõng ch­¬ng tr×nh con ®ã.
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 b­íc tiÕn hµnh:
Ho¹t ®éng cña gi¸o viªn
Ho¹t ®éng cña häc sinh
1. T×m hiÓu hai thñ tôc catdan (s1, s2) vµ cangiua (s).
- ChiÕu néi dung thñ tôc catdan (s1, s2);
- Hái: §Çu vµo vµ ®Çu ra cña thñ tôc nµy?
- Hái: Chøc n¨ng cña thñ tôc nµy lµ g×?
- Yªu cÇu häc sinh cho mét vÝ dô minh ho¹.
- ChiÕu néi dung thñ tôc: cangiua(s);
- Hái: §Êu vµo cña thñ tôc?
- Thñ tôc thùc hiÖn c«ng viÖc g×?
- Gi¸o viªn chó ý: Cã thÓ nh¾c häc sinh nÕu kh«ng khai b¸o s lµ tham biÕn th× thñ tôc nµy kh«ng cã hiÖu lùc g× v× lÖnh ®­a s ra nµm h×nh 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.
- Giíi thiÖu cho häc sinh c¸c thñ tôc chuÈn : gotoxy (x,y); delay(n); vµ keypressed;
- Thùc hiÖn ch­¬ng tr×nh ®Ó gióp häc sinh thÊy kÕt qu¶ cña ch­¬ng tr×nh.
1. Quan s¸t thñ tôc catdan() vµ tr¶ lêi c©u hái cña gi¸o viªn.
- Vµo: X©u kÝ tù s1
- Ra: BiÕn x©u kÝ tù s2
- 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 cña x©u.
- S1= ‘abcd’ th× S2 = ‘ bcda’
- Quan s¸t, suy nghÜ vµ tr¶ lêi.
- §Ç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 tr­íc x©u s mét sè kÝ tù tù tr¾ng ®Ó khi ®­a s ra mµn h×nh kÝ tù trong S ban ®Çu ®­îc c¨n gi÷a cña dßng gåm 80 kÝ tù.
2. Quan s¸t ch­¬ng tr×nh trªn b¶ng vµ theo dâi dÉn d¾t cña gi¸o viªn.
- Yªu cÇu cña ng­êi sö dông nhËp mét x©u kÝ tù. §­a x©u ®ã 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
Ho¹t ®éng 2: RÌn luyÖn kÜ n¨ng lËp tr×nh:
a. Môc tiªu:
	- Häc sÞnh vËn dông ®­îc c¸c hiÓu biÕt vÒ ch­¬ng tr×nh con, thuËt toµn vÒ ®­îc cung cÊp ®Ó gi¶i quyÕt bµi to¸n tæng qu¸t h¬n.
b. Néi dung:
	- ViÕt ch­¬ng tr×nh nhËp mét x©u kÝ tù vµ ®­a ra dßng ch÷ ch¹y ë 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:
Ho¹t ®éng cña gi¸o viªn
Ho¹t ®éng cña häc sinh
1. T×m hiÓu yªu cÇu ®Ò bµi.
- ChiÕu néi dung yªu cÇu lªn b¶ng.
- Yªu cÇu häc sinh t×m ra vÊn ®Ò míi trong bµi tËp nµy.
- Yªu cÇu häc sinh lËp tr×nh trªn m¸y.
- Yªu cÇu häc sinh thùc hiÖn ch­¬ng tr×nh vµ nhËp d÷ liÖu test.
- §¸nh gi¸ kÕt qu¶ lËp tr×nh cña häc sinh 
1. Quan s¸t yªu cÇu trªn b¶ng.
- VÒ c¬ b¶n, gièng nh­ nhiÖm vô mµ c©u b ®· lµm. ChØ kh¸c lµ ch­¬ng 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 vµ b¸o c¸o kÕt qu¶ thö nghiÖm.
- NhËp d÷ liÖu theo test cña gi¸o viªn vµ b¸o c¸o kÕt qu¶.
IV. §¸nh gi¸ cuèi bµi:
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.

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

  • docTin11 Chuong IV-V-VI.doc