Để có thể lập được những chương trình nhằm giải quyết có hiệu quả những bài toán phức tạp hơn, ta thường sử dụng cấu trúc điều khiển cơ bản.. Các cấu trúc tuần tự, rẽ nhánh, lặp.[r]
Trang 1Ngày soạn 23/11/2019 Ngày dạy: Từ 25/11/2019 đến 11/12/2019 Tuần: từ 14 đến 16
Tiết : 14 - 16
CHỦ ĐỀ 5 – CẤU TRÚC RẼ NHÁNH
(3 TIẾT)
I MỤC TIÊ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 đủ)
- Hiểu câu lệnh ghép;
- 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;
- Củng cố cấu trúc rẽ nhánh thông qua các bài tập
- Hoàn thiện thêm quá trình lập trình bằng cách bổ sung bước phân tích tổng hợp dữ liệu trước khi thiết kế, chọn thuật toán, lập chương trình và hiệu chỉnh chương trình
- Giúp cho học sinh nắm vững cú pháp và cách thực hiện của câu lệnh if
- Giúp cho học sinh vận dụng câu lệnh vào việc giải quyết một số bài toán cụ thể
- Phải vận dụng được câu lệnh giải quyết một số bài toán cụ thể
2 Kỹ năng:
- Có khả năng phân tích bài toán đơn giản để chọn kiểu cấu trúc điều khiển phù hợp từng thao tác
- Biết diễn đạt đúng các câu lệnh, soạn được chương trình giải các bài toán đơn giản áp dụng các loại cấu trúc điều khiển
- Bước đầu hình thành khái niệm lập trình có cấu trúc
3 Thái độ:
- Xác định thái độ nghiêm túc trong học tập khi tiếp xúc với nhiều qui định nghiêm ngặt trong lập trình
- Tiếp tục rèn luyện các phẩm chất cần thiết người lập trình
- Ham muốn giải các bài tập bằng lập trình
4 Định hướng phát triển năng lực:
- Năng lực chung: Năng lực tư duy, giải quyết vấn đề, tự học, hợp tác, sử dụng ngôn ngữ
Trang 2- Năng lực chuyên biệt: Vận dụng ngôn ngữ lập trình và sử dụng ngôn ngữ lập trình để các giải bài toán đơn giản trong cuộc sống
II CHUẨN BỊ CỦA GIÁO VIÊN, HỌC SINH:
1 Chuẩn bị của giáo viên: giáo án, SGK, máy chiếu, phấn, một số hình ảnh, ví dụ mình
họa cho bài dạy
2 Chuẩn bị của học sinh: SGK, vở, bút …
III PHƯƠNG PHÁP VÀ KỸ THUẬT DẠY HỌC:
- Phương pháp: Thuyết trình, trình diễn, vấn đáp, hoạt động nhóm, nêu tình huống có
vấn đề,
- Kỹ thuật dạy học: kỹ thuật động não, thông tin phản hồi trong quá trình dạy học, kỹ
thuật tia chớp và lược đồ tư duy
IV TIẾN TRÌNH LÊN LỚP:
A KHỞI ĐỘNG
Hoạt động 1:
GV: Đưa chương trình BTTH số 1 để chạy chương trình với bộ giá trị 1 1 1, chương
trình báo lỗi Tại sao?
Hs: trả lời (delta âm) GV có thể yêu cầu học sinh nhẩm tính nhanh
GV: Trong chương trình chúng ta thấy có đoạn chương trình nào thể hiện với trường
hợp delta âm chưa?
Từ trước đến nay, ta mới chỉ làm quen với những chương trình rất đơn giản Để có thể lập được những chương trình nhằm giải quyết có hiệu quả những bài toán phức tạp hơn, ta thường sử dụng cấu trúc điều khiển cơ bản Các cấu trúc tuần tự, rẽ nhánh, lặp
B HÌNH THÀNH KIẾN THỨC VÀ LUYỆN TẬP
Hoạt động 2: Tìm hiểu rẽ nhánh
GV chiếu câu chuyện của hai bạn trao
đổi về họp nhóm để đưa ra các dạng
của mệnh đề
Hoạt động nhóm:
Hãy điền vào chổ trống để tạo thành
mệnh đề
1 Nếu trời mưa thì nghỉ chào cờ
2 Nếu delta=0 thì phương trình có
nghiệm kép
3 Nếu delta<0 thì phương trình vô
nghiệm
4 Nếu a>b thì a là số lớn hơn
1 Rẽ nhánh:
- Nếu thì
- Nếu thì nếu không thì
VD1: Kết quả bầu cán sự học tập môn Tin
học cho biết bạn An được p phiếu, bạn Vinh được q phiếu Ai cao phiếu nhất sẽ làm cán sự Nếu hai bạn có cùng số phiếu thì phải bầu lại
- Input: p,q
- Output: Max
Trang 3Nếu không thì b là số lớn hơn
5 Nếu a chia hết cho 2 thì a là số chẵn
Nếu không thì a là số lẻ
Nêu được thuật toán để giải bài toán này?
GV:
- Nêu được thuật toán để giải bài toán
này?
- Kiểm tra N chia hết cho 2?
- N có bao nhiêu khả năng?
- N có thể vừa chẳn, vừa lẽ không?
GV:
- a>b và N mod 2=0 gọi là gì?
- Max:=a, Max:=b và thông báo n chẳn và
n lẽ là gì?
HS:
- Biểu thức quan hệ
- Câu lệnh
- Giải thuật:
So sánh a và b:
+ Nếu p>q thì thông báo An la CS, rồi kết thúc
+ Nếu q>p thì thông báo Vinh la CS, rồi kết thúc
+ Nếu p=q thì thông báo bầu lại
VD2: Nhập vào một số nguyên N và kiểm
tra xem N là số chẳn hay lẻ
- Input: N
- Output: thông báo N số chẳn, số lẻ
- Giải thuật:
Kiểm tra N mod 2 =0:
+ Nếu đúng thì thông báo N là số chẳn + Nếu không thì N là số lẻ
Hoạt động 3: Tìm hiểu câu lệnh rẽ nhánh
GV: có hai dạng mệnh đề trên được TP thể
hiện tổ chức rẽ nhánh
HS: tự xây dựng cấu trúc theo sơ đồ
Dựa vào 2 sơ đồ khối của VD trên để giới
thiệu cho học sinh cấu trúc rẽ nhánh
Gọi hs nêu cách thực hiện 2 cấu trúc rẽ
nhánh
Biểu thức quan hệ, biểu thức logic?
Hoạt động nhóm củng cố cú pháp:
Câu lệnh nào sau đây đúng cú pháp
if a>0 then write(la so duong);
if a>0 then write(a, la so duong);
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>;
Câu lệ nh Điề u kiệ n Đúng
Sai
N mod 2= 0 Đúng Sai
N là số chẳ n
N là số
lẻ
Trang 4if a>0 then write(‘la so duong’)
if a>0 then write(a,’la so duong’);
If a>0 then write(a,'la so duong'); else
write(a,'la so am');
If a>0 then write(a,'la so duong') else
write(a,'la so am')
If a>0 then write(a,'la so duong') else
write(a,'la so am');
If a>0 then write(a,'la so duong') eslse
write(a,'la so am');
Trong đó:
- Điều kiện: Là biểu thức Logic hoặc biểu thức quan hệ
- Câu lệnh: một câu lệnh của TP
Hoạt động 4: Tìm hiểu cách thực hiện
Hoạt động củng cố cách thực hiện của
câu lênh if-then
Hãy cho biết kết quả khi thực hiện câu
lệnh sau:
If 3>1 then write('Xin chao');
If 3<1 then write('Xin chao');
Hãy cho biết kết quả sau khi thực hiện
đoạn lệnh sau:
a:=1;
b:=4;
if a>b then write(a-b)
else write(b-a);
Cách thực hiện:
- Dạng thiếu: điều kiện sẽ được tính và kiểm tra nếu điều kiện đúng thì câu lệnh được thực hiện, ngược lại thì câu lệnh sẽ bị bỏ qua
- Dạng đủ: điều kiện sẽ được tính và kiểm tra nếu điều kiện đúng thì câu lệnh 1 được thực hiện, ngược lại thì câu lệnh 2 sẽ được thực
hiện
Hoạt động 5: Tìm hiểu câu lệnh ghép
GV:
- Sau then và Else thực hiện bao nhiêu
câu lệnh?
- Muốn thực hiện nhiều hơn 1 câu lệnh
làm thế nào?
- Giải thích câu lệnh ghép
HS trả lời
GV: Delta>0 có bao nhiêu nghiệm muốn
thực hiện làm thế nào?
Gọi học sinh lên bảng ghi câu lệnh
3 Câu lệnh ghép:
Câu lệnh ghép (câu lệnh hợp thành) là gộp một dãy câu lệnh thành một câu lệnh
Cú pháp:
Begin
<Các câu lệnh>;
End;
VD: IF Delta>0 THEN Begin
X1:=-b-sqrt(delta)/(2*a); Write(‘x1=’,x1);
Cl1 điều kiện Đúng Sai
Cl2
Trang 5Hoạt động củng cố sử dụng câu lệnh
ghép
Hãy cho biết kết quả của đoạn lệnh sau:
a:=1; b:=3;
If a>b then
Begin
a:=a+1;
b:=a+b;
End;
a:=1; b:=3;
If a>b then a:=a+1;
b:=a+b;
X2:=-b+sqrt(delta)/(2*a);
Write(‘x2=’,x2);
End;
C VẬN DỤNG:
Hoạt động 6: Ví dụ áp dụng
Gọi hs lên viết chương trình hoàn chỉnh
cho ví dụ 1
GV kiểm tra các hs dưới lớp
program VD1;
uses crt;
var p,q:integer;
begin clrscr;
write('Nhap so p,q: ');readln(p,q);
if p>q then write(' An la can su mon Tin hoc');
if p<q then write(' Vinh la can su mon Tin hoc');
if p=q then write(' Bau lai');
readln;
end
Hoạt động 7: Ví dụ áp dụng
GV: gọi hs lên bảng viết chương trình
HS: Viết chương trình vào vở
GV: thu nhanh một số học sinh kiểm tra
Kiểm tra học sinh dưới lớp viết chương
trình
4 Ví dụ áp dụng:
* Hãy viết chương trình hoàn chỉnh 2 ví dụ trên:
Program CT1;
Var a, b, Max: integer;
Trang 6GV:
- gọi hs nhận xét chương trình trên bảng
- nhận xét và hoàn chỉnh chương trình
GV: có thể cho hoạt động nhóm hoặc gọi
hs nhận xét 2 đoạn chương trình sau:
Đoạn 1:
If <điều kiện > then
Begin
<câu lệnh 1>;
If <điều kiện 2> then < câu lệnh 2>
End
Else <câu lệnh3>;
Đoạn 2
If <điều kiện > then <câu lệnh 1>;
If <điều kiện 2> then < câu lệnh 2>
Else <câu lệnh3>;
Begin
Write(‘Nhap a =’ );Readln(a);
Write(‘Nhap b =’ );Readln(b);
Max:=a;
If b>Max then Max:=b;
Write(‘Max = ’, Max);
Readln;
End
Program CT2;
Var a,b,c: integer;
Begin
Write(‘Nhap so a,b,c=’);
Readln(a,b,c);
If (a<>0) then begin x:=-b/a; write(x);end Else
If b=0 then write(‘PTVSN’) Else write(‘PTVN’);
Readln;
End
Hoạt động 8: Củng cố lý thuyết câu lệnh rẽ nhánh
Chia cả lớp thành 4 nhóm Các nhóm lần
lượt chọn các câu hỏi trắc nghiệm Nhóm
nào trả lời đúng sẽ được cộng điểm
Câu 1
If a>b then c:=a+b else c:=a-b;
Câu 2
- Câu lệnh rẽ nhánh dạng thiếu
- Điều kiện (a>b) and (a>c)
- 3 la so lon nhat
Câu 3
Câu 1 Hãy chuyển đổi biểu thức sau qua
câu lệnh if
C=
b a
b a
b a
b a
Câu 2 Cho câu lệnh sau:
If (a>b) and (a>c) then Write (a,’ la so lon nhat’);
- Câu lệnh rẽ nhánh dạng gì?
- Điều kiện trong câu lệnh?
- Với a=3, b=2, c=1 câu lệnh trên cho kết quả?
Câu 3 Giá trị của a, b sau khi thực hiện
đoạn lệnh:
Trang 7a=2, b=2;
Câu 4
a=4, b=2
a:=4; b:=2;
If (a mod b<>0) then a:=a+b Else a:=a-b;
Câu 4 Giá trị của a,b sau khi thực hiện
đoạn lệnh:
a:=5; b:=2;
If (a mod b<>0) then begin a:=a+1; a:=a-b; End
Else a:=a-b;
Hoạt động 9: Sửa lỗi chương trình
Progam vidu;
Var a,b,c: integer;
Begin
Write(‘Nhap a,b: ’); readln(a,b);
If a>b then c:=sqrt(a+b)
Else c:=sqr(a+b);
Write(‘ket qua la: ‘, c);
Readln
End
Progam vidu;
Var a,b,c: integer Begin
Wtrite(Nhap a,b: ); realn(ab);
If a>b then c=sprt(a+b);
Else c:=sqr(a+b) Wtrite(ket qua la: c);
Realn End
D MỞ RỘNG
Bài 1 Một cửa hàng Bách hóa niêm yết giá bán thông thường là 1 cuốn vở có giá X đồng (với 1000 ≤ X ≤ 5000) Để phục vụ học sinh đầu năm học mới, cửa hàng có chương trình khuyến mãi đặc biệt dành cho các em học sinh như sau: giá một quyển vở được giảm 10% so với giá ban đầu, ngoài ra nếu tổng số tiền mua vở từ 30000 đồng đến 50000 đồng được giảm 2%, trên 50000 đồng được giảm 3% tổng số tiền mua Biết được thông tin này, bạn Tý đã nhanh chân đến cửa hàng mua một số lượng vở là N quyển đủ phục vụ cho cả năm học (với 1≤N≤150)
Yêu cầu: Hãy lập trình tính số tiền bạn Tý đã dùng để mua vở
Dữ liệu vào: X và N được nhập vào từ bàn phím
Kết quả: Đưa ra màn hình số tiền bạn Tý đã mua
Bài 2 Hưởng ứng phong trào thi đua bảo vệ môi trường của Đoàn viên thanh niên, Đoàn trường phát động các chi đoàn thu gom giấy vụn, với yêu cầu mỗi đoàn viên, thanh niên phải thu gom được K kg Để khuyến khích các chi đoàn thực hiện phong trào một cách tích cực đồng thời tạo cho các chi đoàn có nguồn quỹ để thưởng cho các đoàn viên thanh niên xuất sắc, đoàn trường đã quyết định trích lại một phần số lượng thu gom được cho các chi đoàn với quy định như sau:
Trang 8- Nếu tổng số thu gom của chi đoàn đạt trên 500kg sẽ được trích lại 10%;
- Nếu tổng số thu gom của chi đoàn đạt từ 300kg đến 500kg sẽ được trích lại 5%;
Chi đoàn 10A trường THPT Lê Lợi có N (1≤N≤50) học sinh đã tích cực hưởng ứng phong trào thi đua của đoàn trường Em hãy xây dựng thuật toán và viết chương trình tính xem chi đoàn 10A thu gom được bao nhiêu kg giấy vụn và trích được nguồn quỹ là bao nhiêu, biết mỗi kg giấy vụn có giá 3000 đồng
V HƯỚNG DẪN HS TỰ HỌC
1 Hướng dẫn học bài cũ:
- Học bài cũ:
1 Cú pháp và cách thực hiện câu lệnh rẽ nhánh, câu lệnh ghép
2 Khi nào thì dùng câu lệnh rẽ nhánh, câu lệnh ghép? Lấy ví dụ?
2 Hướng dẫn chuẩn bị bài mới:
- Chuẩn bị bài mới: Ôn tập
Bài 1: Nhập vào 3 số nguyên Cho biết đó có phải là số đo của 3 cạnh một tam giác hay không?
Bài 2 Nhập số giờ làm và lương giờ rồi tính số tiền lương tổng cộng Nếu số giờ làm lớn hơn 40 thì những giờ làm quá được trả gấp 1,5 lần bình thường