Giáo án môn Tin học Lớp 8 - Bài 5: Từ bài toán đến chương trình - Năm học 2021-2022 - THCS Thượng Mỗ

Giáo án môn Tin học Lớp 8 - Bài 5: Từ bài toán đến chương trình - Năm học 2021-2022 - THCS Thượng Mỗ

I. MỤC TIÊU

1. Kiến thức:

- Phát biểu được khái niệm bài toán.

- Giải thích được bài toán và biết cách xác định bài toán.

- Rèn luyện kĩ năng phân tích và xác định bài toán.

- Liệt kê được các bước giải một bài toán trên máy tính, thế nào là thuật toán

- Rèn luyện kĩ năng lập các bước giải một bài toán đơn giản.

- Xác định Input, Output của một bài toán đơn giản.

- Mô tả thuật toán bằng phương pháp liệt kê đơn giản.

2. Phẩm chất:

- Nghiêm túc, hứng thú với học tập.

3: Định hướng năng lực cần phát triển cho HS:

- Năng lực hợp tác; Năng lực sử dụng ngôn ngữ; Năng lực giao tiếp; Năng lực giải quyết vấn đề

II. THIẾT BỊ DẠY HỌC

1. GV: SGK, giáo án, máy chiếu, máy tính.

2. HS: SGK, vở ghi chép, đồ dùng học tập khác.

III. TIẾN TRÌNH DẠY HỌC

 

doc 11 trang Người đăng Mai Thùy Ngày đăng 20/06/2023 Lượt xem 102Lượt tải 0 Download
Bạn đang xem tài liệu "Giáo án môn Tin học Lớp 8 - Bài 5: Từ bài toán đến chương trình - Năm học 2021-2022 - THCS Thượng Mỗ", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Ngày dạy: 11/10/2021
TÊN BÀI DẠY 
TỪ BÀI TOÁN TỚI CHƯƠNG TRÌNH
Môn: Tin học; Lớp: 8
Thời gian thực hiện: 04 tiết (Từ tiết 17- 20)
I. MỤC TIÊU
1. Kiến thức:
- Phát biểu được khái niệm bài toán.
- Giải thích được bài toán và biết cách xác định bài toán.
- Rèn luyện kĩ năng phân tích và xác định bài toán.
- Liệt kê được các bước giải một bài toán trên máy tính, thế nào là thuật toán
- Rèn luyện kĩ năng lập các bước giải một bài toán đơn giản.
- Xác định Input, Output của một bài toán đơn giản.
- Mô tả thuật toán bằng phương pháp liệt kê đơn giản.
2. Phẩm chất:
Nghiêm túc, hứng thú với học tập.
3: Định hướng năng lực cần phát triển cho HS:
Năng lực hợp tác; Năng lực sử dụng ngôn ngữ; Năng lực giao tiếp; Năng lực giải quyết vấn đề
II. THIẾT BỊ DẠY HỌC
1. GV: SGK, giáo án, máy chiếu, máy tính.
2. HS: SGK, vở ghi chép, đồ dùng học tập khác.
III. TIẾN TRÌNH DẠY HỌC
HOẠT ĐỘNG 1: Mở đầu
a.Mục tiêu: Định hướng cho học sinh nội dung cần hướng tới của bài học, tạo tâm thế cho học sinh đi vào tìm hiểu bài mới.
b.Nội dung: Trò chơi, gợi mở
c.Sản phẩm: GV cho hs chơi trò chơi tôi là ai?
d. Tổ chức thực hiện: Hoạt động cá nhân.
HOẠT ĐỘNG 2: Hình thành kiến thức 
Mục tiêu: 
- Phát biểu được khái niệm bài toán.
- Giải thích được bài toán và biết cách xác định bài toán.
- Rèn luyện kĩ năng phân tích và xác định bài toán.
- Liệt kê được các bước giải một bài toán trên máy tính, thế nào là thuật toán
- Rèn luyện kĩ năng lập các bước giải một bài toán đơn giản.
- Xác định Input, Output của một bài toán đơn giản.
- Mô tả thuật toán bằng phương pháp liệt kê đơn giản.
Nội dung, tổ chức thực hiện và sản phẩm:
Hoạt động của GV và HS
Nội dung
*GV: Em thường gặp khái niệm bài toán và giải bài toán trong những môn học nào?
* HS: Toán, Lý, Hoá
* GV: Vậy bài toán là gì?
* GV: Chiếu một số vd sau:
- Tính tổng các số tự nhiên từ 1 đến 100àbài toán.
- Tính quảng đường ô tô đi trong 3 giờ với vận tốc 100km/h à bài toán
àCác vd đó cũng được gọi là bài toán trong Tin học
- Lập bảng cửu chương, lập bảng điểm, so sánh chiều cao của hai bạn có phải là bài toán trong tin học không?
* HS: Đó là các bài toán trong tin học
* GV: Chốt lại 
Bài toán trong tin học không chỉ là một bài toán trong toán học mà còn có thể là một nhiệm vụ hay một công việc cần phải giải quyết trong thực tiễn có khi không liên quan gì đến Toán học.
* HS: Ghi bài
* GV: Tính diện tích hình tròn có phải là bài toán trong Tin học không? – HS: Phải
* GV: Điều khiển RÔBOT nhặt rác có phải là bài toán trong Tin học không?
* HS: Là bài toán vì đó là nhiệm vụ cần giải quyết trong thực tiễn.
* GV: Xét bài toán: Tính diện tích hình tròn
?Trong Toán học trước khi giải bài toán trên em thường làm gì?
* HS: Tìm GT và KL
* GV: Tìm giả thiết, kết luận của bài toán trên.
* HS: 
- GT: Chu vi và bán kính
- Kết luận: Tính diện tích
* GV: Dẫn nhập khái niệm xác định bài toán:
- Trong toán học, trước khi bắt đầu giải một bài toán, ta thường tìm GT và KL.
 - Trong tin học, phần giả thiết là điều kiện cho trước (input), phần KL là kết quả thu được (output).
