Bài giảng Môn Tin học lớp 8 - Tuần 11 - Tiết 21, 22 - Bài 5: Từ bài toán đến chương trình

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 của dãy A

Bước 1: Max  a1, i  1.

Bước 2: i  i+1

Bước 3: Nếu i >n, chuyển đến bước 5.

Bước 4: Nếu ai > Max, Max  ai. Quay lại Bước 2.

Bước 5. Kết thúc thuật toán.

 

doc4 trang | Chia sẻ: rimokato | Lượt xem: 2028 | Lượt tải: 5download
Bạn đang xem nội dung tài liệu Bài giảng Môn Tin học lớp 8 - Tuần 11 - Tiết 21, 22 - Bài 5: Từ bài toán đến chương trình, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
 Tuần 11 - Tiết 21-22
 Ngày dạy: 29/10/2014
 BÀI 5: TỪ BÀI TOÁN ĐẾN CHƯƠNG TRÌNH.
I. MỤC TIÊU:
Kiến thức:
Học sinh biết và hiểu hơn việc xác định bài toán và mô tả thuật toán thông qua việc phân tích các ví dụ sách giáo khoa.
Củng cố lại kiến thức đã được học trong 2 tiết trước.
Kĩ năng: 
Hs thực hiện được:
- Học sinh xác định được bài toán.
- Mô tả thuật toán cho một số bài toán đơn giản.
Hs thực hiện thành thạo:
- Học sinh thực hiện thành thạo việc xác định Input và Output và mô tả thuật toán của bài toán cụ thể nào đó.
Thái độ:
Thói quen:
Hình thành ở học sinh thói quen nghiên cứu, tìm tòi và tư duy trong môn tin củng như các môn học khác.
Tính cách:
- Giáo dục ý thức học tập và nghiên cứu.
NỘI DUNG BÀI HỌC:
- Bài toán và xác định bài toán.
- Quá trình giải bài toán trên máy tính.
 CHUẨN BỊ:
1. Giáo viên: 
2. Học sinh: Học bài cũ và chuẩn bị cho bài mới.
 TỔ CHỨC CÁC HOẠT ĐỘNG HỌC TẬP:
Ổn định tổ chức và kiểm diện.
Giáo viên ổn định tổ chức và kiểm diện học sinh.
Kiểm tra bài cũ:
Thuật toán là gì? 
Hãy mô tả thuật toán cho bài toán sau:
 Tính tổng của 10 số tự nhiên đầu tiên:
 SUM = 1+2+.....+10.
Tiến trình bài học:
HOẠT ĐỘNG CỦA THẦY VÀ TRÒ
NỘI DUNG BÀI HỌC
 Ví dụ 2. Một 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 b và một hình bán nguyệt bán kính a như hình 29 dưới đây:
Hình 29
? Nêu cách tính diện tích hình trên?
? Diện tích Hình chữ nhật như thế nào?
? Diện tích hình bán nguyệt tính nào?
? Hình trên tính diện tích nào?
Ví dụ 3. Tính tổng của 100 số tự nhiên đầu tiên. 
? Làm thế nào để tính được tổng các số tự nhiên từ 1 đến 100?
Ví dụ 4. Đổi giá trị của hai biến x và y.
? Thực hiện X:=y, Y:=x được không? Tại sao?
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 và Output của bài toán là gì?
 ? Thử chạy với các cặp số khác nhau: a=3,b=4; a=4,b=3; a=5,b=5;
Ví dụ 6. Tìm số lớn nhất trong dãy A các số a1,a2,....an cho trước.
 ? Tìm Max của dãy A= 1,5,3,7,2,9.
 ? Thử chạy thuật toán bên với dãy A vừa cho
Mô phỏng lại thuật toán qua việc tìm chú thỏ lớn nhất trong minh họa trang 44 sách giáo khoa.
4. Một số ví dụ về thuật toán
Ví dụ 2:
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 đơn giản để tính diện tích hình A có thể gồm các bước sau:
Bước 1. S1 ¬ 2ab {(Tính diện tích hình chữ nhật)};
Bước 2. S2 ¬ {(Tính diện tích hình bán nguyệt)};
Bước 3. S ¬ S1 + S2 và kết thúc.
Lưu ý: Trong biểu diễn thuật toán, người ta cũng thường sử dụng kí hiệu ¬ để chỉ phép gán một biểu thức cho một biến. 
Ví dụ 3
INPUT: Dãy 100 số tự nhiên đầu tiên: 1, 2, ... 100.
OUTPUT: Giá trị của tổng 1 + 2 + ...+ 100.
Bước 1. SUM ¬ 0.
Bước 2. SUM ¬ SUM + 1.
...
Bước 101. SUM ¬ SUM + 100.
Viết gọn lại:
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.
Ví dụ 4. Đổi giá trị của hai biến x và y.
INPUT: Hai biến x, y có giá trị tương ứng là a và b.
OUTPUT: Hai biến x, y có giá trị tương ứng là b và a.
Bước 1. z ¬ x {Sau bước này giá trị của z sẽ bằng a} 
Bước 2. x ¬ y {Sau bước này giá trị của x sẽ bằng b}
 Bước 3. y ¬ z {Sau bước này giá trị của y sẽ bằng giá trị của z, chính là a, giá trị ban đầu của biến x}
Ví dụ 5. Cho hai 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".
INPUT: Hai số thực a và b.
OUTPUT: Kết quả so sánh.
 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" 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, kết quả là "a bằng b".
Bước 3. 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 của dãy A
Bước 1: Max ß a1, i ß 1.
Bước 2: i ß i+1
Bước 3: Nếu i >n, chuyển đến bước 5.
Bước 4: Nếu ai > Max, Max ß ai. Quay lại Bước 2.
Bước 5. Kết thúc thuật toán.
Tổng kết. 
Bài tập: Viết thuật toán cho bài toán “ Tìm số lớn nhất trong dãy A các số a1, a2, ..., an cho trước”.
HS: INPUT: Dãy A các số a1, a2, ..., an (n ³ 1).
 OUTPUT: Giá trị MAX = max{a1, a2, ..., an}.
 Bước 1. MAX ¬ a1; i ¬ 1.
 Bước 2. i ¬ i + 1.
 Bước 3. Nếu i > n, chuyển đến bước 5. 
 Bước 4. Nếu ai > MAX, MAX¬ai. Trong trường hợp ngược lại (MAX ³ ai), giữ nguyên MAX . Quay lại bước 2.
 Bước 5. Kết thúc thuật toán.
Hướng dẫn học tập.
Đối với bài học ở tiết này:
 - Xem lại tất cả các kiến thức lý thuyết của bài 5.
- Xem lại các ví dụ của mục 4 để hiểu bài hơn.
Đối với bài học ở tiết tiếp theo:
- Về nhà xem lại kiến thức cũ.
- Chuẩn bị cho tiết sau làm bài tập.
V. PHỤ LỤC.
----------˜˜&™™----------

File đính kèm:

  • docTin 8Tiet 21.doc