KIỂM TRA BÀI CŨ
Cú pháp:
For:= to do
;
Các em hãy quan sát
VD1: Viết chương trình tính tổng các số tự nhiên từ 1 đến 100
S = 1 + 2 + 3 + . . .+100
Lặp 100 lần
Lặp với số lần biết trước, sử dụng câu lệnh lặp For…Do để viết chương trình
VD2: Viết chương trình nhập vào các số cho đến khi gặp 0 thì dừng lại. Tính tổng các số vừa nhập.
Chưa biết lặp mấy lần
Lặp với số lần chưa biết trước, sử dụng câu lệnh gì để viết chương trình?
Bài 8:
LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
Baøi 8:
LAËP VÔÙI SOÁ LAÀN CHÖA BIEÁT TRÖÔÙC
1. Cc ho?t d?ng l?p v?i s? l?n chua bi?t tru?c
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 nào có người nhấc máy.
Chưa thể biết trước được. Điều kiện để kết thúc hoạt động lặp đó là có người nhấc máy.
VD1(Sgk):
Baøi 8:
LAËP VÔÙI SOÁ LAÀN CHÖA BIEÁT TRÖÔÙC
1. Cc ho?t d?ng l?p v?i s? l?n chua bi?t tru?c
VD2(Sgk):
T2 = 1 + 2
T1 = 1
T3 = 1 + 2 + 3
… tăng dần
Cần cộng bao nhiêu số tự nhiên để ta nhận được tổng Tn nhỏ nhất lớn hơn 1000?
Điều kiện như thế nào thì kết thúc hoạt động lặp?
Điều kiện: Khi tổng Tn nhỏ nhất lớn hơn 1000 thì kết thúc hoạt động lặp
Baøi 8:
LAËP VÔÙI SOÁ LAÀN CHÖA BIEÁT TRÖÔÙC
1. Cc ho?t d?ng l?p v?i s? l?n chua bi?t tru?c
Phân tích bài toán:
1
T1 = 1
Đúng
2
T2 = 1 + 2
Đúng
3
T3 = 1 + 2 + 3
Đúng



?
Tn = 1 + 2 + 3 + … +? (Sao cho Tn nhỏ nhất lớn hơn 1000)
Sai, kết thúc việc tính tổng
Baøi 8:
LAËP VÔÙI SOÁ LAÀN CHÖA BIEÁT TRÖÔÙC
1. Cc ho?t d?ng l?p v?i s? l?n chua bi?t tru?c
Kí hiệu S là tổng cần tìm và ta có thuật toán như sau:
Bước 1:
S  0, n  0.
Bước 2:
Nếu S≤1000, n  n+1; Ngược lại, chuyển tới bước 4.
Bước 3:
S  S + n và quay lại bước 2.
Bước 4:
In kết quả: S và n là số tự nhiên nhỏ nhất sao cho S>1000. Kết thúc thuật toán.
Các hoạt động lặp với số lần chưa biết trước phụ thuộc vào cái gì và chỉ dừng lại khi nào?
* Có thể diễn tả bài toán trên bằng sơ đồ như sau:
Baøi 8:
LAËP VÔÙI SOÁ LAÀN CHÖA BIEÁT TRÖÔÙC
2. Ví d? v? l?nh l?p v?i s? l?n chua bi?t tru?c
Hãy nêu cú pháp với câu lệnh lặp while - do?
Cú pháp:
While do ;
Điều kiện: biểu thức quan hệ hoặc biểu thức logic
Câu lệnh: là môt câu lệnh trong Pascal (có thể là câu lệnh đơn giản hay câu lệnh ghép)
Baøi 8:
LAËP VÔÙI SOÁ LAÀN CHÖA BIEÁT TRÖÔÙC
2. Ví d? v? l?nh l?p v?i s? l?n chua bi?t tru?c
Quan sát sơ đồ khối, hãy cho biết sự thực hiện của máy?
Bước 1: tính giá trị của .
Bước 2: Nếu có giá trị đúng thì:
thực hiện lệnh cần lặp.
quay lại bước 1.
Chừng nào điều kiện còn đúng thì câu lệnh còn thực hiện.
Baøi 8:
LAËP VÔÙI SOÁ LAÀN CHÖA BIEÁT TRÖÔÙC
2. Ví d? v? l?nh l?p v?i s? l?n chua bi?t tru?c
VD1: While aTrong đó :  While, do là các từ khóa.
 Điều kiện là a  Câu lệnh là a:=a+1 (câu lệnh đơn).
VD2: While a>b do
Begin write(‘a>b’); a:=a-1; End;
Trong đó :  While, do là các từ khóa.
 Điều kiện là a>b (chứa phép so sánh).
 Câu lệnh là Write(‘a>b’) và a:=a-1 (câu lệnh ghép).
