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

Chia sẻ bởi Lê Xuân Tâm | Ngày 24/10/2018 | 61

Chia sẻ tài liệu: Bài 8. Lặp với số lần chưa biết trước thuộc Tin học 8

Nội dung tài liệu:

Người thực hiện : Lê Xuân Tâm
Tổ : Năng Khiếu
KIỂM TRA BÀI CŨ
Câu 1: Trong lập trình, cấu trúc lặp được sử dụng d? làm gì?
- Cấu trúc lặp du?c thể hiện bằng gì?
Câu 2: Viết cú pháp câu lệnh lặp với số lần lặp biết trước trong ngôn ngữ lập trình pascal?
Trả lời

Câu 1: Cấu trúc lặp được sử dụng để chỉ thị cho máy tính thực hiện lặp lại một vài hoạt động nào đó cho đến khi một điều kiện nào đó được thoả mãn.
- Cấu trúc lăp được thể hiện bằng câu lệnh lặp.

Câu 2: 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:
For := to do ;

Tiết 41
Tiết 41
Ví dụ 1: 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?
1. Các hoạt động lặp với số lần chưa biết trước
Ví d? 1: (SGK)
Long chua bi?t du?c s? l?p l?i ho?t d?ng g?i di?n m?y l?n.
Di?u ki?n k?t thúc hoạt động lặp là có người nhấc máy.


Điều kiện để kết thúc hoạt động lăp là gì?

Tiết 41
Ví dụ 2: 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 Tn nhỏ nhất lớn hơn 1000 ?
Thuật toán: 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.


1. Các hoạt động lặp với số lần chưa biết trước
Ví d? 1: (SGK)
Long chua bi?t du?c s? l?p l?i ho?t d?ng g?i di?n m?y l?n.
Di?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 toá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.
- Điều kiện: S ? 1000.




Tiết 41
1. Các hoạt động lặp với số lần chưa biết trước
Cấu trúc lặp với sô lần chưa biết trước
Tóm lại:
- 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.



Sơ đồ mô tả hoạt động lặp
Tiết 41
2. Ví dụ về lệnh lặp với sô lần chưa biết trước
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:
While < điều kiện> do ;
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 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 trúc lặp với sô lần chưa biết trước
Tiết 41
2. Ví dụ về lệnh lặp với sô lần chưa biết trước
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:
While < điều kiện> do ;
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 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

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
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
End.

Hoạt động nhóm
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
End.

HOẠT ĐỘNG NHÓM
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ì thực hiện gán n bằng n+1, Gán x bằng 1/n
Tiết 41
1. Các hoạt động lặp với số lần chưa biết trước
- 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.



2. Ví dụ về lệnh lặp với sô lần chưa biết trước
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:
While < điều kiện> do ;
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 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
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...

Người chia sẻ: Lê Xuân Tâm
Dung lượng: | Lượt tài: 1
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)