Để 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]
(1)Ngà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Ủ ĐỀ – 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ấu trúc rẽ nhánh biểu diễn thuật toán; - Hiểu câu lệnh rẽ nhánh (dạng thiếu dạng đủ)
- Hiểu câu lệnh ghép;
- Sử dụng cấu trúc rẽ nhánh mơ tả thuật tốn số tốn đơn giản;
- Củng cố cấu trúc rẽ nhánh thơng qua tập
- Hồn thiện thêm trình lập trình cách bổ sung bước phân tích tổng hợp liệu trước thiết kế, chọn thuật tốn, lập chương trình hiệu chỉnh chương trình
- Giúp cho học sinh nắm vững cú pháp cách thực 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 số toán cụ thể
- Phải vận dụng câu lệnh giải số toán cụ thể 2 Kỹ năng:
- Có khả phân tích tốn đơn giản để chọn kiểu cấu trúc điều khiển phù hợp thao tác
- Biết diễn đạt câu lệnh, soạn chương trình giải tốn đơn giản áp dụng 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 học tập tiếp xúc với nhiều qui định nghiêm ngặt lập trình
- Tiếp tục rèn luyện phẩm chất cần thiết người lập trình - Ham muốn giải tập lập trình
4 Định hướng phát triển lực:
(2)Chủ đề 5.2 - Năng lực chuyên biệt: Vận dụng ngôn ngữ lập trình sử dụng ngơn ngữ lập
trình để giải toán đơn giản sống
II CHUẨN BỊ CỦA GIÁO VIÊN, HỌC SINH:
1 Chuẩn bị giáo viên: giáo án, SGK, máy chiếu, phấn, số hình ảnh, ví dụ họa cho dạy
2 Chuẩn bị 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 có vấn đề,
- Kỹ thuật dạy học: kỹ thuật động não, thông tin phản hồi trình dạy học, kỹ thuật tia chớp lược đồ tư
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ố để chạy chương trình với giá trị 1 1, chương
trình báo lỗi Tại sao?
Hs: trả lời (delta âm) GV yêu cầu học sinh nhẩm tính nhanh
GV: Trong chương trình thấy có đoạn chương trình thể với trường
hợp delta âm chưa?
Từ trước đến nay, ta làm quen với chương trình đơn giản Để lập chương trình nhằm giải có hiệu toán phức tạp hơn, ta thường sử dụng cấu trúc điều khiể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
HOẠT ĐỘNG CỦA THẦY VÀ TRÒ NỘI DUNG CƠ BẢN
GV chiếu câu chuyện hai bạn trao đổi họp nhóm để đƣa 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 nghỉ chào cờ
2 Nếu delta=0 phƣơng trình có
nghiệm kép
3 Nếu delta<0 phương trình vơ nghiệm
4 Nếu a>b a số lớn
1 Rẽ nhánh:
- Nếu - Nếu khơng
VD1: Kết bầu cán học tập môn Tin
học cho biết bạn An p phiếu, bạn Vinh q phiếu Ai cao phiếu làm cán Nếu hai bạn có số phiếu phải bầu lại
(3)Nếu khơng b số lớn
5 Nếu a chia hết cho a số chẵn Nếu khơng a số lẻ
Nêu thuật toán để giải toán này?
GV:
- Nêu thuật toán để giải toán này?
- Kiểm tra N chia hết cho 2? - N có khả năng?
- N vừa chẳn, vừa lẽ khơng?
GV:
- a>b N mod 2=0 gọi gì?
- Max:=a, Max:=b thơng báo n chẳn n lẽ gì?
HS:
- Biểu thức quan hệ - Câu lệnh
- Giải thuật: So sánh a b:
+ Nếu p>q thơng báo An la CS, kết thúc
+ Nếu q>p thơng báo Vinh la CS, kết thúc
+ Nếu p=q thơng báo bầu lại
VD2: Nhập vào số nguyên N kiểm
tra xem N 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 =0:
+ Nếu thơng báo N số chẳn + Nếu khơng N số lẻ
Hoạt động 3: Tìm hiểu câu lệnh rẽ nhánh
HOẠT ĐỘNG CỦA THẦY VÀ TRÒ NỘI DUNG CƠ BẢN
GV: có hai dạng mệnh đề 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 sơ đồ khối VD để giới thiệu cho học sinh cấu trúc rẽ nhánh
Gọi hs nêu cách thực 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 sau 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= Đúng Sai
N số chẳ n N số
(4)Chủ đề 5.4 if 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 biểu thức quan hệ
- Câu lệnh: câu lệnh TP
Hoạt động 4: Tìm hiểu cách thực
HOẠT ĐỘNG CỦA THẦY VÀ TRÒ NỘI DUNG CƠ BẢN
Hoạt động củng cố cách thực câu lênh if-then
Hãy cho biết kết thực 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 sau thực đ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 tính kiểm tra điều kiện câu lệnh thực hiện, ngược lại câu lệnh bị bỏ qua
- Dạng đủ: điều kiện tính kiểm tra điều kiện câu lệnh thực hiện, ngược lại câu lệnh thực hiện
Hoạt động 5: Tìm hiểu câu lệnh ghép
HOẠT ĐỘNG CỦA THẦY VÀ TRÒ NỘI DUNG CƠ BẢN
GV:
- Sau then Else thực câu lệnh?
- Muốn thực nhiều câu lệnh làm nào?
- Giải thích câu lệnh ghép HS trả lời
GV: Delta>0 có nghiệm muốn
thực làm 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) gộp dãy câu lệnh thành 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
(5)Hoạt động củng cố sử dụng câu lệnh ghép
Hãy cho biết kết đ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
HOẠT ĐỘNG CỦA THẦY VÀ TRÒ NỘI DUNG CƠ BẢN
Gọi hs lên viết chương trình hồn chỉnh cho ví dụ
GV kiểm tra hs 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
HOẠT ĐỘNG CỦA THẦY VÀ TRÒ NỘI DUNG CƠ BẢN
GV: gọi hs lên bảng viết chương trình HS: Viết chương trình vào
GV: thu nhanh số học sinh kiểm tra
Kiểm tra học sinh lớp viết chương trình
4 Ví dụ áp dụng:
* Hãy viết chương trình hồn chỉnh ví dụ trên:
Program CT1;
(6)Chủ đề 5.6
GV:
- gọi hs nhận xét chương trình bảng - nhận xét hồn chỉnh chương trình
GV: cho hoạt động nhóm gọi
hs nhận xét đ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
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
HOẠT ĐỘNG CỦA THẦY VÀ TRÒ NỘI DUNG CƠ BẢN
Chia lớp thành nhóm Các nhóm chọn câu hỏi trắc nghiệm Nhóm trả lời cộng điểm
Câu
If a>b then c:=a+b else c:=a-b;
Câu
- Câu lệnh rẽ nhánh dạng thiếu - Điều kiện (a>b) and (a>c) - la so lon nhat
Câu
Câu 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 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 câu lệnh?
- Với a=3, b=2, c=1 câu lệnh cho kết quả?
Câu Giá trị a, b sau thực
(7)a=2, b=2;
Câu
a=4, b=2
a:=4; b:=2;
If (a mod b<>0) then a:=a+b Else a:=a-b;
Câu Giá trị a,b sau thực
đ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
HOẠT ĐỘNG CỦA THẦY VÀ TRỊ NỘI DUNG CƠ BẢN
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 Một cửa hàng Bách hóa niêm yết giá bán thơng thường 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 đặc biệt dành cho em học sinh sau: giá giảm 10% so với giá ban đầu, tổng số tiền mua từ 30000 đồng đến 50000 đồng giảm 2%, 50000 đồng giảm 3% tổng số tiền mua Biết thông tin này, bạn Tý nhanh chân đến cửa hàng mua số lượng N đủ phục vụ cho 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 Dữ liệu vào: X N nhập vào từ bàn phím
Kết quả: Đưa hình số tiền bạn Tý mua
(8)Chủ đề 5.8 - Nếu tổng số thu gom chi đoàn đạt 500kg đƣợc trích lại 10%;
- Nếu tổng số thu gom chi đoàn đạt từ 300kg đến 500kg đƣợc trích lại 5%; Chi đồ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 đồn trường Em xây dựng thuật toán viết chương trình tính xem chi đồn 10A thu gom kg giấy vụn trích nguồn quỹ bao nhiêu, biết 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 cũ:
- Học cũ:
1 Cú pháp cách thực câu lệnh rẽ nhánh, câu lệnh ghép Khi 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ị mới:
- Chuẩn bị mới: Ôn tập
Bài 1: Nhập vào số nguyên Cho biết có phải số đo cạnh tam giác hay không?