Violet
Baigiang

Tìm kiếm theo tiêu đề

Tin tức cộng đồng

5 điều đơn giản cha mẹ nên làm mỗi ngày để con hạnh phúc hơn

Tìm kiếm hạnh phúc là một nhu cầu lớn và xuất hiện xuyên suốt cuộc đời mỗi con người. Tác giả người Mỹ Stephanie Harrison đã dành ra hơn 10 năm để nghiên cứu về cảm nhận hạnh phúc, bà đã hệ thống các kiến thức ấy trong cuốn New Happy. Bà Harrison khẳng định có những thói quen đơn...
Xem tiếp

Tin tức thư viện

Chức năng Dừng xem quảng cáo trên violet.vn

12087057 Kính chào các thầy, cô! Hiện tại, kinh phí duy trì hệ thống dựa chủ yếu vào việc đặt quảng cáo trên hệ thống. Tuy nhiên, đôi khi có gây một số trở ngại đối với thầy, cô khi truy cập. Vì vậy, để thuận tiện trong việc sử dụng thư viện hệ thống đã cung cấp chức năng...
Xem tiếp

Hỗ trợ kĩ thuật

  • (024) 62 930 536
  • 0919 124 899
  • hotro@violet.vn

Liên hệ quảng cáo

  • (024) 66 745 632
  • 096 181 2005
  • contact@bachkim.vn

Tìm kiếm Bài giảng

Bài 8. Lặp với số lần chưa biết trước

Wait
  • Begin_button
  • Prev_button
  • Play_button
  • Stop_button
  • Next_button
  • End_button
  • 0 / 0
  • Loading_status
Tham khảo cùng nội dung: Bài giảng, Giáo án, E-learning, Bài mẫu, Sách giáo khoa, ...
Nhấn vào đây để tải về
Báo tài liệu có sai sót
Nhắn tin cho tác giả
(Tài liệu chưa được thẩm định)
Nguồn: SưuTầm
Người gửi: Dương Hoàng Linh
Ngày gửi: 14h:54' 13-02-2023
Dung lượng: 1.6 MB
Số lượt tải: 562
Số lượt thích: 0 người



NỘI
DUNG
CẦN
TÌM
HIỂU

8

Cấu trúc lặp với số lần lặp không xác
định trước
Câu lệnh lặp với số lần chưa biết
trước
While …

 Tin 8




LẶP
VỚI SỐ
LẦN
CHƯA
BIẾT
TRƯỚC

 Tin 8

8

1./ Lệnh lặp với số lần chưa biết trước

2./ Lặp vô hạn lần- Lỗi lập trình cần tránh




8

Các hoạt động lặp với số lần chưa biết trước:

 Tin 8

Ví dụ: Một ngày chủ nhật, bạn Long gọi điện cho bạn Trang.
Không có ai nhất máy. Long quyết định gọi thêm hai lần nữa. Nếu
vẫn không có ai nhất máy thì chắc là không có ai ở nhà. Như vậy là
Long biết trước là mình sẽ lặp lại hoạt động gọi điện thêm hai lần.
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. Lần này Long sẽ lặp lại
hoạt động gọi điện mấy lần? Chưa thể biết trước được, có thể một
lần, có thể hai lần hoặc nhiều hơn nữa. Điều kiện để kết thúc hoạt
động lặp đó là có người nhất máy.




8

Ví dụ: Cho biết kết quả thuật toán sau sẽ
lặp lại bao nhiêu lần:
B1. Nhập số N từ bàn phím.
B2. Nếu N<5 quay trở về bước 1.
B3. ….

 Tin 8




8

1./ Lặp với số lần chưa biết trước:
Ví dụ 1:
Nếu cộng lần lượt n số tự nhiên đầu tiên (n= 1, 2, 3,…),
ta sẽ được các kết quả T1=1, T2=1 + 2, T3=1 + 2 + 3, …
tăng dần. Cần cộng bao nhiêu số tự nhiên đầu tiên để ta
nhận được tổng Tn nhỏ nhất lớn hơn 1000?

 Tin 8




8

 Tin 8

1./ Lặp với số lần chưa biết trước:
THUẬT TOÁN
* Bước 1: S ← 0; n ← 0; {Khởi tạo S và n}
* Bước 2: Nếu S<=1000 thì chuyển đến bước 3;
ngược lại (S > 1000) thì chuyển đến Bước 4;
* Bước 3: n ← n + 1; 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
Từ bước 2 đến bước 3 được lặp lại nhiều lần nếu điều kiện
S≤1000 chưa được thoả mãn và chỉ dừng khi điều kiện đó sai.




 Tin 8

8

1./ Lặp với số lần chưa biết trước:
Tóm lại:
Để viết các chương trình chỉ dẫn
máy tính thực hiện các hoạt động lặp
mà chưa xác định trước được số lần
lặp, ta có thể sử dụng câu lệnh có
dạng lặp với số lần chưa xác định.

SƠ ĐỒ KHỐI

Sai
Điều kiện?

Đúng
Câu lệnh

