- Thực hiện được các bước mô tả thuật toán bằng phương pháp liệt kê - Xác định được Input, Output của một bài toán đơn giản.. Thái độ:?[r]
Trang 1Ngày soạn: 1/11/2019 Tiết 23
Ngày giảng:
BÀI 5: TỪ BÀI TOÁN ĐẾN CHƯƠNG TRÌNH
I Mục tiêu:
1 Kiến thức:
- Xác định được Input, Output của một bài toán đơn giản
- Biết chương trình là thể hiện của thuật toán trên một ngôn ngữ cụ thể
- Biết mô tả thuật toán bằng phương pháp liệt kê các bước
- Hiểu thuật toán tính tổng của n số tự nhiên đầu tiên, tìm số lớn nhất của 1 dãy số
2 Kỹ năng:
- Thực hiện được các bước mô tả thuật toán bằng phương pháp liệt kê
- Xác định được Input, Output của một bài toán đơn giản
3 Thái độ:
- Có thái độ nghiêm túc, biết ứng dụng của tin học vào học tập và cuộc sống
4 Năng lực
- Giải quyết vấn đề và sáng tạo, hợp tác, tự học, công nghệ thông tin và truyền thông
II Chuẩn bị:
- Giáo viên: Máy tính, ti vi, bảng phụ
- HS: Đọc trước bài 5
III Phương pháp – Kỹ thuật dạy học:
- Phương pháp dạy học phát hiện và giải quyết vấn đề, phân tích, hoạt động nhóm, vấn đáp
- Kỹ thuật dạy học: Chia nhóm, đặt câu hỏi, hỏi và trả lời, giao nhiệm vụ
IV Tiến trình dạy học – Giáo dục:
1 Ổn định lớp: 1 phút
2 Kiểm tra bài cũ: 3 phút
Trang 2Câu hỏi : Thuật toán là gì? Quá trình giải bài toán trên máy tính gồm những bước nào?
Hoạt động 1 : Một số ví dụ về thuật toán
- Thời gian: 38 phút
- Mục tiêu: + Xác định được Input, Output của một bài toán đơn giản
+ Biết chương trình là thể hiện của thuật toán trên một ngôn ngữ cụ thể
+ Biết mô tả thuật toán bằng phương pháp liệt kê các bước + Hiểu thuật toán tính tổng của n số tự nhiên đầu tiên, tìm số lớn nhất của 1 dãy số
- Hình thức dạy học: Dạy học cá nhân, dạy học theo nhóm
- Phương pháp: Phát hiện và giải quyết vấn đề, học tập hợp tác nhóm nhỏ, phân tích, vấm đáp
- Kỹ thuật dạy học: Chia nhóm, đặt câu hỏi, hỏi và trả lời, giao nhiệm vụ
Gv: Yêu cầu học sinh nghiên cứu ví dụ 2
sgk/40
Hs: Đọc ví dụ 2 trong sách giáo khoa
Gv: Muốn tính S hình A ta làm như thế
nào
Hs: Ta phải tính diện tích hình chữ nhật
và hình bàn nguyệt
Gv: Mô tả thuật toán gồm những bước
nào:
Hs: Suy nghĩ trả lời
Gv: Hướng dẫn HS cách mô tả thuật toán
Hs: Chu y nghe giảng và ghi bài
Gv: Yêu cầu học sinh nghiên cứu ví dụ 3
sgk/41
4 Một số ví dụ về thuật toán:
* Ví dụ 2: SGK
- INPUT: Số a là 1/2 chiều rộng của hcn và bán kính của hình bán nguyệt, chiều dài b, chiều rộng hcn 2a
- OUTPUT: Diện tích hình A B1: S1 2ab {tính diện tích hcn}
B2: S2 a2/2 { tính diện tích hình bán nguyệt}
B3: S S1 + S2
- Chú ý ta sử dụng để mô tả phép gán
* Ví dụ 3: Tính tổng của 100 số tự nhiên đầu tiên
Trang 3Hs: Đọc ví dụ 3 ở SGK
Gv nêu ý tưởng: Muốn tính tổng ta phải
sử dụng 1 biến để lưu giá trị của tổng và
đầu tiên tổng luôn = 0 lên ta gán biến
tổng đó = 0 sau đó lần lượt cộng liên tiếp
các số lại với nhau,
? ở đây cộng liên tiếp bao nhiêu lần? 100
lần phép cộng 101 bước
- ? cách này có dài không ? có cách nào
ngắn không?
? Các em thấy suốt bài toán chỉ thực hiện
thao tác cộng lần lượt các số vào SUM và
chỉ thực hiện thao tác cộng được lặp 100
lần vậy ta có thể sử dụng 1 biến i cộng
vào SUM và biến i đó không vượt quá
100 Vậy ta có thể viết lại thuật toán như
sau:
Hs: Quan sát hình 1.29
Gv: Mô tả thuật toán bằng hình vẽ minh
họa trên máy chiếu
Hs: Chu y nghe giảng và quan sát
Gv: Yêu cầu học sinh nghiên cứu ví dụ 5
và hoạt động nhóm
Hs: Thảo luận đưa ra thuật toán
Gv: Lấy ví dụ a=7; b=6 và yêu cầu HS
chạy thử xem cho kết quả ra sao KQ sai
- INPUT: Dãy 100 số tự nhiên đầu tiên: 1, 2 100
- OUTPUT: Giá trị của tổng 1 + 2+ +100 B1: SUM 0
B2: SUM SUM + 1
B3: SUM SUM + 100 và kết thúc
B1: SUM 0; i 0 B2: i = i +1
B3: Nếu i 100 thì SUM SUM + i và quay lại B2
B4: Thông báo kết quả và kết thúc
* Ví dụ 5: Cho 2 số thực a và b Hãy cho biết kết quả so sánh 2 số đó dưới dạng "a lớn hơn b", "a nhỏ hơn b" hoặc " a bằng b"
- INPUT: Hai số thực a và b
- OUTPUT: Kết quả so sánh
Trang 4? vậy ta phải sửa lại thuật toán đó ra sao?
Hs: Suy nghĩ trả lời
Gv: Yêu cầu học sinh nghiên cứu ví dụ 5
và hoạt động nhóm
Gv nêu ý tưởng: ? ta phải sử dụng thêm
biến gì? ta thêm biến MAX để lưu giá trị
phần tử lớn nhất và 1 biến i để dịch các
số từ 1 đến n Đầu tiên ta gán giá trị a1
cho biến MAX sau đó so sánh lần lượt
các số a2, ,an với MAX Nếu ai > MAX ta
gán ai cho MAX
Hs: Quan sát hình, hãy thảo luận và dựa
vào thuật toán đã viết ở trên để mô tả
thuật toán
Gv: Nhận xét các nhóm trả lời
B1: Nếu a > b kết qủa là "a lớn hơn b" B2: Nếu a < b kết quả là "a nhỏ hơn b" ngược lại " a bằng b" và kết thúc thuật toán Sửa lại:
B1: Nếu a > b kết qủa là "a lớn hơn b" và chuyển B3
B2: Nếu a < b kết quả là "a nhỏ hơn b" ngược lại " a bằng b" và kết thúc thuật toán B3: Kết thúc thuật toán
* Ví dụ 6: Tìm số lớn nhất trong dãy A các
số a1, a2, …, an cho trước
- INPUT: Dãy A các số a1, a2, …, an (n 1)
- OUTPUT: Giá trị Max = max { a1, a2, …,
an} B1: MAX a1 ; i=1 B2: i i +1
B3: Nếu i > n, chuyển B5 B4: Nếu ai > MAX, MAX ai quay b2 B5: Thông báo, Kết thúc thuật toán
4 Củng cố: 2 phút
- Qua đây các em nắm được thuật toán tính S, tính tổng dãy số Các bước xây dựng
một thuật toán
5 Hướng dẫn về nhà : 1 phút
- Học bài cũ, làm bài tập cuối sách giáo khoa
V Rút kinh nghiệm :
………
………