Giáo án Tin học Lớp 8 - Tiết 23: Từ bài toán đến chương trình (Tiết 1)

I. MỤC ĐÍCH, YÊU CẦU

- Biết khái niệm bài toán, thuật toán

- Biết các bước giải bài toán trên máy tính

- 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ể

II. PHƯƠNG TIỆN

GV: - Máy tính, máy chiếu, giáo án, SGK, SBT

HS: - SGK, vở ghi, chuẩn bị bài ở nhà

III. BÀI GIẢNG

1. Kiểm tra bài cũ (5’)

(?) Em hãy nêu cách khai báo kiểu dữ liệu hợp lý cho các biến dùng để viết chương trình giải các bài toán dưới đây trong ngôn ngữ lập trình Pascal :

Bài 1. Tính chu vi và diện tích hình vuông có độ dài cạnh a.

Bài 2. Tính diện tích S của hình thang với độ dài đáy lớn là a, đáy nhỏ là b và chiều cao h (a, b và h là các số tự nhiên được nhập vào từ bàn phím).

 

doc8 trang | Chia sẻ: lethuong715 | Lượt xem: 383 | Lượt tải: 0download
Bạn đang xem nội dung tài liệu Giáo án Tin học Lớp 8 - Tiết 23: Từ bài toán đến chương trình (Tiết 1), để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Tuần 12 - Tiết 23
Bài 5. TỪ BÀI TOÁN ĐẾN CHƯƠNG TRÌNH (Tiết 1)
I. MỤC ĐÍCH, YÊU CẦU
- Biết khái niệm bài toán, thuật toán
- Biết các bước giải bài toán trên máy tính
- 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ể
II. PHƯƠNG TIỆN
GV: - Máy tính, máy chiếu, giáo án, SGK, SBT
HS: - SGK, vở ghi, chuẩn bị bài ở nhà
III. BÀI GIẢNG
1. Kiểm tra bài cũ (5’)
(?) Em hãy nêu cách khai báo kiểu dữ liệu hợp lý cho các biến dùng để viết chương trình giải các bài toán dưới đây trong ngôn ngữ lập trình Pascal :
Bài 1. Tính chu vi và diện tích hình vuông có độ dài cạnh a. 
Bài 2. Tính diện tích S của hình thang với độ dài đáy lớn là a, đáy nhỏ là b và chiều cao h (a, b và h là các số tự nhiên được nhập vào từ bàn phím).
2. Bài mới
GV: Bài 5 là một bài dài với thời lượng theo phân phối chương trình là 04 tiết. Hôm nay chúng ta cùng đi nghiên cứu tiết đầu tiên.
TG
Hoạt động của thầy và trò
Nội dung
10’
Hoạt động 1. Tìm hiểu khái niệm bài toán và cách xác định bài toán
GV: Khái niệm bài toán và giải bài toán đã trở thành quen thuộc với các em trong các môn học khác như Toán, Lý, Hoá, ... . Vậy khái niêm một bài toán trong Tin học có giống với các bài toán em đã học trong các môn học khác không? Chúng ta cùng quan sát lên màn hình.
- GV cho HS quan sát các ví dụ về bài toán
GV: Bài toán trong Tin học không chỉ là những bài toán trong lĩnh vực toán học mà còn có thể là một nhiệm vụ, một công việc cần phải giải quyết trong cuộc sống thực tiễn (có khi không liên quan gì đến Toán học) như: tính điểm trung bình của một môn học, một học kì, nấu một món ăn hay điều khiển rô-bốt nhặt rác chẳng hạn.
- GV cho HS quan sát một bài toán:
GV: Trong môn Toán, thường trước khi bắt đầu giải một bài toán, các em đã quen với việc tìm giả thiết, kết luận của một bài toán.
(?) Lên bảng xác định giả thiết và kết luận của bài toán đã cho.
- HS lên bảng thực hiện
- GV yêu cầu HS khác nhận xét bài làm của bạn
GV: Trong tin học, phần giả thiết là các điều kiện cho trước, phần kết luận là kết quả cần thu được. Việc xác định các điều kiện cho trước và kết quả cần thu được (hay hiểu đơn giản là giả thiết hay kết luận) của một bài toán được gọi là xác định bài toán
(?) Xác định bài toán là gì ?
(?) Xác định một số bài toán sau: 
GV yêu cầu từng cá nhân học sinh đứng tại chỗ tìm ra điều kiện cho trước và kết quả cần thu được của bài toán.
Hoạt động nhóm (thời gian 3’)
- GV đưa ra các ví dụ yêu cầu học sinh hoạt động nhóm song song đưa ra điều kiện cho trước và kết quả cần thu được của bài toán.
- GV yêu cầu một vài nhóm đứng trình bày ý kiến của nhóm, các nhóm khác nhận xét, bổ sung.
- GV chốt lại kiến thức.
GV: Đây là 2 bài toán được yêu cầu cụ thể trong chuẩn kiến thức kĩ năng. Các em sẽ được nghiên cứu sâu hơn trong các tiết học tiếp theo.
1. Bài toán và xác định bài toán
VD1: Làm tính chia x5:x3
VD2: Tính quãng đường ô tô đi được trong 3 giờ với vận tốc 60km/giờ.
VD3: Sắp xếp Thời khoá biểu
VD4: Luộc rau muống
Bài toán: 
Cho hình vẽ. Tính diện tích của tam giác ABC.
a
b
A
B
C
KL
GT
∆ABC, AB = AC = b
BC = a
S∆ABC = ?
GT ‬→ Các điều kiện cho trước
KL → Kết quả cần thu được
 - Xác định bài toán là việc xác định các điều kiện cho trước và kết quả cần thu được 
