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

Chia sẻ bởi Phạm Thị Bích | Ngày 24/10/2018 | 23

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:

1
chào mừng các thầy cô và các em
GV: PHẠM THỊ BÍCH
Kiểm tra bài cũ
Em hãy viết thuật toán tính tổng của 100 số tự nhiên đầu tiên 1,2,3,….,100?
Kí hiệu S là tổng cần tìm:
Bước 1. S←0; i←0.
Bước 2. i←i+1.
Bước 3. Nếu i<=100, thì S←S+i và quay lại bước 2.
Bước 4. Thông báo kết quả và kết thúc thuật toán.
BÀI 8: LẶP VỚI SỐ LẦN CHƯA BiẾT TRƯỚC
1. Các hoạt động lặp vơi số lần chưa biết trước
2. Ví dụ
3. Lệnh lặp với số lần chưa biết trước
1. Các hoạt động lặp với số lần chưa biết trước
Xét ví dụ:
A cứ 10 phút gọi điện thoại cho B 1 lần tới khi có người nhấc máy mới thôi.
 Hoạt động của A lặp đi lặp lại với số lần chưa biết trước
A sẽ gọi điện cho B bao nhiêu lần
?
dừng lại khi “có người nhấc máy”
Học cho đến khi thuộc bài
Nhặt từng cọng rau cho đến khi hết rau
Bài toán: Viết chương trình nhập vào
một dãy số cho đến khi gặp 0 thì dừng
lại, tính tổng các số vừa nhập
Hãy kể tên những hoạt động được thực hiện lặp đi lặp lại với số lần lặp không thể xác định trước?
1. Các hoạt động lặp với số lần chưa biết trước
Điều kiện
Câu lệnh
1. Các hoạt động lặp với số lần chưa biết trước
Từ các ví dụ trên hãy quan sát sơ đồ sau:
sai
đúng
Bài toán 1:
Bài toán 2:
Cho đến khi S>1000. Cho biết N
Tính tổng
Tính tổng
2. Ví dụ về lệnh lặp với số lần chưa xác định
Xuất phát
Lần 1
Lần 2

+…
Lần N
Mỗi lần thực hiện giá trị tổng S tăng thêm bao nhiêu?
? Sau mỗi lần thực hiện giá trị tổng S tăng thêm i đơn vị với i= 1;2;3;.N
?
Cùng tìm thuật toán
Bài toán 1:
Bài toán 2:
Cho đến khi S>1000
? Số lần lặp.
? Việc tăng giá trị cho tổng S được lặp đi lặp lại.
Việc tăng giá trị cho tổng S được lặp đi lặp lại.
? Số lần lặp.
tìm sự khác biệt
N lần
Xác định
Cho đến khi S>1000
Chưa xác định
WHILE <Điều kiện> DO ;
Điều kiện
Đúng
Câu lệnh
Điều kiện: thường là một phép so sánh

Sai
Trong đó:
Câu lệnh lặp với số lần lặp chưa xác định trong Pascal:
Câu lệnh: là câu lệnh đơn hay câu lệnh ghép
Ví dụ: While S<100 do s:= S+1;
?
B1: Khởi tạo S=0; N:=0;
B2: Nếu S<= 1000 thì thực hiện
tăng N thêm 1 đơn vị,
ngược lại chuyển tới B4
B3: Cộng N vào S => sang B2
B4: In kết quả: N là số tự nhiên nhỏ nhất sao cho S>1000, Tổng S và kết thúc
S:=0; N:=0;
WHILE S<=1000 DO
Begin
N:=N+1;
S:=S+N;
END;
Writeln(`Số N nhỏ nhất để S>1000`, N)
Writeln(` Tổng đầu tiên >1000`,S);
Thuật toán
Chương trình
Ví dụ 1 :
cho đến khi S>1000. Cho biết N
Tính tổng
Program Bai_toan;
Uses Crt;
Var N:Integer;
S:Real;
BEGIN
Clrscr;
S:=0;N:=0;
WHILE s< = 1000 DO
BEGIN
N:=N+1;
S:=S+N;
END;
Writeln(`So N nho nhat de tong >1000 la`,N);
Writeln(`Gia tri cua tong S =`,S);
Readln;
END.
Hãy hoàn thiện chương trình giải bài toán trên?
Liên kết
Tin học 8
Ghi nhớ!
Ngoài cấu trúc lặp với số lần lặp xác định trước, các ngôn ngữ lập trình còn có các câu lệnh lặp với số lần chưa biết trước.
While. . . do là câu lệnh lặp với số lần chưa biết trước trong Pascal
* 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ẻ: Phạm Thị Bích
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)