Tải bản đầy đủ (.docx) (18 trang)

Cấu trúc rẽ nhánh – Tin học lớp 11

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (199.68 KB, 18 trang )

- Tác giả: ………………………………..
- Chức vụ: Giáo viên Tin học
- Đơn vị công tác: Trường THPT ……………………….

CHUYÊN ĐỀ: CẤU TRÚC RẼ NHÁNH
(Bài 9. Cấu trúc rẽ nhánh – Tin học lớp 11)
PHẦN 1: GIỚI THIỆU CHUYÊN ĐỀ
1. Lý do chọn chuyên đề:
Để máy tính có thể giải được các bài toán xuất phát từ thực tế cuộc
sống thì con người cần phải học cách giao tiếp với máy tính.Việc giao tiếp đó
được thực hiện thông qua ngôn ngữ lập trình. Trong chương trình tin học lớp
11 học sinh được làm quen với ngôn ngữ lập trình và lập trình giải quyết các
bài toán đơn giản. Tuy nhiên để có thể sử dụng đúng cấu trúc cú pháp câu
lệnh vào các trường hợp cụ thể trong từng bài toán đòi hỏi học sinh phải sử
dụng các cấu trúc câu lệnh phù hợp. Một trong những cấu trúc được sử dụng
để giải quyết những công việc chỉ được thực hiện khi thoả mãn một điều kiện
cho trước là cấu trúc rẽ nhánh.
2. Đối tượng dạy học
- Học sinh khối 11 trường THPT Tam Dương II
3. Thiết bị dạy học và học liệu bổ trợ
- Máy tính, máy chiếu, giấy A3, bút dạ.
- SGK, sách giáo viên, tài liệu liên quan về cấu trúc rẽ nhánh của ngôn ngữ
lập trình Pascal.
4. Nội dung chuyên đề
4.1. Rẽ nhánh
- Cấu trúc Nếu… thì… được gọi là rẽ nhánh dạng thiếu
1


- Cấu trúc Nếu… thì…, nếu không thì… gọi là rẽ nhánh dạng đủ.
4.2. Câu lệnh IF – THEN


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ệnh 1> else <câu lệnh 2>;
4.3. Câu lệnh ghép
- Chức năng của lệnh ghép: Ghép hai hay nhiều câu lệnh thành một
nhóm lệnh
- Cấu trúc:
Begin
<Dãy các lệnh>
End;
PHẦN 2. KẾ HOẠCH DẠY HỌC CHUYÊN ĐỀ
1. Thời lượng (2 tiết)
2. Giáo án
Tiết 11. CÂU LỆNH RẼ NHÁNH
I. Mục tiêu bài học:
1. Kiến thức:
- Giới thiệu tổ chức rẽ nhánh, cú pháp và chức năng các câu lệnh rẽ nhánh
(dạnh thiếu và dạng đầy đủ).
2. Kỹ năng:
- Rèn luyện kỹ năng sử dụng câu lệnh rẽ nhánh để viết các chương trình
có sử dụng các câu lệnh này.
3. Thái độ:
- Học tập tích cực, nghiêm túc, yêu thích môn học đặc biệt là lập trình
II. Chuẩn bị
1. Giáo viên
- Phiếu trả lời, chương trình mẫu
- Giáo án
2



2. Học sinh
- Sách vở
III. Tiến trình lên lớp
Hoạt động

1. Khởi động

2. Hình thành kiến thức
3. Luyện tập
4. Mở rộng

Nội dung
- Nghe bài hát Tự nguyện và tình huống xuất
phát từ thực tế để tìm hiểu về rẽ nhánh
- Thực hiện chương trình giải phương trình bậc
hai với các bộ dữ liệu khác nhau
- Rẽ nhánh: dạng thiếu và dạng đủ
- Câu lệnh if – then: cấu trúc, hoạt động
- Áp dụng câu lệnh if – then vào thể hiện rẽ
nhánh với ví dụ giải phương trình bậc hai
- Áp dụng câu lệnh if – then vào viết chương
trình tìm số lớn nhất trong ba số