1./ Lặp với số lần chưa biết trước:
Cú pháp câu lệnh lặp với số lần chưa biết trước trong Python:
While <điều kiện> : ;
Trong đó: -Đ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 nhiều câu lệnh.
Câu lệnh được thực hiện như sau:
-Bước 1: Kiểm tra điều kiện.
-Bước 2: Nếu <điều kiện> SAI, câu lệnh sẽ bị bỏ qua và việc
thực hiện lệnh lặp kết thúc. Nếu điều kiện đúng, thực hiện câu
lệnh và quay lại bước 1.




8

1./ Lặp với số lần chưa biết trước:
Ví dụ 2./ Chúng ta biết rằng, với n>0 nếu n càng lớn thì
1/n càng nhỏ nhưng luôn lớn hơn 0.
Với giá trị nào của n thì 1/n < 0.005 hoặc 1/n < 0.003 ?
Em hãy viết chương trình tính số n nhỏ nhất để 1/n nhỏ
hơn một sai số cho trước.

 Tin 8




8

Chương trình ví dụ 2:

Sai_so=0.003
* Lần lượt thay điều kiện
x=1
sai_so bằng các giá trị
n=1;
0.005; 0.002; 0.001, ta nhận
while x>= sai_so :
các kết quả khác nhau.
x=1/n
n=n+1
print('So n nho nhat de 1/n < ', sai_so, ' la', n);

 Tin 8




8

 Tin 8

1./ Lặp với số lần chưa biết trước:
Ví dụ 3./
Viết chương trình tính tổng: Sn=1 + 2 + 3 + … + n
Cần cộng bao nhiêu số tự nhiên để ta nhận được tổng
Sn nhỏ nhất lớn hơn 1000. Tính tổng Sn




8

Chương trình ví dụ 3:

s=0
n=0
while S<=1000:
n=n+1
s=s+n
print('So n nho nhat de tong > 1000 la ',n )
print('Tong dau tien > 1000 la ', s )

 Tin 8




 Tin 8

8

1./ Lặp với số lần chưa biết trước:
Ví dụ 4:
Viết chương trình tính tổng T.

1 1
1
T 1    ... 
2 3
100

Yêu cầu:
Viết chương trình theo hai dạng cấu trúc:
a./ for …
b./ while …




 Tin 8

8

Chương trình ví dụ 4:

T=0;
for I in range(1,101):
T:=T+1/i ;
print('Tong T la: ', T);

T=0; i=1
while i <= 100:
T=T+1/i
i= i+1
print('Tong T la ', T);




 Tin 8

8

2./ LẶP VÔ HẠN LẦN _ LỖI LẬP TRÌNH CẦN TRÁNH
Quan sát đoạn chương trình sau:

a = 5;
While a < 6:
print('A')

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?




 Tin 8

8

Ghi nhớ:
1.Cấu trúc lặp với số lần chưa biết trước.
while <điều kiện> : ;
2. Khi thực hiện vòng lặp, điều kiện trong câu lệnh phải
được thay đổi để sớm hay muộn giá trị của điều kiện
được chuyển từ đúng sang sai, thì chương trình sẽ không
“rơi” vào “vòng lặp vô tận”

Bài tập 1:Viết chương trình sử dụng lệnh lặp while… để tính trung
bình n số thực x1, x2, x3,…, xn, các số n và x1, x2, x3,…, xn được
nhập từ bàn phím.
Em hãy trình bày ý
Ý tưởng: Sử dụng một tưởng
biến đếm
lặp While…do để nhập và
cho và
viếtlệnh
chương
cộng dần các số vào mộttrình
biếntrên?
kiểu số thực cho đến khi nhập đủ n số.
Thuật toán: Em
Sử dụng
biến
và biến
hãy mô
tả nthuật
toándem kiểu số nguyên, biến x và
biến TB kiểucủa
số chương
thực. trình, các
củaNhập giá trị cho biến n;
B1: dem  0biến
, TBdự định
0; và kiểu
B2:
chúng?
B3: Nếu dem >=n chuyển đến B5;

B4: dem  dem + 1, nhập giá trị cho biến x, TB TB+x, chuyển đến
B3;
B5: TB  TB / n , thông báo giá trị trung bình, kết thúc.

a./ Gõ chương trình sau và lưu với tên Tinh_TB:

b./ Tìm hiểu ý nghĩa các lệnh, dịch, sửa lỗi, chạy chương trình

c./ Viết lại chương trình sử dụng lệnh For..do thay lệnh While …do.

Bài tập 2: Tìm hiểu chương trình nhận biết một số tự nhiên N được
nhập vào từ bàn phím có phải là số nguyên tố hay không?
Ý tưởng: Kiểm tra lần lượt N có chia hết cho các số tự nhiên
2<= i <= n-1 hay không. Kiểm tra tính chia hết bằng phép chia lấy
phần dư (mod).
Em hãy trình bày ý tưởng cho
chương trình trên?
Yêu cầu:
a./ Đọc và tìm hiểu ý nghĩa của từng câu lệnh trong chương trình
sau.
b./ Gõ, dịch và chạy thử chương trình với một vài độ chính xác
khác nhau. Lưu chương trình với tên SONGUYENTO.PAS.

Bài tập:
Viết chương trình tính gần đúng số Pi với độ chính xác cho trước:


1 1 1
1
1
1     .... 

 .....
4
3 5 7
2n  1 2n  1




8

 Tin 8
468x90
 
Gửi ý kiến