Giáo án Tin học Lớp 8 - Tiết 14 đến 23 - Năm học 2019-2020
A. MỤC TIÊU:
1. Kiến thức:
- 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;
- 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ể
2. Kỹ năng: Ghi nhớ một số khái niệm và các bước giải bài toán trên máy tính.
3. Thái độ: Nghiêm túc trong học tập, ham thích lập trình trên máy tính để giải các bài tập.
B. CHUẨN BỊ:
- GV: SGK, giáo án
- HS: SGK, vở ghi chép
C. PHƯƠNG PHÁP:
Nêu và giải quyết vấn đề
Vấn đáp, gợi mở
D. TIẾN TRÌNH BÀI DẠY:
1. Ổn dịnh tổ chức:
2. Kiểm tra bài cũ: Không kiểm tra
3. Bài mới:
KĐ Cho ví dụ về một bài toán trong các môn học Toán, Vật lí. ?
HS: Trả lời
GV: Hàng ngày ta thường gặp và giải quyết các công việc đa dạng hơn nhiều nảy sinh từ nhu cầu thực tế: Tính số gạch ít nhất phải mua để lát nền nhà, lập bảng điểm của lớp hoặc so sánh chiều cao của các bạn.
? Hãy nêu một bài toán em đã từng gặp và giải quyết trong cuộc sống hàng ngày?
HS: Trả lời
GV: Một bài toán trong tin học được xác định ntn? Giải quyết ra sao? Ta tìm hiểu trong bài học hôm nay.
n học - HS: SGK, vở ghi chép C. PHƯƠNG PHÁP: Luyện tập thực hành Vấn đáp, gợi mở Trực quan D. TIẾN TRÌNH BÀI DẠY: 1. Ổn dịnh tổ chức: 2. Kiểm tra bài cũ: Kết hợp trong quá trình thực hành 3. Bài mới: GV: Cho HS ổn định vị trí, khởi động máy tính Hoạt động của GV và HS Nội dung GV: Cho HS đọc đề bài, tìm hiểu yêu cầu của đề bài. HS: Soạn thảo bài 2 và chạy chương trình. GV: Hướng dẫn HS chạy chương trình: Cách nhập dữ liệu: Nhập hai số nguyên (cách nhau bởi dấu cách) rồi nhấn Enter và quan sát kết quả. HS: Thực hiện theo hướng dẫn. GV: Hướng dẫn HS bổ sung các câu lệnh in thông báo, in giá trị x, y trước và sau khi tráo đổi giá trị cho chương trình. GV: Đưa ra bài tập HS: Thực hành gõ chương trình trên máy tính, biên dịch chương trình để kiểm tra lỗi GV: Quan sát và giải đáp thắc mắc (nếu có) của HS Bài 2 SGK-35 Chương trình có thể bổ sung như sau: Program hoan_doi; Var x,y,z:interger; Begin Write(‘Nhap x=’); Readln(x); Write(‘Nhap y=’); Readln(y); Writeln(‘truoc trao doi, gia trị cua bien x, y là:’,x ‘ ’, y); z:=x; x:=y; y:=z; Writeln(‘Sau trao doi, gia trị cua bien x, y là:’,x ‘ ’, y); Readln; End. Bài tập Thêm Hãy liệt kê các lỗi (nếu có) trong chương trình Pascal dưới đây và sửa lại cho đúng Const Pi:=3.1416; Var cv, dt: Integer R: real; Begin R=5.5 Cv =2*pi*r; dt= pi*r*r; writeln(‘chu vi la:= cv’); writeln(‘dien tich la: = dt’); readln End. Đáp án: - Khai báo hằng phải dùng dấu bằng (=) thay cho dấu gán - Thiếu dấu chấm phẩy (;) sau khai báo chu vi, diện tích và sau câu lệnh gán đầu tiên - Viết phép gán là dấu (:=) thay cho dấu bằng (=) trong câu lệnh đầu tiên - Hai câu lệnh in không in giá trị biểu thức ra màn hình - Lỗi khai báo kiểu dữ liệu không phù hợp cho các biến cv, dt (cần khai báo kiểu số thực) 4. Củng cố: Trong quá trình thực hành 5. Hướng dẫn về nhà: - Thực hành lại bài tập trên máy tính (nếu có) - Ghi nhớ nội dung phần tổng kết SGK-36 - Đọc trước nội dung của bài học tiếp theo E. RÚT KINH NGHIỆM: Ngày soạn: 13.10.2019 Tiết 18. KIỂM TRA (LT) A. MỤC TIÊU: 1. Kiến thức: Kiểm tra khả năng lĩnh hội kiến thức về lập trình đơn giản qua bài 1, 2, 3, 2. Kỹ năng: - Chuyển các biểu thức toán học sang biểu diễn trong Pascal - Viết được chương trình Pascal đơn giản 3. Thái độ: Nghiêm túc trong học tập, ham thích lập trình trên máy tính để giải các bài tập. B. CHUẨN BỊ: - GV: Đề và đáp án - HS: Ôn tập lại những kiến thức đã học C. HÌNH THỨC: Trắc nghiệm+ Tự luận D. ĐỀ BÀI: 1. Ma trận đề kiểm tra: Cấp độ Chủ đề Nhận biết Thông hiểu Vận dụng Tổng cấp độ thấp cấp độ cao TNKQ TL TNKQ TL TNKQ TL TNKQ TL Bài 1. Máy tính và chương trình máy tính Biết ngôn ngữ dùng để viết chương trình máy tính gọi là ngôn ngữ lập trình. Biết vai trò của chương trình dịch. Câu 1, 2 Số câu 2 2 Số điểm (Tỉ lệ%) 1 10% 1 10% Bài 2. Làm quen với chương trình và ngôn ngữ lập trình Biết ngôn ngữ lập trình gồm các thành phần cơ bản là bảng chữ cái và các quy tắc để viết chương trình. Biết cấu trúc chương trình bao gồm phần khai báo và phần thân Câu 3, 4 Biết Tên trong ngôn ngữ lập trình là do người lập trình đặt ra, khi đặt tên phải tuân thủ các quy tắc của ngôn ngữ lập trình. Tên không được trùng với các từ khoá. Câu 7 Xác định được tên hợp lệ và không hợp lệ Câu 5 Viết được chương trình Pascal đơn giản để tính giá trị biểu thức toán học Câu 10 Số câu 2 1 1 1 5 Số điểm (Tỉ lệ%) 1 10% 1,5 15% 0,5 5% 1 10% 4 40% Bài 3. Chương trình máy tính và dữ liệu Biết một số kiểu dữ liệu cơ bản của ngôn ngữ lập trình Pascal Câu 6 Hiểu thêm về các lệnh in thông tin ra màn hình Câu 8 Chuyển được biểu thức toán học sang biểu diễn trong ngôn ngữ lập trình Câu 9 Số câu 1 1 1 3 Số điểm (Tỉ lệ%) 0,5 5% 3 30% 1,5 15% 5 50% Tổng số câu 6 1 2 1 10 Tổng số điểm Tỉ lệ% 4 40% 3 30% 2 20% 1 10% 10 100% 2. Nội dung: ĐỀ BÀI I. Trắc nghiệm: (3 điểm) Hãy khoanh tròn vào đáp án đúng Câu 1. Ngôn ngữ dùng để viết các chương trình máy tính được gọi là: A. Ngôn ngữ máy B. Ngôn ngữ lập trình C. Ngôn ngữ tự nhiên D. Tất cả các ngôn ngữ Câu 2. Chương trình dịch có tác dụng: A. Viết chương trình bằng ngôn ngữ lập trình B. Chuyển đổi chương trình đã viết bằng ngôn ngữ lập trình sang ngôn ngữ máy. C. Chuyển đổi chương trình đã viết bằng ngôn ngữ máy sang ngôn ngữ lập trình. D. Chỉ dẫn cho máy tính thực hiện các công việc thông qua các lệnh. Câu 3. Thành phần cơ bản của một ngôn ngữ lập trình: A. Tập hợp các kí hiệu và các quy tắc viết các lệnh B. Bảng chữ cái C. Các quy tắc để viết các lệnh D. Các từ khóa Câu 4. Cấu trúc chung của một chương trình gồm: A. Phần khai báo B. Phần thân C. Phần khai báo và phần thân D. Phần mở đầu, phần thân và phần kết thúc Câu 5. Trong các tên sau đây, tên nào là không hợp lệ: A. Tamgiac; B. CT_dau_tien; C. Lop 8A; D. Hocsinh; Câu 6. Trong Pascal kiểu dữ liệu số nguyên có tên là : A. Char; B. String; C. Real; D. Integer; II. Tự luận: (7 điểm) Câu 7 (1,5 điểm). Nêu quy tắc đặt tên trong ngôn ngữ lập trình Pascal ? Cho ví dụ? Câu 8 (3 điểm) Cho biết thông tin nào sẽ được in ra màn hình qua các câu lệnh sau: a) Writeln(‘ 15+ 5=’, ‘15+5’); b) Writeln(‘ 15+ 5=’, 15+5); c) Writeln(‘ 15 div 2 =’, 15 div 2); d) Writeln(‘15 mod 2 =’, 15 mod 2); e)Writeln(‘10: 3 =’, 10/3:4:1); f)Writeln( ‘Ket qua la:’, 10- (10 div 3)*3); Câu 9 (1,5 điểm) Chuyển các biểu thức toán học sau đây sang biểu diễn trong Pascal Câu 10 (1 điểm) Viết chương trình Pascal dùng để tính giá trị biểu thức sau: 3. Đáp án: Trắc nghiệm: (3 điểm) Mỗi ý đúng được 0,5 điểm Câu 1 2 3 4 5 6 Đáp án B B A C C D Tự luận Câu 7 (1,5 điểm). Nêu quy tắc đặt tên trong ngôn ngữ lập trình Pascal ? Cho ví dụ? * Quy tắc đặt tên: (1 điểm) - Tên khác nhau tương ứng với những đại lượng khác nhau - Tên không được trùng với các từ khóa - Tên hợp lệ không được bắt đầu bằng chữ số và không được chứa dấu cách (kí tự trống) * Ví dụ (0,5 điểm): Lop7A; Ha_noi... Câu 8 (3 điểm) mỗi ý đúng được 0,5 điểm: a) 15+ 5=15+5 b) 15+ 5= 20 c) 15 div 2 = 7 d) 15 mod 2 = 1 e) 10: 3 = 3.3 f) Kết qua la: 1 Câu 9 (1,5 điểm) Mỗi ý đúng được 0,5 điểm: a) (x+y)/(x-y) b) x*x - 2*y*y - x c) 1/(x+2)*(x*x+y) Câu 10 ( 1 điểm) USES CRT; BEGIN (0.25đ) Clrscr; Writeln(‘ (10+4*(15-10)*(15-10))/(6+4) = ’, (10+4*(15-10)*(15-10))/(6+4) ); (0.5đ) Readln END. (0.25đ) 4. Xem xét lại việc biên soạn đề kiểm tra: Đã kiểm tra lại đề. Đề bài đúng theo chuẩn kiến thức, kỹ năng, phù hợp với khả năng của học sinh. E. RÚT KINH NGHIỆM: Ngày soạn: 13.10.2019 Tiết 19. BÀI 5. TỪ BÀI TOÁN ĐẾN CHƯƠNG TRÌNH A. MỤC TIÊU: 1. Kiến thức: - 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; - 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ể 2. Kỹ năng: Ghi nhớ một số khái niệm và các bước giải bài toán trên máy tính. 3. Thái độ: Nghiêm túc trong học tập, ham thích lập trình trên máy tính để giải các bài tập. B. CHUẨN BỊ: - GV: SGK, giáo án - HS: SGK, vở ghi chép C. PHƯƠNG PHÁP: Nêu và giải quyết vấn đề Vấn đáp, gợi mở D. TIẾN TRÌNH BÀI DẠY: 1. Ổn dịnh tổ chức: 2. Kiểm tra bài cũ: Không kiểm tra 3. Bài mới: KĐ Cho ví dụ về một bài toán trong các môn học Toán, Vật lí... ? HS: Trả lời GV: Hàng ngày ta thường gặp và giải quyết các công việc đa dạng hơn nhiều nảy sinh từ nhu cầu thực tế: Tính số gạch ít nhất phải mua để lát nền nhà, lập bảng điểm của lớp hoặc so sánh chiều cao của các bạn... ? Hãy nêu một bài toán em đã từng gặp và giải quyết trong cuộc sống hàng ngày? HS: Trả lời GV: Một bài toán trong tin học được xác định ntn? Giải quyết ra sao? Ta tìm hiểu trong bài học hôm nay. Hoạt động của GV và HS Nội dung Hoạt động 1: Tìm hiểu về bài toán GV: Đưa ra khái niệm ? Để giải quyết một bài toán em thường làm những gì? HS: Xác định điều kiện cho trước và kết quả cần thu được GV: Đưa ra ví dụ HS: Tìm hiểu về các điều kiện cho trước và kết quả cần thu được GV: Xác định bài toán là bước đầu tiên và là bước rất quan trọng trong việc giải các bài toán. Hoạt động 2: Tìm hiểu Quá trình giải bài toán trên máy tính ? Máy tính có "giải" được bài toán không? GV: Có thể sử dụng ví dụ về rô-bốt nhặt rác để HS thảo luận tìm ra câu trả lời. Việc viết chương trình điều khiển máy tính rẽ phải, tiến, rẽ trái, nhặt rác,... 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. ? Máy tính có thể làm được những việc gì? HS: Máy tính chỉ có thể thực hiện các công việc tiếp nhận, xử lí, biến đổi, tính toán, lưu trữ và biểu diễn thông tin thành dạng cần thiết dưới sự chỉ dẫn của con người. ? Để máy tính có thể “giải“ được bài toán con người đã làm gì? HS: Để máy tính có thể "giải" được bài toán thì con người cũng phải chỉ dẫn cho máy tính. Tuy nhiên, sự chỉ dẫn của con người để máy tính thực hiện phải rất cụ thể, chi tiết và đặc biệt là máy tính phải "hiểu" được những chỉ dẫn này. 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. 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. . ? Em hiểu thế nào là thuật toán ? HS: Trả lời ? Để nhờ máy giải một bài toán ta phải thực hiện những bước nào ? HS: Nghiên cứu SGK và (hình 4) và trả lời GV: Nhận xét và chốt các bước cơ bản. GV: Lưu ý HS: Để giải một bài toán có thể có nhiều thuật toán khác nhau song mỗi thuật toán chỉ dùng để giải một bài toán cụ thể. Vì vậy khi mô tả thuật toán, người ta thường chỉ ra cả điều kiện cho trước và kết quả cần nhận được để dễ nhận biết thuật toán đó dùng để giải bài toán nào. 1. Xác định bài toán * Bài toán là một công việc hay một nhiệm vụ cần phải giải quyết * Để giải quyết một bài toán cụ thể, cần xác định bài toán, tức là tìm hiểu các điều kiện cho trước và kết quả cần thu được. * Ví dụ: - Bài toán tính diện tích hình tam giác - Bài toán vượt qua điểm nghẽn giao thông - Bài toán nấu một món ăn 2. Quá trình giải bài toán trên máy tính * Việc dùng máy tính để giải một bài toán chính là đưa cho máy tính một dãy hữu hạn các thao tác đơn giản mà nó có thể thực hiện được để từ các điều kiện cho trước ta nhận được kết quả cần tìm. * 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 * Các bước giải bài toán trên máy tính: Bước 1: Xác định bài toán là xác định thông tin đã cho (INPUT) và thông tin cần tìm (OUTPUT). Bước 2: Mô tả thuật toán: Diễn tả cách giải bài toán bằng dãy các thao tác cần phải thực hiện. Bước 3: Viết chương trình: Dựa vào mô tả thuật toán viết chương trình bằng một ngôn ngữ lập trình thích hợp 4. Củng cố: ? Thế nào là bài toán? Để giải quyết được một bài toán cụ thể cần phải làm gì? ? Thế nào là thuật toán? Quá trình giải bài toán trên máy tính gồm những bước nào? 5. Hướng dẫn về nhà: - Xem lại các kiến thức đã học trong bài - Ghi nhớ các khái niệm và quá trình giải bài toán trên máy tính - Xem trước nội dung phần tiếp theo E. RÚT KINH NGHIỆM: Ngày soạn: 20.10.2019 Tiết 20. BÀI 5. TỪ BÀI TOÁN ĐẾN CHƯƠNG TRÌNH (tt) A. MỤC TIÊU: 1. Kiến thức: Biết mô tả thuật toán bằng phương pháp liệt kê các bước. 2. Kỹ năng: Xác định được Input, Output của một bài toán đơn giản; 3. Thái độ: Nghiêm túc trong học tập, ham thích lập trình trên máy tính để giải các bài tập. B. CHUẨN BỊ: - GV: SGK, giáo án, bảng phụ hình 29 - HS: SGK, vở ghi chép C. PHƯƠNG PHÁP: Nêu và giải quyết vấn đề Vấn đáp, gợi mở Trực quan D. TIẾN TRÌNH BÀI DẠY: 1. Ổn dịnh tổ chức: 2. Kiểm tra bài cũ: ? Thuật toán là gì? Trình bày các bước giải bài toán trên máy tính? Đáp án: * 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 * Các bước giải bài toán trên máy tính: Bước 1: Xác định bài toán là xác định thông tin đã cho (INPUT) và thông tin cần tìm (OUTPUT). Bước 2: Mô tả thuật toán: Diễn tả cách giải bài toán bằng dãy các thao tác cần phải thực hiện. Bước 3: Viết chương trình: Dựa vào mô tả thuật toán viết chương trình bằng một ngôn ngữ lập trình thích hợp 3. Bài mới: Hoạt động của GV và HS Nội dung Hoạt động 1: Tìm hiểu thuật toán và mô tả thuật toán GV: Nhiều công việc chúng ta thường làm mà không phải suy nghĩ nhiều, tuy nhiên nếu hệ thống lại ta có thể thấy thực chất đó là những thuật toán. VD như việc pha trà mời khách. ? Chỉ ra các bước cần thiết để pha trà mời khách ? HS: Nghiên cứu SGK trả lời. GV: Việc liệt kê các bước như trên là một cách thường dùng để mô tả thuật toán. Nếu không có mô tả gì khác trong thuật toán, 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ự đã được chỉ ra. HS: Chú ý lắng nghe GV: Mặc dù không được nêu rõ trong khái niệm thuật toán, song thuật toán phải được mô tả đủ cụ thể để bất kì đối tượng nào, với cùng khả năng và điều kiện như nhau, khi thực hiện thuật toán cũng đều đạt được kết quả như nhau. GV: Yêu cầu HS xét một số ví dụ về bài toán. HS: Thực hiện theo nhóm, trình bày kết quả ? Em hiểu thế nào là thuật toán? Mô tả thuật toán? HS: Trả lời Hoạt động 2: Tìm hiểu một số ví dụ về thuật toán GV gọi 1HS đọc nội dung ví dụ 2 (SGK). HS đọc ví dụ 2 (SGK). GV cho HS quan sát hình và hướng dẫn HS. ? Tìm Input và Output của bài toán? HS: Trả lời theo SGK/40 ? Để tính diện tích hình trên ta làm thế nào? HS: Tính diện tích HCN và diện tích hình bán nguyệt rồi cộng lại. ? Nêu thuật toán để tính diện tích hình A? HS: Trả lời GV hướng dẫn và lưu ý HS trong thuật toán kí hiệu fchỉ phép gán giá trị của một biểu thức cho một biến. 3. Thuật toán và mô tả thuật toán * 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 Bước 1: Tráng ấm, chén bằng nước sôi Bước 2: Cho trà vào ấm Bước 3: Rót nước sôi vào ấm và đợi khoảng 3 đến 4 phút Bước 4: Rót trà ra chén để mời khách Bài toán giải phương trình bậc nhất dạng tổng quát bx + c = 0 (SGK-40) Bài toán ”Chuẩn bị món trứng tráng” (SGK-40) Thuật toán là dãy 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. Mô tả thuật toán là liệt kê các bước cần thiết để giải một bài toán. 4. Một số ví dụ về thuật toán Ví dụ 2: (SGK trang 40) - Input: Số a là ½ chiều rộng của hình chữ nhật và là bán kính của hình bán nguyệt, b là chiều dài của hình chữ nhật. - Output: Diện tích của hình A. -Thuật toán: + + + S 4. Củng cố: Bài 1. SGK-44 Đáp án: a) INPUT: Danh sách họ tên của HS trong lớp. OUTPUT: Số HS có họ Trần. b) INPUT: Dãy n số. OUTPUT: Tổng của các phần tử lớn hơn 0. c) INPUT: Dãy n số. OUTPUT: Số các số có giá trị nhỏ nhất. 5. Hướng dẫn về nhà: - Xem lại các kiến thức đã học trong bài - Ghi nhớ các khái niệm về thuật toán và mô tả thuật toán - Xem trước nội dung phần tiếp theo E. RÚT KINH NGHIỆM: Ngày soạn: 20.10.2019 Tiết 21. BÀI 5. TỪ BÀI TOÁN ĐẾN CHƯƠNG TRÌNH (tt) A. MỤC TIÊU: 1. Kiến thức: Hiểu thuật toán tính tổng của N số tự nhiên đầu tiên 2. Kỹ năng: - Xác định được 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ê các bước. 3. Thái độ: Nghiêm túc trong học tập, ham thích lập trình trên máy tính để giải các bài tập. B. CHUẨN BỊ: - GV: SGK, giáo án - HS: SGK, vở ghi chép C. PHƯƠNG PHÁP: Nêu và giải quyết vấn đề Vấn đáp, gợi mở Trực quan D. TIẾN TRÌNH BÀI DẠY: 1. Ổn dịnh tổ chức: 2. Kiểm tra bài cũ: Câu 1. (2 điểm) Quá trình giải bài toán trên máy tính gồm mấy bước? Là những bước nào? Câu 2. (2 điểm) Thế nào là thuật toán? Mô tả thuật toán? Câu 3. (6 điểm) Viết Input, Output và thuật toán của các bài toán sau: a) Bài toán nấu cơm b) Bài toán: Tính diện tích hình A được ghép bởi một hình vuông có độ dài cạnh là a và một hình tam giác có chiều cao là h: Đáp án: Câu 1. (2 điểm) Quá trình giải bài toán trên máy tính gồm 3 bước : (0,5 đ) Bước 1: Xác định bài toán là xác định thông tin đã cho (INPUT) và thông tin cần tìm (OUTPUT). (0,5 đ) Bước 2: Mô tả thuật toán: Diễn tả cách giải bài toán bằng dãy các thao tác cần phải thực hiện. (0,5 đ) Bước 3: Viết chương trình: Dựa vào mô tả thuật toán viết chương trình bằng một ngôn ngữ lập trình thích hợp (0,5 đ) Câu 2. (2 điểm) Thuật toán là dãy 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. (1 đ) Mô tả thuật toán là liệt kê các bước cần thiết để giải một bài toán. (1 đ) Câu 3. (6 điểm) Viết Input, Output và thuật toán của các bài toán sau: a) Bài toán nấu cơm INPUT: Gạo, nước, nồi cơm điện (0,5 đ) OUTPUT: Bát cơm nóng đã nấu xong (0,5 đ) Thuật toán: (HS có thể chia thành các bước khác) (1 đ) B1: Đong gạo, vo sạch gạo B2: Cho gạo vào nồi, cho nước phù hợp với lượng gạo B3: Bật công tắc nấu của nồi cơm điện B4: Đợi khoảng 30 phút B5: Đảo cơm, xới cơm ra bát b) Tính diện tích hình A : INPUT: a là độ dài một cạnh hình vuông, h là chiều cao tam giác (0,5 đ) OUTPUT: Diện tích hình A (0,5 đ) Thuật toán: B1: Tính diện tích hình vuông : (1 đ) B2: Tính diện tích hình tam giác: (1 đ) B3: Tính diện tích hình A: và kết thúc. (1 đ) 3. Bài mới: Hoạt động của GV và HS Nội dung Hoạt động 1: Tìm hiểu thuật toán tính tổng của 100 số tự nhiên đầu tiên HS: Đọc yêu cầu ? Tìm Input và Output của bài toán HS: Trả lời GV: Có thể cho HS tính tổng của 10 số đầu tiên bằng tay (yêu cầu HS sử dụng biến nhớ) qua đó HS rút ra cần phải lưu giá trị của tổng vào một biến trung gian. GV nêu ý tưởng giải bài toán là dùng biến SUM để lưu giá trị của tổng. ? Hãy nêu thuật toán của bài toán? HS: Bước 1: SUM f 0. Bước 2: SUM f SUM + 1. Bước 3: SUM f SUM + 2 Bước 4: SUMf SUM + 3 . Bước 101: SUM f SUM +100. HS: Nhận xét thuật toán như trên là quá dài dòng nhất là khi không chỉ tính tổng của 100 số mà các số cần tính tổng lớn hơn nhiều. ? Thao tác nào được lặp đi lặp lại trong bài toán trên ? HS: Cộng thêm vào SUM lần lượt các giá trị 1,2,3 (lặp lại 100 lần) GV: Có thể sử dụng số “i” thay cho các số 1,2,3 GV Đưa ra thuật toán ngắn gọn hơn: GV: Mô phỏng thuật toán tính tổng N số tự nhiên đầu tiên, với N = 10 để HS dễ hiểu Hoạt động 2: Tìm hiểu thuật toán đổi giá trị của hai biến x và y HS: Đọc ví dụ và đưa ra input, Output của bài toán GV: Trong bài thực hành 3 chúng ta đã tìm hiểu và viết chương trình hoán đổi các giá trị của 2 biến x và y. Trong ví dụ này ta sẽ tìm hiểu thuật toán để viết chương trình đó ? Nếu em có hai chai: Một chai đựng nước cam và một trai đựng nước trắng. Giờ em muốn đổi nước trong 2 cái chai này, em sẽ làm thế nào? HS: Trả lời GV: Cần có thêm một biến trung gian để tạm thời lưu giá trị của biến x. GV: Hướng dẫn HS viết thuật toán ? Sau bước 1 giá trị của z sẽ bằng bao nhiêu? HS: a ? Sau bước 2 giá trị của x sẽ bằng bao nhiêu ? HS: b ? Sau bước 3 thì các giá trị của các biến x, y như thế nào? HS: x = b; y = a 4. Một số ví dụ về thuật toán (tt) Ví dụ 3: Tính tổng của 100 số tự nhiên đầu tiên. Input: dãy 100 số tự nhiên đầu tiên: 1, 2, ..., 100. Output: Giá trị tổng 1+2+...+100. *Thuật toán: Bước 1:SUMf 0; i f 0. Bước 2: SUMf SUM+ i; i f i +1. Bước 3: Nếu thì quay lại bước 2. Bước 4: Thông báo giá trị SUM và kết thúc thuật toán. Ví dụ 4: (SGK trang 42) Đổi giá trị của 2 biến x và y INPUT: Hai biến x và y có giá trị là a và b OUTPUT: Hai biến x và y có giá trị là b và a Thuật toán: Bước 1: zf x (z =a) Bước 2: xf y (x =b) Bước 3: yf z (y =a) 4. Củng cố: Kết hợp trong quá trình giảng bài 5. Hướng dẫn về nhà: - Xem lại nội dung bài học - Ghi nhớ thuật toán của bài toán tính tổng 100 số tự nhiên - Xem trước nội dung phần tiếp theo E. RÚT KINH NGHIỆM: Ngày soạn: 27.10.2019 Tiết 22. BÀI 5. TỪ BÀI TOÁN ĐẾN CHƯƠNG TRÌNH (tt) A. MỤC TIÊU: 1. Kiến thức: - Biết xác định Input, Output của bài toán: So sánh hai số thực, tìm số lớn nhất của một dãy số. - 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ìm số lớn nhất của một dãy số. 2. Kỹ năng: - Xác định được Input, Output của một bài toán - Mô tả thuật toá
File đính kèm:
- giao_an_tin_hoc_lop_8_tiet_14_den_23_nam_hoc_2019_2020.docx