Ví dụ a:
Một ngày chủ nhật Long gọi điện cho Trang. Không có ai nhấc máy. Long quyết định gọi thêm 1 lần nữa.
Lặp 2 lần
Sử dụng câu lệnh lặp For do.
Ví dụ b:
Một ngày khác, Long quyết định cứ 10 phút gọi điện một lần cho Trang cho đến khi có người nhấc máy.
CHAØO MÖØNGTRƯỜNG THCS BÌNH THẠNHMOÂN: TIN HOÏCLÔÙP: 8A2GIAÙO VIEÂN: PHAN VAÊN MAÏNHFor biến điếm : = giá trị đầu to giá trị cuối do câu lệnh ; Kiểm tra bài cũ Câu 1: Nêu cú pháp câu lệnh lặp với số lần biết trước trong Pascal? (5đ) Câu 2: Viết câu lệnh in ra màn hình 2014 chữ “A”? (5đ)For i : = 1 to 2014 do Write(‘A’) ; Ví dụ a: Một ngày chủ nhật Long gọi điện cho Trang. Không có ai nhấc máy. Long quyết định gọi thêm 1 lần nữa.Ví dụ b: Một ngày khác, Long quyết định cứ 10 phút gọi điện một lần cho Trang cho đến khi có người nhấc máy.Lặp 2 lần.Chưa biết lặp mấy lần.Sử dụng câu lệnh lặp Fordo.Sử dụng câu lệnh gì?BÀI 8 - LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚCBÀI 8 - LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC1) Các hoạt động lặp với số lần chưa biết trước. Ví dụ 2: Tính tổng các số tự nhiên đầu tiên(n = 1, 2, 3, ...) sao cho tổng nhỏ nhất lớn hơn 13? Ví dụ 1: Một ngày khác, Long quyết định cứ 10 phút gọi điện một lần cho Trang cho đến khi có người nhấc máy.Điều kiện để kết thúcĐiều kiện để kết thúc Phân tích bài toán:nTổngĐiều kiện Tổng ≤ 131Tổng = 1Đúng 2Tổng = 1+2 =3Đúng 3Tổng = 1+2+3 =6Đúng 4Tổng = 1+2+3+4 =10Đúng 5Tổng = 1+2+3+4+5 = 15Sai 0Tổng = 0Đúng Thuật toán:Bước 1: Tổng := 0; n := 0;Bước 2: Nếu Tổng ≤ 13 thì n := n + 1 ;ngược lại kết thúc thuật toán.Bước 3: Tổng :=Tổng+ n; và quay lại bước 2.Bước 4. In kết quả Tổng và N. Kết thúc thuật toán.BÀI 8 - LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC1) Các hoạt động lặp với số lần chưa biết trước. chuyển tới bước 4Ví dụ 2: Tính tổng các số tự nhiên đầu tiên(n = 1, 2, 3, ...) sao cho tổng nhỏ nhất lớn hơn 13? BÀI 8 - LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC1) Các hoạt động lặp với số lần chưa biết trước. Tổng ≤ 13?Sain := n+1;Tổng := Tổng+n;Đúng* Có thể diễn tả bài toán trên bằng sơ đồ như sau:BÀI 8 - LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC1) Các hoạt động lặp với số lần chưa biết trước. 2. Ví dụ về lệnh lặp với số lần chưa biết trước. Ví dụ 1: While X do ;Trong đó:+ While, do là từ khóa+ Điều kiện thường là một phép so sánh.+ Câu lệnh có thể là câu lệnh đơn giản hay câu lệnh ghép. BÀI 8 - LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC1) Các hoạt động lặp với số lần chưa biết trước. 2. Ví dụ về lệnh lặp với số lần chưa biết trước. - Câu lệnh này được thực hiện như sau:1. Kiểm tra điều kiện2. Nếu điều kiện sai, câu lệnh sẽ bị bỏ qua. Nếu điều kiện đúng, thực hiện câu lệnh và quay lại bước 1. BÀI 8 - LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC1) Các hoạt động lặp với số lần chưa biết trước. 2. Ví dụ về lệnh lặp với số lần chưa biết trước. * Viết chương trình tính tổng các số tự nhiên đầu tiên (n = 1, 2, 3, ...) sao cho tổng nhỏ nhất lớn hơn 13? Thuật toán:Bước 1: Tổng := 0; n := 0;Bước 2: Nếu Tổng ≤ 13 thì n := n + 1 ;ngược lại kết thúc thuật toán.Bước 3: Tổng :=Tổng+ n; và quay lại bước 2.Bước 4. In kết quả Tổng và N. Kết thúc thuật toán.BÀI 8 - LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC1) Các hoạt động lặp với số lần chưa biết trước. chuyển tới bước 4Chương trình:Program tinh_tong;Uses crt;Var Tong , n : integer;Begin Clrscr; Tong:= 0; n: = 0; While Tong 13 la ’, n); Writeln(‘Tong nho nhat > 13 la ’, Tong); ReadlnEnd. BÀI TẬPCâu 1: Trong các hoạt động dưới đây, hoạt động nào là hoạt động lặp với số lần chưa biết trước?A. Tính tổng các số tự nhiên từ 1 đến 20.B. Nhập các số nguyên từ bàn phím cho đếnkhi đủ 50 số.C. Mỗi ngày học bài 2 lần.D. Nhập vào 1 dãy số cho đến khi số nhập vàolà số chẵn thì dừng.BÀI TẬPCâu 2: Hãy chỉ ra lỗi trong các câu lệnh sau đây?a) X: = 10; While X: = 10 do X: = X + 5;b) X: = 10; While X = 10 do X = X + 5;c) While a <= b ; do write(‘b khong nho hon a’);d) S:= 0; n:=0; while S <= 10 do n:= n + 1; S:= S + n ; BÀI TẬPCâu 2: Hãy chỉ ra lỗi trong các câu lệnh sau đây?a) X: = 10; While X: = 10 do X: = X + 5; Thừa dấu :BÀI TẬPCâu 2: Hãy chỉ ra lỗi trong các câu lệnh sau đây?b) X: = 10; While X = 10 do X = X + 5;Thiếu dấu:BÀI TẬPCâu 2: Hãy chỉ ra lỗi trong các câu lệnh sau đây?c) While a <= b ; do write(‘b khong nho hon a’); Thừa dấu ;BÀI TẬPCâu 2: Hãy chỉ ra lỗi trong các câu lệnh sau đây?d) S:= 0; n:=0; while S <= 10 do n:= n + 1; S:= S + n ; Thiếu BeginThiếu end;BÀI TẬPCâu 3: Tìm hiểu đoạn lệnh sau đây và cho biết đoạn lệnh đó chương trình thực hiện bao nhiêu vòng lặp? Kết quả S = ? S:=4; n:=0;While S <= 10 do begin n:=n+2; S:=S+n; end; Phân tích bài toán:Số lầnlặpnSĐiều kiện S ≤ 101S = 4+2 = 6Đúng 2S = 6+4 =10Đúng 3S = 10+6 =16Sai 0S = 4Đúng 246 Vậy đoạn lệnh trên chương trình thực hiện 3 vòng lặp. Kết quả S = 16Ban đầuHƯỚNG DẪN VỀ NHÀ- Học bài- Làm bài tập 2, 3, 4 sách giáo khoa trang 71.
Tài liệu đính kèm: