<span class='text_page_counter'>(1)</span><div class='page_container' data-page=1>
Người thực hiện : Lê Xuân Tâm
Người thực hiện : Lê Xuân Tâm
</div>
<span class='text_page_counter'>(2)</span><div class='page_container' data-page=2>
<b>KIỂM TRA BÀI CŨ</b>
<b>Câu 1</b>
:
Trong lập trình, cấu trúc lặp được sử
dụng đ làm gì?
ể
- Cấu trúc lặp đ c thể hiện bằng gì?
ượ
</div>
<span class='text_page_counter'>(3)</span><div class='page_container' data-page=3>
<b>Trả lời</b>
<b>Câu 1</b>
<b>:</b>
Cấu trúc lặp được sử dụng để chỉ thị cho máy tính thực
<i><b>hiện lặp lại một vài hoạt động nào đó cho đến khi một điều kiện </b></i>
<i><b>nào đó được thoả mãn.</b></i>
<i><b>- Cấu trúc lăp được thể hiện bằng câu lệnh lặp.</b></i>
<b>Câu 2:</b>
Cú pháp câu lệnh lặp với số lần lặp cho trước trong ngôn
ngữ lập trình Pascal:
</div>
<span class='text_page_counter'>(4)</span><div class='page_container' data-page=4></div>
<span class='text_page_counter'>(5)</span><div class='page_container' data-page=5>
<i><b>Tiết </b></i>
<i><b>41</b></i>
<b>Ví dụ 1:</b>
Một ngày chủ nhật, bạn
Long gọi điện cho Trang. Không
có ai nhấc máy. Long quyết định
gọi thêm hai lần nữa. Nếu vẫn
khơng có ai nhấc máy thì chắc là
khơng có ai ở nhà. Như vậy
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àyLong
sẽ lặp lại hoạt động gọi mấy
lần?
<b>1. Các hoạt động lặp với số lần chưa </b>
<b>biết trước</b>
Ví d 1: (SGK)
ụ
-Long ch a bi t đ c s l p l i ho t
ư
ế ượ ẽ ặ ạ
ạ
đ ng g i đi n m y l n.
ộ
ọ ệ
ấ ầ
- i u ki n k t thúc hoạt động lặp là
Đ ề
ệ
ế
có người nhấc máy.
</div>
<span class='text_page_counter'>(6)</span><div class='page_container' data-page=6>
<i><b>Tiết </b></i>
<i><b>41</b></i>
<b>Ví dụ 2:</b>
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 dể ta
nhân được tổng T
n
nhỏ nhất lớn hơn
1000 ?
<i><b>Thuật toán</b></i>
: Kí hiệu S là tổng cần
tìm.
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.
<b>1. Các hoạt động lặp với số lần chưa </b>
<b>biết trước</b>
Ví d 1: (SGK)
ụ
-Long ch a bi t đ c s l p l i ho t
ư
ế ượ ẽ ặ ạ
ạ
đ ng g i đi n m y l n.
ộ
ọ ệ
ấ ầ
- i u ki n k t thúc hoạt động lặp là
Đ ề
ệ
ế
có người nhấc máy.
Ví d 2: (SGK)
ụ
-Thực hiện phép cộng với số tiếp theo
hay dừng phải kiểm tra tổng đã lớn
hơn 1000 hay chưa.
•Thuật tốn: (SGK)
•- Việc thực hiện phép cộng ở thuật
toán trên được lặp lại với số lần chưa
biết trước.
</div>
<span class='text_page_counter'>(7)</span><div class='page_container' data-page=7>
<i><b>Tieát </b></i>
<i><b>41</b></i>
<b>1. Các hoạt động lặp với số lần chưa </b>
<b>biết trước</b>
Cấu trúc lặp với sô lần chưa
biết trước
•
<b>Tóm lại:</b>
•
<b>-</b>
Việc lặp lai một nhóm hoạt động
với sô lần chưa xác định trước phụ
thuộc vào một điều kiện cụ thể có
được thoả mãn hay khơng.
•- Để chỉ dẫn cho máy tính thực hiện
hoạt động lặp như trên, ta sử dụng cấu
trúc lặp với sô lần chưa biết trước và
được mô tả bằng sơ đồ H39.
•- Mọi ngơn ngữ lập trình đều có câu
lệnh lặp với số lần chưa biết trước để
thể hiện cấu trúc lặp trên.
Điều kiện ?
Câu lệnh
Sai
Đúng
</div>
<span class='text_page_counter'>(8)</span><div class='page_container' data-page=8>
<i><b>Tiết </b></i>
<i><b>41</b></i>
<b>2. Ví dụ về lệnh lặp với sô lần chưa </b>
<b>biết trước</b>
Trong Pascal, cú pháp câu lệnh lặp với
số lần chưa biết trước có dạng:
<b>While </b><i><b>< điều kiện></b></i><b> do </b><i><b><câu lệnh> </b></i><b>;</b>
Trong đó:
<b>Điều kiện</b> 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.
* Câu lệnh lặp này đượ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.
* Ý nghĩa: Trong khi <điều kiện> cịn
đúng thì thực hiên <câu lệnh>
Cấu trúc lặp với sô lần chưa
biết trước
Điều kiện ?
Câu lệnh
Sai
</div>
<span class='text_page_counter'>(9)</span><div class='page_container' data-page=9>
<i><b>Tiết </b></i>
<i><b>41</b></i>
<b>2. Ví dụ về lệnh lặp với sô lần chưa </b>
<b>biết trước</b>
Trong Pascal, cú pháp câu lệnh lặp với
số lần chưa biết trước có dạng:
<b>While </b><i><b>< điều kiện></b></i><b> do </b><i><b><câu lệnh> </b></i><b>;</b>
Trong đó:
<b>Điều kiện</b> 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.
* Câu lệnh lặp này đượ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.
* Ý nghĩa: Trong khi <điều kiện> cịn
đúng thì thực hiên <câu lệnh>
Ví dụ 3: Nếu n(n>0) càng lớn thì 1/n càng nhỏ,
nhưng luôn 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? Chương trình dưới đây tính số n nhỏ nhất
để 1/n nhỏ hơn một sai số cho trước
<b>Uses crt;</b>
<b>Var x: real;</b>
<b>n: integer;</b>
<b>Const sai_so=0.003;</b>
<b>Begin </b>
<b>clrscr;</b>
<b>x:=1; n:=1;</b>
<b>while x>= sai_so do begin n:=n+1; </b>
<b>x:=1/n end;</b>
<b>Writeln(‘ So n nho nhat de 1/n ‘, sai_so:6:4, ‘la ‘,n);</b>
<b>Readln</b>
</div>
<span class='text_page_counter'>(10)</span><div class='page_container' data-page=10>
<b>Hoạt động nhóm</b>
- Câu lệnh lặp với số lần chưa biết trước là câu lệnh nào? Điều kiện và
câu lệnh tương ứng trong câu lệnh lặp này là gì?
- Giải thích ý nghóa của câu lệnh lăp trong chương trình này?
Uses crt;
Var x: real;
n: integer;
Const sai_so=0.003;
Begin
clrscr
x:=1; n:=1;
while x>= sai_so do begin n:=n+1; x:=1/n end;
Writeln(‘ So n nho nhat de 1/n <‘, sai_so:6:4, ‘la ‘,n);
Readln
</div>
<span class='text_page_counter'>(11)</span><div class='page_container' data-page=11>
<b>HOẠT ĐỘNG NHĨM</b>
• Câu lệnh lăp với số lần chưa biết trước:
•
while x>= sai_so do begin n:=n+1; x:=1/n end;
Điều kiện:
x>= sai_so
Câu lệnh:
begin n:=n+1; x:=1/n end
Giải thích:
Trong khi x >= sai_so thì
<b>thực hiện </b>
</div>
<span class='text_page_counter'>(12)</span><div class='page_container' data-page=12>
<i><b>Tiết </b></i>
<i><b>41</b></i>
<b>1. Các hoạt động lặp với số lần chưa </b>
<b>biết trước</b>
<b>-</b>
Việc lặp lai một nhóm hoạt động với
sơ lần chưa xác định trước phụ thuộc
vào một điều kiện cụ thể có được
thoả mãn hay khơng.
•- Để chỉ dẫn cho máy tính thực hiện
hoạt động lặp như trên, ta sử dụng cấu
trúc lặp với sô lần chưa biết trước và
được mô tả bằng sơ đồ H39.
•- Mọi ngơn ngữ lập trình đều có câu
lệnh lặp với số lần chưa biết trước để
thể hiện cấu trúc lặp trên.
<b>2. Ví dụ về lệnh lặp với sô lần chưa </b>
<b>biết trước</b>
Trong Pascal, cú pháp câu lệnh lặp với số
lần chưa biết trước có dạng:
<b>While </b><i><b>< điều kiện></b></i><b> do </b><i><b><câu lệnh> </b></i><b>;</b>
Trong đó:
<b>Điều kiện</b> 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.
* Câu lệnh lặp này đượ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.
</div>
<span class='text_page_counter'>(13)</span><div class='page_container' data-page=13></div>
<!--links-->