Bài 10. Cấu trúc lặp

Chia sẻ bởi Phạm Thị Hảo | Ngày 10/05/2019 | 57

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:

CHÀO MỪNG QUÝ THẦY CÔ VỀ DỰ GIỜ
KIỂM TRA BÀI CŨ

Có mấy loại cấu trúc lặp? Đó là những loại nào?
Bài toán tính giai thừa: Với n là số nguyên dương nhập vào từ bàn phím, viết đoạn lệnh tính và xuất ra màn hình kết quả của n!
Đáp án:
Có 2 cấu trúc lặp:
Lặp với số lần biết trước
Lặp với số lần chưa biết trước
2. tich:=1;
For i:=n downto 1 do
tich:=tich*i;
Write(‘ket qua la:’, tich:4);
Bài toán 1:
Bài toán 2:
Tính và xuất ra màn hình tổng S, với a là số nguyên và a>2
cho đến khi
Bài toán 2:
Tính và xuất ra màn hình tổng S, với a là số nguyên và a>2
cho đến khi
Bước 1:
S:=1/a; N:=1;
{Khởi tạo S và N}
Bước 2:
Nếu 1/(a+N) < 0.0001
dua S ra m�n hình rồi kết thúc
Bước 4:
S:=S+1/(a+N);
=> quay lại bước 2
thuật toán bài toán 2:
Bước 3: N? N+1;
? Vòng lặp chỉ dừng khi 1/(a+N)<0.0001
3. Lặp với số lần chưa biết trước và câu lệnh while - do
While <điều kiện> do
 Điều kiện: là biểu thức logic.
 Câu lệnh là một câu lệnh đơn hoặc ghép.
Cấu trúc
Hoạt động của While - do
Câu lệnh
Điều kiện
Đúng
Sai
Sơ đồ hoạt động
While <điều kiện> do
SƠ đồ khối bài toán 2:
Đưa ra S
=> Kết thúc
Đ
S
Lưu ý:
Phủ định của biểu thức logic 1/(a+N) <0.0001 là biểu thức not(1/(a+N) <0.0001)
 1/(a+N)>=0.0001
* Ví dụ 1: Viết đoạn lệnh tính và xuất ra màn hình tổng S trong bài toán 2
S:=1/a; N:=0;
While not(1/(a+N)<0.0001) do
begin
N:=N+1;
S:=S+1/(a+N);
end;
Writeln(‘Tong la:’, S:8:2);
* Ví dụ 2:
Nhập vào 2 số nguyên dương M, N. Tìm và xuất ra màn hình ƯCLN(M, N).
* Yêu cầu: Vi?t do?n lệ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;

B1: readln(M,N);
B2 : While M<>N DO
Begin
IF M>N then M:=M-N
else N:=N-M; end;
B3: write(`UCLN la`, M);
Thuật toán
các bước viết câu lệnh
Mô tả hoạt động của vòng lặp, giả sử:
M= 4 ;N=10
M=4<>N=10 :kiểm tra
MM=4
N=6
M=4<>N=6 :kiểm tra
MM=2
N=2
M=4<>N=2 :kiểm tra
M>N nên M=M-N=4-2 =2
M=N :thoát khỏi vòng lặp
In ra ƯCLN là M
M=4
N=2
Lần thực hiện 1
Lần thực hiện 2
Lần thực hiện 3
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
Sử dụng while…do… viết câu lệnh tính bài toán giai thừa:
tich:=1;
For i:=1 to n do
tich:=tich*i;
Write(‘ket qua la:’, tich:4);
tich:=1; i:=1;
While i<=n do
begin
tich:=tich*i;
i:=i+1;
End;
Write(‘ket qua la:’, tich:4);
Bài tập củng cố
Chọn đáp án đúng?
Khi chạy chương trình trên, kết quả sẽ hiển thị là bao nhiêu?
Đáp án: a. 3 b. 4 c. 5 d. 6
Bài tập củng cố
Chọn đáp án đúng?
Khi chạy chương trình trên, kết quả sẽ hiển thị là bao nhiêu?
Đáp án: a. 9 b. 10 c. 12 d. Kết quả khác
Dặn dò
Về nhà học bài cũ, làm các bài tập 4, 5, 6, 7, 8/ trang 51 SGK chuẩn bị tiết bài tập và thực hà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ẻ: Phạm Thị Hả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)