Bài 10. Cấu trúc lặp
Chia sẻ bởi Thaithai Thai |
Ngày 10/05/2019 |
56
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:
Thân chào quý thầy cô và các em học sinh
1
Giáo viên Tô Quốc Thịnh THPT Tam Hiệp
10/28/2016
2
Kiến thức bài cũ:
Lặp với số lần biết trước.
Câu lệnh For – do
Dạng tiến:
For:= to do ;
Dạng lùi:
For:= downto do ;
Giáo viên Tô Quốc Thịnh
10/28/2016
3
Kiến thức bài cũ:
Ví dụ 1: Hãy viết đoạn lệnh tính tổng:
S = 1 + 2 + 3 + … + 8 + 9 + 10
Giáo viên Tô Quốc Thịnh
Khởi tạo: Gán S:= 0 ;
Lần cộng thứ 1: Gán S := S + 1; {được S = 0 + 1}
Lần cộng thứ 2: Gán S := S + 2 ; {được S = 1 + 2}
Lần cộng thứ 3: Gán S := S + 3 ; {được S = 1 + 2 + 3}
.v.v.
Lần cộng thứ 10: Gán S := S + 10; {được S =1+2+3+…+9+10}
10/28/2016
4
Kiến thức bài cũ:
Ví dụ 1: Hãy viết đoạn lệnh tính tổng:
S = 1 + 2 + 3 + … + 8 + 9 + 10
Giáo viên Tô Quốc Thịnh
Vậy đoạn lệnh trong pascal như sau:
S:=0;
For i:=1 to 10 do S:=S+i;
10/28/2016
5
Ví dụ 2: Hãy viết đoạn lệnh tính tổng:
S = 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + …
cho đến khi giá trị của S không được vượt quá một số N nhập từ bàn phím (N>0).
Giáo viên Tô Quốc Thịnh
10/28/2016
Nếu nhập N=1 thì việc cộng dồn lặp lại mấy lần?
Nếu nhập N=10 thì việc cộng dồn lặp lại mấy lần?
Nếu nhập N=30 thì việc cộng dồn lặp lại mấy lần?
Vậy ta có biết trước số lần cộng dồn ko?
KHÔNG!!!
1 lần
4 lần
7 lần
N có biết trước giá trị ko?
….v…v…..
S=1
S=
S=1
6
Lặp với số lần
chưa biết trước
Giáo viên Tô Quốc Thịnh
10/28/2016
Bài 10: Cấu trúc lặp (tiết 2)
7
Cú pháp:
While <điều kiện> do;
trong đó:
<điều kiện> là biểu thức logic;
là câu lệnh đơn hay câu lệnh ghép.
Giáo viên Tô Quốc Thịnh
10/28/2016
3. Câu lệnh while – do:
“trong khi” điều kiện còn đúng
hãy thực hiện câu lệnh
Câu lệnh
Điều kiện
Đúng
Sai
Sơ đồ hoạt động của câu lệnh While – do:
“trong khi” điều kiện còn đúng hãy thực hiện câu lệnh
Thoát
9
Ví dụ 2: Hãy viết chương trình tính tổng:
S = 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + …
cho đến khi giá trị của S không được vượt quá một số N nhập từ bàn phím (N>0).
Giáo viên Tô Quốc Thịnh
10/28/2016
INPUT: N (N>0)
OUTPUT: S=1+2+3+4+…. trong khi S <= N.
10
Ví dụ 2: Hãy viết chương trình tính tổng:
S = 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + …
cho đến khi giá trị của S không được vượt quá một số N nhập từ bàn phím (N>0).
Giáo viên Tô Quốc Thịnh
10/28/2016
Thuật toán:
Bước 1: Nhập vào số N (N>0); S ← 0; i ← 1;
Bước 2: Nếu S + i > N thì chuyển đến bước 5;
Bước 3: S ← S + i;
Bước 4: i ← i+1; rồi quay lại bước 2;
Bước 5: Xuất kết quả S ra màn hình, kết thúc.
11
Chương trình hoàn chỉnh:
program vi_du_2;
uses crt;
Var S, N, i: longint;
Begin
clrscr;
write(‘Nhap so N’); readln(N);
S:=0; i:=1;
while (S + i < N) do
begin
S:=S+i;
i:=i+1;
end;
write(‘Tong s=‘, s);
readln;
End.
Giáo viên Tô Quốc Thịnh
10/28/2016
12
Ví dụ 3: Hãy viết chương trình nhập vào một số N
nguyên dương và kiểm tra nếu N không thỏa mãn
thì phải bắt người dùng nhập lại N.
Giáo viên Tô Quốc Thịnh
10/28/2016
Thuật toán:
Bước 1: Nhập vào số N;
Bước 2: Nếu N > 0 thì chuyển đến bước 4;
Bước 3: Nhập lại số N, rồi quay lại bước 2;
Bước 4: Xuất kết quả N ra màn hình, kết thúc.
13
Chương trình hoàn chỉnh:
program vi_du_3;
uses crt;
Var N: integer;
Begin
clrscr;
write(‘Nhap so N’);
readln(N);
while (N <= 0) do
Begin
write(‘Hay nhap lai N’);
readln(N);
end;
write(‘Gia tri N=‘, N);
readln;
End.
Giáo viên Tô Quốc Thịnh
10/28/2016
Câu lệnh
Điều kiện
Đúng
Sai
Sơ đồ hoạt động của câu lệnh While – do:
Một số lưu ý khi SỬ DỤNG WHILE-D0:
Thoát
15
Một số lưu ý:
Giáo viên Tô Quốc Thịnh
10/28/2016
Nếu ngay lần kiểm tra điều kiện đầu tiên mà kết quả là sai (False) thì các câu lệnh trong vòng lặp sẽ không được thực hiện lần nào.
16
Một số lưu ý:
Giáo viên Tô Quốc Thịnh
10/28/2016
Số lần kiểm tra điều kiện cho kết quả đúng (True) cũng chính là số lần lặp.
17
Một số lưu ý:
Giáo viên Tô Quốc Thịnh
10/28/2016
Cần mô tả điều kiện chính xác, phù hợp để tránh rơi vào vòng lặp vô tận (không thể kết thúc).
Câu 1:
Hãy tính giá trị của s trong đoạn lệnh sau:
S:=0;
i:=1;
While (i < 5) do
Begin
S := S + i;
i := i + 1;
End;
18
Giáo viên Tô Quốc Thịnh
10/28/2016
A. S=9
B. S=10
C. S=11
Câu 2:
Hãy tính giá trị của s trong đoạn lệnh sau:
S:=0;
i:=10;
While not(i<=0) do
Begin
S := S + i;
i := i - 1;
End;
19
Giáo viên Tô Quốc Thịnh
10/28/2016
A. S=55
B. S=50
C. S=51
Edit by Tien Thanh, 2008
THPT Nguyễn Văn Trỗi
Hãy nhớ!
Câu lệnh lặp
trong pascal
WHILE <Điều kiện> DO
+ Ý nghĩa:
Câu lệnh sau Do sẽ được thực hiện lặp đi lặp lại khi Điều kiện còn đúng (True).
Vòng lặp sẽ thoát khi Điều kiện có giá trị False.
21
Giáo viên Tô Quốc Thịnh
10/28/2016
1
Giáo viên Tô Quốc Thịnh THPT Tam Hiệp
10/28/2016
2
Kiến thức bài cũ:
Lặp với số lần biết trước.
Câu lệnh For – do
Dạng tiến:
For
Dạng lùi:
For
Giáo viên Tô Quốc Thịnh
10/28/2016
3
Kiến thức bài cũ:
Ví dụ 1: Hãy viết đoạn lệnh tính tổng:
S = 1 + 2 + 3 + … + 8 + 9 + 10
Giáo viên Tô Quốc Thịnh
Khởi tạo: Gán S:= 0 ;
Lần cộng thứ 1: Gán S := S + 1; {được S = 0 + 1}
Lần cộng thứ 2: Gán S := S + 2 ; {được S = 1 + 2}
Lần cộng thứ 3: Gán S := S + 3 ; {được S = 1 + 2 + 3}
.v.v.
Lần cộng thứ 10: Gán S := S + 10; {được S =1+2+3+…+9+10}
10/28/2016
4
Kiến thức bài cũ:
Ví dụ 1: Hãy viết đoạn lệnh tính tổng:
S = 1 + 2 + 3 + … + 8 + 9 + 10
Giáo viên Tô Quốc Thịnh
Vậy đoạn lệnh trong pascal như sau:
S:=0;
For i:=1 to 10 do S:=S+i;
10/28/2016
5
Ví dụ 2: Hãy viết đoạn lệnh tính tổng:
S = 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + …
cho đến khi giá trị của S không được vượt quá một số N nhập từ bàn phím (N>0).
Giáo viên Tô Quốc Thịnh
10/28/2016
Nếu nhập N=1 thì việc cộng dồn lặp lại mấy lần?
Nếu nhập N=10 thì việc cộng dồn lặp lại mấy lần?
Nếu nhập N=30 thì việc cộng dồn lặp lại mấy lần?
Vậy ta có biết trước số lần cộng dồn ko?
KHÔNG!!!
1 lần
4 lần
7 lần
N có biết trước giá trị ko?
….v…v…..
S=1
S=
S=1
6
Lặp với số lần
chưa biết trước
Giáo viên Tô Quốc Thịnh
10/28/2016
Bài 10: Cấu trúc lặp (tiết 2)
7
Cú pháp:
While <điều kiện> do
trong đó:
<điều kiện> là biểu thức logic;
Giáo viên Tô Quốc Thịnh
10/28/2016
3. Câu lệnh while – do:
“trong khi” điều kiện còn đúng
hãy thực hiện câu lệnh
Câu lệnh
Điều kiện
Đúng
Sai
Sơ đồ hoạt động của câu lệnh While – do:
“trong khi” điều kiện còn đúng hãy thực hiện câu lệnh
Thoát
9
Ví dụ 2: Hãy viết chương trình tính tổng:
S = 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + …
cho đến khi giá trị của S không được vượt quá một số N nhập từ bàn phím (N>0).
Giáo viên Tô Quốc Thịnh
10/28/2016
INPUT: N (N>0)
OUTPUT: S=1+2+3+4+…. trong khi S <= N.
10
Ví dụ 2: Hãy viết chương trình tính tổng:
S = 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + …
cho đến khi giá trị của S không được vượt quá một số N nhập từ bàn phím (N>0).
Giáo viên Tô Quốc Thịnh
10/28/2016
Thuật toán:
Bước 1: Nhập vào số N (N>0); S ← 0; i ← 1;
Bước 2: Nếu S + i > N thì chuyển đến bước 5;
Bước 3: S ← S + i;
Bước 4: i ← i+1; rồi quay lại bước 2;
Bước 5: Xuất kết quả S ra màn hình, kết thúc.
11
Chương trình hoàn chỉnh:
program vi_du_2;
uses crt;
Var S, N, i: longint;
Begin
clrscr;
write(‘Nhap so N’); readln(N);
S:=0; i:=1;
while (S + i < N) do
begin
S:=S+i;
i:=i+1;
end;
write(‘Tong s=‘, s);
readln;
End.
Giáo viên Tô Quốc Thịnh
10/28/2016
12
Ví dụ 3: Hãy viết chương trình nhập vào một số N
nguyên dương và kiểm tra nếu N không thỏa mãn
thì phải bắt người dùng nhập lại N.
Giáo viên Tô Quốc Thịnh
10/28/2016
Thuật toán:
Bước 1: Nhập vào số N;
Bước 2: Nếu N > 0 thì chuyển đến bước 4;
Bước 3: Nhập lại số N, rồi quay lại bước 2;
Bước 4: Xuất kết quả N ra màn hình, kết thúc.
13
Chương trình hoàn chỉnh:
program vi_du_3;
uses crt;
Var N: integer;
Begin
clrscr;
write(‘Nhap so N’);
readln(N);
while (N <= 0) do
Begin
write(‘Hay nhap lai N’);
readln(N);
end;
write(‘Gia tri N=‘, N);
readln;
End.
Giáo viên Tô Quốc Thịnh
10/28/2016
Câu lệnh
Điều kiện
Đúng
Sai
Sơ đồ hoạt động của câu lệnh While – do:
Một số lưu ý khi SỬ DỤNG WHILE-D0:
Thoát
15
Một số lưu ý:
Giáo viên Tô Quốc Thịnh
10/28/2016
Nếu ngay lần kiểm tra điều kiện đầu tiên mà kết quả là sai (False) thì các câu lệnh trong vòng lặp sẽ không được thực hiện lần nào.
16
Một số lưu ý:
Giáo viên Tô Quốc Thịnh
10/28/2016
Số lần kiểm tra điều kiện cho kết quả đúng (True) cũng chính là số lần lặp.
17
Một số lưu ý:
Giáo viên Tô Quốc Thịnh
10/28/2016
Cần mô tả điều kiện chính xác, phù hợp để tránh rơi vào vòng lặp vô tận (không thể kết thúc).
Câu 1:
Hãy tính giá trị của s trong đoạn lệnh sau:
S:=0;
i:=1;
While (i < 5) do
Begin
S := S + i;
i := i + 1;
End;
18
Giáo viên Tô Quốc Thịnh
10/28/2016
A. S=9
B. S=10
C. S=11
Câu 2:
Hãy tính giá trị của s trong đoạn lệnh sau:
S:=0;
i:=10;
While not(i<=0) do
Begin
S := S + i;
i := i - 1;
End;
19
Giáo viên Tô Quốc Thịnh
10/28/2016
A. S=55
B. S=50
C. S=51
Edit by Tien Thanh, 2008
THPT Nguyễn Văn Trỗi
Hãy nhớ!
Câu lệnh lặp
trong pascal
WHILE <Điều kiện> DO
+ Ý nghĩa:
Câu lệnh sau Do sẽ được thực hiện lặp đi lặp lại khi Điều kiện còn đúng (True).
Vòng lặp sẽ thoát khi Điều kiện có giá trị False.
21
Giáo viên Tô Quốc Thịnh
10/28/2016
* 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ẻ: Thaithai Thai
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)