- Yêu thích ngôn ngữ lập trình và nhận thức được tầm quan trọng của công việc viết các chương trình giải các bài toán để áp dụng vào các lĩnh vực trong đời sống. B- Phương pháp: Hướng dẫ[r]
(1)Tuần:34 (Tuần 32, Tiết 50: Lớp 11C)
Tiết :50 Ngày soạn 18/12/07
BÀI TẬP CHƯƠNG IV A- Mục tiêu học :
1 Kiến thức :
- Củng cố thêm chương trình - Biết lợi ích chương trình
- Kết hợp kiểu liệu với chương trình để xây dựng chương trình giải toán
- Hiểu rõ hàm thủ tục; hiểu rõ tham trị, tham biến, biến toàn cục biến cụ … chương trình
2 Kỹ :
- Xác định liệu toán để khai báo hợp lí
- Vân dụng lợi ích chương trình để xây dựng giải toán đơn giản hơn.… 3 Thái độ :
- u thích ngơn ngữ lập trình nhận thức tầm quan trọng cơng việc viết chương trình giải toán để áp dụng vào lĩnh vực đời sống
B- Phương pháp: Hướng dẫn cho Hs tìm PP giải C- Chuẩn bị giáo viên học sinh:
1 Giáo viên: Giáo án
2 Học sinh: Các tập giáo viên cho D- Tiến trình lên lớp:
I- Ổn định lớp : II- Kiểm tra cũ: III- Bài mới:
1 Triển khai bài:
Hoạt động giáo viên học sinh Nội dung kiến thức
HĐ1: ƠN TẬP LẠ CHƯƠNG TRÌNH CON VÀ THƯ VIỆN CHƯƠNG RÌNH CON
Gv: Chương trình gì? Hs: Nhớ lại trả lời
Gv: Chương trình có loại phân biệt
1 Củng cố kiến thức
HĐ2: Giải tập
Gv: Yêu cầu HS phân tích chia toán thành nhiều toán nhỏ viết chương trình cho mổi tốn
Hs: Thảo luận theo nhóm đưa câu trả lời
Gv: Hướng dẫn
Có thể phân thành thủ tục hàm sau
1) Thủ tục Nhap có chức năg nhập vào số
2) Thủ tục GPTB2 : thực tính tốn đưa nghiệm phương trình Bậc hai
3) Tổng hợp chương trình
GV: Chia lớp thành ba nhóm - Nhóm I: Viết thủ tục Nhap - Nhón II: Viết thủ tục GPTB2
Bài Viết chương trình giải phương trình bậc hai (dùng chương trình con)
Var a, b, c, x1, x2: real;
Procedure Nhapabc(var aa,bb,cc: real); Begin
Write('a='); Readln(aa); Write('b='); Readln(bb); Write('c='); Readln(cc); End;
Procedure GPTB2; Var Delta: real; Begin
Delta:=sqr(b)-4*a*c;
If Delta<0 then Writeln('Phuong trinh vo nghiem.') Else
If Delta=0 then Begin
(2)- Nhóm III Viết chương trình Gv: tổng kết đánh giá mổi nhóm
End Else Begin
x1:=(-b+sqrt(Delta))/(2*a); x2:=(-b-sqrt(Delta))/(2*a);
Writeln('Phuong trinh co nghiem phan biet la :'); Writeln('X1=',x1:8:2, 'X2=',x2:8:2);
End; End;
BEGIN (* CT *) Clrscr;
Writeln(' Giai Phuong Trinh Bac Hai Voi Cac He So :'); Nhapabc(a,b,c);
If a<>0 then GPTB2
Else Writeln(' Khong phai phuong trinh bac hai '); Readln ; END
Hđ3: Tìm hiểu viết chương trình giải tập 10 Trang 80 SGK Gv: Yêu cầu HS phân tích chia
bài tốn thành nhiều tốn nhỏ viết chương trình cho mổi tốn
Hs: Thảo luận theo nhóm đưa câu trả lời
Gv: Hướng dẫn
Có thể phân thành thủ tục hàm sau
Hàm Function kt(ch: char; st: string): boolean: True xâu khác rỗng ngược lại False Viết thủ tục Compare ( S1 , S2 : String ; Var Kq : String ) thực công việc sau : so sánh hai xâu S1 S2 , tìm tất kí tự có hai xâu Xâu Kq chứa tất kí tự , kí tự nhớ lần
GV: Chia lớp thành ba nhóm - Nhóm I: Viết hàm kt
- Nhón II: Viết thủ tục Compare ( S1 , S2 : String ; Var Kq : String ) - Nhóm III Viết chương trình Gv: tổng kết đánh giá mổi nhóm
Bài :Viết thủ tục Compare ( S1 , S2 : String ; Var Kq : String ) thực công việc sau : so sánh hai xâu S1 S2 , tìm tất kí tự có hai xâu Xâu Kq chứa tất kí tự , kí tự nhớ lần
Var xau1,xau2,xau: string;
Procedure compare(s1, s2: string; Var kq: string);
Var i: byte;
Function kt(ch: char; st: string): boolean;
Begin
kt:=pos(ch,st)<>0; End; Begin
kq:=''; (* Xâu rỗng *) For i:=1 to length(s1) If (not kt(s1[i],kq)) and (kt(s1[i],s2)) then
kq:=concat(kq,s1[i]); End; BEGIN
Writeln('Nhap xau S1 va S2 :'); Write('S1: '); Readln(xau1);
Write('S2: '); Readln(xau2); Compare(xau1, xau2, xau);
If xau<>'' then Writeln('Xau chung la: ',xau)
Else Writeln('Khong co ki tu nao ca hai xau ');
Write('Nhan ENTER de ket thuc '); Readln; END
IV- Củng cố :(2 phút)
Cần hiểu kiến thức học vận dụng kiến thức với kĩ để giải toán tương tự
Từ liệu sở ta xây dựng liệu phức tạp liệu đgl lệu có cấu trúc
V- Dặn dò :Về nhà làm tập lại VI Rút kinh nghiệm