* GV: VD về robot nhặt rác:
Input: Vị trí hiện tại của Robot, của thùng rác, của rác.
OUTPUT: Cách để chỉ dẫn rôbốt chuyển từ vị trí hiện tại, nhặt rác và bỏ rác vào thùng đúng quy định
* GV: Vậy xác định bài toán là gì?
* HS: Trả lời theo hiểu biết
* GV: Chốt lại
* HS: Ghi bài
* GV: Yêu cầu HS làm theo nhóm lớn, tìm 2 bài toán trong thực tế hoặc trong các môn học, xác định INPUT, OUTPUT
* HS: Hoạt động theo nhóm lớn vào bảng nhóm
* GV: Thu bài các nhóm, chiếu và sửa bài nhóm
*GV: Dẫn nhập mục 2
*GV: - Máy tính có thể tự mình tìm ra lời giải giải bài toán không?
* HS: Trả lời. Không
* GV: Làm thế nào để máy tính có thể giải được một bài toán?
* HS: Có sự chỉ dẫn của con người
* GV: Để máy tính có thể giải được bài toán con người phải chỉ dẫn cho máy tính thực hiện thông qua các câu lệnh cụ thể.
* GV: Việc dùng máy tính để giải một bài toán thực chất là gì?
* HS: Đưa cho máy tính 1 dãy hữu hạn các thao tác mà máy tính có thể thực hiện được
* GV: Chốt lại - HS ghi bài
* GV: Dẫn nhập khái niệm thuật toán 
* GV: Thuật toán phải có tính hữu hạn, phải thực hiện theo một trình tự xác định và phải thỏa mãn INPUT và OUTPUT của bài toán.
* HS: Theo dõi
* GV: Yêu cầu học sinh mô tả một cách khác để điều khiển robot nhặc rác
* HS nêu cách khác
* GV: - Cùng một bài toán có thể có nhiều thuật toán khác nhau nhưng mỗi thuật toán chỉ dùng để giải một bài toán
? Máy tính chỉ hiểu ngôn ngữ gì? 
* HS: Ngôn ngữ máy
* GV: Ngôn ngữ máy có đặc điểm gì?
- HS: Dài, khó hiểu, khó nhớ
* GV: Liệu máy tính có thể hiểu được cách môt tả thuật toán bằng ngôn ngữ tự nhiên của con người không?
- HS: Máy tính không hiểu, chỉ có người hiểu
* GV: Để máy tính có thể hiểu và thực hiện được thuật toán thì cần mô tả thuật toán bằng NNLT cụ thể. Việc mô tả đó gọi là viết chương trình
* GV: Vậy thế nào là viết chương trình?
* HS: trả lời
* GV: Chốt lại - HS: ghi bài
* GV: Qua các nội dung kiến thức đã tìm hiểu, các em có thể rút ra quá trình giải một bài toán trong tin học bao gồm những bước nào?
* HS: Nêu
*GV: Chốt lại - HS: Ghi bài
*GV: Để máy tính có thể “giải“ được bài toán con người phải chỉ dẫn cho máy tính thực hiện thông qua các câu lệnh cụ thể, chi tiết.
* GV: Việc viết chương trình điều khiển máy tính là do con người nghĩ ra, máy tính chỉ thực hiện những thao tác theo chỉ dẫn của con người.
- Như vậy, con người tìm ra cách thức, chỉ ra các thao tác và trình tự thực hiện các thao tác để giải quyết công việc, máy tính chỉ biết và thực hiện những thao tác theo chỉ dẫn.
=> Tập hợp các bước để điều khiển máy tính thực hiện các thao tác chính là một thuật toán.
* HS: Theo dõi, ghi bài
* GV: Xác định INPUT, OUTPUT của bài toán “Pha trà mời khách”
* HS: Suy nghĩ trả lời cá nhân.
* GV: Để pha trà mời khách ta thực hiện những bước nào? 
* HS: Hoạt động theo nhóm lớn, liệt kê các bước để pha tra mời khách 
* GV: Thu bài nhóm, sửa, chốt lại cách pha trà
* GV: Các bước của thuật toán được thực hiện một cách tuần tự theo trình tự đề ra. Cùng một bài toán có thể nhiều thuật toán song một thuật toán chỉ dùng để giải một bài toán.
* GV: Xác định Input và Output của bài toán ở VD2?
* HS:
- Input: các số a, b.
- Output: Nghiệm của phương trình bậc nhất.
* GV: - Nghiệm của phương trình bậc nhất là những giá trị của x làm cho phương trình =0
- Hướng dẫn xây dựng thuật toán.
* HOẠT ĐỘNG NHÓM:
* HS: - Mô tả thuật toán trên giấy nháp liệt kê các bước. 
- Đại diện nhóm trình bày.
* GV: Thu bài nhóm, sửa, nhận xét, bổ sung.
* HS: Ghi bài.
* GV: Xác định Input và Output của bài toán ở VD3?
* HS:
- Input: Trứng, dầu, muối, hành
- Output: Trừng rán
* GV: Yêu cầu HS mô tả thuật toán 
- HS: Hoạt động theo cặp
* GV: Thu bài, sửa, nhận xét, chốt lại
- Gọi một học sinh đọc ví dụ 2 SGK.
? Các em hãy xác định đâu là Input, Output của bài toán.
HS:
- Input: Hình chữ nhật có chiều rộng là 2a, chiều dài là b và bán kính hình bán nguyệt là a.
- Output: Diện tích của hình A.
GV:
Như vậy bài toán có Input: chiều rộng 2a, chiều dài b và bán kính hình bán nguyệt a. Output: Diện tích hình A.
? Em hãy cho biết muốn tính diện tích hình A ta làm như thế nào.
HS: - Ta lấy diện tích HCN cộng cho diện tích hình bán nguyệt.
GV:
? Vậy bạn nào cho biết cách tính diện tích hình chữ nhật.
? Cho biết cách tính diện tích hình tròn.
- Vậy diện tích hình bán nguyệt là một nửa diện tích hình tròn.
? Từ cách tính diện tích hình tròn cho biết cách tính diện tích hình bán nguyệt. 
HS: - Diện tích HCN: 2ab.
- Diện tích hình tròn: πa2
- Diện tích hình bán nguyệt: 
- Trong bài 4 chúng ta đã học về biến.
- Vậy ta có thể sử dụng S1, S2 và S lần lượt để lưu giá trị của diện tích HCN, diện tích hình bán nguyệt và diện tích hình A.
- Tương tự các bài toán khác, bài này cũng có Input và Output.
? Bạn nào có thể xác định được Input và Output của bài toán.
HS: - Input: Dãy 100 số tự nhiên đầu tiên.
- Output: Tổng của 100 số tự nhiên.
GV:
? Em hãy nêu cách tính của bài toán này.
HS: - Cộng lần lượt các số lại với nhau.
GV:
? Các em đã học qua Excel, vậy nếu muốn tính tổng của 1 cột điểm trung bình thì ta sử dụng hàm gì. 
HS: - Ta sử dụng hàm Sum. 
GV:
- Ta sử dụng một biến SUM để lưu giá trị của tổng. Đầu tiên tổng luôn bằng 0, ta gán cho tổng là = 0. Sau đó cộng lần lượt liên tiếp các số lại với nhau.
? Tính như thế thì ta thực hiện tổng cộng là bao nhiêu bước.
HS: - 101 bước.
GV:
- Như vậy thì thuật toán như trên là quá dài dòng. 
? Một bạn cho biết sự giống nhau giữa các bước.
HS: - Mỗi bước đều lấy SUM cộng thêm 1 số ở phía sau.
- Để giải quyết vấn đề này thì ta sử dụng 1 biến i và biến I đó dung để cộng vào Sum.
- Thuật toán được mô tả ngắn gọn hơn như sau:
Bước 1. Sum f 0; i f 0.
Bước 2. i f i + 1.
Bước 3. Sum f Sum + i. 
Bước 4. Thông báo kết quả và kết thúc thuật toán.
? Nếu cộng như vậy thì thuật toán sẽ dừng lại khi nào.
HS: - Thuật toán sẽ không dừng lại.
- Như vậy thì phải có điều kiện i<= 100. Nếu điều kiện đúng thì quay lại bước 2, ngược lại thì chuyển sang bước 4.
* Cho HS đọc ví dụ 4 và xác định INPUT, OUTPUT của bài toán. 
* HS: Suy nghỉ trả lời cá nhân.
- Input: 2 biến x , y có giá trị tương ứng là a, b
- Output: 2 biến x , y có giá trị tương ứng là b, a
*GV: Trong bài 2 của BTH3, các em đã tìm hiểu chương trình hoán đổi giá trị của 2 biến x, y, ví dụ này chúng ta sẽ tìm hiểu thuật toán.
?Có thể sử dụng 2 câu lệnh sau để hoán đổi giá trị của 2 biến x, y không? Tại sao?Xßy; yßx;
* HS:Dự đoán vì sau khi thực hiện 2 lệnh trên thì x, y có giá trị bằng nhau và cùng bằng giá trị của y
*GV: Minh họa mô hình đổi nước của 2 chai A, B (có dung tích bằng nhau) bằng cách dùng một chai rỗng C
* HS: Quan sát và nêu:
B1: Đổ nước từ chai AàC
B2: Đổ nước từ chai BàA
B3: Đổ nước từ chai CàB
*GV:tương tự việc đổi nước giữa 2 chai A, B. Em hãy mô tả thuật toán hoán đổi giá trị của 2 biến x, y bằng cách dùng biến phụ.
* HS: Làm cá nhân vào vở, một HS lên bảng
*GV: Sửa bài, chốt lại. Cần cho HS thấy được điểm khác nhau giữa hoán đổi giá trị của 2 biến x, y và việc đổi nước giữa 2 chai
* HS: Theo dõi, ghi bài 
* Cho HS đọc ví dụ 5 và yêu cầu HS xác định INPUT, OUTPUT của bài toán.
* HS: Suy nghỉ trả lời cá nhân.
- Input: 2 số thực a, b
- Output: Thông báo kết quả kiểm tra (“a lớn hơn b”, “a bé hơn b” hoặc “a bằng b)
*GV: Hoạt động theo nhóm, xác định thuật toán cho bài toán
* HS: Làm nhóm vào bảng nhóm
*GV: Sửa bài nhóm, chốt lại
* HS: Ghi bài
* Cho HS đọc ví dụ 6 và yêu cầu HS xác định INPUT, OUTPUT của bài toán 
* HS: Suy nghỉ trả lời cá nhân
- Input: dãy A các số a1,a2,an (n>=1).
- Output: Giá trị lớn nhất trong dãy số đã cho
*GV: Nhận xét và minh họa cách chọn con thỏ lớn nhất trong 4 con thỏ
* HS: Theo dõi
*GV: - Minh họa cách tìm người có chiều cao lớn nhất trong 6 người
- Yêu cầu học sinh mô tả thuật toán
* HS: Mô tả thuật toán theo nhóm
- Dùng biến max chứa giá trị lớn nhất
-Giả sử max ban đầu là a1
- Tiếp theo lần lượt so sánh các số a2, a3, a4.. an với max
- Nếu ai >= max thì max=ai (i=2 đến i=n)
*GV: Nhận xét ý tưởng của học sinh
*GV: Giới thiệu thuật toán
* HS: Theo dõi, ghi bài
*GV: Mô tả thuật toán tìm số lớn nhất trong dãy A gồm 7 số như sau:
5 3 4 7 6 3 15
1. Bài toán và xác định bài toán:
* Khái niệm bài toán:
Bài toán là một công việc hay một nhiệm vụ cần giải quyết.
* Xác định bài toán:
- Là việc xác định: 
 + Các điều kiện ban đầu (Input).
 + Kết quả cần thu được (Output)
