Cau lenh lap Whiledo

14 7 0
Cau lenh lap Whiledo

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

LỆNH LẶP VỚI SỐ LẦN CHƯA ĐỊNH TRƯỚC. VÍ DỤ ÁP DỤNG[r]

(1)(2)

Câu lệnh WHILE DO

Câu lệnh WHILE DO

Trường THPT TRẦN THỊ TÂM

Trường THPT TRẦN THỊ TÂM

Bài 10

Bài 10

Cấu trúc lặp

(3)

1 2 3

BÀI TOÁN MỞ ĐẦU

LỆNH LẶP VỚI SỐ LẦN CHƯA ĐỊNH TRƯỚC

VÍ DỤ ÁP DỤNG

(4)

1 BÀI TOÁN MỞ ĐẦU

1

3

1 2

1 1

1

 

 

 

N S

0001 .

0 1

N

cho đến

(5)

Xuất phát

S 12

N =1

3 1  N= 2

+ …

N

N

1 

Xuất phát S =

N= 3

1 1

Ý TƯỞNG

(6)

GIẢI THUẬT

B1: S 0; N1;

B2: Nếu 1/N<0.0001 B5 B3: S S+1/N;

B4: N N+1;

Quay lại B2

B5: Đưa S hình Kết thúc

Bắt đầu Bắt đầu

S:=0; N:=1 S:=0;

N:=1

S:=S+1/N S:=S+1/N

1/N< 0.000

1 1/N< 0.000

1

Kết thúc Kết thúc

N := N+1 N := N+1

Â

S

Xuất: S

(7)

2 CÂU LỆNH WHILE - DO Cú pháp:

While <Điều kiện> Do < Câu lệnh > ;

2 Sơ đồ khối:

Đkiện

Đkiện

Câu lệnh

Câu lệnh

Â

S

3 Thực lệnh:

B1: Kiểm tra <Điều kiện>

B2: Nếu Đúng

2.1 Thực <Câu lệnh > 2.2 Biến đổi đk;

2.3 Quay bước

(8)

CHƯƠNG TRÌNH BÀI TỐN

Program Tinh_tong;

Var s: Real ; n: integer ;

Begin

S := 0; n:=1

While (1/n >= 0.0001) Do Begin

s:=s+1/n; n:=n+1;

End;

Write (‘ Tong s=: ’, s:8:4);

Readln End Bắt đầu Bắt đầu S:= 0; N:=1 S:= 0; N:=1

Xuất: S

Xuất: S

S:=S+1/N S:=S+1/N 1/N>= 0.0001 1/N>= 0.0001 Kết thúc Kết thúc N := N +

1

N := N + 1

Â

S

B1: S 0; N1;

B2: Nếu 1/N<0.0001 B5 B3: S S+1/N;

B4: N N+1;

Quay lại B2

(9)

3 VÍ DỤ Bài tốn 2: Tìm ước chung lớn hai số nguyên dương M, N

Xác định toán

Input: Số nguyên dương M, N

Output: UCLN(M,N)

 Tổ chức liệu M, N: Số nguyên;  Ý tưởng giải thuật

(10)

GIẢI THUẬT

B1: Nhập M, N

B2: Nếu M=N ước

chung lớn M;

B3: Nếu M>N M  M– N ngược lại N  N- M;

B4: Quay lại B2;

Bắt đầu Bắt đầu

Kết thúc Kết thúc Nhập M, N

Nhập M, N

M:=M-N M:=M-N

M=N M=N

N := N- M N := N- M

 S

Xuất: M

Xuất: M

M > N M >

N

(11)

CHƯƠNG TRÌNH Program UCLN;

Var M, N: interger ;

Begin

write (‘M, N=‘);

readln(M,N);

While (M<>N)

If M > N then M:=M-N

else N:=N-M;

Writeln (‘ UCLN= ’, M);

Readln

End

Bắt đầu Bắt đầu

Nhập M, N

Nhập M, N

M:=M-N M:=M-N M=N M=N Kết thúc Kết thúc

N := N- M N := N- M

 S

Xuất: M

Xuất: M

M > N M > N Đ S Bắt đầu Bắt đầu

Nhập M, N

Nhập M, N

M:=M-N M:=M-N

M=N M=N

N := N- M N := N- M

 S

Xuất: M

Xuất: M

M > N M >

N

Đ S Kết thúcKết thúc

Bắt đầu Bắt đầu

Nhập M, N

Nhập M, N

M:=M-N M:=M-N

M=N M=N

N := N- M N := N- M

 S

Xuất: M

Xuất: M

M > N M >

N

Đ S Kết thúcKết thúc

Bắt đầu Bắt đầu

Nhập M, N

Nhập M, N

M:=M-N M:=M-N

M=N M=N

N := N- M N := N- M

 S

Xuất: M

Xuất: M

M > N M >

N

(12)

CỦNG CỐ

 Lặp số lần biết trước

Lặp tiến: For <bđ>:= <gtđầu> to < gtcuối> <cl>;

Lặp lùi: For <bđ>:= <gtcuối> downto <gtđầu> <cl>;

 Lặp số lần chưa biết trước

Cú pháp: While <điều kiện> <câu lệnh>;

Áp dụng

(13)

Program Tinh_tong; Var s: Real ; i: integer ;

Begin

s := 0; i:=1

While (i <= 10) Do Begin

s:=s+ i;

i:=i+1;

End;

Write (‘ Tong s= ’, s:8:4);

Readln

End

(14)

Ngày đăng: 14/05/2021, 13:48

Tài liệu cùng người dùng

Tài liệu liên quan