VD1: Bài toán “Luộc rau muống”.
- Điều kiện cho trước: 
	Rau muống, nước, muối, mì,
- Kết quả cần thu được: 
	Món rau muống luộc
VD2: Bài toán “Tính diện tích hình thang”.
- Điều kiện cho trước: 
 	Đáy lớn, đáy nhỏ và đường cao
- Kết quả cần thu được: 
	Diện tích hình thang
VD3: Bài toán “Xếp loại học lực của 1 lớp”.
- Điều kiện cho trước: 
 	Bảng điểm của học sinh trong lớp
- Kết quả cần thu được: 
	Bảng xếp loại học lực
Bài 1. Tính tổng của n số tự nhiên đầu tiên.
- Điều kiện cho trước: 
	Dãy n số tự nhiên đầu tiên.
- Kết quả cần thu được: 
	Tổng 1 + 2 + 3 +  + n. 
Bài 2. Tìm số lớn nhất trong ba số a, b, c.
- Điều kiện cho trước: 
	Ba số a, b, c
- Kết quả cần thu được: 
	Số lớn nhất trong 3 số a, b, c
15’
Hoạt động 2: Quá trình giải bài toán trên máy tính
- GV cho HS quay trở lại bài toán đã học ở bài 1.
Mô phỏng: Rô-bốt “nhặt rác”.
Rô-bốt
Rác
Thùng rác
(?) Xác định bài toán ?
- Hs đứng trả lời
GV: Ngay từ Bài 1. các em đã giúp rô-bốt hoàn thành tốt công việc của mình
- GV cho Hs quan sát mô phỏng các bước rô-bốt có thể thực hiện để nhặt rác bỏ vào thùng.
GV: Việc xây dựng các bước điều khiển rô-bốt hoàn thành nhiệm vụ được gọi là một thuật toán.
(?) Thuật toán là gì? 
- GV: Xét bài toán
(?) Xác định bài toán ?
- GV mô tả thuật toán
- GV đưa ra chương trình được viết bằng ngôn ngữ lập trình Pascal dựa trên thuật toán đã mô tả ở trên.
- GV chạy chương trình để tìm ra kết quả của bài toán.
GV: Chúng ta vừa trải qua các bước để giải bài toán trên máy tính.
(?) Giải bài toán trên máy tính là gì ?
- Hs trả lời
(?) Nêu các bước để giải bài toán trên máy tính
- Hs trả lời
- Cho Hs quan sát hình 28 SGK
- GV phân tích: Máy tính không thể tự mình tìm ra lời giải của một bài toán. Lời giải của một bài toán là tư duy sáng tạo của con người. Tuy nhiên, việc mô tả thuật toán chưa đủ với máy tính mà cần diễn đạt thuật toán dưới dạng máy tính có thể hiểu và thực hiện được. Kết quả diễn đạt thuật toán là chương trình được viết trong một ngôn ngữ lập trình nào đó. Máy tính sẽ chạy chương trình và cho ta lời giải của bài toán.
GV: Quay trở lại với bài toán rô-bốt nhặt rác. 
(?) Nêu một thuật toán khác để giải bài toán này.
- HS lên bảng thực hiện
GV: Như vậy chúng ta thấy một bài toán có thể có rất nhiều thuật toán khác nhau.
GV: Vậy với thuật toán này, cô có thể áp dụng vào bài toán nào khác được không?
HS: Chỉ có thể áp dụng thuật toán này để giải bài toán rô-bốt nhặt rác được mà thôi.
(?) Đưa ra nhận xét ?
2. Quá trình giải bài toán trên máy tính
Bài toán “Rô-bốt nhặt rác”
Giả sử có 1 rô-bốt có thể thực hiện được các thao tác cơ bản như tiến 1 bước, quay phải, quay trái, nhặt rác, bỏ rác vào thùng. Hình bên mô tả vị trí của rô-bốt, rác và thùng rác. Hãy ra các lệnh thích hợp để chỉ dẫn rô-bốt di chuyển từ vị trí hiện thời, nhặt rác và bỏ vào thùng rác để ở nơi qui định.
 v Xác định bài toán:
