Bài giảng GVG - Tin học 11
Trang 1Ngày dạy: 30 tháng 11
năm 2011
CHƯƠNG III CẤU TRÚC RẼ NHÁNH VÀ LẶP
§9 CẤU TRÚC RẼ NHÁNH
(Tiết 1) I) MỤC TIÊU – YÊU CẦU
1) Kiến thức
- Hiểu nhu cầu của cấu trúc rẽ nhánh trong biểu diễn thuật toán
- Hiểu câu lệnh rẽ nhánh (dạng thiếu và dạng đầy đủ)
- 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
2) Kỹ năng
- Viết được các lệnh rẽ nhánh dạng thiếu, dạng đủ
II) CHUẨN BỊ
GV: Soạn bài, SGK, SGV, máy chiếu, phiếu học tập HS: Học bài cũ - chuẩn bị bài mới
III) TIẾN TRÌNH LÊN LỚP
1) Ổn định trật tự
- Kiểm tra sĩ số 2) Kiểm tra bài cũ:
Cho M là biến nguyên, em hãy viết biểu thức xác định M chia hết cho 2 hoặc M không chia hết cho 2
3) Nội dung bài giảng
Tiết 14
Trang 2Hoạt động của GV Hoạt động của HS
Cách diễn đạt như vậy thuộc dạng thiếu
Ghi bảng
- Có thể diễn đạt bằng lời về cấu trúc như sau:
Nếu điều kiện thỏa mãn thì thực hiện công
việc
+TH2:
? Câu nói của An, khẳng định một trong hai
việc cụ thể nào chắc chắn sẽ xảy ra
? Có khi nào cả 2 việc đó cùng được thực
hiện không
? Vậy mỗi việc được thực hiện như thế nào
-> Đúng vậy, còn tùy thuộc vào điều kiện cụ
thể để lựa chọn thực hiện công việc phù hợp
Viết bảng
Cách diễn đạt như vậy thuộc dạng đủ
Ghi bảng
- Có thể diễn đạt bằng lời về cấu trúc như sau:
Nếu điều kiện thỏa mãn thì thực hiện công
- Ghi bài:
+ Dạng thiếu:
Có cấu trúc:
Nếu <điều kiện> thì <công việc>
Cấu trúc chung:
Nếu … thì …
- Trả lời:
+ Học trên phòng thực hành hoặc học ở lớp
+ Không + Mỗi việc được thực hiện tùy thuộc vào điều kiện (có điện hoặc không có điện)
- Ghi bài:
+ Dạng đủ
Có cấu trúc:
Nếu <điều kiện> thì <công việc 1>, ngược
Gọi HS lên bảng kiểm tra bài cũ
Gọi HS khác nhận xét Nhận xét, cho điểm ĐVĐ: Đây là nội dung các em đã được học ở bài số
6 và đây là một biểu thức logic Vậy để chuyển một
biểu thức như thế này sang ngôn ngữ lập trình, cụ
thể là ngôn ngữ lập trình Pascal, thì chuyển như thế
nào? Chúng ta xét sang bài hôm nay
Viết bảng
§9 CẤU TRÚC RẼ NHÁNH
1) Rẽ nhánh
VD1: Các em cùng xem câu hỏi tình huống
(Chiếu Slide)
+ TH1:
? Câu nói đó cho biết một việc làm cụ thể nào?
? Để thực hiện được công việc đó thì điều kiện phải
là gì
? Trong câu nói đó của An, có đề cập đến việc gì sẽ
xảy ra khi điều kiện đó không được thỏa mãn
không
Lên bảng viết biểu thức
- Nghe, đọc sách
- Ghi bài
- Trả lời câu hỏi:
+ Sẽ học trên phòng thực hành + Phải có điện
+ Không
Trang 3việc 1, ngược lại thì thực hiện công việc 2.
Chúng ta thấy, trong cuộc sống hàng ngày
cũng có rất nhiều đến những câu nói có sử
dụng đến mệnh đề nếu… thì…
? Vậy em nào có thể lấy thêm vài ví dụ mà
trong cuộc sống chúng ta vẫn sử dụng đến
mệnh đề nếu… thì…
Từ đó ta thấy, trong nhiều thuật, các thao tác
tiếp theo sẽ phụ thuộc vào kết quả nhận được
từ các bước trước đó
VD2: Giải phương trình bậc 2 dạng:
ax2 + bx + c = 0
? Em hãy nêu các bước để giải bài toán
-> Như vậy ta thấy, sau khi tính Delta, tùy
thuộc vào giá trị của Delta mà 1 trong 2 thao
tác sẽ được thực hiện
? Dựa vào sơ đồ khối, em hãy cho biết chỗ
nào trong sơ đồ thể hiện cấu trúc rẽ nhánh
=> Qua đây các em cho biết, vậy cấu trúc rẽ
nhánh là gì? Thông qua câu hỏi trắc nghiệm
sau:
? Em hãy chọn phương án đúng nhất khi nói
về cấu trúc rẽ nhánh
=> Mỗi NNLT đều có câu lệnh để mô tả cấu
trúc rẽ nhánh Vậy trong NNLT Pascal cấu
trúc rẽ nhánh được mô tả như thế nào, ta sang
phần 2
Ghi bảng
2) Câu lệnh if – then.
Tương ứng với 2 mệnh đề dạng thiếu và đủ ở
trên, Pascal có 2 dạng câu lệnh if – then như
sau:
a) Dạng thiếu
+ Cú pháp
Phát biểu bằng ngôn ngữ nói như sau: Nếu
điều kiện thỏa mãn thì câu lệnh sẽ được thực
hiện
+ VD1: Em hãy xác định đâu là “điều kiện”,
lại <công việc 2>
Cấu trúc chung Nếu … thì…, nếu không thì…
- Trả lời câu hỏi
- Lấy thêm ví dụ
- Trả lời câu hỏi
- Nghe
- Trả lời câu hỏi
* Khái niệm cấu trúc rẽ nhánh
Cấu trúc rẽ nhánh là 1 điều khiển chọn thực hiện hay không thực hiện công việc phù hợp1 điều kiện đang xảy ra
- Nghe
- Ghi bài
a) Dạng thiếu
+ Cú pháp:
if <điều kiện> then <câu lệnh>;
Trong đó:
- điều kiện: là biểu thức quan hệ hoặc biểu thức logic
- câu lệnh: là 1 câu lệnh của Pascal (VD: lệnh gán: max := a; hoặc lệnh xuất dữ liệu: writeln(‘gia tri lon nhat la Max’); …)
Trang 4đâu là “câu lệnh” trong VD đó.
+ Cách thức hoạt động của sơ đồ cấu trúc rẽ
nhánh
? Em hãy cho biết cách thức hoạt động của sơ
đồ cấu trúc rẽ nhánh
? Sử dụng cấu trúc if – then ở trên hãy viết
câu lệnh trong VD trên
VD2:
Gọi HS lên bảng, sử dụng câu lệnh if – then
để viết
b) Dạng đủ
+ Cú pháp
Phát biểu bằng ngôn ngữ nói như sau: Nếu
điều kiện thỏa mãn thì câu lệnh sẽ được thực
hiện
+ VD1: Em hãy xác định “câu lệnh 1” và “câu
lệnh 2” trong VD đó
+ Cách thức hoạt động của sơ đồ cấu trúc rẽ
nhánh
? Em hãy cho biết cách thức hoạt động của sơ
đồ cấu trúc rẽ nhánh
? Sử dụng câu lệnh if – then dạng đủ viết câu
lệnh diễn tả VD trên
Như các em đã biết, sau mỗi câu lệnh đều
kết thúc bởi dấu chấm phẩy, nhưng câu lệnh
trước từ khóa else không được dùng dấu
chấm phẩy
* Chú ý:
Cấu trúc if – then dạng đủ có thể lồng nhau:
Trong trường hợp if – then lồng nhau thì:
- Từ khóa Else sẽ ứng với if gần nó nhất
- Tất cả các câu lệnh trước từ khóa Else đều
không có dấu chấm phẩy
? Các em hãy quan sát lại toàn bộ cú pháp và
+ Cách thức hoạt động của sơ đồ cấu trúc
rẽ nhánh (SGK)
- Đứng tại chỗ trả lời + VD1:
If M mod 2 = 0 then
writeln(‘M la so chan’);
- Lên bảng viết VD 2:
If D < 0 then writeln(‘PTVN’);
- Nghe
- Ghi bài
b) Dạng đủ
+ Cú pháp:
if <điều kiện> then <câu lệnh 1> else
<câu lệnh 2>;
Trong đó:
- điều kiện, câu lệnh 1, câu lệnh 2: cũng tương tự như ở dạng thiếu
+ Cách thức hoạt động của sơ đồ cấu trúc
rẽ nhánh (SGK)
- Lên bảng viết VD:
+ VD:
If M mod 2 = 0 then writeln(‘M la so
chan’) else writeln(‘M la so le’);
* Chú ý: Trước từ khóa Else không có
dấu chấm phẩy
- Nghe
VD:
if D < 0 then writeln(‘PTVN’)
else
if D = 0 then writeln(‘PT co 1 nghiem’)
else writeln(‘PT co 2 nghiem’);
Trang 5sơ đồ cấu trúc rẽ nhánh của cả 2 dạng câu
lệnh if – then dạng thiếu và đủ, rồi hãy so
sánh sự giống và khác nhau của 2 dạng này?
* Hoạt động nhóm (3 phút):
Chia thành 2 nhóm:
- Nhóm 1: bài tâp 1
- Nhóm 2: bài tập 2
Các em trao đổi trong nhóm để cùng nhau
tìm ra cách giải quyết của bài toán, rồi đại
diện mỗi nhóm lên làm
* Trong bài tập nhóm 2:
Như các em vừa tìm hiểu ở trên thì câu lệnh,
câu lệnh 1, hay câu lệnh 2 là một câu lệnh của
Pascal nhưng trong VD này để đưa ra được
nghiệm của PTB2 thì đòi hỏi phải có đủ cả 4
câu lệnh đó Vì vậy 4 câu lệnh này phải tạo
thành một câu lệnh và đó là câu lệnh ghép
Vậy câu lệnh ghép là gì và được sử dụng như
thế nào, các em sẽ được tìm hiểu ở tiết 2 của
bài này
- Nghe
- Trả lời câu hỏi
- Nhóm 1:
if a > 0 then writeln(‘a la so duong’) else writeln(‘a la so am’);
- Nhóm 2: Câu lệnh 1 là writeln(‘PTVN’) Câu lệnh 2 gồm cả 4 câu lệnh đó
IV CỦNG CỐ
Trong phần củng cố các em sẽ cùng được tham gia một trò chơi ô chữ Trò chơi này gồm có 9 từ hàng ngang có liên quan đến nội dung bài học ngày hôm nay
Trong mỗi từ hàng ngang sẽ có một kí tự nằm trong từ khóa Các em có thể đọc
từ khóa bất kỳ lúc nào.
V BÀI TẬP VỀ NHÀ VÀ DẶN DÒ
+ Bài tập:
Viết câu lệnh rẽ nhánh kiểm tra xem a, b, c có phải là 3 cạnh của một tam giác không?
Bài 1 và 4 trang 50 – 51 SGK
+ Dăn dò:
Các em về nhà xem trước phần còn lại của bài này, giờ sau chúng ta học tiếp.
VI RÚT KINH NGHIỆM
Kí duyệt Người soạn Ngày 29/11/2011
Trang 6Nguyễn Thị Dung Tổ trưởng: Nguyễn Thị Thu Thủy