Cấu trúc lặp tiết 3_Tin học 10

Preview:

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?

Recommended