- Hiểu cấu trúc lặp với số lần biết trước, cấu trúc lặp kiểm tra điều kiện trước - Viết được thuật toán của 1 số bài toán đơn giản.. II.Biện pháp: Thuyết trình giải thích, đàm thoại.[r]
Trang 1Ngày soạn: 28/10
Ngày dạy: 3/11
Tiết: 13, 14.
CẤU TRÚC LẶP
I.Mục đích:
- Hiểu nhu cầu của cấu trúc lặp trong biểu diễn thuật toán
- Biết cách vận dụng đúng đắn từng loại cấu trúc lặp vào tình huống cụ tể
- Mô tả được thuật toán của 1 số bài toán đơn giản có sd lệnh lặp
- Viết đúng các lệnh lặp với số lần biết trước, lệnh lặp kiểm tra điều kiện trước
- Hiểu cấu trúc lặp với số lần biết trước, cấu trúc lặp kiểm tra điều kiện trước
- Viết được thuật toán của 1 số bài toán đơn giản
II.Biện pháp: Thuyết trình giải thích, đàm thoại.
III Phương tiện:
Gv: Giáo án, SGK
Hs: Vở, SGK, đồ dùng học tập.
IV Nội dung tiết dạy:
1 Ổn định tổ chức:
2 Kiểm tra bài cũ:
3 Tiến trình bài học:
GV: Nêu bài toán 1 và đặt vấn đề
Ta xem S như là một cái thùng, các
số hạng như là những cái ca có dung
tích khác nhau, khi đó việc tính tổng
trên tương tự việc đổ các ca nước vào
trong thùng S
- Có bao nhiêu lần đổ nước vào thùng?
HS: - Phải thực hiện 100 lần đổ nước
GV: - Mỗi lần đổ một lượng là bao
nhiêu? lần thứ i đổ bao nhiêu?
HS: - Mỗi lần đổ
i
a 1
GV: - Phải viết bao nhiêu lệnh?
HS: - Phải viết 100 lệnh
GV: Nêu bài toán 2 và đặt vấn đề
- Em hiểu như thế nào về cách tính tiền
gửi tiết kiệm trong bài toán 2
1 Lặp.
Bài toán 1:
Tính và đưa kết quả ra màn hình tổng:
Bài toán 2:
Tính và đưa kết quả ra màn hình tổng:
Trang 2
- Từ đó, hãy lập công thức tính tiền thu
được sau tháng thứ nhất
HS: - Với số tiền S, sau mỗi tháng sẽ
có tiền lãi là 0,015*S
- Số tiền này được cộng vào trong số
tiền ban đầu để tính lãi cho tháng tiếp
theo
- S := S + 0,015*S;
GV: - Ta phải thực hiện tính bao nhiêu
lần như vậy?
HS: - Phải thực hiện tính 12 lần như
vậy
- Dẫn dắt: Chương trình được viết như
vậy sẽ rất dài, khó đọc và dễ sai sót
Cần có một cấu trúc điều khiển việc lặp
lại thực hiện các công việc trên
- Trong tất cả các ngôn ngữ lập trình
đều có một cấu trúc điều khiển việc
thực hiện lặp lại với số lần đã định
trước
GV: Chia lớp làm 4 nhóm 2 nhóm viết
thuật toán giải quyết bài toán 1 2
nhóm viết thuật toán giải quyết bài toán
2
- Thu kết quả, viết lên bảng Gọi học
sinh nhóm khác nhận xét đánh giá
GV: Y/c học sinh nghiên cứu sách giáo
khoa và cho biết cấu trúc chung của
For?
- Giải thích:
<biến đếm>: là biến kiểu nguyên, ký tự
- Hỏi: Ý nghĩa của <Giá trị đầu> <Giá
trị cuối>, kiểu dữ liệu của chúng
- Hỏi: Trong bài toán gửi tiết kiệm, <Giá
trị đầu> <Giá trị cuối> là bao nhiêu?
- Trong một số thuật toán có những thao tác phải thực hiện lặp lại một số lần Một trong các đặc trưng của Mt là có khả năng thực hiện hiệu quả các thao tác lặp
- Cấu trúc lặp mô tả thao tác lặp và được phân biệt thành 2 loại là lặp với số lần biết trước và lặp với số lần chưa biết trước
2 Lặp với số lần biết trước và câu lệnh For – Do.
Thuật toán1:
Bước 1: N 0; S 1/a;
Bước 2: N N+1;
Bước 3: Nếu N>100 thì chuyển đến bước 5 Bước 4: S S+ 1/(a+N),
quay lại bước 2
Bước 5: Đưa S ra màn hình rồi kết thúc
- Thông báo kết quả viết được
- Nhận xét, đánh giá kết quả của nhóm khác
- Theo dõi và ghi nhớ
For <biến đếm>:=<Giá trị đầu> To <Giá trị cuối> Do <lệnh cần lặp>;
- Dùng để làm giới hạn cho biến đếm
- Cùng kiểu với <biến đếm>
Trang 3<Giá trị đầu> là 1; <Giá trị cuối> là 12
- Hỏi: Trong bài toán tính tổng <Giá trị
đầu> <Giá trị cuối> là bao nhiêu?
<Giá trị đầu> là 1; <Giá trị cuối> là 100
- Dẫn dắt: Những lệnh nào cần lặp lại
ta đặt sau Do
- Hỏi: Khi nhiều lệnh khác nhau cần lặp
lại ta viết như thế nào?
- Phải sử dụng cấu trúc lệnh ghép
Hỏi: Em có nhận xét gì về giá trị của
<Giá trị đầu> và <Giá trị cuối> ?
- Dẫn dắt: Khi đó lệnh For được gọi là
For tiến Ngôn ngữ lập trình Pascal còn
có một dạng For khác gọi là For lùi
GV: Hãy trình bày cấu trúc chung của
For lùi
HS: Chú ý lắng nghe và trả lời các yêu
cầu của giáo viên
- Giá trị đầu là 1, giá trị cuối là 100
S := S + ;
i
a
1
- Hỏi: So sánh <Giá trị đầu> và <Giá trị
cuối>?
GV: Nêu nội dung bài toán 1
+ Xác định giá trị đầu, giá trị cuối
+ Xác định lệnh cần lặp lại
- Yêu cầu học sinh tiếp tục hoàn thành
chương trình ở nhà
GV: Nêu nội dung bài toán 2, mục tiêu
là viết được chương trình hoàn thiện
- Định hướng những vấn đề chính
- Chia lớp làm 3 nhóm Yêu cầu học
sinh viết chương trình
GV: Gọi 1 HS lên bảng trình bày rồi
nhận xét và cho điểm
For <biến đếm>:=<Giá trị cuối> Downto <Giá trị đầu> Do <lệnh cần lặp>;
<Giá trị đầu> > <Giá trị cuối>
4 Củng cố: - Cấu trúc chung của lệnh lặp For Sơ đồ thực hiện của lệnh lặp
For
5 Dặn dò: - Giải bài tập 5.a, 6, sách giáo khoa, trang 51
- Xem trước phần nội dung của cấu trúc lặp có số lần chưa xác định While
Trang 4- Xem nội dung phụ lục B, sách giáo khoa trang 131: Lệnh rẽ nhánh và lặp
- Xem nội dung phụ lục C, sách giáo khoa trang 139: Lệnh rẽ nhánh và lặp