IV. Hướng dẫn cụ thể tiến trình dạy học
1. Tình huống xuất phát
(1) Mục tiêu:
- Tạo tinh thần thỏa mái, môi trường thân thiện cho học sinh trước khi
vào bài học
- Tạo động cơ để học sinh có nhu cầu quan tâm, tìm hiểu về câu lệnh

rẽ nhánh
(2) Phương pháp/ kỹ thuật dạy học: hoạt động cá nhân, hoạt động nhóm
(3) Phương tiện dạy học: Máy tính, máy chiếu.
(4) Sản phẩm: Học sinh có nhu cầu tìm hiểu về câu lệnh rẽ nhánh.

3


Nội dung hoạt động
Hoạt động của giáo viên
GV chia lớp thành 4 nhóm
GV cho Hs nghe một đoạn nhạc bài hát “Tự
nguyện”
GV dẫn dắt trong cuộc sống có rất nhiều
công việc muốn thực hiện được thì phải thoả
mãn một điều kiện cho trước nào đó.
GV. Đưa tình huống xuất phát trong thực tế
là đoạn hội thoại của hai bạn mèo và chó
? yêu cầu mỗi nhóm lấy một ví dụ có sử
dụng cấu trúc Nếu .. thì… và Nếu…
thì….Nếu không thì…
GV chốt lại
1. Rẽ nhánh
- Cấu trúc Nếu.. thì.. được gọi là rẽ nhánh
dạng thiếu
- Cấu trúc Nếu… thì.. nếu không thì… gọi là
rẽ nhánh dạng đủ
GV: Chiếu chương trình giải phương trình
bậc hai (Phụ lục 1) đã làm ở tiết trước gọi
hs lên bảng và thử với các bộ dữ liệu

TH1: 1 -5 6 (x1 = 2.00 x2 = 3.00)
TH2: 2 4 2 (x1= x2)
TH3: 1 1 1 chương trình báo lỗi
(? ) Tại sao chương trình báo lỗi

Hoạt động của học sinh

Các nhóm cử đại diện phát biểu

Học sinh ghi bài

HS thực hiện trên máy tính

Câu trả lời mong đợi
Do Delta < 0 nên không thực hiện
tính căn bậc hai của delta được

Giáo viên: Như vậy để có thể xử lý cho Hs nghe giảng
những trường hợp chỉ xảy ra khi thoả mãn
một điều kiện cho trước thì ngôn ngữ lập
trình cung cấp cho chúng ta câu lệnh if –
then để mô tả cấu trúc rẽ nhánh
2. Hình thành kiến thức
4


(1) Mục tiêu:
- Học sinh hiểu được cấu trúc rẽ nhánh dạng thiếu và dạng đủ
- Hiểu được cấu trúc, hoạt động của câu lệnh IF – THEN dạng
thiếu và dạng đủ

(2) Phương pháp/ kỹ thuật dạy học: Thuyết trình, Hoạt động nhóm
(3) Phương tiện dạy học: Máy tính, máy chiếu, máy ảnh
(4) Sản phẩm: Học sinh hiểu được cấu trúc, hoạt động cẩu câu lệnh IF
- THEN
Hoạt động của giáo viên
Giáo viên trình bày về câu lệnh if - then
2. Câu lệnh if – then
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ệnh 1> else 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
Hoạt động:
- Dạng thiếu: Nếu điều kiện đúng thì câu
lệnh được thực hiện nếu điều kiện sai câu
lệnh bị bỏ qua
- Dạng đủ: Nếu điều kiện đúng thì câu lệnh
1 được thực hiện nếu điều kiện sai thì câu
lệnh 2 được thực hiện

Hoạt động của học sinh
Hs ghi chép

Hs ghi chép

Hs ghi chép


Sơ đồ hoạt động:

5


Hs ghi chép

Hs ghi chép

