- Đối với những thuật toán có những thao tác phải thực hiện lặp đi lặp lại một số lần thì máy tính có thể thực hiện hiệu quả hơn các thao tác lặp đó bằng các cấu trúc lặp. - Chương trìn[r]
(1)Tiết 13: CẤU TRÚC LẶP A Mục đích yêu cầu:
- Về kiến thức:
+ Hiểu nhu cầu cấu trúc lặp biểu diễn thuật toán
+ Biết cấu trúc chung lệnh lặp FOR ngơn ngữ lập trình + Hiểu cấu trúc lặp với số lần biết trước câu lệnh FOR - DO
- Về kỹ năng:Bước đầu sử dụng lệnh lặp FOR để lập trình giải số tốn đơn giản
B Chuẩn bị:
- GV: SGK, Giáo án, Máy chiếu Projector - HS: SGK, vỏ
C Phương pháp: - Gợi mở, vấn đáp - Làm việc theo nhóm D Hoạt động dạy học:
1 Ổn định lớp:
2 Kiểm tra cũ: Cho biết kết doạn chương trình sau Program VD;
Begin
Writeln (‘PASCAL’); Writeln (‘PASCAL’); Writeln (‘PASCAL’); Writeln (‘PASCAL’); Writeln (‘PASCAL’); Readln;
End
3 Nội dung dạy học:
* HĐ1: Tìm hiểu ý nghĩa cấu trúc lặp
Hoạt động GV Hoạt động HS Ghi bảng - Trình chiếu
- Nếu giải tốn với việc in khoảng 10 dịng có từ PASCAL?
- Có nhận xét dịng lệnh chương trình trên?
- Đối với thuật tốn có thao tác phải thực lặp lặp lại số lần máy tính thực hiệu thao tác lặp cấu trúc lặp
- Chương trình dài dịng - Lặp lại nhiều lần với câu lệnh: Writeln
- HS làm việc theo nhóm
CẤU TRÚC LẶP Lặp:
- Cấu trúc lặp mô tả thao tác lặp
- Có loại thao tác lặp: + Lặp với số lần biết trước
+ Lặp với số lần chưa biết trước
(2)- Nêu VD cấu trúc lặp: a Tính tổng 20 số tự nhiên
b Tính tổng n số tự nhiên vói n <=20 Chia HS làm nhóm để viết thuật toán giải toán
- Từ VD nghiên cứu thêm SGK cho biết có loại cấu trúc lặp?
Thuật tốn 1: B1: S=0; n=0 B2: n n +1
B3: Nếu n > 20 chuyển đến B5
B4: S= S + n quay lai b2
B5: Đưa S hình kết thúc
Thuật toán 2: B1: S=0; n=20 B2: n n -1
B3: Nếu n < chuyển đến B5
B4: S= S + n quay lai b2
B5: Đưa S hình kết thúc
- loại
* HĐ 2: Tìm hiểu cấu trúc lặp với số lần biết trước câu lệnh FOR - DO
Hoạt động GV Hoạt động HS Ghi bảng
- Số lần lặp thuật toán biết trước (20 lần)
- Giải thích thuật toán + TT1: n bắt đầu sau lần lặp n tăng lên đơn vị n>20 kết thúc lặp
+ TT2: n bắt đầu 20 sau lần lặp n giảm đơn vị n< kết thúc lặp
- Nêu dạng cách lặp?
Giới thiệu câu lệnh FOR -DO với dạng tiến, lùi Pascal
- Giải thích thơng số
- Dạng tiến dạng lùi
2.Lặp với số lần biết trước câu lệnh FOR - DO - Cấu trúc lặp:
+ Dạng lặp tiến:
FOR <biến đếm>:= <giá trị đầu> TO <giá trị cuối> DO <câu lệnh>; + Dạng lặp lùi:
FOR <biến đếm>:= <giá trị cuối> DOWNTO <giá trị đầu> DO <câu lệnh>; - Trong đó:
(3)trong câu lệnh
- Yêu cầu HS nghiên cứu SGK nêu hoạt động lệnh FOR - DO?
- GV treo bảng phụ sơ đồ thuật toán lặp
- Gv treo bảng phụ cài đặt thuật toán VD - Qua chương trình có nhận xét biến đếm ? - Cho HS cài đặt thuật toán vơi VD1
- Lập chương trình tạo bảng cửu chương
- HS trả lời
- Quan sát bảng phụ - Quan sát bảng phụ - Được điều chỉnh tự động
Program In_chu; Var i:byte; Begin
For i:=1 to writeln (‘PASCAL’);
Readln; END
- HS làm việc th
giá trị cuối
- Hoạt động lệnh FOR-DO
+ Dạng lặp tiến: câu lệnh viết sau từ khóa DO thực tuần tự, với biến đếm nhận giá trị liên tiếp tăng từ giá trị đầu đến giá trị cuối,
+ Dạng lặp lùi: câu lệnh viết sau từ khóa DO thực tuần tự, với biến đếm nhận giá trị liên tiếp giảm từ giá trị cuối đến giá trị đầu
- Chú ý: Câu lệnh viết sau DO không thay đổi giá trị biến đếm
4 Củng cố:
- Nắm lại cấu trúc lặp
(4)5 Dặn dị: ViÕt CT
Thuật tốn Program tong;
Var i,S: integer; Begin
Write (‘ Tong cac so nguyen tu den 20 la:’); S:=0;
For i:= to 20 S: = S + i; Writeln(S);
Readln; End
Thuật toán Program tong;
Var i,S: integer; Begin
Write (‘ Tong cac so nguyen tu den 20 la:’); S:=0;
For i:= 20 downto S: = S + i; Writeln(S);