- 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]
Trang 1Tuần:34 (Tuần 32, Tiết 50: Lớp 11C)
BÀI TẬP CHƯƠNG IV
A- Mục tiêu bài học :
1 Kiến thức :
- Củng cố thêm về chương trình con
- Biết được lợi ích chương trình con
- Kết hợp các kiểu dữ liệu cùng với các chương trình con để xây dựng một chương trình
giải một bài toán
- Hiểu rõ hơn về hàm và thủ tục; hiểu rõ hơn về tham trị, tham biến, biến toàn cục và biến
cụ bộ … trong chương trình con
2 Kỹ năng :
- Xác định được dữ liệu của bài toán để khai báo hợp lí
- Vân dụng lợi ích chương trình con để xây dựng và giải bài toán đơn giản hơn.…
3 Thái độ :
- 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ẫn cho Hs tìm ra PP giải
C- Chuẩn bị của giáo viên và học sinh:
1 Giáo viên: Giáo án
2 Học sinh: Các bài 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 bài cũ:
III- Bài mới:
1 Triển khai bài:
Hoạt động của giáo viên và 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 con là gì?
Hs: Nhớ lại và trả lời
Gv: Chương trình con có mấy loại và
phân biệt
1 Củng cố kiến thức
HĐ2: Giải bài tập
Gv: Yêu cầu HS phân tích và chia
bài toán thành nhiều bài toán nhỏ
rồi đi viết chương trình cho mổi bài
toán đó
Hs: Thảo luận theo nhóm và đưa ra
câu trả lời
Gv: Hướng dẫn
Có thể phân thành các thủ tục và
hàm sau
1) Thủ tục Nhap có chức
năg nhập vào 3 số
2) Thủ tục GPTB2 : thực
hiện tính toán và đưa ra 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 1 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 Write('Phuong trinh co nghiem kep : ');
Write('x1,2=',-b/(2*a):8:2);
Trang 2- Nhóm III Viết chương trình chính
Gv: tổng kết đánh giá bài của mổi
nhóm
End Else Begin x1:=(-b+sqrt(Delta))/(2*a);
x2:=(-b-sqrt(Delta))/(2*a);
Writeln('Phuong trinh co 2 nghiem phan biet la :');
Writeln('X1=',x1:8:2, 'X2=',x2:8:2);
End; End;
BEGIN (* CT chính *) 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 và viết chương trình giải bài tập 10 Trang 80 SGK
Gv: Yêu cầu HS phân tích và chia
bài toán thành nhiều bài toán nhỏ
rồi đi viết chương trình cho mổi bài
toán đó
Hs: Thảo luận theo nhóm và đưa ra
câu trả lời
Gv: Hướng dẫn
Có thể phân thành các thủ tục và
hàm sau
Hàm Function kt(ch: char; st:
string): boolean: True nếu 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 hiện
công việc sau : so sánh hai xâu S1 và
S2 , tìm tất cả các kí tự có trong cả
hai xâu trên Xâu Kq sẽ chứa tất cả
các kí tự đó , mỗi kí tự chỉ được nhớ
một 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 chính
Gv: tổng kết đánh giá bài của mổi
nhóm
Bài 2 :Viết thủ tục Compare ( S1 , S2 : String ; Var Kq : String )
thực hiện công việc sau : so sánh hai xâu S1 và S2 , tìm tất cả các
kí tự có trong cả hai xâu trên Xâu Kq sẽ chứa tất cả các kí tự đó , mỗi kí tự chỉ được nhớ một 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:=''; (* Xaâu roãng *) For i:=1 to length(s1) do
If (not kt(s1[i],kq)) and (kt(s1[i],s2)) then
kq:=concat(kq,s1[i]); End; BEGIN
Writeln('Nhap 2 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 trong
ca hai xau ');
Write('Nhan ENTER de ket thuc '); Readln; END
IV- Củng cố bài :(2 phút)
Cần hiểu được những kiến thức đã học và vận dụng những kiến thức đó cùng với những kĩ năng để giải quyết bài toán tương tự
Từ những dữ liệu cơ sở ta có thể xây dựng những dữ liệu phức tạp hơn và những dữ liệu như vậy đgl dữ lệu có cấu trúc
V- Dặn dò :Về nhà làm các bài tập còn lại
VI Rút kinh nghiệm