Về kiến thức - Học sinh hiểu được cấu trúc rẽ nhánh.. - Nắm chắc cú pháp, cấu trúc, hoạt động câu lệnh rẽ nhánh dạng thiếu và dạng đủ.. Gợi động cơ 3’- Trong cuộc sống hàng ngày, một số
Trang 1Giáo án 1 (Tin học 11)
Chương III: CẤU TRÚC RẼ NHÁNH VÀ LẶP §9: CẤU TRÚC RẼ NHÁNH (tiết 1)
PPCT: Tiết 11
Ngày soạn: 08/09/2012 Ngày dạy:18/09/2012
Người dạy: Nguyễn Thị Thu Trang
GV hướng dẫn: PGS.TS Trịnh Thanh Hải
I Mục đích, yêu cầu
1 Về kiến thức
- Học sinh hiểu được cấu trúc rẽ nhánh
- Nắm chắc cú pháp, cấu trúc, hoạt động câu lệnh rẽ nhánh dạng thiếu và dạng đủ
2 Về kĩ năng.
- Sử dụng cấu trúc rẽ nhánh trong mô tả thuật toán của một số bài toán đơn giản
- Biết sử dụng cấu trúc rẽ nhánh dạng thiếu và đầy đủ vào những ví dụ đơn giản
- Biết nhận dạng và thể hiện câu lệnh ghép
3 Về thái độ.
- Học sinh hiểu rõ tầm quan trọng của cấu trúc rẽ nhánh qua đó yêu thích môn học
- Luôn có ý thức tìm hiểu ứng dụng của cấu trúc rẽ nhánh trong thực tiễn
II Chuẩn bị của thầy và trò
-Giáo viên: Chuẩn bị bảng phụ, đồ dùng học tập
- Học sinh: Ôn tập kiến thức cũ có liên quan: kiến thức toán học, kỹ năng xây dựng thuật toán, vẽ sơ đồ khối…
III Hoạt động dạy học
1 Ổn định tổ chức lớp (1’)
Lớp:… Sĩ số:….Vắng:…
Trang 22 Gợi động cơ (3’)
- Trong cuộc sống hàng ngày, một số việc chỉ được thực hiện khi thỏa mãn một điều kiện nào đó Trong ngôn ngữ lập trình cũng vậy
3 Nội dung bài học (27’)
3.1 Hoạt động 1: Tìm hiểu cú pháp và ý nghĩa của cấu trúc rẽ nhánh (5’)
1 Rẽ nhánh
- Ví dụ 1:+ Nếu trời mưa thì ở nhà.
+ Nếu trời mưa thì ở nhà nếu không thì đi
chơi
=> Cấu trúc chung:
- Nếu…thì…
- Nếu…thì….nếu không thì…
- Ví dụ 2: Kết luận nghiệm của phương trình bậc 2:
ax2 + bx + c =0
+ Nếu D >=0 thì phương trình có nghiệm
+Nếu D <0 thì phương trình vô nghiệm
Hoặc: Nếu D >=0 thì phương trình có nghiệm
nếu không thì phương trình vô nghiệm
- GV: Viết bảng, nêu ví dụ và yêu cầu học sinh đưa ra ví dụ tương tự
- HS: Đưa ra ví dụ
- GV: Đưa ra kết luận về cấu trúc rẽ nhánh
- HS: ghi bài
- GV: Yêu cầu học sinh quan sát ví dụ 2 (SGK trang 38 + 39) và đưa ra kết luận nghiệm
- HS: Đưa ra kết luận nghiệm bằng 2 dạng cấu trúc rẽ nhánh
Trang 33.2 Hoạt động 2: Tìm hiểu cú pháp và ý nghĩa câu lệnh rẽ nhánh if – then trong lập trình Pascal (15’)
2 Câu lệnh if - then
- Cú pháp:
+ Dạng thiếu:
If <điều kiện> then <câu lệnh>;
+ Dạng đầy đủ:
If <điều kiện> then <câu lệnh 1>
Else <câu lệnh 2>;
- Trong đó:
+ if, then, else là các từ khóa;
+ điều kiện là biểu thức logic;
+ câu lệnh, câu lệnh 1, câu lệnh 2 là 1 câu
lệnh của Pascal
- Ý nghĩa câu lệnh:
+ Dạng thiếu: Kiểm tra điều kiện, nếu điều
kiện đúng thì câu lệnh được thực hiện còn
nếu điều kiện sai thì câu lệnh bị bỏ qua
+ Dạng đầy đủ: Kiểm tra điều kiện Nếu
điều kiện đúng thì thực hiện câu lệnh 1,
nếu điều kiện sai thì thực hiện câu lệnh 2
- GV: Cụ thể ngôn ngữ Pascal sẽ dùng câu lệnh nào để thực hiện việc
rẽ nhánh trên? Chúng ta chuyển sang phần 2
-GV: Viết bảng
- GV: Yêu cầu học sinh nhắc lại biểu thức logic là gì?
- HS: Một học sinh trả lời, cả lớp ghi bài
- GV : Các em nghiên cứu SGK và quan sát sơ đồ khối trên bảng phụ nêu hoạt động của câu lệnh if – then dạng thiếu và dạng đủ?
- HS: Nghiên cứu SGK và trả lời
- GV: Bám sát sơ đồ khối phân tích ý nghĩa câu lệnh if – then dạng thiếu và dạng đủ
- HS: Lắng nghe và ghi bài
Trang 4- Ví dụ 1: Một số câu lệnh if – then:
If x mod 2 = 0 then writeln(‘La so chan’);
If x mod 2 = 0 then writeln (‘La so chan’)
else writeln (‘La so le’);
- Ví dụ 2: Viết câu lệnh if – then dạng
thiếu và dạng đủ đưa ra kết luận nghiệm
của phương trinh bậc 2: ax2 + bx + c = 0
- Dạng thiếu:
if d<0 then writeln (‘Phuong trinh vo
nghiem’);
if d>=0 then writeln (‘Phuong trinh co
nghiem’);
- Dạng đủ:
If d<0 then writeln (‘Phuong trinh vo
nghiem’) else writeln (‘Phuong trinh co
nghiem’);
- Ví dụ 3: Kết quả của đoạn chương trình
sau là gì?
x:= -5; y:= 5;
if x>y then x:= x-y else x:= y-x;
- GV: Đưa ra một số ví dụ về câu lệnh
if – then
- GV: Các em hãy cho biết trong ví
dụ thì đâu là biểu thức điều kiện, câu lệnh, câu lệnh 1, câu lệnh 2?
- HS: Trả lời, viết bài
- GV: Các em hãy dựa vào kết quả của ví dụ 2 mục 1, chuyển từ ngôn ngữ tự nhiên sang ngôn ngữ lập trình Pascal để đưa ra câu lệnh if – then dạng thiếu và dạng đủ kết luận nghiệm phương trình bậc 2
- HS: suy nghĩ sau đó 2 học sinh lên bảng viết câu trả lời
- GV: Đưa ra ví dụ
- HS: suy nghĩ + trả lời
Trang 53.3 Hoạt động 3: Hoạt động giới thiệu câu lệnh ghép (7’)
GV: Bây giờ chúng ta xét ví dụ giải phương trình bậc 2 nhưng có yêu cầu là: tính nghiệm x1, x2 của phương trình khi delta>=0? Vậy làm thế nào để làm được điều này?
3 Câu lệnh ghép
- Khi mà một nhóm lệnh nào đó muốn thực
hiện cùng nhau ta cần dùng đến câu lệnh
ghép
- Theo cú pháp câu lệnh if – then thì sau
một số từ khóa (như Then, Else) phải là
một câu lệnh nhưng trong nhiều trường
hợp, các thao tác phức tạp đòi hỏi có nhiều
câu lệnh để mô tả Trong trường hợp như
vậy NNLT cho phép gộp nhiều câu lệnh
thành một câu lệnh ghép (câu lệnh hợp
thành)
- Trong Pascal, câu lệnh ghép có dạng:
Begin
<các câu lệnh>;
End;
- Trong cấu trúc if – then thì câu lệnh, câu
lệnh 1, câu lệnh 2 ở trên có thể là câu lệnh
ghép
- Ví dụ 1: Đổi chỗ 2 số nguyên dương a,
b sao cho số lớn đứng trước, số bé đứng
sau
If a>b then
Begin
- GV: Thuyết trình, viết bảng
- HS: Lắng nghe, viết bài
- GV: Lưu ý học sinh phân biệt phần thân chương trình và cấu trúc của câu lệnh ghép
- GV: Đưa ra ví dụ về câu lệnh ghép
- HS: Ghi bài
Trang 6Tg:=a;
A:=b;
B:=tg;
End;
- Ví dụ 2:
If D<0 then write(‘Phuong trinh vo
nghiem’)
else
begin
X1:= (-b – sqrt(D))/(2*a);
X2:= -b/a – X1;
Writeln(‘pt co nghiem: ‘ ,
X1:6:2, X2:6:2);
end;
- GV: Yêu cầu viết câu lệnh ghép tìm 2 nghiệm của phương trình bậc 2?
- HS: Suy nghĩ và trả lời câu hỏi
- GV: Nhận xét và hoàn thiện câu trả lời, chú ý cho học sinh về dấu chấm phẩy sau từ khóa end trong câu lệnh ghép
3.4 Hoạt động 4: Rèn luyện.(9’)
GV: Dùng bảng phụ yêu cầu học sinh làm nhanh một số bài tập rèn luyện
Bài 1: Trong các câu lệnh sau, câu lệnh nào đúng? Giải thích cách chọn.
A if (x>1) and (y>1) then v= x+y;
B iff (x>1) and (y>1) then v := x+y;
C if (x>1) and (y>1) then v := x+y
D if (x:=1) and (y:=1) then v:= x+y;
E if (x>1) and (y>1) then v:=x+y;
Đáp án đúng: E
Trang 7Bài 2: Dùng câu lệnh if – then để viết đoạn chương trình tính thương a/b ?
Đáp án:
If b<>0 then
begin
T:= a/b;
write(‘ Thuong so la: ‘, T);
end
else write(‘Khong chia duoc’);
4 Củng cố, dặn dò, bài tập về nhà (2’).
- Nhắc lại nội dung chính của bài học
- Giao bài tập về nhà cho học sinh: bài 4 – SGK trang 51
- Nhắc học sinh đọc thêm mục 2: hệ thống quản lý tệp
- Đọc trước bài 12
NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN: