GIáo án Tin học 8 tiết 22+ 23: Từ bài toán đến chương trình (tt)
4. Một số ví dụ về thuật toán
Ví dụ 3:
- INPUT: Dãy số 1,2,3,.,100.
- OUTPUT: Giá trị tổng: 1+2+3+ +100
- Các bước mô tả thuật toán:
+ Bước 1: SUM 0; i 0.
+ Bước 2: i i + 1.
+ Bước 3: Nếu i <= 100, thì SUM 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.
Bài 5: TỪ BÀI TOÁN ĐẾN CHƯƠNG TRÌNH(TT) Ngày soạn: ././2014 Tiết theo PPCT: 22-23 Tuần: 11-12 1. Mục tiêu: 1.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ể. - 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 một dãy số. 1.2/ Kĩ năng: - Xác định Input, Output của một bài toán đơn giản. - Biết mô tả thuật toán bằng phương pháp liệt kê các bước. 1.3/ Thái độ:Thái độ học tập nghiêm túc, yêu thích môn học. 2. Chuẩn bị: 2.1/ Chuẩn bị của GV: Giáo án, BGĐT (nếu có) hoặc tranh ảnh minh hoạ. 2.2/ Chuẩn bị của HS: Nghiên cứu SGK, vở ghi. 3. Tổ chức các hoạt động học tập: 3.1/ Ổn định lớp: 3.2/ Kiểm tra bài cũ: - HS1: Em hãy mô tả thuật toán để nấu một tô mì. - HS2: Em hãy mô tả thuật toán để nấu một nồi cơm. - GV yêu cầu HS nhận xét, sau đó chấm điểm. - HS1: Trả lời. - HS1: Trả lời. 3.3/ Tiến trình bài học: Tiết 3: Hoạt động của GV Hoạt động của HS Nội dung Hoạt động 1: Một số ví dụ về thuật toán. a/ Phương pháp : ................................. b/ Các bước của hoạt động : * VD3: Tính tổng 100 số tự nhiên đầu tiên. - Hãy cho biết INPUT, OUTPUT của bài toán trên? - GV giới thiệu cách làm: Dùng biến SUM để lưu giá trị của tổng. Đầu tiên gán cho SUM có giá trị = 0. Tiếp theo lần lược thêm các giá trị 1,2,3,...100 vào SUM. - Thuật toán trên vẫn đúng nhưng quá dài dòng. Ta có thể mô tả thuật toán ngắn gọn hơn như sau: Bước 1: SUM ¬ 0; i ¬ 0. Bước 2: i ¬ i + 1. Bước 3: Nếu i <= 100, thì SUM ¬ 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: Đổi giá trị của hai biến x và y. - Hãy cho biết INPUT, OUTPUT của bài toán trên? - Trong bài thực hành 3, các em đã tìm hiểu và viết chương trình hoán đổi các giá trị của hai biến x và y. Ví dụ này sẽ mô tả thuật toán để viết chương trình đó. - Em nào có thể mô tả được thuật toán của bài tập trên. - Chúng ta có thể thực hiện trực tiếp hai phép gán x ¬ y và y ¬ x được không? - Không thể gán như trên, vì giá trị của hai phép gán này là bằng nhau (là gía trị của y). - GV giới thiệu lại thuật tóan như SGK. INPUT: Dãy số 1,2,3,..,100. OUTPUT: Giá trị tổng: 1+2+3++100 - Học sinh lắng nghe, xác định yêu cầu của bài toán. - Học sinh chú ý lắng nghe, ghi nhớ kiến thức. INPUT: hai biến x và y có giá trị tương ứng là a và b. OUTPUT: hai biến x và y có giá trị tương ứng là b và a. - HS trả lời(theo bài thực hành 3). - HS trả lời. - HS quan sát. 4. Một số ví dụ về thuật toán Ví dụ 3: - INPUT: Dãy số 1,2,3,..,100. - OUTPUT: Giá trị tổng: 1+2+3++100 - Các bước mô tả thuật toán: + Bước 1: SUM ¬ 0; i ¬ 0. + Bước 2: i ¬ i + 1. + Bước 3: Nếu i <= 100, thì SUM ¬ 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: - INPUT: hai biến x và y có giá trị tương ứng là a và b. - OUTPUT: hai biến x và y có giá trị tương ứng là b và a. - Các bước mô tả thuật toán: + Bước 1: z ¬ x (giá trị của z bằng a). + Bước 2: x ¬ y (giá trị của x bằng b). + Bước 3: y ¬ z (giá trị của y bằng a). 4. Tổng kết và hướng dẫn học tập: 4.1/ Củng cố: Bài tập 2-SGK: - Yêu cầu HS đọc đề bài. - Yêu cầu HS suy nghĩ, trả lời. - GV gợi ý: Giả sử giá trị của biến x là a và biến y là b. Bài tập 2-SGK: Giả sử giá trị của biến x là a và biến y là b. + Bước 1: x ¬ x+y (giá trị của x là a+b) + Bước 2 : y ¬ x-y ( giá trị của y là a+b-b=a) + Bước 3 : x ¬ x-y ( giá trị của x là: a+b-a = b) 4.2/ Hướng dẫn về nhà: - HS học bài kết hợp SGK. - Xem tiếp mục 4 – SGK. Tiết 4: 3. Tổ chức các hoạt động học tập: 3.1/ Ổn định lớp: 3.2/ Kiểm tra bài cũ: * Giả sử x và y là hai biến số. Hãy cho biết quả của việc thực hiện thuật toán sau: + Bước 1: x ¬ x-y + Bước 2 : y ¬ x+y + Bước 3 : x ¬ x+y - Yêu cầu HS nhận xét sau đó chấm điểm. Giả sử giá trị của biến x là a và biến y là b. + Bước 1: x ¬ x-y (giá trị của x là a-b) + Bước 2 : y ¬ x+y ( giá trị của y là a-b+b=a) + Bước 3 : x ¬ x+y (giá trị của x là: a-b+a = 2a-b) 3.3/ Tiến trình bài học: Hoạt động của GV Hoạt động của HS Nội dung Hoạt động 2: Một số ví dụ về thuật toán. a/ Phương pháp : ................................. b/ Các bước của hoạt động : * Ví dụ 5: Cho 2 số thực a và b. Hãy cho biết kết quả so sánh hai số đó dưới dạng “a lớn hơn b”, “a nhỏ hơn b” hoặc “a bằng b”. - Hãy xác định Input và Output của bài toán? - GV hướng dẫn: Thoạt đầu ta thấy thuật toán sau đây có thể giải quyết bài toán này: + Bước 1: Nếu a>b, kết quả là “a lớn hơn b” + Bước 2: 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. - Em hãy thử lại với a=6 và b=5 và cho nhận xét. - Ta thấy sau bước 1 ta có kết quả “a lớn hơn b” nhưng đến bước 2, khi kiểm tra a<b ta lại có tiếp kết quả “ a bằng b” và như thế ta nhận được 2 kết quả. - Như vậy để có kết quả đúng ta cần mô tả thuật toán như thế nào? * Ví dụ 6: Tìm số lớn nhất trong dãy A các số a1, a2,...,an cho trước. - GV hướng dẫn: Ta dùng biến Max để lưu giá trị phần tử lớn nhất của dãy A. Đầu tiên gán giá trị a1 cho biến Max, tiếp theo so sánh các số a2, ...,an với max. Nếu ai>max, ta gán ai cho max. - Xác định Input và Output của bài toán? - GV hướng dẫn HS mô tả thuật toán. Input: Haisố thực a và b. Output: Kết quả so sánh. - HS thử lại với a=6 và b=5. Nhận xét: Thuật toán trên cho ta hai kết quả. - HS suy nghĩ trả lời. - HS chú ý. - HS trả lời. 4. Một số ví dụ về thuật toán: * Ví dụ 5: - Input: Hai số thực a và b. - Output: Kết quả so sánh. - Mô tả thuật toán: + Bước 1: Nếu a>b, kết quả là “a lớn hơn b” và chuyển đến bước 3. + Bước 2: Nếu a<b, kết quả là “a nhỏ hơn b”; Ngược lại “a bằng b”. + Bước 3: Kết thúc thuật toán. * Ví dụ 6: - Input: Dãy A các số a1, a2,...,an (n³1). - Output: Giá trị Max = max{ a1, a2,...,an}. - Mô tả thuật toán: + B1: Max ¬ ai; i ¬ 1. +B2: i ¬ i+1. +B3: Nếu i>n, chuyển đến bước 5. +B4: Nếu ai>Max, Max ¬ ai và quay lại bước 2. + B5: Kết thúc thuật toán. 4. Tổng kết và hướng dẫn học tập: 4.1/ Củng cố: BT 3 - SGK: Cho trước ba số dương a, b, c. Hãy mô tả thuật toán cho biết ba số đó có thể là độ dài ba cạnh của một tam giác hay không. - Xác định Input và Output của bài toán? - Để ba số dương a, b, c là ba cạnh của tam giác thì ba cạnh đó phải thoã mãn điều kiện gì? (Gợi ý: Xét a+b > c; b+c > a; a+c > b) - GV gọi HS lên bảng trình bày Bài 4 - SGK: Cho 2 biến x và y. Hãy mô tả thuật toán đổi giá trị của các biến nói trên để x và y theo thứ tự có giá trị không giảm. - Xác định Input và Output của bài toán - Hãy viết thuật toán - Gợi ý: Ta sử dụng biến phụ z Bài 3: - Input: Ba số dương a>0; b>0; c>0 - Output: Thông báo “a, b, c có thể là ba cạnh của một tam giác” hoặc thông báo “a, b, c không thể là ba cạnh của một tam giác”. - Mô tả thuật toán: + Bước 1: Nếu a+b c, chuyển tới bước 5. + Bước 2: Nếu b+c a, chuyển tới bước 5. + Bước 3: Nếu a+ c b, chuyển tới bước 5. + Bước 4: Thông báo “a, b và c có thể là ba cạnh của một tam giác”và kết thúc thuật toán. + Bước 5: Thông báo “a, b và c không thể là ba cạnh của một tam giác”và kết thúc thuật toán. Bài 4: Input: Hai biến x và y Output: Hai biến x và y có giá trị không giảm. Bước 1: Nếu x y, chuyển tới bước 5 Bước 2: z x Bước 3: x y Bước 4: y z Bước 5: Kết thúc thuật toán. 4.2/ Hướng dẫn về nhà: - HS học bài kết hợp SGK. - Xem và làm lại các bài tập vừa làm. - Làm các bài tập còn lại sau bài học. - Tiết sau giải bài tập.
File đính kèm:
- Tiet 22-23.doc