Upload
yenthuya
View
740
Download
3
Embed Size (px)
DESCRIPTION
Cấu trúc lặp tiết 3_Tin học 10
Citation preview
KIỂM TRA BÀI CŨ
Câu 1: Viết câu lệnh lặp for-do dạng tiến? Sử dụng câu lệnh để hoàn tất chương trình: Tính và đưa kết quả ra màn hình tổng
1 1 1 1...
1 2 3 100S = + + + +
Câu 2: Viết câu lệnh lặp for-do dạng lùi? Sử dụng câu lệnh để hoàn tất chương trình: Tính và đưa kết quả ra màn hình tổng
1 1 1 1...
2 2 3 100S = + + + +
Bµi to¸n ®Æt vÊn ®Ò 1
Tính và đưa kết quả ra màn hình tổng
1 1 1 1... ...
1 2 3S
N= + + + + +
Cho đến khi 10S >
Thuật toán:
B1: S 0; N 1;
B2: Nếu S > 10 thì chuyển sang bước 5;
B3:S S + 1/N;
B4: N N+1 rồi quay lại B2;
B5: Đưa ra S rồi kết thúc;
Bµi 10. Bµi 10. CCẤU TRÚC LẶPẤU TRÚC LẶP<Tiết 3><Tiết 3>
3.LẶP VỚI SỐ LẦN CHƯA BiẾT TRƯỚC 3.LẶP VỚI SỐ LẦN CHƯA BiẾT TRƯỚC VÀ CÂU LỆNH WHILE - DO VÀ CÂU LỆNH WHILE - DO
while <điều kiện> do <câu lệnh>;
+Trong đó:
Điều kiện là biểu thức quan hệ hoặc biểu thức logic
Câu lệnh là một câu lệnh đơn hoặc ghép
Toàn bộ cấu trúc While … do… là một câu lệnh đơn.
Trong lệnh While… do … máy tính sẽ lặp đi lặp lại chu kỳ: khi <điều kiện> có giá trị TRUE (Đúng) thì đi thực hiện câu lệnh, cho tới khi nào <điều kiện> có giá trị là False (sai) thì thoát khỏi vòng lặp
SƠ ĐỒ LỆNH WHILE - DO
Điều kiện
Câu lệnh
Đúng
Sai
Hoạt động:
Giải bài toán tính tổngGiải bài toán tính tổng1 1 1 1
... ...1 2 3
SN
= + + + + +
Cho đến khi 10S >
s0; n1;
S<=10
s s + 1/n;nn+1;
Xuất s;Kết thúc;
Đúng
Sai
Var s : real ; n : integer ;Begin
s:=0 ; n:=1;
S<=10
s := s+1/n;n := n+1;
Begin
End;writeln(‘Tong s la:’, s:8:5);
End.
WHILE DO
WHILE
DO
Lưu ýLưu ý
• Trong khi thực hiện công việc lặp, ta phải có một lệnh làm thay đổi giá trị biểu thức điều kiện nhằm dừng vòng lặp lại vì nếu không như vậy vòng lặp sẽ chạy mãi không dừng.
Hãy cho biết kết quả đoạn chương trình sau:
…
A:=5; B:=7;
WHILE A<=B DO B:=B+2;
B:=B-2;
WRITE(‘B=‘, B);
...
A.7 B. 5 C.11 D.9
Câu hỏi củng cố 1:Câu hỏi củng cố 1:
Câu hỏi củng cố 2 :Câu hỏi củng cố 2 :
Muốn lặp lại việc thực hiện câu lệnh If M>N then M:=M – N else N:=N – M;cho đến khi M = N
Hãy viết câu lệnh để làm được việc trên (sử dụng While – do?)
BBài toán: Tìm ước chung lớn ài toán: Tìm ước chung lớn nhất của hai số nguyên dươngnhất của hai số nguyên dương
INPUT: M , N lµ hai sè nguyªn d¬ng.OUTPUT: CLN(M, N).
§
S
S
Đ
C¸ch 2:C¸ch 2: DiÔn t¶ thuËt to¸n b»ng s¬ ®å khèi DiÔn t¶ thuËt to¸n b»ng s¬ ®å khèi
NhËp M ,N
M <>N ?
M > N ?
N ←N - M
M ←M - N
§a ra M ; KÕt thóc
ViÕt ch¬ng tr×nh
Hãy cho bi t k t qu o n ch ng trình sau:ế ế ả đ ạ ươ...
A:=6; B:=4;
WHILE A<>B DO
IF A>B THEN A:=A-B ELSE B:=B-A;
WRITE(‘B=‘, B);
...
A. 2 B. 6 C. 4 D. 0
THẢO LUẬN NHÓMTHẢO LUẬN NHÓM
* NHÓM 1: Nêu cú pháp câu lệnh While-do?
* NHÓM 2 : Giải thích các từ trong câu lệnh While-do?
* NHÓM 3,4 : Cho biết câu lệnh While- do dừng lại khi nào?