Nội dung đã học
- Cấu trúc chung của Câu lệnh lặp While . . . Do
- Sơ đồ thực hiện của lệnh While và sự thực hiện của máy.
V. DẶN DÒ
Câu hỏi, bài tập về nhà
Làm một số bài trong sách bài tập Tin học 11: 3.23, 3.29; 3.31
Xem trước phần nội dung cấu trúc lặp với số lần chưa biết trước While - Giải bài tập 5b, 7, 8 sgk trang 51.
- Đọc lại bài lệnh rẽ nhánh IF, làm các BT liên quan chuẩn bị cho tiết sau TH - 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)
Tiết : 14 Tuần : 14
Ngày soạn: BÀI TẬP CẤU TRÚC LẶP
I. MỤC TIÊU1. Kiến thức 1. Kiến thức
- Biết sử dụng đúng lệnh lặp For . . . Do - Biết sử dụng đúng lệnh lặp While . . . Do
2. Kĩ năng:
- Bước đầu sử dụng được lệnh lặp For . . . do , và While . . . Do để lập trình giải quyết 1 số bài toán đơn giản.
- Phân biệt được sự giống và khác nhau giữa cấu trúc lặp For và While.
- Bước đầu biết lựa chọn đúng dạng lệnh lặp để lập trình giải quyết một số bài toán đơn giản.
3. Tư duy và thái độ: Tích cực trong học tập, cẩn thận , chính xác.
II. CHUẨN BỊ
1. Giáo viên: Sách giáo khoa, sách giáo viên, một số bài tập áp dụng...
2. Học sinh: sgk, và chuẩn bị bài tập trước
III. PHƯƠNG PHÁP VÀ PHƯƠNG TIỆN
1. Phương pháp: Gợi mở, vấn đáp, đan xen hoạt động nhóm
2. Phương tiện: Giáo án.
III. TIẾN TRÌNH BÀI HỌC1. Ổn định lớp, kiểm tra sĩ số. 1. Ổn định lớp, kiểm tra sĩ số. 2. Kiểm tra bài cũ.
3. BÀI TẬP
Hoạt động 2: Rèn luyện kĩ năng vận dụng câu lệnh For và câu lệnh rẽ nhánh If
Hoạt động của Giáo Viên Hoạt động của Học Sinh Nội dung ghi bảng
Dẫn dắt: Từ bài toán KTBC ở trên, nếu ta y/cầu tính và đưa ra màn hình tổng các số chẵn và tổng các số lẻ trong phạm vi từ a đến b.
- Ghi bảng (sửa lại nội dung đề bài toán)
Y/cầu hs phân tích đề bài và trả lời câu hỏi.
- So sánh với bài toán trước thì có gì khác?
- Ta cần đưa ra màn hình mấy giá trị? - Việc chính cần thực hiện trong câu lệnh lặp là gì?
-Ghi đề bài toán
-Lắng nghe, phân tích bài toán và trả lời -Tl: tính tổng các số chẵn và tổng các số lẻ riêng -Tl: 2 giá trị (S1: tổng chẵn; S2: tổng lẻ) Tl:
Kiểm tra biến đếm i : nếu i là chẵn thì S1:=S1+i ngược lại (i là lẻ)thì S2:=S2+i.
Đứng tại chổ trả lời:
BÀI TẬP
Bài 1: Viết CT nhập vào 2 số nguyên dương a, b (a<b), tính và đưa ra màn hình tổng các số chẵn và tổng các số lẻ trong phạm vi từ a đến b.
- Hãy mô tả việc trên bằng lệnh lặp For?
- Y/cầu hs cả lớp tự hoàn thành chương trình. Cho 1 hs lên bảng trình bày.
* Chuẩn hóa lại bài làm của hs bằng chương trình mẫu (treo chtrình đã chuẩn bị trên bảng phụ) For I:=a To b Do If I mod 2 =0 then S1:=S1+I else S2:=S2+I ; Trình bày trên bảng. Quan sát chtrình của giáo viên và ghi nhớ. Var a, b, i , S1, S2 : longint; Begin Write(‘Nhap a va b (a<b): ‘); Readln(a, b); S1 := 0; S2 := 0; For i := a To b Do If i mod 2 = 0 then S1 := S1 + i else S2 := S2 + i; Writeln(‘Tong chan: ’, S1, ’ Tong le: ’,S2); Readln End.
Hoạt động 3: Tiếp tục vận dụng câu lệnh lặp For để giải quyết một bài toán đơn giản.
Hđ của GV Hđ của HS Nd ghi bảng
1. Nêu đề bài toán (Ghi bảng)
- Cách tính tiền gửi tiết kiệm hàng tháng như thế nào?
- Vậy, công thức tính tiền thu được sau mỗi tháng như thế nào?
- câu lệnh lặp này lặp bao nhiêu lần? - Xác định giá trị đầu và giá trị cuối của câu lệnh For để thực hiện việc lặp trên?
2. Y/cầu hs viết chương trình vào vở,cho 1 hs trình bày lên bảng. cho 1 hs trình bày lên bảng.
* Chuẩn hóa lại bài làm của hs bằng chương trình mẫu (treo chtrình đã chuẩn bị trên bảng phụ)
3. (Nếu còn thời gian)
Hỏi sau 12 tháng gửi (không rút tiền lãi hàng tháng), ông ta được số tiền nhiều hơn số tiền ban đầu là bao nhiêu?
Ta phải sửa lại chtrình trên như thế nào?
1. Đọc đề bài toán, phântích và trả lời câu hỏi: tích và trả lời câu hỏi: Tl: Với số tiền S, sau mỗi tháng sẽ có lãi là: 0.015*S.
Số tiền này sẽ cộng vào số tiền ban đầu để tính lãi cho tháng tiếp theo. Tl: S := S + 0.015*S;
Tl: 12 lần
Tl: gtrị đầu là 1; gtrị cuối là 12.
2. Thảo luận và tự viếtchương trình chương trình
Quan sát chtrình của giáo viên và ghi nhớ.
3. Suy nghĩ và trả lời
Bài 2: Ông Ba có số tiền là S, ông gửi tiết kiệm ngân hàng với lãi suất 1.5%/tháng. Hỏi sau 12 tháng gửi (không rút tiền lãi hàng tháng), ông ta được số tiền là bao nhiêu?
Var s:real; i:byte; Begin
Write(‘So tien ban dau: ’); Readln(S);
For i:= 1 To 12 Do
S:= S + 0.015*S; Writeln(‘So tien nhan duoc Writeln(‘So tien nhan duoc
la: ’,S:8:3); Readln
Hoạt động 4: Tiếp tục vận dụng câu lệnh lặp While . . . do để giải quyết một bài toán đơn giản.
Hđ của GV Hđ của HS Nd ghi bảng
1.Giáo viên hướng dẫn học sinh tìm thuật toán
2. Giáo viên phân nhóm cho hs thảo luận
3. Gv treo kết quả hs lên hoặc gọi hs lên trình bày
* Chuẩn hóa lại bài làm của hs bằng chương trình mẫu (treo chtrình đã chuẩn bị trên bảng phụ). - Hs nghe giảng - Hs thảo luận nhóm - Hs chú ý theo dõi và nhận xét - Hs ghi chép. Bài 2 : Tính tổng sau. S 1 2 3 4 ... n= + + + + + Program vd; Var I,n:integer; S:integer; Begin Writeln(‘Nhập vào gtrị n = ’); S:=0; i:=0; While i<=n do Begin S:=S+1; Inc(i); End; Writeln(‘Tổng của ’,n,’ số là ‘,S); Readln; End. IV. CỦNG CỐ