Bài 10. Cấu trúc lặp
Chia sẻ bởi Nguyễn Metun |
Ngày 10/05/2019 |
76
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)
Sinh viên: Nguyễn Thế Hùng - Nguyễn Duy Tuấn Giáo viên hướng dẫn: Lê Minh Triết
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)
Sinh viên: Nguyễn Thế Hùng - Nguyễn Duy Tuấn Giáo viên hướng dẫn: Lê Minh Triết
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ẻ: Nguyễn Metun
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)