3. Luyện tập vận dụng
(1) Mục tiêu: Học sinh vận dụng được câu lệnh IF – Then viết được đoạn
lệnh cho bài toán cụ thể
(2) Phương pháp/ kỹ thuật dạy học: Hoạt động nhóm, hoạt động cá nhân
(3) Phương tiện: Máy tính, máy chiếu, giấy A3
(4) Sản phẩm: Báo cáo kết quả hoạt động của nhóm mình
Hoạt động của giáo viên
Giáo viên cho các nhóm viết câu lệnh if –
then thể hiện ví dụ:
- Nếu delta >= 0 thì thông báo phương trình
có nghiệm
- Nếu delta<0 thì thông báo phương trình vô
nghiệm
- Nếu delta <0 thì thông báo phương trình
vô nghiệm nếu không thì thông báo phương
trình có nghiệm
GV yêu cầu một nhóm trình bày còn nhóm
còn lại nhận xét
Ví dụ 2: Viết câu lệnh if – then tìm giá trị
nhỏ nhất của hai số nguyên a, b.

GV: yêu cầu hai nhóm thực hiện viết câu

Hoạt động của học sinh
Hs làm việc theo nhóm để hoàn
thiện
Nhóm cử đại diện trình bày ví dụ

Hs làm việc theo nhóm để hoàn
thiện
Nhóm cử đại diện trình bày ví dụ
6


lệnh if – then dạng thiếu, và hai nhóm viết nhóm còn lại nghe và nhận xét
Câu trả lời mong đợi:
câu lệnh if then dạng đủ
Dạng thiếu
If aIf a>b then min:=b;
Dạng đủ
If aElse min:=b;
4. Hoạt động mở rộng
(1) Mục tiêu: Giúp những học sinh khá giỏi được luyện tập sâu hơn về câu
lệnh IF - THEN
(2) Phương pháp/ kỹ thuật dạy học: Hoạt động cá nhân tại nhà
(3) Phương tiện: SGK
(4) Sản phẩm: học sinh sử dụng được câu lệnh IF – THEN để giải bài
toán.


Hoạt động của giáo viên
Giáo viên cho hs các nhóm điền thực hiện ví

Hoạt động của học sinh

dụ: Viết câu lệnh if – then tìm giá trị lớn
nhất của ba số nguyên a, b, c.
(?) Đưa ra thuật toán cho bài toán trên

Câu trả lời mong đợi:
Cách 1.
Nếu a>=b và a>= c thì a là lớn
nhất
Nếu a=nhất
Nếu c>=b và c>=a thì c là lớn
nhất
Cách 2: dùng biến Max
Max:=a;
Nếu max <= b thì max := b;
Nếu max<= c thì max:= c;
Hs làm việc theo nhóm để hoàn
7


GV: yêu cầu nhóm 1 và 3 viết câu lệnh if - thiện
then theo cách 1
Nhóm 2, 4 viết theo cách 2

Nhóm cử đại diện trình bày ví dụ

nhóm còn lại nghe và nhận xét
Câu trả lời mong đợi
Cách 1.
If (a>=b) and (a>=c) then max:=a;
If (b>=a) and (b>=c) then

max:=b;
If (c>=a) and (c>=b) then max:=c;
GV yêu cầu viết chương trình nếu còn thời Cách 2.
Max:=a;
gian
if max <= b then max := b;
Chương trình:
if max<= c then max:= c;
program tim_max;
uses crt;
var a,b,c: integer;
begin
writeln('Nhap a, b,c: ');
readln(a, b, c);
if (a >= b) and (a>=c) then max:=a;
if (b>=a) and (b>=c) then max:=b;
if (c>=a) and (c>=b) then max:=c;
writeln('Gia tri lon nhat la ', max);
readln
end.
V. Củng cố dặn dò.
- Câu lệnh rẽ nhánh dạng thiếu dạng đủ,
- BTVN: HS hoàn thiện chương trình tìm Max của ba số;
Làm bài tập 4 SGK tr51.

Tiết 12. CÂU LỆNH RẼ NHÁNH
8


