1/ Cách viết và sử dụng thủ tục:
Hoạt động của giáo viên Hoạt động của học sinh
1. Giới thiệu ví dụ mở đầu
Ví dụ: VD-thutuc1, trang 96. giới thiệu cho HS 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ị tí của thủ tục nằm ở phần nào trong ct chính?
- Hỏi: Cấu trúc của thủ tục gồm mấy phần?
- Hỏi: phân biệt sự giống và khác nhau giữa ct con và ct chính?
- Giới thiệu cấu trúc chung của thủ tục
Procedure tên_thủ_tục(danh sách các tham số); Các khai báo của thủ tục;
Begin
Các lệnh của thủ tục; End;
- Lời gọi thủ tục ta viết ở phần nào trong ct? 3. Tìm hiểu tham số hình thức và tham số thực sự Ví dụ 2: VD_thutuc2, SGK trang 98
- Yêu cầu: nhận xét về thủ tục ve_hcn của vd này với vd trước
- Khai báo này cho phép thủ tục ve_hcn thực hiện vẽ được nhiều hình chữ nhật cĩ kích thước khác nhau
- Hỏi: quan sát ct cho biết, trong ct chính ta vẽ được tất cả bao nhiêu hình chữ nhật
- Tham số chdai, chrong được glà 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
- Tham số cĩ 2 chức năng: đưa dl vào cho ct con hoặc đưa dl ct con tìm được ra
- Hỏi: các tham số trong vd2 thuộc loại nào? - Chiếu ct VD_thambien1, SGK trang 99 - Hỏi: các tham số x,y thuộc loại nào?
- 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 dl ra được glà các tham số biến
1. Quan sát, theo dõi vd
2. Quan sát vd, suy nghĩ và trả lời
- Nằm ở phần khai báo, sau phần khai báo biế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
- Giống: cấu trúc chung
- Khác: trong phần tên, từ khĩa đặt tên Procedure, cĩ các tham số
- Quan sát và ghi nhớ cấu trúc chung
- Trong phần thân kết thúc End; - Trong phần thân của ct chính 3. Quan sát vd
- Thủ tục ve_hcn ở vd này cĩ các tham số: chdai, chrong
- Vẽ được 6 hình chữ nhật
- Tham số thực sự trong thủ tục ve_hcn(5,10); là các hằng số cịn thủ tục ve_hcn(a,b) là các biến 4. Theo dõi và trả lời
- Đưa dl vào cho ct con xử lí
- 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 để HS thấy được sự khác biệt giữa tham số giá trị và tham số biến
- Khi khai báo tham số biến ta đặt từ khĩa Var trước các tham số đĩ
Nội dung:
Cấu trúc và vị trí của chương trình con trong chương trình chính Program tên_chương_trình_chính;
Uses khai báo thư viện sử dụng; Const khai báo hằng;
Type khai báo kiểu dữ liệu; Var khai báo biến;
Procedure tên_thủ_tục(danh sách các tham số); Các khai báo của thủ tục;
Begin
Các lệnh của thủ tục; End;
BEGIN
Các lệnh của chương trình chính Lời gọi thực hiện hàm và thủ tục; END.
- Tham số hình thức: là các tham số được đưa vào khi định nghĩa chương trình con - Tham số thực sự: là các tham số được viết trong lời gọi chương trình con
- Tham số biến: khi khai báo buộc phải cĩ từ khĩa Var ở trước. Khi gọi chương trình con, các tham số hình thức là tham biến chỉ được phép thay thế bằng các tham số thực sự là biến
- Tham số giá trị: khi khai báo khơng cĩ từ khĩa Var ở trước. Khi gọi chương trình con, các tham số hình thức là tham số giá trị sẽ được thay thế bằng các tham số thực sự là giá trị hoặc biến
2/ Cách viết và sử dụng hàm:
Hoạt động của giáo viên Hoạt động của học sinh
1. Nhắc lại kiến thức cũ về hàm chuẩn
- Hỏi: hãy kể tên 1 số hàm chuẩn đã học và cách sử dụng chúng
2. Giới thiệu cấu trúc chung và vị trí của hàm trong ct chính
- Hỏi: so sánh sự giống và khác nhau của hàm và thủ tục
3. Tìm hiểu hàm thơng qua ví dụ
- Chương trình ví dụ: rutgon_phanso, SGK trang 101
- Hỏi: trong ct 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? Ví dụ 2: Minbaso, SGK trang 102
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ư 1 tốn hạng, thậm chí là tham số của 1 hàm khá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 định kiểu dl; 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. Quan sát ví dụ và trả lời
- Một hàm UCLN, dùng để tìm ước số chung lớn nhất của 2 số x,y
- Lệnh A:=UCLn(tuso,mauso);
- Lời gọi hàm phải được đặt trong 1 lệnh hoặc trong 1 lời gọi ct con khác
- Hỏi: trong ct 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 ct chính? 4. Tìm hiểu về biến cục bộ và biến tồn bộ Ví dụ 2: Rutgon_phanso
- Hỏi: cĩ những biến nào được sử dụng trong ct? các biến đĩ được khai báo ở chỗ nào trong ct? - Biến tuso, mauso, A cĩ ảnh hưởng trong tồn bộ ct. Biến sodu chỉ ảnh hưởng trong thân ct con. - Yêu cầu: phân biệt sự giống và khác nhau của biến tồn bộ và biến cục bộ
- Cĩ 1 hàm được khai báo - Hàm được sử dụng 2 lần
- Kết quả của hàm lại là đầu vào cho chính hàm đĩ trong lần gọi thứ 2
4. Quan sát lại các ví dụ Quan sát ct của GV
- Cĩ các biến: tuso, mauso, A, sodu
- Các biến tuso, mauso, A được khai báo trong ct chính
- Các biến: sodu được khai báo trong ct con
- Biến cục bộ: cĩ ảnh hưởng trong ct con, được khai báo trong phần khai báo của ct con
- Biến tồn bộ: cĩ phạm vi ảnh hưởng trong tồn bộ ct, được khai báo trong phần khai báo của ct chính
Nội dung:
Cấu trúc và vị trí của hàm trong chương trình Program tên_chương_trình_chính;
Các khai báo của chương trình chính;
Function tên_hàm(danh sách các tham số):kiểu_dl_của _hàm; Các khai báo của hàm;
Begin Các lệnh của hàm; Tên_hàm:=biểu_thức; End; BEGIN Các lệnh của cht chính;
Lời gọi thực hiện hàm và thủ tục; END.
- Kiểu_dl_của _hàm là kiểu dl của kết quả của hàm và chỉ cĩ thể là 1 trong các kiểu Integer, Real, Char, Boolean, String
- Sử dụng hàm: giống như sử dụng các hàm chuẩn, viết tên của hàm cần gọi và thay thế các tham số hình thức bằng các tham số thực sự tương ứng. Lời gọi hàm cĩ thể tham gia vào biểu thức như 1 tốn hạng và thậm chí là tham số của lời gọi hàm, thủ tục khác
- Biến cục bộ là những biến cĩ ảnh hưởng trong ct con, được khai báo trong ct con
- Biến tồn bộ là những biến cĩ phạm vi ảnh hưởng trong tồn bộ ct, được khai báo trong phần khai báo của ct chính
IV. Đánh giá cuối bài:
1/ Những nội dung đã học: 2/ Câu hỏi và bài tập về nhà: - Xem lại phần lý thuyết - Đọc trước bài thực hành số 6
Ngày soạn: 24/02/2008
Tiết: 43-44 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ự, ct 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 chữ chạy trên màn hình - Nâng cao kĩ năng viết và sử dụng ct con
II. Đồ dùng dạy học:III. Hoạt động dạy – học: III. Hoạt động dạy – học:
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: HS nắm được chức năng của 2 thủ tục catdan(s1,s2) và cangiua(s). Biết được ý nghĩa của
mỗi tham số trong từng ct con đĩ
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:
Hoạt động của giáo viên Hoạt động của học sinh
1. Tìm hiểu 2 thủ tục catdan(s1,s2) và cangiua(s) 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 là gì?
- Yêu cầu: cho 1 ví dụ minh họa Thủ tục cangiua(s);
- Hỏi: đầu vào của thủ tục?
- Hỏi: thủ tục thực hiện cơng việc gì?
1. Quan sát thủ tục catdan() và trả lời câu hỏi của GV
- 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ủa xâu
- s1=’abcd’ thì s2=’bcda’ - Quan sát, suy nghĩ và trả lời
- Đầu vào là 1 xâu kí tự S khơng quá 79 kí tự
- Thủ tục thực hiện thêm vào trước xâu s 1 số kí 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ự
Cĩ thể nhắc HS nếu khơng khai báo S là tham biến thì tủ tục này khơng cĩ hiệu lực gì vì lệnh đưa S ra màn hình khơng nằm trong thủ tục này
2. Tìm hiểu ct của câu b, SGK trang 103, 104 - Hỏi: chức năng của ct
- Giới thiệu cho HS các thủ tục chuẩn gotoxy(x,y); delay(n); và keypressed;
- Thực hiện ct để giúp HS thấy kết quả của ct
2. Quan sát và theo dõi dẫn dắt của GV
- Yêu cầu người sử dụng nhập 1 xâu kí tự. Đưa xâu đĩ ra màn hình cĩ dnạg dịng chữ chạy giữa 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à HS tự suy luận tính được
2/ Rèn luyện kĩ năng lập trình:
a) Mục tiêu: vận dụng được các hiểu biét về ct con, thuật tốn vừa được cung cấp để giải quyết bài tốn
tổng quát hơn
b) Nội dung:
- Viết ct nhập 1 xâu kí tự và đưa ra dịng chữ chạy ở dịng bất kì do ct chính quy định - Nội dung ct giống như ct câu b, SGK trang 103
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: tìm ra vấn đề mới trong bài tập này - Yêu cầu: lập trình trên máy tính
- Yêu cầu: thực hiện ct và nhập dữ liệu test - Đánh giá kết quả lập trình của HS
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à ct 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 ct vào máy và báo cáo kết quả thủ nghiệm
- Nhập dữ liệu theo test của GV 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ố là xâu s khơng quá 79 kí tự và 1 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 ct và thực hiện cĩ sử dụng thủ tục này
- Chuẩn bị bài thực hành số 7
Ngày soạn: 05/03/2008
Tiết: 45-46 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 tồn bộ và biến cục bộ
2/ Kĩ năng:
Sử dụng được chương tình con để giải quyết trọn vẹn một bài tốn trên máy tính