Các em hãy cho thêm những ví dụ về hoạt động lặp với số lần chưa biết trước?. Các hoạt động lặp với số lần chưa biết trước: Tơi phải nhập dữ liệu vào máy tính cho đến khi nhập xong.
Trang 2KIỂM TRA BÀI CŨ
Cõu hỏi
1
1
Em hãy dùng lệnh For do để viết đoạn câu lệnh nhập tên và hiển thị ra màn hình lời chào cho các bạn trong lớp Giả sử lớp có 40 bạn
2
2
Trang 3§¸p ¸n
1 Cú pháp:
For <biến đếm>:=<giá trị đầu> to <giá trị cuối> do <câu lệnh>;
2 Đoạn chương trình
Trang 4VD1: Viết chương trình
tính tổng các số tự
nhiên từ 1 đến 100
S = 1 + 2 + 3 +
+100
Lặp 100 lần
VD2: Viết chương trình nhập vào các số cho đến khi gặp 0 thì dừng lại Tính tổng các số vừa nhập.
Ch a bi t l p m y l n ưa biết lặp mấy lần ết lặp mấy lần ặp mấy lần ấy lần ần
Lặp với số lần biết trước , sử
dụng câu lệnh lặp For…Do
để viết chương trình
Lặp với số lần chưa biết trước , sử dụng câu lệnh gì
để viết chương trình?
30 76543210 98
Trang 6 Nam làm bài tập cho đến khi làm xong.
Cơ ấy phải đi bộ như vậy cho đến khi về tới nhà.
Các em hãy cho thêm những
ví dụ về hoạt động 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:
Tơi phải nhập dữ liệu vào máy tính cho đến
khi nhập xong
Trang 7VD1(Sgk): VD1
Long seừ laởp laùi hoaùt ủoọng goùi ủieọn maỏy laàn, điều kiện để kết
thúc hoạt động lặp?
1 Caực hoaùt ủoọng laởp vụựi soỏ laàn chửa bieỏt trửụực:
Chửa theồ bieỏt trửụực ủửụùc ẹieàu kieọn ủeồ keỏt thuực hoaùt ủoọng laởp
ủoự laứ coự ngửụứi nhaỏc maựy.
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.
Trang 8VD2(Sgk) :
1 Các hoạt động lặp với số lần chưa biết trước:
Điều kiện như thế nào thì kết thúc hoạt động
lặp?
Điều kiện: Khi tổng T n nhỏ nhất lớn hơn 1000 thì kết
thúc hoạt động lặp
tăng dần
Trang 91 Các hoạt động lặp với số lần chưa biết trước:
n Tổng T n Điều kiện T n ≤ 1000
1 T1 = 1 Đúng
2 T2 = 1 + 2 Đúng
Đúng
?
Tn = 1 + 2 + 3 + … +?
(Sao cho Tn nhỏ nhất lớn hơn 1000)
Sai, kết thúc việc tính tổng
3 T3 = 1 + 2 + 3
Phân tích bài tốn:
Trang 10S 0, n 0.
Nếu S≤1000, n n+1; Ngược lại, chuyển tới bước 4.
S S + n và quay lại bước 2.
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 Caực hoaùt ủoọng laởp vụựi soỏ laàn chửa bieỏt trửụực:
Cỏc hoạt động lặp với số lần chưa biết trước phụ thuộc vào cỏi gỡ và chỉ dừng lại khi nào?
* Cú thể diễn tả bài toỏn
trờn bằng sơ đồ như sau:
n n+1;
S S+n;
Đỳng
Điều kiện Sai
Cõu lệnh
Đỳng
Cỏc hoạt động lặp với số lần chưa biết
trước phụ thuộc vào một điều kiện
và chỉ dừng lại khi điều kiện đó sai
Trang 112 Ví d v l nh l p với số lần chưa biết trước: ụ về lệnh lặp với số lần chưa biết trước: ề lệnh lặp với số lần chưa biết trước: ệnh lặp với số lần chưa biết trước: ặ
while <điều kiện> do <câu lệnh>;
Trong pascal câu lệnh lặp với số lần chưa biết trước có dạng:
Từ khoá
Thường là một phép so sánh
Cĩ thể là câu lệnh đơn hay câu lệnh ghép
Câu lệnh lặp này được thực hiện như sau:
1./ Kiểm tra: điều kiện
2./ Nếu điều kiện sai, câu lệnh sẽ bị bỏ qua và kết
thúc vòng lặp Nếu điều kiện đúng, thì thực hiện câu lệnh và quay về bước kiểm tra điều kiện
Điều kiện Sai
Câu lệnh
Đúng
Trang 12VD: Dùng câu lệnh lặp While … Do để viết chương trình thể hiện thuật tốn trong Ví dụ 2 (Sgk)
2 Ví d v l nh l p với số lần chưa biết trước: ụ về lệnh lặp với số lần chưa biết trước: ề lệnh lặp với số lần chưa biết trước: ệnh lặp với số lần chưa biết trước: ặ
var S,n: integer;
Begin
S:=0; n:=0;
while S<=1000 do
begin
n:=n+1; S:=S+n ;
end;
writeln(‘Tong S nho nhat > 1000 la: ’,S);
Writeln(‘So n nho nhat sao cho tong >1000 la: ’n);
Readln;
End.
S 0, n 0.
Nếu S≤1000, n n+1; Ngược lại, chuyển tới bước 4.
S S + n và quay lại bước 2.
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 tốn.
Trang 13Học sinh thảo luận theo nhóm (3 bàn 1 nhóm)
Trang 14A Tính tổng các số tự nhiên từ 1 đến 20.
B Nhập các số nguyên từ bàn phím cho đến khi đủ 50 số.
D Nhập vào 1 số cho đến khi số nhập vào là số chẵn thì dừng.
C Mỗi ngày học bài 2 lần.
30 98 76543210
Câu 1: Trong các hoạt động dưới
đây, hoạt động nào là hoạt động lặp
với số lần chưa biết trước?
Trang 15a) X:= 10; while X:= 10 do X:= X + 5;
b) X:= 10; while X = 10 do X = X + 5;
c) S:= 0; n:=0; while S <= 10 do n:= n + 1; S:= S + n ;
Thừa dấu :
Thiếu dấu :
Thiếu Begin
Thiếu End
Câu 2: Hãy chỉ ra lỗi trong các câu lệnh sau đây?
30 98 76543210
Trang 16In ra các số từ 1 đến 9
In ra các số từ 1 đến 9
In ra các số từ 1 đến 10
In ra các số từ 1 đến 10
In ra các số 1
In ra các số 1
Không phương án nào đúng.
Không phương án nào đúng.
A
B
C
D
Câu 3: Đoạn lệnh sau đây cho kết quả là gì?
S:=1; While s < 10 do
Trang 17B 10 voứng laởp, S=5 B 10 voứng laởp, S=5 D. 12 voứng laởp, S=4
SAI ROÀI!
SAI ROÀI! SAI ROÀI!
Caõu 4: Thuaọt toaựn sau thửùc hieọn bao nhieõu voứng laởp?
Khi keỏt thuực, giaự trũ cuỷa S baống bao nhieõu?
- Bửụực 1: S 10, x 0.5.
- Bửụực 2: Neỏu S 5.2 chuy n t i b ển tới bước 4 ới bước 4 ưới bước 4 c 4.
- B ưới bước 4 c 3: S S –x vaứ quay laùi bửụực 2.
- Bửụực 4: Thoõng baựo S vaứ keỏt thuực thuaọt toaựn.
30 76543210 98
Hoan hô
bạn đ ã TRẢ lời đúng rồi
Trang 18- Các hoạt động lặp với số lần chưa biết trước
phụ thuộc vào một điều kiện cụ thể và chỉ
dừng lại khi điều kiện đó sai.
- Trong Pascal câu lệnh lặp với số lần chưa biết trước có dạng:
Trang 19- Xem trước VD3, VD4, VD5, Lặp vô hạn
lần–Lỗi lập trình cần tránh
- Tìm thêm một vài ví dụ về hoạt động lặp với số lần chưa biết trước.
- Về nhà học bài Làm bài tập 2 Sgk trang 71.