Thiết kế phần mềm dạy học: Bài cấu trúc rẽ nhánh (môn Tin học 11)
THIẾT KẾ PHẦN MỀM DẠY HỌC
BÀI 9: CẤU TRÚC RẼ NHÁNH
(MÔN TIN HỌC 11)
TRÌNH BÀY CHI TIẾT TỪNG MODUL
1. MODUL 1
1.1. Nội dung
- Tìm hiểu ý nghĩa cấu trúc rẽ nhánh
1.2. Câu hỏi tổng quát
Câu hỏi Q1
Áp dụng cấu trúc rẽ nhánh để mô tả bài toán: giải phương trình bậc hai: ax
2
+
bx + c = 0, (a ≠0)
1.3. Tập hoạt động cuat thày
Hoạt động dạy T1
- Đưa ra tình huống thực tế về rẽ nhánh:
Ví dụ, Châu và Ngọc thường cùng nhau chuẩn bị các bài thực hành môn Tin
học. Ngọc hỏi Châu: “Này ngày mai cậu có đi học nhóm không?”
(1) “Nếu ngày mai mưa thì tớ nghỉ”
(2) “À! Nếu ngày mai mưa thì tớ nghỉ, nếu không mưa thì tớ đến nhà cậu học nhé”
- Nêu nhận xét từ ví dụ trên
(1): Cách diễn đạt dạng thiếu: Nếu … thì …
Cho ta biết việc làm cụ thể sẽ được thực hiện nếu điều kiện được thỏa mãn, không
đề cập đến việc gì sẽ xảy ra nếu điều kiện không thỏa mãn.
(2): Cách diễn đạt dạng đủ: Nếu … thì …, nếu không thì …
→ Khẳng định một trong hai việc cụ thể chắc chắn sẽ xảy ra tùy theo điều kiện có
thỏa mãn hay không.
=> Cấu trúc dùng để mô tả các mệnh đề có dạng như trên được gọi là “cấu trúc rẽ
nhánh thiếu và đủ”.
2_1
: Sử dụng câu lệnh rẽ nhánh tìm số lớn nhất max trong hai số a và b.
- Câu hỏi Q
2_2
: Khi nào sử dụng câu lệnh rẽ nhánh thiếu, câu lệnh rẽ nhánh đủ ?
2.3. Tập hoạt động của thày
Hoạt động của thầy T2
- Để mô tả cấu trúc rẽ nhánh đã trình bày ở T
1
, Pascal dùng câu lệnh if-then.
Tương ứng với hai dạng thiếu và đủ thì Pascal có hai dạng câu lệnh if – then:
àDạng thiếu
if <điều kiện> then <câu lệnh>;
àDạng đủ
if <điều kiện> then <câu lệnh1> else <câu lệnh 2>;
Trong đó:
+ Đ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à một câu lệnh của Pascal
- Đưa ra sơ đồ à yêu cầu học sinh đối chiếu hai dạng câu lệnh if – then
- Phân tích lý thuyết đối chiếu với ví dụ đi kèm
+ Dạng thiếu: If <điều kiện> then <câu lệnh>;
VD1
: If D < 0 then writeln (‘Phuong trinh vo nghiem.’);
à Điều kiện sẽ được tính và kiểm tra. Nếu điều kiện đúng (có giá trị true) thì câu
lệnh sẽ được thực hiện, ngược lại thì câu lệnh sẽ được bỏ qua.
+ Dạng đủ: If <điều kiện> then <câu lệnh1> else <câu lệnh 2>;
VD2
: If a mod 3 = 0 then write(‘a chia het cho 3’)
Câu1:
Câu lệnh rẽ nhánh có hai dạng: Dạng thiếu và dạng đủ
A. True
B. False
Đáp án là: A. True
3. MODUL 3
3.1. Nội dung
- Câu lệnh ghép
3.2. Câu hỏi tổng quát
Câu hỏi Q3
- Câu hỏi Q
3_1
: áp dụng câu lệnh ghép viết chương trình giải phương trình bậc hai:
ax
2
+ bx + c = 0, (a ≠0).
- Câu hỏi Q
3_2
: Hãy nêu sự cần thiết của việc dùng câu lệnh ghép.
3.3. Tập hoạt động của thày
Hoạt động dạy T3
- Đặt vấn đề về câu lệnh ghép: (câu hỏi Q
3_1
)
Xét bài toán phương trình bậc 2: ax
2
+ bx + c = 0, (a ≠0)
có: delta D := b*b-4*a*c
Nếu D> 0 thì phương trình có hai nghiệm và ta phải tính:
Hãy viết dạng của câu lệnh ghép Pascal
Đáp án là:
begin
<các câu lệnh>;
end;
4. MODUL 4
4.1. Nội dung
- Vận dụng câu lệnh rẽ nhánh vào bài toán giải phương trình bậc 2
4.2. Câu hỏi tổng quát
Câu hỏi Q4:
Tìm nghiệm thực của phương trình bậc 2:
ax
2
+ bx + c = 0, (a ≠0)
4.3. Tập hoạt động của thày
Hoạt động dạy T4:
- Nêu bài toán và yêu cầu HS nêu ra các bước của câu hỏi Q
4
Xác định chính xác Input, Output .
Từ ngôn ngữ tự nhiên, hướng học sinh viết chương trình Pascal tương ứng, sử
dụng câu lệnh rẽ nhánh với điều kiện của delta D.
Yêu cầu HS hoàn thiện chương trình trên máy (kết nối pascal)
Đưa bản demo (flash) chạy từng bước chương trình à học sinh hiểu rõ ràng,
tổng quan chương trình.
4.4. Tập hoạt động của trò
Hoạt động học H4
- Yêu cầu học sinh viết chương trình trên máy (có kết nối đến pascal) rồi đối
chiếu, so sánh với đáp án (có sẵn đáp án, có dự đoán được một số lỗi cơ bản học
sinh có thể gặp-> khi gặp đưa ra thông báo nhằm gợi ấn tượng cho hs)
- Nêu demo (flash) thể hiện từng bước chạy của ví dụ à hs hiểu rõ hơn về
chương trình.
- Đưa ra chú ý trong việc dùng dấu ngoặc ( ) trong biểu thức của If
If (N mod 400) or ((N mod 4=0) and (N mod 100 <>0))
- Vừa nêu vừa phân tích đối chiếu và tổng hợp lại lý thuyết If–then
If <điều kiện> then <câu lệnh1> else <câu lệnh 2>;
Ví dụ:
if (N mod 400) or ((N mod 4=0) and (N mod 100 <>0))
then SN:=366 else SN:=365;
5.4. Tập hoạt động của trò
Hoạt động của học sinh H5
- Phân tích bài toán, tự giải quyết bài toán.
- Theo dõi phân tích và hướng dẫn ví dụ.
- Tự viết chương trình trong môi trường pascal .
- So sánh bài làm với đáp án.
- Tự tổng hợp kiến thức bài học và trả lời các câu test trắc nghiệm củng cố.
5.5. Câu hỏi trắc nghiệm
6. MODUL 6
6.1. Nội dung
6.2. Câu hỏi tổng quát
Câu hỏi Q6
- Câu hỏi Q
6_1
: Hãy xác định else của câu lệnh if nào trong hai đoạn chương trình
sau
Trang 5
Thiết kế phần mềm dạy học: Bài cấu trúc rẽ nhánh (môn Tin học 11)
- Tự phân tích và xác định hai đoạn chương trình nêu ở N6, so sánh với đáp án.
- Phân tích bài toán, tự giải quyết bài toán ở câu hỏi Q
6_2
, có thể tham khảo đáp
án.
- Tự tổng hợp, hiểu và biết vận dụng câu lệnh rẽ nhánh dạng thiếu và đủ.
6.5. Câu hỏi trắc nghiệm
Câu 1: Nối đáp án của cột A phù hợp với cột B
Cột A Cột B
1. If a mod 3 = 0
2. If b < a
3. If Delta < 0
A. Then write(‘a chia het cho 3’);
B. Then write(‘Phuong trinh vo nghiem’);
C. Then max:=a else max:=b
Đáp án là: 1A 2C 3B
Trang 6