I. Mục tiêu bài học:
1. Kiến thức:
- Giới thiệu cú pháp và chức năng câu lệnh ghép
2. Kỹ năng:
- Rèn luyện kỹ năng sử dụng câu lệnh rẽ nhánh và câu lệnh ghép để viết
các chương trình có sử dụng các câu lệnh này.
3. Thái độ:
- Học tập tích cực, nghiêm túc
II. Chuẩn bị
1. Giáo viên
- Phiếu học tập
- Giáo án
2. Học sinh
- Sách vở
III. Tiến trình lên lớp
Hoạt động

1. Khởi động

Nội dung
- Đưa ra ví dụ trong trường hợp delta >0 và
trường hợp delta = 0 thì cần tính các giá trị
nghiệm và phải thực hiện nhiều hơn một lệnh
sau từ khoá then của câu lệnh if - then

2. Hình thành kiến thức


- Cấu trúc câu lệnh ghép
- Áp dụng câu lệnh if – then, câu lệnh ghép

3. Luyện tập

vào thể hiện rẽ nhánh với ví dụ giải phương
trình bậc hai
- Áp dụng câu lệnh if – then, câu lệnh ghép

4. Mở rộng

vào viết đoạn chương trình kiểm tra ba số có
tạo thành số đo ba cạnh của tam giác hay
không?

IV. Hướng dẫn cụ thể tiến trình dạy học
9


1. Tình huống xuất phát
(1) Mục tiêu: Tạo mâu thuẫn dẫn đến việc cần có câu lệnh ghép. Tạo nhu
cầu cần tìm hiểu kiến thức mới của học sinh.
(2) Phương pháp/ kỹ thuật dạy học: Thuyết trình, nêu và giải quyết vấn đề
(3) Phương tiện: máy tính, máy chiếu
(4) Sản phẩm: Học sinh có nhu cầu tìm hiểu kiến thức mới để giải quyến
vấn đề gặp phải.
Hoạt động của giáo viên

Hoạt động của học sinh


Sau khi học sinh đã tìm hiểu về cấu Câu trả lời mong đợi:
trúc if-then. GV chia lớp thành bốn
nhóm với yêu cầu sau
Nhóm 1:
Nhóm 1,3
If delta>0 then
Yêu cầu: viết đoạn lệnh thực hiện
writeIn(‘Phuong trinh co hai
yêu câu sau
Nghiem’);
Nếu delta > 0 thì
x1:= (-b+sqrt(delta))/(2*a);
- Thông báo phương trình có hai
x2:= (-b-sqrt(delta))/(2*a);
nghiệm
write(‘x1=‘,x1,’x2=‘,x2);
- Tính nghiệm x1
- Tính nghiệm x2
- Thông báo giá trị của x1,x2 ra
Nhóm 2:
màn hình
If delta=0 then
writeIn(‘Phuong trinh co
Nhóm 2,4
Nghiem kep’);
Yêu cầu: viết đoạn lệnh thực hiện
x:= -b+/(2*a);
yêu câu sau
write(‘x=‘,x);

Nếu delta = 0 thì
-

Thông

báo

phương trình có nghiệm kép
-

Tính nghiệm x

-

Thông báo giá trị
của x ra màn hình
10


Giáo viên đặt câu hỏi: trong cấu trúc Hs có thể có câu trả lời tuỳ ý
của câu lệnh if- then thì câu lệnh ở
đây được hiểu là một câu lệnh.
Nhưng thực tế với yêu cầu trên
chúng ta phải xử lý nhiều hơn một
câu lệnh. Vậy làm thế nào để không
bị lỗi về cú pháp và vẫn đảm bảo
tính đúng đắn
2. HÌNH THÀNH KIẾN THỨC
(1) Mục tiêu: Học sinh nắm được chức năng, cấu trúc của câu lệnh
ghép

(2) Phương pháp/ kỹ thuật dạy học: thuyết trình, phát vấn
(3) Phương tiện: máy tính, máy chiếu
(4) Sản phẩm: học sinh hiểu được chức năng của câu lệnh ghép.
Hoạt động của giáo viên
Hoạt động của học sinh
Giáo viên trình bày về câu lệnh ghép
Hs ghi chép
1. Câu lệnh ghép
- Chức năng của lệnh ghép:
Ghép hai hay nhiều câu lệnh
thành một nhóm lệnh
- Cấu trúc:
Begin
<Dãy các lệnh>
End;