- VD: Bài toán tính diện tích hình tròn.
+ ĐK cho trước: Chu vi và bán kính.
+ KQ thu được: Diện tích hình tròn.
-vd: Xét các bài toán tính diện tích hình tam giác, tìm đường đi tránh các điểm nghẽn giao thông trong giờ cao điểm và nấu 1 món ăn.
2. Quá trình giải bài toán trên máy tính:
- Giải toán trên máy tính nghĩa là đưa cho máy tính dãy hữu hạn các thao tác đơn giản (thuật toán) mà máy tính có thể thực hiện được từ điều kiện cho trước ta nhận được kết quả.
- Thuật toán là dãy hữu hạn các thao tác cần thực hiện để giải một bài toán
- Việc mô tả thuật toán bằng một NNLT cụ thể để máy tính có thể hiểu và thực hiện được gọi là viết chương trình.
- Quá trình giải toán trên máy tính gồm các bước sau:
+ Xác định bài toán (Input, Ouput).
+ Mô tả thuật toán (Tìm hướng giải bài toán).
+ Viết chương trình (Dựa vào thuật toán để viết)
3. Thuật toán và mô tả thuật toán:
 Khái niệm thuật toán:
- Thuật toán là dãy hữu hạn các thao tác cần thực hiện theo một trình tự xác định để thu được kết quả cần tìm từ những điều kiện cho trước.
Ví dụ 1: Bài toán “Pha trà mời khách”
- Input: Trà, nước sôi, ấm và chén.
- Output: Chén trà đã pha để mời khách.
Thuật toán:
 B1: Tráng ấm, chén bằng nước sôi.
 B2: Cho trà vào ấm.
 B3: Rót nước sôi vào ấm và đợi khoảng 3 – 4 phút.