- ĐKCT: Rô-bốt; các thao tác cơ bản rô-bốt có thể thực hiện; vị trí của rô-bốt, rác và thùng rác.
- KQCTĐ: Rô-bốt nhặt rác bỏ vào thùng.
- Bước 1. Tiến 2 bước;
- Bước 2. Quay trái, tiến 1 bước;
- Bước 3. Nhặt rác;
- Bước 4. Quay phải, tiến 3 bước;
- Bước 5. Quay trái, tiến 2 bước;
- Bước 6. Bỏ rác vào thùng;
- 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.
Bài toán: Tính chu vi, diện tích hình vuông có độ dài cạnh a.
v Xác định bài toán
- ĐKCT: Hình vuông có cạnh là a.
- KQCTĐ: Chu vi, diện tích hình vuông
v Mô tả thuật toán
Bước 1. Nhập vào cạnh hình vuông
Bước 2. Sử dụng các công thức tính chu vi và diện tích để tính toán
Bước 3. In kết quả ra màn hình.
v Viết chương trình.
- Giải bà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à nó có thể thực hiện được để cho ta kết quả.
- Quá trình giải bài toán trên máy tính gồm các bước sau:
v Xác định bài toán: Từ phát biểu của bài toán, ta xác định đâu là thông tin đã cho (INPUT), đâu là thông tin cần tìm (OUTPUT).
v Mô tả thuật toán: Tìm cách giải bài toán và diễn tả bằng các lệnh cần thực hiện.
v Viết chương trình: Dựa vào mô tả thuật toán ở trên, ta viết chương trình bằng một ngôn ngữ lập trình cụ thể mà ta biết.
Bài toán
Thuật toán
Chương trình
Lưu ý: 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 cụ thể.
15’
Hoạt động 3: Củng cố - HDVN
(?) Qua tiết học ngày hôm nay, em cần nắm được những thông tin gì?
- HS trả lời
GV: H·y hoµn thµnh thËt tèt c¸c c©u hái vµ bµi tËp sau ®Ó kh¸m ph¸ ra 1 bÝ quyÕt tuyÖt vêi nhÐ ! 
Câu 1. Điền từ còn thiếu vào chỗ trống để hoàn thành các câu sau:
Xác định bài toán là việc xác định ..................................... (thông tin vào – INPUT) và .............................................. (thông tin ra – OUTPUT).
Quá trình giải bài toán trên máy tính gồm 3 bước: ............................................. 
3. .................. 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 để nhận được kết quả cần tìm từ những điều kiện cho trước. 
Câu 2. Dãy các thao tác sau:
	Bước 1. Xoá bảng;
	Bước 2. Vẽ đường tròn;
	Bước 3. Quay lại bước 1;
có phải là thuật toán không? Tại sao?
Câu 3. Cho 3 cốc A, B, C. Giả sử cốc A đựng rượu và cốc B đựng nước. Em hãy nêu cách để tráo đổi dung dịch trong 2 cốc này cho nhau. 
(Gợi ý: Lấy cốc C làm trung gian)
GV: Đây chính là thuật toán đảo giá trị mà các em sẽ còn được học trong mục 4. của bài này ở các tiết học sau.
GV hoan nghênh cả lớp đã hoàn thành tốt các bước để tìm ra bí quyết.
Và bí quyết đó là: 
Bí quyết để trẻ mãi là mỗi ngày học thêm một điều mới.
ĐIỀU MỚI: TẠI SAO NGÔN NGỮ LẬP TRÌNH PASCAL LẠI TÊN LÀ PASCAL? CÓ PHẢI NÓ DO 1 NHÀ BÁC HỌC TÊN LÀ PASCAL SÁNG LẬP NÊN KHÔNG?
Pascal là tên của một trong các ngôn ngữ lập trình cấp cao thông dụng. Ngôn ngữ lập trình Pascal được giáo sư Niklaus Wirth ở trường Đại học Kỹ thuật Zurich (Thụy Sĩ) thiết kế và công bố vào năm 1970. Niklaus Wirth đặt tên cho ngôn ngữ này là Pascal để tưởng nhớ đến nhà Toán học Pháp ở thế kỷ 17 là Blaise Pascal, người đã phát minh ra chiếc máy tính cơ khí đơn giản đầu tiên của loài người. 
- Điều kiện cho trước
- Kết quả cần thu được
- Xác định bài toán
- Mô tả thuật toán
- Viết chương trình
- Thuật toán
- Không, vì nó vi phạm vào tính dừng của thuật toán, và sau khi thực hiện xong các bước nó không cho ra output của bài toán.
B1: Đổ rượu trong cốc A sang cốc C
B2: Đổ nước trong cốc B sang cốc A
B3: Đổ rượu trong cốc C sang cốc B
Hướng dẫn về nhà:
	- Học thuộc Ghi nhớ
 	- Làm bài 1, 2 trang 45 SGK; 5.1 à 5.7 SBT.
 	- Xem trước mục 	3. Thuật toán và mô tả thuật toán
	 	4. Một số ví dụ về thuật toán

File đính kèm:

  • docGiao an TIn 8 bai 15 tiet 1.doc