Bài 10. Cấu trúc lặp
Chia sẻ bởi Nguyễn Thị Thùy Anh |
Ngày 10/05/2019 |
83
Chia sẻ tài liệu: Bài 10. Cấu trúc lặp thuộc Tin học 11
Nội dung tài liệu:
Câu lệnh WHILE ...DO
Trường THPT TRẦN THỊ TÂM
Bài 10
Cấu trúc lặp
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
NỘI DUNG
1. BÀI TOÁN MỞ ĐẦU
cho đến khi
1.Bài toán: Tính và đưa ra màn hình tổng S
Xuất phát
N =1
N= 2
+ …
N
Xuất phát
S = 0
N= 3
Ý TƯỞNG
Trong khi 1/N >= 0.0001 thì S = S+1/N
N = N+1
GIẢI THUẬT
B1: S 0; N1;
B2: Nếu 1/N<0.0001 thì B5
B3: S S+1/N;
B4: N N+1;
Quay lại B2
B5: Đưa S ra màn hình. Kết thúc
2. CÂU LỆNH WHILE - DO
1. Cú pháp:
While <Điều kiện> Do < Câu lệnh > ;
2. Sơ đồ khối:
3. Thực hiện lệnh:
B1: Kiểm tra <Điều kiện>
B2: Nếu Đúng thì
2.1. Thực hiện
2.2. Biến đổi đk;
2.3. Quay về bước 1
B3: Kết thúc
CHƯƠNG TRÌNH BÀI TOÁ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.
B1: S 0; N1;
B2: Nếu 1/N<0.0001 thì B5
B3: S S+1/N;
B4: N N+1;
Quay lại B2
B5: Đưa S ra màn hình. Kết thúc
3. VÍ DỤ
Bài toán 2: Tìm ước chung lớn nhất hai số nguyên dương M, N
Xác định bài toán
Input: Số nguyên dương M, N
Output: UCLN(M,N)
Tổ chức dữ liệu M, N: Số nguyên;
Ý tưởng giải thuật
- Nếu M=N thì giá trị chung là UCLN của M, N
Nếu M > N thì UCLN(M,N)=UCLN(M,M-N)
Nếu M < N thì UCLN(M,N)=UCLN(M,N-M)
GIẢI THUẬT
B1: Nhập M, N
B2: Nếu M=N thì ước chung lớn nhất bằng M;
B3: Nếu M>N thì M M– N ngược lại N N- M;
B4: Quay lại B2;
Bắt đầu
Kết thúc
CHƯƠNG TRÌNH
Program UCLN;
Var M, N: interger ;
Begin
write (‘M, N=‘); readln(M,N);
While (M<>N) do
If M > N then M:=M-N
else N:=N-M;
Writeln (‘ UCLN= ’, M);
Readln
End.
Bắt đầu
Nh?p M, N
M:=M-N
M=N
Kết thúc
N := N- M
Đ
S
Xu?t: M
M > N
Đ
S
Bắt đầu
Nh?p M, N
M:=M-N
M=N
N := N- M
Đ
S
Xu?t: M
M > N
Đ
S
Kết thúc
Bắt đầu
Nh?p M, N
M:=M-N
M=N
N := N- M
Đ
S
Xu?t: M
M > N
Đ
S
CỦNG CỐ
Lặp số lần biết trước
Lặp tiến: For := to < gtcuối> do ;
Lặp lùi: For := downto do ;
Lặp số lần chưa biết trước
Cú pháp: While <điều kiện> do;
Áp dụng
Sử dụng câu lệnh While _ do viết chương trình tính tổng sau S= 1 + 2 + 3 + 4 + ...+ 10 ?
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.
CHƯƠNG TRÌNH
Trường THPT TRẦN THỊ TÂM
Bài 10
Cấu trúc lặp
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
NỘI DUNG
1. BÀI TOÁN MỞ ĐẦU
cho đến khi
1.Bài toán: Tính và đưa ra màn hình tổng S
Xuất phát
N =1
N= 2
+ …
N
Xuất phát
S = 0
N= 3
Ý TƯỞNG
Trong khi 1/N >= 0.0001 thì S = S+1/N
N = N+1
GIẢI THUẬT
B1: S 0; N1;
B2: Nếu 1/N<0.0001 thì B5
B3: S S+1/N;
B4: N N+1;
Quay lại B2
B5: Đưa S ra màn hình. Kết thúc
2. CÂU LỆNH WHILE - DO
1. Cú pháp:
While <Điều kiện> Do < Câu lệnh > ;
2. Sơ đồ khối:
3. Thực hiện lệnh:
B1: Kiểm tra <Điều kiện>
B2: Nếu Đúng thì
2.1. Thực hiện
2.2. Biến đổi đk;
2.3. Quay về bước 1
B3: Kết thúc
CHƯƠNG TRÌNH BÀI TOÁ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.
B1: S 0; N1;
B2: Nếu 1/N<0.0001 thì B5
B3: S S+1/N;
B4: N N+1;
Quay lại B2
B5: Đưa S ra màn hình. Kết thúc
3. VÍ DỤ
Bài toán 2: Tìm ước chung lớn nhất hai số nguyên dương M, N
Xác định bài toán
Input: Số nguyên dương M, N
Output: UCLN(M,N)
Tổ chức dữ liệu M, N: Số nguyên;
Ý tưởng giải thuật
- Nếu M=N thì giá trị chung là UCLN của M, N
Nếu M > N thì UCLN(M,N)=UCLN(M,M-N)
Nếu M < N thì UCLN(M,N)=UCLN(M,N-M)
GIẢI THUẬT
B1: Nhập M, N
B2: Nếu M=N thì ước chung lớn nhất bằng M;
B3: Nếu M>N thì M M– N ngược lại N N- M;
B4: Quay lại B2;
Bắt đầu
Kết thúc
CHƯƠNG TRÌNH
Program UCLN;
Var M, N: interger ;
Begin
write (‘M, N=‘); readln(M,N);
While (M<>N) do
If M > N then M:=M-N
else N:=N-M;
Writeln (‘ UCLN= ’, M);
Readln
End.
Bắt đầu
Nh?p M, N
M:=M-N
M=N
Kết thúc
N := N- M
Đ
S
Xu?t: M
M > N
Đ
S
Bắt đầu
Nh?p M, N
M:=M-N
M=N
N := N- M
Đ
S
Xu?t: M
M > N
Đ
S
Kết thúc
Bắt đầu
Nh?p M, N
M:=M-N
M=N
N := N- M
Đ
S
Xu?t: M
M > N
Đ
S
CỦNG CỐ
Lặp số lần biết trước
Lặp tiến: For :=
Lặp lùi: For :=
Lặp số lần chưa biết trước
Cú pháp: While <điều kiện> do
Áp dụng
Sử dụng câu lệnh While _ do viết chương trình tính tổng sau S= 1 + 2 + 3 + 4 + ...+ 10 ?
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.
CHƯƠNG TRÌNH
* 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 Thị Thùy Anh
Dung lượng: |
Lượt tài: 0
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)