Kỹ năng: + 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.. Hoạt động dạy học Hoạt động 1: Thâm nhập tình huống thực tế liên quan tới rẽ nhánh Hoạt động
Trang 1Ngày soạn: 01/11/2014 Ngày dạy: /11/2014
I Mục đích yêu cầu
Kiến thức: + Hiểu nhu cầu rẽ nhánh trong việc giải quyết các bài toán
+ Hiểu cơ chế hoạt động của câu lệnh rẽ nhánh dang thiếu
và dạng đủ
+ Hiểu câu lệnh ghép
Kỹ năng:
+ 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
+ Viết được các lệnh rẽ nhánh dạng thiếu, dạng đủ và áp dụng để thể hiện được các thuật toán đơn giản
Thái độ: + Tiếp tục xây dựng lòng yêu thích giải toán bằng lập trình trên máy tính
+ Rèn luyện phẩm chất của người lập trình: cẩn thận, sáng tạo…
Năng lực hướng tới: + Mô hình hóa các tình huống thực tiễn xảy ra phụ
thuộc vào điều kiện theo cấu trức rẽ nhánh trong môn tin học
+ Diễn tả thuật toán cấu trúc rẽ nhánh trên ngôn ngữ lập trình
II Chuẩn bị
‘Gv: Giáo án, máy vi tính, máy chiếu.
Hs: SGK, SBT và đã có sự chuẩn bị nội dung bài học.
III Lên lớp
1 Ổn định lớp
11a13:
2. Hoạt động dạy học
Hoạt động 1: Thâm nhập tình huống thực tế liên quan tới rẽ nhánh
Hoạt động Gv và Hs Nội dung kiến thức
Gv: Chiếu nội dung bài toán thực tế:
Slide1
Hs: Quan sát bài toán
Gv: Nhắc hs quan sát vào 3 gói cước
MI10, MI30, MI50
Gv: Yêu cầu tính tiền cho khách hàng
dùng X MB ở gói cước MI10?
1 Rẽ nhánh
Trang 2Lớp: Thảo luận cách tính tiền cho X MB
ở gói cước MI10
Gv: Phát biểu cách tính tiền bằng ngôn
ngữ tự nhiên?
Hs: Giơ tay phát biểu
Gv: Ghi lại phát biểu của hs, nhắc hs
không cần phải ghi vào vở
Gv_Hs: Xây dựng thuật toán
Gv: Như vậy chúng ta đã xây dựng được
thuật toán bằng ngôn ngữ tiếng Việt Bây
giờ ta phải viết chương trình cho máy
tính thực hiện tính tiền cho khách hàng?
Gv: Để giải quyết được yêu cầu này ,
hôm nay chúng ta sẽ đi học câu lệnh diễn
tả mệnh đề Nếu…thì
Nếu X<= 50 thì số tiền phải trả là 10 ngàn đồng
Nếu X > 50 thì số tiền phải trả là 10 ngàn cộng thêm tiền phải trả cho số lưu lượng cước vượt khung
B1 Nhập X B2 Nếu X<= 50 thì số tiền phải trả là
10 ngàn đồng B3 Nếu X > 50 thì số tiền phải trả là 10 ngàn cộng thêm tiền phải trả cho số lưu lượng cước vượt khung
B4 Kết thúc.
Hoạt động 2: Tìm hiểu câu lệnh If-then dạng thiếu
Hoạt động Gv và Hs Nội dung kiến thức
Gv: Ghi lên bảng
Hs: Ghi đề mục
Gv: Yêu cầu học sinh chuyển sang câu
lệnh trong Pascal 2 câu lệnh tính tiền cho
khách
Hs:
If X <=50 then Writeln(‘ So tien phai
tra la 10.000 dong’);
If X > 50 then Writeln (‘ So tien phai tra
la ‘, 10000 + 25*(X-50)*1024/50,
‘dong’);
Gv: Chiếu chương trình tính tiền cho X
MB gói cước MI10 (slide 2)
2 Câu lệnh If-then dạng thiếu Cp:
If <điều kiện> Then <Câu lệnh>;
Hđ: Nếu điều kiện đúng thì thực hiện câu lệnh
<điều kiện>: biểu thức lôgic
<câu lệnh>: một câu lệnh của Pascal
Trang 3Hs: Quan sát chương trình, không cần ghi
vào vở
Hoạt động 3: Tìm hiểu câu lệnh If-then dạng đủ
Hoạt động Gv và Hs Nội dung kiến thức
Gv: Phát hiện tình huống mới: Chương
trình trên đã dùng 2 lần để kiểm tra điều
kiện X Vậy nếu muốn chỉ cần 1 lần để
kiểm tra điều kiện X thì ta có giải quyết
được bài toán không?
Hs: Suy nghĩ trả lời
Gv: Có thể gợi ý cho Hs:
Nếu điều kiện X <= 50 đúng thì điều
kiện X > 50 như thế nào? Nếu X<= 50 sai
thì X sẽ như thế nào với 50?
Gv: Như vậy X chỉ có thể thuộc vào một
trong hai khả năng là X<= 50 hay là lớn
hơn 50
Gv: Vậy em nào có thể phát biểu diễn đạt
lại tình huống tính tiền cho X Mb theo
cấu trúc
Nếu…thì…
nếu không thì…
Hs: Phát biểu lại theo yêu cầu
Gv: Chiếu chương trình tính tiền X MB
theo cấu trúc dạng đủ (Slide 3)
Gv: + Chỉ trên chương trình và nhắc cho
học sinh trước Else không có dấu ; nghĩa
là sau câu lệnh 1 không được có dấu ;
+ If và Else là cặp từ khóa một đôi
liên kết vè vậy nên viết IF và Else trên
một cột
3 Câu lệnh If-then dạng đủ Cp:
If <điều kiện> Then <Câu lệnh 1>
Else <Câu lệnh 2>;
Hđ: Nếu điều kiện đúng thì thực hiện câu lệnh 1, điều kiện sai thì thực hiện câu lệnh 2
Chú ý: Trước Else không có dấu ;
Hoạt động 4: Hs đọc sách giáo khoa
Hoạt động Gv và Hs Nội dung kiến thức
Gv: Cho hs đọc Sgk, xem sơ đồ thực hiện
của 2 dạng câu lệnh rẽ nhánh (tr39), hoạt
động của chúng (tr40)
Hs: Đọc Sgk
Sơ đồ.
Hình 5 Tr39 Hình 6 Tr39
Trang 4Gv: Chiếu sơ đồ hoạt động của 2 dạng rẽ
nhánh (Slide4)
Gv: Nhắc hs không cần vẽ sơ đồ (vì đã có
trong Sgk)
Hoạt động 5: Hs làm việc nhóm
Hoạt động Gv và Hs Nội dung kiến thức
Gv: Chia lớp thành 8 nhóm học tập
Gv: Nêu yêu cầu và phát đề cho các
nhóm (Chỉ định nhóm trưởng)
Gv: Yêu cầu làm vào giấy bìa trong khổ
to đã chuẩn bị trước
Hs: Ngồi theo nhóm và thực hiện nhiệm
vụ được đề ra (7 phút)
Gv: Chiếu nội dung các đề (Slide 5)
Gv: Quan sát hoạt động nhóm của Hs
Gv: Thu bài làm của các nhóm sau 7
phút
Gv_Lớp: Lần lượt duyệt chương trình
cảu từng nhóm, nhận xét (Có thể cho
điểm để tạo sự hứng thú cho hs)
Gv: Cho hs chép tóm tắt nội dung các đề
vào vở ghi (tập ghi tốc kí để tiết kiệm
thời gian)
Hs: Ghi tóm tắt các đề
Đề 1 Viết chương trình: Nhận vào 2 số nguyên không âm a và b viết lên màn hình 2 số đó theo thứ tự tăng dần.
Đề 2 Giả sử em A có tuổi là Ta, em B có tuổi là Tb (Ta<>Tb) Ai ít tuổi thì nhận gói kẹo to, ai nhiều tuổii nhận gói kẹo nhỏ
Viết chương trình: nhận vào tuổi của A
và B Viết lên màn hình ai nhận gói kẹo
to ai nhận gói kẹo nhỏ
Đề 3 Viết chương trình thực hiện phép chia a cho b với a và b là hai số thực bất kì nhận vào từ bàn phím.
Đề 4 Viết chương trình tìm giá trị lớn nhất trong 2 số nguyên a, b nhận vào từ bàn phím.
1 Viết a, b
2 Lớn gói nhỏ, bé gói to
3 a/b
4 Max (a,b)
Hoạt động 6: Thâm nhập tình huống thực tiễn dẫn đến lệnh ghép
Hoạt động Gv và Hs Nội dung kiến thức
Gv: Đặt vấn đề
Khi giải phương trình bậc 2, nếu Delta
Trang 5dương (D>=0) chúng ta biết phương trình
có 2 nghiệm Chúng ta phải thực hiện 3
lệnh
- Tính nghiệm X1
- Tính nghiệm X2
- Viết 2 nghiệm lên màn hình
Gv: Như vậy trong thực tiễn, có những
tình huống tương ứng với một khả năng
của điều kiện, chúng ta phải viết nhiều
hơn một lệnh
Gv: Trong Pascal, sau từ khóa then hoặc
Else chỉ được viết một lệnh Vậy gặp
những trường hợp như trên bắt buộc
chúng ta phải gộp các lệnh đó thành một
Pascal cho phép làm đều đó thật dễ dàng
với câu lệnh ghép
Hs: Chú ý lắng nghe
Hoạt động7 : Câu lệnh ghép
Hoạt động Gv và Hs Nội dung kiến thức
Gv: Ghi bảng
Hs: Ghi vào vở
Gv: Như vậy Câu lệnh, câu lệnh 1, câu
lênh 2 trong cú pháp If then có thể là
câu lệnh đơn hoặc câu lệnh ghép
Gv: Chiếu đoạn chương trình kiểm tra
Delta (Slide 6)
Gv: Gợi mở tình huống câu lệnh If-Then
lồng nhau
Gv: Khi Delta không âm (D>=0), chúng
Câu lệnh ghép
Cp:
Begin <Các câu lệnh cần gộp lại>; End;
Hđ:
Pascal coi đoạn chương trình Begin
<Các câu lệnh cần gộp lại>; End;
là một lệnh
Trang 6ta thấy thực tế nếu D= 0 thì phương
trình có nghiệm kép X1=X2 (Chỉ cần 1
câu lệnh tính X)
Gv: Vậy nên chăng, schúng ta phân biệt
ra 3 trường hợp của Delta
Gv: Có nghĩa là chúng ta sẽ kiểm tra 3
trường hợp của Delta Vậy nếu sử dụng
2 câu lệnh If-then dạng đủ có thực hiện
được không?
Hs: Suy nghĩ tìm hướng giải quyết
Gv: Gọi hs xung phong
Gv: Chúng ta có thể sử dụng cấu trúc
If_then lồng nhau
Gv: Chiếu đoạn chương trình sửa lại với
việc dùng câu lệnh If-then lồng nhau để
kiểm tra 3 trường hợp của Dellta (Slide
7)
Gv: Cho hs đọc sgk phần 4: Một số ví
dụ Tra 41
Hs: Đọc Sgk
If_ then lồng nhau:
If <điều kiện 1> then <câu lênh 1>
Else
If <Điều kiện 2> then <Câu lệnh2> Else <Câu lệnh 3>;
Hoạt động 8 : Củng cố_bài tập về nhà
Hoạt động Gv và Hs Nội dung kiến thức
Củng cố: (Chiếu slide 8)
- Cấu trúc chung của cấu trúc rẽ nhánh
- Sự thực hiện của máy khi gặp cấu trúc
rẽ nhánh If
- Sơ đồ thực hiện của cấu trúc rẽ nhánh
If
Bài tập: (Chiếu slide 9)
- Trả lời các câu hỏi 1, 2, 4 Sgk tr 50, 51
- Viết các chương trình ở phần hoạt động nhóm
- Hoàn thiện chương trình giải phương trình
Ax2 + Bx + C = 0
- Viết chương trình tìm giá trị lớn nhất trong 3 số nguyên a, b, c nhận vào từ bàn phím