3. LUYỆN TẬP VẬN DỤNG
(1) Mục tiêu: Học sinh vận dụng được cấu trúc rẽ nhánh, câu lệnh ghép để
viết chương trình cho một số bài toán đơn giản
(2) Phương pháp/ kỹ thuật dạy học: hoạt động nhóm/ cá nhân
11


(3) Phương tiện: máy tính, máy chiếu, máy ảnh
(4) Sản phẩm: Các chương trình là sản phẩm hoạt động nhóm của học
sinh
Hoạt động của giáo viên

Hoạt động của học sinh


- Giáo viên cho hs hai nhóm điền begin Hs làm việc theo nhóm để hoàn thiện
..end vào đúng vị trí trong ví dụ đã tìm
hiểu ở hoạt động 1
Nhóm 1,3:
If delta>0 then
Begin
writeIn(‘Phuong trinh co hai
Nghiem’);
x1:= (-b+sqrt(delta))/(2*a);
x2:= (-b-sqrt(delta))/(2*a);
write(‘x1=‘,x1,’x2=‘,x2);
End;
Nhóm 2, 4:
If delta=0 then
Begin
writeIn(‘Phuong trinh co
Nghiem kep’);
x:= -b+/(2*a);
write(‘x=‘,x);
End;
- Giáo viên chiếu chương trình giải
phương trình bậc hai (Phụ lục 2)

Nhóm cử đại diện báo cáo kết quả,
nhóm còn lại nghe và nhận xét

Nhóm cử đại diện báo cáo kết quả,
nhóm còn lại nghe và nhận xét

HS quan sát quá trình thực hiện của

chương trình và đặc biệt là quá trình
rẽ nhánh của thuật toán

ax2 + bx +c = 0 (a<>0) với các bộ
dữ liệu
TH1. 1 5 -6
TH2. 2 4 2
TH3 . 1 1 1
12


Với từng trường hợp hs quan sát kết
quả và nhận biết quá trình rẽ nhánh của
câu lệnh.

4. HOẠT ĐỘNG MỞ RỘNG
(1) Mục tiêu: Giúp những học sinh khá giỏi được luyện tập sâu hơn về câu
lệnh IF – THEN, câu lệnh ghép.
(2) Phương pháp/ kỹ thuật dạy học: Hoạt động cá nhân tại nhà
(3) Phương tiện: SGK
(4) Sản phẩm: học sinh sử dụng được câu lệnh IF – THEN để giải bài toán.

Hoạt động của giáo viên

Hoạt động của học sinh

Giáo viên cho hs hai nhóm thực hiện ví Hs làm việc theo nhóm để hoàn thiện
dụ:
Với a, b, c là ba số nguyên dương được
nhập vào từ bàn phím. Kiểm tra xem

ba số theo thứ tự nhập vào có tạo thành
số đo ba cạnh của tam giác không?
Nếu là tam giác thì tính chu vi tam
giác và hông báo kết quả ra màn hình.

Câu trả lời mong đợi
- Input: a, b, c
Viết đoạn chương trình thực hiện yêu
- Output: là số đo ba cạnh của tam
cầu trên
giác và giá trị chu vi hoặc không là số
(?) Xác định bài toán
đo ba cạnh của tam giác
Trả lời:
Nếu a < b + c và b< a + c và c < a + b
13


thì thông báo tạo thành số đo ba cạnh
(?) Ý tưởng giải quyết bài toán

của tam giác và tình chu vi, nếu
không thì thông báo không tạo thành
số đo ba cạnh của tam giác

Hs làm việc theo nhóm để hoàn thiện
Chương trình
program tamgiac;
uses crt;
var a, b, c: real;

