- Phõn được biến toàn cục và biến cục bộ.
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: 20/03/2011 Tiết PPCT: 45
BÀI TẬPI. Mục tiờu. I. Mục tiờu.
Trọng tõm của bài học là cho học sinh ụn lại cỏc kiến thức về chương trỡnh con và vận dụng để giải cỏc bài toỏn về lập trỡnh cú cấu trỳc
• Kiến thức:ụn lại cỏc kiến thức về cỏc kiểu dữ liệu cú cấu trỳc và kiểu dữ liệu tệp
• Kĩ năng:- Rốn luyện kỹ năng lập trỡnh bằng chương trỡnh con
- Rốn luyện kỹ năng lập trỡnh cho học sinh, giỳp học sinh thành thạo hơn cỏc trong việc nhận dạng bài toỏn ở dạng hàm hay thủ tục
• Thỏi độ: Tạo hứng thỳ cho học sinh khi học lập trỡnh II. Thiết bị dạy - học
GV: bảng, phấn, bảng phụ, giỏo ỏn, SGK, SBT HS: SGK, vở, SBT
III. Chuẩn bị của giỏo viờn và học sinh
GV: Giỏo ỏn, bảng phụ
HS: đọc trước bài trước khi lờn lớp
IV. Tiến trỡnh lờn lớp
1. Ổn định lớp, sỹ số 2. Bài cũ:
3. Nội dung
Hoạt động 1.
Vận dụng kiến thức chương trỡnh con để giải bài toỏn:Trong CTC khi nào, khi nào nờn tổ chức truyền tham biến và khi nào nờn tổ chức truyền tham trị? (BT6.1 SBT)
Hoạt động của giỏo viờn Hoạt động của HS Nội dung
gọi hs làm nhanh vớ dụ trả lời nhanh BT6.1 SBT.
Khi gặp bài toỏn mà dữ liệu và ra cần phảu thay đổi giả trị sau khi CTC thực hiện thỡ tổ chức truyền tham biến, ngược lại thỡ tổ chức truyền tham trị
Hoạt động 2.
Vận dụng kiến thức hàm để giải bài toỏn:Viết hàm FAC(n) trả về giỏ trị n! (giai thừa của số nguyờn n); sử dụng hàm này để tớnh và đưa ra màn hỡnh n! với n= 0,1,2,3,..,10 (BT6.11 SBT)
Hoạt động của giỏo viờn Hoạt động của HS Nội dung
Theo toỏn học người ta định nghĩa n! như thế nào? nếu viết trong Pascal chỳng ta phải viết đoạn lệnh nào để giải quyết bài toỏn đú?
Rừ ràng chỳng ta thấy đề đó quy định chỳng ta phải sử dụng hàm FAC(n). gọi hs hoàn chỉnh thủ tục Hoàn thành chương trỡnh trả lời If n=0 then Giaithua:=1 Else Begin Giai thua:=1; For i:=0 to n do Giaithua:=Giaithua*n; End; Ghi nhận Hoàn thành chương trỡnh Var n:byte; Function FAC(n:byte):longint; Var i:byte; Begin If n=0 then FAC:=1 Else Begin FAC:=1; For i:=0 to n do FAC:=FAC*n; End; End; Begin N:=10 For i:=1 to n do Writeln(FAC(i):10); Readln End. V. Củng cố.
Qua cỏc tiết bài tập này làm vớ dụ chỳng ta về nhà xem lại cấu trỳc của hàm và thủ tục. ễn tập lại về cỏc vấn đề lớ thuyết chỳng ta vừa trỡnh bày ở cỏc tiết trước dựa vào bài tập mẫu này để hoàn thành cỏc bài tập 6.12, 6.16 SBT tr 62,63
Ngày soạn: 1/04/2011 ppct: 46,47
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á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.
2. Chuẩn bị của học sinh: - Sách giáo khoa.
III. Hoạt động dạy học
1. Hoạt động 1: Tìm hiểu việc xây dựng hai thủ tục catdan(s1, s2) và cangiua(s).
a. 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 đó.
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 hai thủ tục catdan (s1, s2) và cangiua (s). 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);
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.
- 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.
- 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
2. 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.