1. Giáo viên: Sgk, sgv, bảng phụ
2. Học sinh
III. HOẠT ĐỘNG DẠY HỌC
1. Hoạt động 1: (10 phút) Tìm hiểu ý nghĩa của cấu trúc lặp có số lần chưa biết trước
a. Mục tiêu:
Biết được sự cần thiết phải có của cấu trúc lặp có số lần chưa biết trước trong lập trình
b. Nội dung:
- Bài toán 1: Viết CT tính tổng
Na a a a a S + + + + + + + = ... 1 2 1 1 1 1 cho đến khi 1 <0.001 +N a
- Bài toán 2: Ông An có số tiền là A đồng, ông gửi tiết kiệm ngân hàng với lãi suất 1,5%/tháng. Hỏi sau bao nhiêu tháng (không rút tiền lãi hàng tháng) ông ta được số tiền lớn hơn B đồng?
c. Các bước tiến hành:
Hđ của GV Hđ của HS Nd ghi bảng
1. Nêu nội dung bài toán 1
-Sự khác nhau của bài toán này với bài toán tính tổng đã học ở tiết trước? - Lặp bao nhiêu lần?
- Lặp đến khi nào?
2. Nêu nội dung bài toán 2
-Sự khác nhau của bài toán này với bài toán đã giải ở tiết trước?
- Lặp bao nhiêu lần? - Lặp đến khi nào?
1. Chú ý lắng nghe, quan sátvà suy nghĩ trả lời và suy nghĩ trả lời
-Bài trước: cho giới hạn N Bài này: cho giới hạn S - Chưa xác định được ngay - Cho đến khi điều kiện
001. . 0 1 < +N a được thõa mãn 2. Chú ý lắng nghe, quan sát và suy nghĩ trả lời
- Bài trước: biết số tháng, hỏi số tiền
Bài này: biết số tiền, hỏi số tháng
- Chưa biết, đó chính là số tháng phải tìm
- Đến khi số tiền thu được >B
Bài toán 1
Tóm lại, qua 2 ví dụ trên ta thấy có 1 dạng toán có sự lặp lại của câu lệnh nhưng không biết được số lần lặp. Cần có 1 cấu trúc điều khiển lặp lại 1 công việc nhất định khi thõa mãn 1 điều kiện nào đó.
2. Hoạt động 2: (15 phút) Tìm hiểu cấu trúc lệnh lặp While trong NNLT Pascal
a. Mục tiêu:- Biết được cấu trúc chung của lệnh lặp While. Hiểu được ý nghĩa của các thành phần trong câu lệnh. Biết được sự thực hiện của máy khi gặp While. Vẽ được sơ đồ thực hiện.
b. Nội dung:
Cấu trúc: While <điều kiện> Do <lệnh cần lặp>; Sự thực hiện:
Bước 1: Tính giá trị của <điều kiện>.
Bước 2: Nếu <điều kiện> có giá trị đúng thì:
thực hiện lệnh cần lặp và quay lại B1.
c. Các bước tiến hành:
Hđ của GV Hđ của HS Nd ghi bảng
1. Y/cầu hs n/cứu sgk và cho biết cấu trúc chung của lệnh lặp While.
Giải thích:
<điều kiện>: biểu thức quan hệ hoặc biểu thức logic.
<lệnh cần lặp>: các lệnh cần phải lặp lại
Hỏi:
- Điều kiện để lặp lại trong 2 bài toán là gì?
- Trong 2 bài toán lệnh cần lặp là gì?
- Dựa vào cấu trúc, cho biết máy thực hiện tính <điều kiện> trước hay <lệnh cần lặp> trước?
- Sự khác nhau trong lệnh cần lặp của For và While là gì?
2. Y/cầu hs vẽ sơ đồ thực hiện lênbảng bảng
- Gọi hs khác nhận xét.
* Treo sơ đồ mẫu và giải thích
1. Tham khảo sgk và trả lờiCấu trúc: Cấu trúc:
While <điều kiện> Do
<lệnh cần lặp>; Bt1: 1 >0.001 +i a Bt2: A < B + Bt1: S := S + 1/(a+I); để tính tổng I := I + 1; để tăng chỉ số + Bt2: A := A + 0.015*A; để tính tiền T := T + 1; để tính số tháng - Suy nghĩ và trả lời:
Tính điều kiện trước, thực hiện lệnh lặp sau.
- Trong While phải có lệnh thay đổi biến chỉ số.
2. Lên bảng vẽ sơ đồ thựchiện của lệnh While. hiện của lệnh While.
-Nhận xét đúng sai và bổ sung
* Chú ý lắng nghe và ghi nhớ
3. Câu lệnh While …Do
Cấu trúc:
While <điều kiện> Do
<lệnh cần lặp>; Sơ đồ thực hiện:
* Trong <lệnh cần lặp> phải có lệnh thay đổi biến chỉ số. (để thay đổi giá trị <điều kiện>)
điều kiện
lệnh cần lặp
SĐ Đ
3. Hoạt động 3: (15 phút) Rèn luyện kĩ năng vận dụng lệnh lặp While
a. Mục tiêu:
Bước đầu biết sử dụng đúng lệnh While để lập trình giải quyết một số bài toán đơn giản.
b. Nội dung:
Ví dụ 1: Bài toán 2 tìm hiểu ở trên
Ví dụ 2: Viết chương trình tìm ước chung lớn nhất của 2 số nguyên dương M, N được nhập từ bàn phím.
IV. ĐÁNH GIÁ CUỐI BÀI (5phút)
1. Nội dung đã học
- Cấu trúc chung của lệnh lặp While
- Sơ đồ thực hiện của lệnh While và sự thực hiện của máy.
2. Câu hỏi, bài tập về nhà
- Giải bài tập 5b, 7, 8 sgk trang 51.
- Đọc lại bài lệnh rẽ nhánh IF và làm các bài tập liên quan chuẩn bị cho tiết sau thực hành. - Xem trước nội dung bài thực hành số 2: sgk trang 49-50
- Xem thêm nội dung phụ lục B, sgk trang 131: Lệnh rẽ nhánh và lặp (Case ... of Và
Repeat ... Until)
Ngày soạn: 23/10/07
Tiết 15 - 16 BÀI THỰC HÀNH SỐ 2
I. MỤC TIÊU
1. Kiến thức: Nắm được cấu trúc và sơ đồ thực hiện của cẩu trúc rẽ nhánh
2. Kĩ năng:
- Rèn luyện kĩ năng sử dụng cấu trúc rẽ nhánh trong việc lập trình giải một số ài toán cụ thể.
- Làm quen với các công cụ phục vụ hiệu chỉnh chương trình
3. Thái độ: Tự giác, tích cực, chủ động trong thực hành
II. ĐỒ DÙNG DẠY HỌC
1. Giáo viên: Phòng máy vi tính, Projector.
2. Học sinh: Sgk, sbt, bài tập đã viết ở nhà.
III. HOẠT ĐỘNG DẠY HỌC
1. Hoạt động 1: (35 phút) Làm quen với một chương trình và các công cụ hiệu chỉnh chtrình.
a. Mục tiêu: Hs biết được nội dung chương trình và kết quả sau khi thực hiện chương trình. Biết các công cụ dùng để hiệu chỉnh chương trình khi cần thiết: thực hiện từng bước, xem kết quả trung gian.
b. Nội dung: Viết chtrình nhập vào 3 số nguyên dương a, b, c và kiểm tra xem chúng có phải là bộ số Pitago hay không?
c. Các bước tiến hành:
Hđ của GV Hđ của HS Nd ghi bảng
1. Gợi ý để hs nêu khái niệm bộ sốPitago. Pitago.
- Y/cầu hs cho ví dụ cụ thể?
- Phải sử dụng các đẳng thức nào để kiểm tra 3 số bất kỳ a, b, c là bộ số Pitago?
2. Chiếu chương trình mẫu lên bảng.Thực hiện mẫu các thao tác: lưu, thực Thực hiện mẫu các thao tác: lưu, thực hiện từng lệnh chtrình, xem kết quả
1. Theo dõi dẫn dắt của gvđể nêu khái niệm về bộ số để nêu khái niệm về bộ số Pitago: tổng bình phương 2 số bằng bình phương số còn lại. Ví dụ: 4 5 3 a2=b2+c2 b2=a2+c2 c2=a2+b2
2. Soạn chtrình vào máy.
trung gian, thực hiện chtrình và nhập dữ liệu.
- Y/cầu hs gõ chtrình vào máy.
- Y/cầu hs lưu chtrình theo hdẫn của sgk.
- Y/cầu hs thực hiện từng lệnh chtrình. - Y/cầu hs xem các kết quả trung gian a2, b2, c2 trên của sổ Watches
- Y/cầu hs tìm thêm bộ số a, b, c khác để thực hiện chtrình và so sánh
Nhấn F2, gõ tên file, Enter Nhấn F7, nhập giá trị cho a = 3, b = 5, c = 4.
Làm theo hdẫn trên bảng Quan sát qua trình rẽ nhánh của từng bộ dữ liệu vào rồi trả lời.
+ Vào Debug\ Watches, + nhấn phím Insert xuất hiện cửa sổ Add watch, nhập tên biến cần theo dõi giá trị, rồi nhấn Enter (lặp lại thao tác này nếu muốn cùng lúc xem giá trị nhiều biến)
2. Hoạt động 2: (45 phút )Rèn luyện kĩ năng lập trình hoàn thiện một bài toán
a. Mục tiêu: Hs đọc hiểu đề, phân tích yêu cầu của đề. Từ đó chọn được cấu trúc dữ liệu và lệnh phù hợp để lập trình.
b. Nội dung: Viết chương trình tìm giá trị lớn nhất của 3 số a, b, c được nhập từ bàn phím.
c. Các bước tiến hành:
Hđ của GV Hđ của HS Nd ghi bảng
1. Nêu nội dung, mục đích y/cầu củabài toán. bài toán.
- Bước đầu tiên để giải bài toán? - Y/cầu hs xác định các nội dung đó? - Làm thế nào để xác định gtln của 3 số a, b, c? (Nêu các bước tìm ra gtln) - Y/cầu hs phát thảo thuật toán.
- Qua thuật toán ta sẽ sử dụng cấu trúc nào để viết chương trình?
2. Y/cầu hs gõ chương trình vào máyGviên tiếp cận từng máy tính để Gviên tiếp cận từng máy tính để hướng dẫn và sửa sai.
3. Y/cầu hs nhập dữ liệua = 23, b = 15, c = 23 a = 23, b = 15, c = 23 4. Y/cầu hs tự xác định các bộ test khác để kiểm tra chtrình 1. Chú ý theo dõi vấn đề đặt ra của gv. - Xác định Input, Output và thuật toán -Input: 3 số a, b, c Output: Gtln(a,b,c) - Trả lời theo dạng trình bày ý tưởng - Hs trình bày trên bảng - Cấu trúc rẽ nhánh 2. Độc lập từng nhóm soạn chtrình vào máy.
Thông báo kết quả viết được.
3. Nhập dữ liệu theo test cảu gv và thông báo kết quả.
4. Tìm các bộ test khác và kiểm thử chtrình
Bài 2: Viết chương trình tìm giá trị lớn nhất của 3 số a, b, c được nhập từ bàn phím.