cv : real;
Hs làm việc theo nhóm để hoàn thiện
begin
clrscr;
write('Nhap canh A: ');
Hs làm việc theo nhóm để hoàn thiện
readln(a);
write('Nhap canh B: ');
cử đại diện báo cáo
readln(b);
write('Nhap canh C: ');
readln(c);
if (a<(c+b)) and (c<(a+b))
and (b<(c+a)) then
begin
writeln(' la so
canh tam giac ');
cv:= a+b+c;

do

cac

writeln(' chu vi = ',cv);
end
else writeln(' khong la so
do cac canh tam giac ');
readln;
end.


5. Củng cố và hướng dẫn về nhà
* Cấu trúc rẽ nhánh
14


- 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ệnh 1> else <câu lệnh 2>;
* Câu lệnh ghép
Begin
<Dãy lệnh>
End;
BTVN: học sinh tiếp tục hoàn thiện chương trình kiểm tra ba số có tạo
thành cấp số cộng hay không
6. Kiểm tra đánh giá mức độ tiếp thu của học sinh cuối chuyên đề (Phụ lục 3)

15


Phụ lục 1
Chương trình giải phương trình bậc 2 chưa sử dụng câu lệnh if - then
var a,b,c,delta:real;
x1,x2:real;
begin
write('Nhap a, b, c : ');
readln(a,b,c);
delta:= sqr(b) - 4*a*c;
x1:= (-b-sqrt(delta))/(2*a);
x2:= (-b+sqrt(delta))/(2*a);
writeln('x1= ',x1:4:2);
writeln('x2= ',x2:4:2);

readln;
end.

Phụ lục 2
Chương trình giải phương trình bậc 2 hoàn chỉnh
program giai_ptb2;
uses crt;
var a,b,c,d: real;
x1, x2 ,x: real;
begin
clrscr;
write('Nhap a, b,c: ');
readln(a,b,c);
d:=b*b-4*a*c;
if d<0 then writeln('phuong trinh vo nghiem')
else
if d>0 then
16


begin
writeln('phuong trinh co hai nghiem phan biet');
x1:= (-b - sqrt(d))/(2*a);
x2:= -b/a - x1;
writeln('x1= ', x1:6:2,'x2= ', x2:6:2);
end
else
begin
writeln('phuong trinh co nghiem kep');
x:= -b/(2*a);

writeln('x= ',x:6:2);
end;
readln
end.

17


Phụ lục 3
Câu1: Cho N là biến kiểu nguyên, chọn câu đúng cú pháp :
a. If N < 10 then write (' Nho hon 10 ') ; else write (' Lon hon 10 ');
b. If N < 10 Write (' Nho hon 10 ') else then write (' Lon hon 10 ');
c. If N < 10 then write (' Nho hon 10 ') else write (' Lon hon 10 ');
d. If N < 10 then N := 10 else N > 20 then write (' N > 20 ');
Câu 2: Kiểm tra nếu ba số a, b, c đều lớn hơn 1 thì in số 1, chọn lệnh nào :
a. if (a > 1) and ( b > 1) and ( c > 1) then write(1);
b. if (a > 1) or (b > 1) or (c > 1) then write(1);
c. if a > 1 and b > 1 and c > 1 then write(1);
d. if a, b , c đều > 1 then write(1);
Câu 3: Cho hàm số:

Nhóm lệnh nào tính đúng y :
a. if x > 0 then y:=x ;

b. if x <= -1 then y:=2*x +1

if x > -1 then y:=Sin(x)
else
else
if x <=0 then y:=Sin(x)

y:= 2*x+1;
else y:=x;
Câu 4: Khi chạy chương trình :
Var S, i : Integer;
Begin
i := 3; S:= 40;
if ( i > 5 ) then S:= 5 * 3 + ( 5 - i ) * 2
else
if ( i > 2 ) then S:= 5 * i
else S:= 0;
End.
Giá trị sau cùng của S là :
a. 0
b. 19
c. 40

d. 15

Câu 5: Hãy chọn phương án ghép đúng nhất . Để mô tả cấu trúc rẽ nhánh trong
thuật toán, nhiều ngôn
ngữ lập trình bậc cao dùng câu lệnh IF – THEN, sau IF là <điều kiện> . Điều kiện

a. biểu thức lôgic; (*)
b. biểu thức số học;
c. biểu thức quan hệ;
d. một câu lệnh;

18