B4: Rót trà ra chén mời khách..
Ví dụ 2: Giải phương trình dạng tổng quát ax + b = 0
- Input: Các số a, b.
- Output: Nghiệm của phương trình bậc nhất.
B1: Nếu a = 0, Chuyển tới b3
B2: Nếu a, tính nghiệm pt x=-b/a, chuyển tới b4.
B3: Nếu c, thông báo pt vô nghiệm, ngược lại (c=0), thông báo pt vô số nghiệm.
 B4: Kết thúc.
Ví dụ 3: Làm món trứng rán
- Input: Trứng, dầu, muối, hành
- Output: Trừng ráng
- Thuật toán(SGK)
4. Một số ví dụ về thuật toán.
Ví dụ 2: Tính diện tích hình A được ghép từ một hình chữ nhật với chiều rộng 2a, chiều dài là b và hình bán nguyệt bán kính a.
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.
Các bước để tính diện tích hình A:
Bước 1. S1 f 2ab.
Bước 2. S2 f 
Bước 3. S f S1+ S2.
Lưu ý: Trong biểu diễn thuật toán, người ta thường sử dụng kí hiệu f để chỉ phép gán giá trị của một biểu thức cho một biến.
Ví dụ 3: Tính tổng của 100 số tự nhiên.
- Input: Dãy 100 số tự nhiên đầu tiên: 1, 2, . 100.
- Output: Giá trị của tổng 1+ 2 +100.
- Các bước để tính tổng của 100 số tự nhiên đầu tiên:
Bước 1. Sum f 0.
Bước 2. SumfSum + 1.
Bước 101. Sum f Sum + 100.
Bước 1. Sumf 0; if 0.
Bước 2. if i + 1.
Bước 3. Nếu i<= 100, thì Sum f Sum + i và quay lại bước 2.
Bước 4. Thông báo kết quả và kết thúc thuật toán.
VD4: Hoán đổi giá trị 2 biến x và y
* Thuật toán:
B1: ZßX
B2: XßY
B3: YßZ
VD5: Cho 2 số thực a, b. Hãy cho biết kết quả của phép so sánh 2 số đó dưới dạng “a lớn hơn b”, “a bé hơn b” hoặc “a bằng b”
- Input: 2 số thực a, b
- Output: Thông báo kết quả kiểm tra (“a lớn hơn b”, “a bé hơn b” hoặc “a bằng b)
* Thuật toán:
B1: Nhập 2 số a, b
B2: Nếu a >b thì in ra kết quả “a lớn hơn b” và chuyển đến b4
B3: Nếu a<b thì in ra kết quả “a nhỏ hơn b”
Ngược lại in ra kết quả “a bằng b”
B4: Kết thúc
VD6: Tìm số lớn nhất trong dãy A các số a1,a2,an cho trước
B1: max.
B2:.
B3: Nếu i > n, chuyển đến bước 5.
B4: Nếumax, max quay lại bước 2
B5: Thông báo max và kết thúc thuật toán.
3.Hoạt động luyện tập.
a.Mục tiêu: 
Củng cố lại kiến thức đã học.
b.Tổ chức thực hiện: Dạy học nhóm, dạy học nêu và giải quyết vấn đề
c. Nội dung:
Dãy số
i
i >7
ai >= max
max
5
1
5
3
2
2 > 7(s)
3 >= 5(s)
4
3
3 >7(s)
4>= 5(s)
7
4
4 > 7(s)
7 >= 5(đ)
7
6
5
5 > 7(s)
6 >= 7(s)
3
6
6 > 7(s)
3 >= 7(s)
15
7
7 > 7(s)
15 >= 7(đ)
15
8
8 > 7(đ)
Kết thúc
Thông báo max = 15
d.Sản phẩm:
hs giải thích được quy luật bảng trên.
4.Hoạt động vận dụng.
a.Mục tiêu: 
Củng cố lại kiến thức đã học.
b.Tổ chức thực hiện: Dạy học nhóm, dạy học nêu và giải quyết vấn đề
c. Nội dung: Dựa vào kiến thức vừa học em hãy mô tả thuật toán tính tổng các số từ 20 đến 30 và từ 50 đến 60 sau đó cộng 2 tổng này với nhau.
Bài giải:
B1: S1 ß 0 ; S2ß0 ; i ß 19 ; j ß 49
B2: ißi+1 ; j ß j+1
B3: Nếu i 30 thì S1ßS1+i, nếu j50 thì S2ßS2+j và quay lại bước 2.
B4: SßS1+S2;
2. Quá trình giải bài toán trên máy tính gồm những bước nào?
3. Xác định bài toán sau:
a. Xác định số học sinh trong lớp mang họ Trần
b. Tính diện tích của tam giác ABC với cạnh đáy 1 và chiều cao h nhập từ bàn phím
d.Sản phẩm
-Hs hoàn thành, đưa ra kết quả.

Tài liệu đính kèm:

  • docgiao_an_mon_tin_hoc_lop_8_bai_5_tu_bai_toan_den_chuong_trinh.doc