GV: Đưa ra các ví dụ có sử dụng lệnh rẽ nhánh, nếu không có câu lệnh rẽ nhánh thì không thể thực hiện được.. HS: Quan sát và nghe giảng.[r]
(1)Ngày soạn: 25/10/2010 Ngày giảng:
Lớp dạy:
Bài 9: CẤU TRÚC RẼ NHÁNH
I Mục tiêu:
1 Kiến thức
- Hiểu nhu cầu cấu trúc rẽ nhánh biểu diễn thuật toán - Hiểu cấu trúc hoạt động rẽ nhánh dạng thiếu dạng đủ 2 Kỹ năng
- Nhận biết xuất cấu trúc rẽ nhánh giải số toán - Sử dụng cấu trúc rẽ nhánh mô tả thuật toán số toán đơn giản
- Viết lưu đồ thuật toán cấu trúc rẽ nhánh dạng thiếu dạng đủ 3 Thái độ
- Tiếp tục khơi gợi lịng ham thích giải tốn lập trình máy tính
- Tiếp tục rèn luyện phẩm chất người lập trình như: xem xét giải vấn đề cách cẩn thận, chu đáo, có sáng tạo, khơng thỏa mãn với kết ban đầu đạt được,…
II Chuẩn bị:
1 Giáo viên: máy vi tính, máy chiếu, sách giáo khoa, sách giáo viên đồ dùng dạy học Học sinh: sách giáo khoa, ghi chép, đồ dùng học tập chuẩn bị
III Tiến trình:
1 Kiểm tra cũ (5’):
- Để nhập liệu từ bàn phím dùng thủ tục nào? để đưa liệu hình dùng thủ tục nào?
- Nêu số thao tác thường dùng Pascal?
2 Nội dung dạy:
HOẠT ĐỘNG CỦA GIÁO VIÊN VÀ HỌC
SINH NỘI DUNG GHI BẢNG TG
GV: Trong thực tế hàng ngày, có nhiều việc thực điều kiện thỏa mãn Ví dụ:
+ Nếu mai trời mưa Châu nhà xem TV
+ Nếu mai trời không mưa Châu đến nhà Ngọc
+ Nếu mai trời khơng mưa Châu đến nhà Ngọc, mưa Châu nhà xem TV
Yêu cầu HS tìm số ví dụ tương tự HS: Lấy ví dụ
GV: Yêu cầu HS nêu cấu trúc chung cách diễn đạt
HS: Suy nghĩ trả lời
GV: Trong nhiều thuật toán, thao tác
1 Rẽ nhánh:
Cấu trúc dùng để mơ tả mệnh đề có dạng: Nếu (1)
Nếu thì, khơng (2)
được gọi cấu trúc rẽ nhánh thiếu (mô tả mệnh đề 1) đủ (mô tả mệnh đề dạng 2) Ví dụ: Để giải phương trình bậc hai: ax2 + bx + c = (a ≠ )
Ta thực theo bước + Tính Delta: D = b2 – 4ac
+ Nếu D < kết luận phương trình vơ nghiệm
+ Nếu D >= kết luận phương trình có nghiệm
Sơ đồ khối:
(2)tiếp theo phụ thuộc vào kết nhận từ bước trước Cấu trúc dùng để mơ tả mệnh đề có dạng gọi cấu trúc rẽ nhánh thiếu đủ GV: nêu bước giải phương trình bậc hai:
ax2 + bx + c = (a ≠ 0).
HS: Nêu bước giải
GV: Nhận xét phần trả lời học sinh Đưa bảng phụ vẽ lưu đồ thuật tốn giải phương trình bậc hai giải thích hoạt động lưu đồ thuật toán
HS: Chú ý quan sát lắng nghe
GV: Các ngơn ngữ lập trình có câu lệnh để mô tả cấu trúc rẽ nhánh Sau ta xét câu lệnh mô tả cấu trúc rẽ nhánh ngôn ngữ Pascal
GV: Giới thiệu cấu trúc lệnh If – then HS: Nghe, ghi quan sát
GV:Lưu ý HS sau Then sau Else có câu lệnh chương trình
GV: Với hai dạng này, dạng dùng thuận tiện hơn?
HS: Suy nghĩ tìm câu trả lời
GV: Gợi ý để HS đưa tùy trường hợp cụ thể mà dùng dạng thiếu hay dạng đủ
GV: Treo (hoặc chiếu lên hình) sơ đồ câu lệnh (dạng thiếu - dạng đủ) giải thích hoạt động câu lệnh HS: Quan sát nghe giảng
Các ngơn ngữ lập trình có câu lệnh để mô tả cấu trúc rẽ nhánh
2 Câu lệnh if – then:
- Pascal dùng câu lệnh if – then để mô tả việc rẽ nhánh tương ứng với hai loại mệnh đề rẽ nhánh sau:
a) Dạng thiếu:
if<điều kiện> then<câu lệnh>; b) Dạng đủ:
if<điều kiện>then<câu lệnh1> else<câu lệnh 2>; Trong đó:
Điều kiện biểu thức lôgic
Câu lệnh, câu lệnh 1, câu lệnh 2 câu lệnh đơn
Ý nghĩa câu lệnh:
- Dạng thiếu: Nếu điều kiện câu lệnh thực hiện, điều kiện sai câu lệnh bị bỏ qua khơng thực
- Dạng đủ: Nếu điều kiện thực câu lệnh 1, ngược lại (nếu điều kiện sai) thực câu lệnh
- Lưu đồ dạng thiếu:
15’
Nhập a, b, c
D b2 - 4acD≥
0 nghiệm thực Tính đưa kết thúc Thơng báo vô
nghiệm kết thúc
(3)GV: Đưa ví dụ có sử dụng lệnh rẽ nhánh, khơng có câu lệnh rẽ nhánh khơng thể thực
HS: Quan sát nghe giảng
GV: ví dụ 3, sử dụng cách nhanh
HS: cách tiện
GV: Phân tích tiện lợi cách số lệnh mà máy phải thực
GV: Tiếp tục đưa ví dụ thực tế yêu cầu học sinh sử dụng câu lệnh if – then để mô tả
HS: Thực theo yêu cầu GV
GV: Cấu trúc rẽ nhánh gì? HS: Suy nghĩ trả lời
GV: Ta biết câu lệnh if – then sau then, sau else có câu lệnh Vậy muốn thực nhiều câu lệnh sau
then hay sau else làm nào? HS: Đưa ý kiến
GV:Khi ta cần gộp nhiều câu lệnh
- Lưu đồ dạng đủ:
* Chú ý:
- Trước else khơng có dấu “ ; ” - If…then lồng
- Khi viết câu lệnh rẽ nhánh đủ lồng cần phân biệt Else If
Ví dụ 1:
if D<0 then write('Phuong trinh vo nghiem ');
Ví dụ 2:
if a mod = then write(a, ' chia het cho ')
else write(a, ' khong chia het cho 3');
Ví dụ 3: Tìm giá trị lớn (max) hai số a b:
cách 1:
max := a;
if b>a then max := b;
cách 2:
if a> b then max := a else max := b;
- Cấu trúc rẽ nhánh câu lệnh dùng để mô tả mệnh đề rẽ nhánh
3 Câu lệnh ghép:
- Câu lệnh ghép có dạng:
begin
<các câu lệnh>;
end;
(4)lại coi câu lệnh chương trình Các ngơn ngữ lập trình cho phép gộp dãy câu lệnh thành câu lệnh ghép (hay câu lệnh hợp thành)
GV: Đưa số ý HS: Nghe ghi
GV: Lấy ví dụ phân tích cho học sinh hiểu ý nghĩa câu lệnh ghép
HS: Quan sát, nghe ghi
GV: Đưa tình thực tế bắt buộc phải sử dụng câu lệnh ghép yêu cầu HS dùng câu lệnh Pascal để thể HS: Thực theo yêu cầu GV
Ví dụ:
if D<0 then writeln('Phuong trinh vo nghiem.')
else begin
x1:= (- b - sqrt(D))/(2*a); x2:= (- b + sqrt(D))/(2*a);
end;
Củng cố (3’):
- Hệ thống giảng, nhấn mạnh kiến thức trọng tâm:
+ Câu lệnh if – then dạng thiếu: Cấu trúc, ý nghĩa, sơ đồ hoạt động + Câu lệnh if – then dạng đủ: Cấu trúc, ý nghĩa, sơ đồ hoạt động + Câu lệnh ghép: cấu trúc, ý nghĩa
5 Hướng dẫn nhà (1’): - Xem trước bài: Cấu trúc lặp
- Trả lời câu hỏi 1, 2, sgk trang 50, 51