Baøi 8:
LAËP VÔÙI SOÁ LAÀN CHÖA BIEÁT TRÖÔÙC
2. Ví d? v? l?nh l?p v?i s? l?n chua bi?t tru?c
VD: Dùng câu lệnh lặp While … Do để viết chương trình thể hiện thuật toán trong Ví dụ 2 (Sgk)
var S,n: integer;
Begin
S:=0; n:=0;
while Sbegin
n:=n+1; S:=S+n ;
end;
write(‘Tong S= ’,S,‘ va ’,n,’ la so tu nhien nho nhat sao cho S>1000’);
Readln;
End.
Tong S= 1035 va 45 la so tu nhien nho nha sao cho S>1000
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?
Quan sát đoạn chương trình sau:
Vòng lặp vô tận
Yêu cầu:
* Hãy cho biết chương trình trên sẽ lặp lại như thế nào?
3. Lặp vô hạn lần – Lỗi lập trình cần tránh.
Baøi 8:
LAËP VÔÙI SOÁ LAÀN CHÖA BIEÁT TRÖÔÙC
Bài 1:
Viết đoạn chương trình hiển thị ra màn hình 5 chữ số tự nhiên đầu tiên.


Giải
n:=0;
While (n Begin
Write(n:2);
n:= n+1;
End;
Mô tả
Bài tập vận dụng
Bài 2:
Viết chương trình tính giá trị của biểu thức sau (n là 1 số nguyên nhập từ bàn phím)
A = 1 + 1/2 + 1/3 + ... + 1/n


Chương Trình tính giá trị của BiểuThức: A = 1 + 1/2 + 1/3 + ... + 1/n

Program Tinh_GTBT;
Uses CRT;
Var i,n: integer; A: Real;
BEGIN clrscr;
Writeln(` Chuong trinh tinh gia tri bieu thuc`);
Write(` Nhap n = `); Readln(n);
A:=0 ; i:=1;
While (i Begin
A:= A + 1/i;
i:= i + 1;
End;
Writeln(` Gia tri cua bieu thuc la A = `,A:0:2);
Readln;
END.
Bài tập về nhà
Bài 1:
Tìm ước chung lớn nhất (UCLN) của 2 số nguyên dương a,b.

Bài 2:
Lãi suất hàng tháng gửi tiết kiệm không kì hạn là 1%. Một người gửi vào một số tiền ban đầu là a. Hỏi sau bao nhiêu tháng người đó đạt được số tiền lớn hơn b.
END
Kiến thức trọng tâm
Lưu Đồ miêu tả quá trình hoạt động của vòng lặp WHILE...DO
Kiểm tra
BTĐK
Thực hiện lệnh

Thoát khỏi
vòng lặp
Mô phỏng thuật toán: In 5 số tự nhiên đầu tiên ra màn hình
Bắt đầu
n := 0
0 Viết 0 ra màn hình
n:= 1
0
1
2
3
4
1 Viết 1 ra màn hình
n:= 2
2 Viết 2 ra màn hình
n:= 3
3 Viết 3 ra màn hình
n:= 4
Sai
Đúng
4 Viết 4 ra màn hình
n:= 5
5 Kết thúc
Kết quả
  Thông tin chi tiết
Tên file:
Phiên bản:
N/A
Tác giả:
Đào Xuân Hải
Website hỗ trợ:
N/A
Thuộc chủ đề:
Tin học
Gửi lên:
20/01/2014 15:10
Cập nhật:
20/01/2014 15:10
Người gửi:
N/A
Thông tin bản quyền:
N/A
Dung lượng:
725.00 KB
Xem:
296
Tải về:
50
  Tải về
Từ site Trường THCS Định Hiệp:
   Đánh giá
Bạn đánh giá thế nào về file này?
Hãy click vào hình sao để đánh giá File

  Ý kiến bạn đọc

Video Clips
Thăm dò ý kiến

Bạn đánh giá yếu tố nào quan trọng nhất trong quá trình học tập ?

Thống kê truy cập
  • Đang truy cập5
  • Hôm nay917
  • Tháng hiện tại14,541
  • Tổng lượt truy cập1,962,422
Văn bản PGD

CV số 69/PGDĐT

Ngày ban hành: 17/04/2024. Trích yếu: Tháng ATTP năm 2024

Ngày ban hành: 17/04/2024

TB số 21/TB-PGDĐT

Ngày ban hành: 17/04/2024. Trích yếu: Nghỉ Giỗ Tổ Hùng Vương

Ngày ban hành: 17/04/2024

CV số 65/PGDĐT

Ngày ban hành: 17/04/2024. Trích yếu: Ngày Sách và VH đọc

Ngày ban hành: 17/04/2024

CV số 64/PGDĐT-MN

Ngày ban hành: 17/04/2024. Trích yếu: an toàn cho trẻ MN

Ngày ban hành: 17/04/2024

CV số 71/PGDĐT

Ngày ban hành: 16/04/2024. Trích yếu: thực hiện Bộ pháp điển

Ngày ban hành: 16/04/2024

Bạn đã không sử dụng Site, Bấm vào đây để duy trì trạng thái đăng nhập. Thời gian chờ: 60 giây