Bài 10. Cấu trúc lặp
Chia sẻ bởi Trần Bá Thảo |
Ngày 10/05/2019 |
58
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:
Giáo án điện tử tin học lớp 11
Bài 10
CẤU TRÚC LẶP
(tiết 2)
Trường THPT Đông Hà – Giáo án điện tử Tin học 11
Bài toán 1:
Bài toán 2:
Bài toán : Tính tổng S, với a là số nguyên và a>2
cho đến khi
Bài toán 1:
Bài toán 2:
Cho đến khi
? Số lần lặp biết trước.
Việc tăng giá trị cho tổng S được lặp đi lặp lại cho đến khi
Việc tăng giá trị cho tổng S được lặp đi lặp lại
tìm sự khác biệt
? Số lần lặp chưa biết trước.
100 lần.
Cấu trúc lặp
I. Lặp với số lần lặp biết trước:
II. Lặp với số lần lặp không biết trước:
1. Bài toán
Dữ liệu ra (Output) :
Dữ liệu vào (Input) :
Hãy xác định INPUT, OUTPUT và nêu thuật toán giải bài toán trên?
Cho đến khi
Tính giá trị tổng S, với a là số nguyên và a>2.
thì dừng lại.
II. Lặp với số lần lặp không biết trước
Nh?p a
T?ng S
Bước 2:
S:=1/a; N:=1;
{Khởi tạo S và N}
Bước 3:
Nếu 1/(a+N) < 0.0001
=> Bước 5
Bước 4:
S:=S+1/(a+N);
N:=N+1;
=> quay lại bước 3
thuật toán
Bước 1: Nhập a.
Đưa ra S
=> Kết thúc
? Vòng lặp chỉ dừng khi
S
Đ
Bước 5: In S => Kết thúc.
1/(a+N)<0.0001
WHILE <Điều kiện> DO;
Điều kiện
Đúng
Câu lệnh
Điều kiện: Là biểu thức
quan hệ hoặc lôgic.
Câu lệnh: Là một câu lệnh của Pascal.
Sai
3. Lặp với số lần lặp chưa biết trước và câu lệnh while - do:
Trong đó:
Chừng nào điều kiện còn đúng thì câu lệnh còn được thực hiện.
(Ghi tập)
WHILE 1/(a+N) >= 0.0001 DO
Begin
S:=S+1/(a+N);
N:=N+1;
END;
Ví dụ 1: (sgk)
Bài toán :
Nhận xét:
Chừng nào 1/(a+N)>=0.0001 thì còn thực hiện:
+ Tăng giá trị của tổng S thêm 1/(a+N).
+ Tăng N thêm 1 đơn vị.
Tính giá trị tổng S, với a là số nguyên và a>2
thì dừng lại.
Cho đến khi
Chương trình
Program Tinhtong_2;
Uses Crt;
Var a,N:Integer;
S:Real;
BEGIN
Clrscr;
Write(`Nhap gia tri cua a = `);Readln(a);
S:=1/a;N:=1;
WHILE 1/(a+N)>=0.0001 DO
BEGIN
S:=S+1/(a+N);
N:=N+1;
END;
Writeln(`Gia tri cua tong S = `,S);
Readln;
END.
(Ghi tập)
Lập chương trình nhập vào hai số nguyên dương M,N. Tìm ƯCLN của hai số đó.
B1: Nhập M,N;
B2 : Chừng nào M?N
nếu M>N thì M:=M-N,
ngược lại thì N:=N-M;
B3: Đến khi M=N thì
=> Đưa ra ƯCLN(M,N)=M;
=> Kết thúc.
B1: Nhập M,N
B2 : While M<>N DO
Begin
IF M>N then M:=M - N
else N:=N - M; end;
B3: In ƯCLN(M,N)
Thuật toán
các bước viết chương trình
Ví dụ 2: (sgk)
Chương trình
Program UCLN;
Uses Crt;
Var M,N:Integer;
BEGIN
Clrscr;
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.
(Ghi tập)
* Chú ý: (SGK)
Tham khảo:
Dạng khác của câu lệnh lặp với số lần lặp không biết trước
REPEAT UNTIL <Điều kiện>;
Điều kiện
Sai
Câu lệnh
Đúng
Chương trình
Program Bai_toan;
Uses Crt;
Var a,N:Integer;
S:Real;
BEGIN
Clrscr;
Write(`Nhap gia tri cua a= `);Readln(a);
S:=1/a;N:=1;
REPEAT {Bat dau lap}
S:=S+1/(a+N);
N:=N+1
UNTIL 1/(a+N)< 0.0001; {Ket thuc lap}
Writeln(`Gia tri cua tong S = `,S);
Readln;
END.
Tóm tắt!
Câu lệnh rẽ nhánh.
Câu lệnh lặp
IF <đk> THEN;
trong pascal
FOR ... TO ... DO ....
IF <đk> THEN
ESLE;
FOR ... Downto ... DO ...
While <đk> Do;
Dạng khuyết.
Dạng đầy đủ.
Lặp với số lần lặp biết trước.
Lặp với số lần lặp không biết trước.
Bài 10
CẤU TRÚC LẶP
(tiết 2)
Trường THPT Đông Hà – Giáo án điện tử Tin học 11
Bài toán 1:
Bài toán 2:
Bài toán : Tính tổng S, với a là số nguyên và a>2
cho đến khi
Bài toán 1:
Bài toán 2:
Cho đến khi
? Số lần lặp biết trước.
Việc tăng giá trị cho tổng S được lặp đi lặp lại cho đến khi
Việc tăng giá trị cho tổng S được lặp đi lặp lại
tìm sự khác biệt
? Số lần lặp chưa biết trước.
100 lần.
Cấu trúc lặp
I. Lặp với số lần lặp biết trước:
II. Lặp với số lần lặp không biết trước:
1. Bài toán
Dữ liệu ra (Output) :
Dữ liệu vào (Input) :
Hãy xác định INPUT, OUTPUT và nêu thuật toán giải bài toán trên?
Cho đến khi
Tính giá trị tổng S, với a là số nguyên và a>2.
thì dừng lại.
II. Lặp với số lần lặp không biết trước
Nh?p a
T?ng S
Bước 2:
S:=1/a; N:=1;
{Khởi tạo S và N}
Bước 3:
Nếu 1/(a+N) < 0.0001
=> Bước 5
Bước 4:
S:=S+1/(a+N);
N:=N+1;
=> quay lại bước 3
thuật toán
Bước 1: Nhập a.
Đưa ra S
=> Kết thúc
? Vòng lặp chỉ dừng khi
S
Đ
Bước 5: In S => Kết thúc.
1/(a+N)<0.0001
WHILE <Điều kiện> DO
Điều kiện
Đúng
Câu lệnh
Điều kiện: Là biểu thức
quan hệ hoặc lôgic.
Câu lệnh: Là một câu lệnh của Pascal.
Sai
3. Lặp với số lần lặp chưa biết trước và câu lệnh while - do:
Trong đó:
Chừng nào điều kiện còn đúng thì câu lệnh còn được thực hiện.
(Ghi tập)
WHILE 1/(a+N) >= 0.0001 DO
Begin
S:=S+1/(a+N);
N:=N+1;
END;
Ví dụ 1: (sgk)
Bài toán :
Nhận xét:
Chừng nào 1/(a+N)>=0.0001 thì còn thực hiện:
+ Tăng giá trị của tổng S thêm 1/(a+N).
+ Tăng N thêm 1 đơn vị.
Tính giá trị tổng S, với a là số nguyên và a>2
thì dừng lại.
Cho đến khi
Chương trình
Program Tinhtong_2;
Uses Crt;
Var a,N:Integer;
S:Real;
BEGIN
Clrscr;
Write(`Nhap gia tri cua a = `);Readln(a);
S:=1/a;N:=1;
WHILE 1/(a+N)>=0.0001 DO
BEGIN
S:=S+1/(a+N);
N:=N+1;
END;
Writeln(`Gia tri cua tong S = `,S);
Readln;
END.
(Ghi tập)
Lập chương trình nhập vào hai số nguyên dương M,N. Tìm ƯCLN của hai số đó.
B1: Nhập M,N;
B2 : Chừng nào M?N
nếu M>N thì M:=M-N,
ngược lại thì N:=N-M;
B3: Đến khi M=N thì
=> Đưa ra ƯCLN(M,N)=M;
=> Kết thúc.
B1: Nhập M,N
B2 : While M<>N DO
Begin
IF M>N then M:=M - N
else N:=N - M; end;
B3: In ƯCLN(M,N)
Thuật toán
các bước viết chương trình
Ví dụ 2: (sgk)
Chương trình
Program UCLN;
Uses Crt;
Var M,N:Integer;
BEGIN
Clrscr;
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.
(Ghi tập)
* Chú ý: (SGK)
Tham khảo:
Dạng khác của câu lệnh lặp với số lần lặp không biết trước
REPEAT
Điều kiện
Sai
Câu lệnh
Đúng
Chương trình
Program Bai_toan;
Uses Crt;
Var a,N:Integer;
S:Real;
BEGIN
Clrscr;
Write(`Nhap gia tri cua a= `);Readln(a);
S:=1/a;N:=1;
REPEAT {Bat dau lap}
S:=S+1/(a+N);
N:=N+1
UNTIL 1/(a+N)< 0.0001; {Ket thuc lap}
Writeln(`Gia tri cua tong S = `,S);
Readln;
END.
Tóm tắt!
Câu lệnh rẽ nhánh.
Câu lệnh lặp
IF <đk> THEN
trong pascal
FOR ... TO ... DO ....
IF <đk> THEN
ESLE
FOR ... Downto ... DO ...
While <đk> Do
Dạng khuyết.
Dạng đầy đủ.
Lặp với số lần lặp biết trước.
Lặp với số lần lặp không biết trước.
* 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ẻ: Trần Bá Thảo
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)