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

Chia sẻ bởi Nguyễn Danh Huân | Ngày 24/10/2018 | 67

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: Nguyễn Danh Huân
PHÒNG GIÁO DỤC HƯỚNG HOÁ
TRƯỜNG THCS LIÊN LẬP
Trân trọng kính chào quý các thầy cô giáo cùng tất cả các em!
Viết thuật toán sau đó viết chương trình tính tổng 100 số tự nhiên đầu tiên:
S=1+2+3+…+100

KIỂM TRA BÀI CŨ
Thuật toán
Bước 1: SUM  0; i  0.
Bước 2: i  i + 1.
Bước 3: Nếu i ≤ 100, thì SUM  SUM + 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.
Chương trình
program Tinh_tong;
var i: Integer;
S: longint;
begin
S:=0;
for i := 1 to N do S:=S+i;
writeln(`Tong S=‘, S);
end.


BÀI 8
1. Các hoạt động với số lần lặp chưa biết trước:
? Hãy nêu 1 vài VD về các hoạt động lặp với số lần chưa biết trước mà em đã được gặp trong cuộc sống hằng ngày
VD1: Bạn Nam học bài cũ cho đến thi thuộc bài
Điều kiện để kết thúc hoạt động lặp đó là khi Nam học thuộc bài cũ
Khi nào thì bạn Nam kết thúc hoạt động lặp đó
VD2: Bạn Long gọi điện cho bạn Trang
Long gọi điện cho Trang. Không có ai nhấc máy. Long 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à.
?Long đã lặp lại mấy lần hoạt động gọi điện cho Trang
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.
?Long đã lặp lại mấy lần hoạt động gọi điện cho Trang
Chưa thể biết trước được, có thể một lần, có thể hai 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ấc máy.
? Khi nào thì kết thúc hoạt động lặp đó
Ví dụ 3 : Tính tổng S = 1+2+3+…+n. Tìm n và S sao cho tổng nhỏ nhất lớn hơn 1000?
Gọi S là tổng cần tìm:
S= 1 + 2 + 3 + 4 +….+ n


Ta có:
T1 =1
T2 = T1 +2 = 3
T3 =T2 +3 = 3+3 =6
………….



Ý TƯỞNG
B1. S  0, n  0.
B2. Nếu S ≤ 1000, n  n + 1; ngược lại chuyển tới bước 4.
THUẬT TOÁN
B3. S  S + n và quay lại bước 2.
B4. 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.
Việc lặp lại 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
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.
2. Ví dụ về lệnh lặp với số lần chưa biết trước
Trong ngôn ngữ Pascal, cú pháp câu lệnh lặp được thể hiện
While <điều kiện> do ;
+Điều kiện: thường là một phép so sánh(=,<,>,<=,>=,<>)
Trong đó:
+Câu lệnh :
- Câu lệnh đơn (như lệnh gán, lệnh tính toán, lệnh điều kiện, lệnh lặp, lệnh writeln, lệnh readln…)
- Câu lệnh ghép begin…end
Ý NGHĨA
ĐiỀU KiỆN
LỆNH
Đúng
Sai
SƠ ĐỒ KHỐI
Đầu tiên điều kiện được kiểm tra
Nếu điều kiện thỏa mãn (đúng) thì:
- Thực hiện câu lệnh lần 1
- Trở lại bước 1
Nều điều kiện vẫn thỏa (đúng) thì lệnh được thực hiện lần nữa. Quá trình được tiếp tục đến khi:
Điều kiện không thỏa (sai) thì câu lệnh sẽ bị bỏ qua và vòng lặp sẽ kết thúc

VD1: Quan sát câu lệnh sau và cho biết ý nghĩa của các thành phần trong câu lệnh?
While i<=100 do s:=s+i;
Các từ khóa:
Điều kiện:
Câu lệnh:
While, do
i <= 100
s:=s+i
B1. S  0, n  0.
B2. Nếu S ≤ 1000, n  n + 1; ngược lại chuyển tới bước 4.
B3. S  S + n và quay lại bước 2.
B4. 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.
THUẬT TOÁN
Ví dụ 2 : Hãy viết chương trình tính tổng S = 1+2+3+…+n. Tìm n và S sao cho tổng nhỏ nhất lớn hơn 1000?
Trong các câu lệnh lặp Pascal sau đây, câu lệnh nào sai và sai ở đâu?

 thừa dấu :
 Thừa dấu ;
Điều kiện luôn đúng nên vòng lặp vô hạn
DẶN DÒ
Làm các bài 1, 2, 3 SGK/71
Xem trước ví dụ 4 và ví dụ 5 SGK/69, 70
Kết thúc!
* 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ẻ: Nguyễn Danh Huân
Dung lượng: | Lượt tài: 2
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)