Bài 7. Câu lệnh lặp

- 0 / 0
(Tài liệu chưa được thẩm định)
Nguồn:
Người gửi: Hoàng Yến (trang riêng)
Ngày gửi: 15h:56' 26-11-2019
Dung lượng: 2.2 MB
Số lượt tải: 687
Nguồn:
Người gửi: Hoàng Yến (trang riêng)
Ngày gửi: 15h:56' 26-11-2019
Dung lượng: 2.2 MB
Số lượt tải: 687
Số lượt thích:
0 người
1
TIN HỌC 8
Gv. Hoàng Yến
2
BÀI 7 - CÂU LỆNH LẶP
Tiết 27
Hãy nêu ví dụ về các hoạt động lặp trong cuộc sống hàng ngày.
Đánh răng ngày 2 lần
Ăn ngày 3 bửa chính
Đi học ngày 1 buổi
Học bài đến khi thuộc
Uống nước đến khi đở khát
…
4
1. Câu lệnh lặp. Một lệnh thay cho nhiều lệnh
Ví dụ 1: vẽ 3 hình vuông có cạnh 1 đơn vị
5
1. Câu lệnh lặp. Một lệnh thay cho nhiều lệnh
Ví dụ 2: tính tổng của 100 số tự nhiên đầu tiên
Thuật toán;
Bước 1:S0;i0
Bước 2: ii+1
Bước 3; nếu i<=100 thì,SS+1, quay lại bước 2
Bước 4; in kết quả, kết thúc thuật toán
6
2. Câu lệnh lặp for…do:
a/ Cú pháp:
b/ Trong đó:
- For, To, Do là: . . .
- Biến đếm: . . .
- Giá trị đầu, giá trị cuối: . . .
- Câu lệnh . . .
c/ Hoạt động của câu lệnh:
d/ Lưu ý:
For: to do ;
7
3. Ví dụ về câu lệnh lặp:
Ví dụ 3: Chương trình sau sẽ in ra màn hình thứ tự lần lặp:
Program lap;
Uses crt;
Var i: integer;
Begin
For i:= 1 to 10 do
Writeln (‘day la lan lap thu ’, i );
Readln;
end.
day la lan lap thu 1
day la lan lap thu 2
day la lan lap thu 3
day la lan lap thu 4
day la lan lap thu 5
day la lan lap thu 6
day la lan lap thu 7
day la lan lap thu 8
day la lan lap thu 9
day la lan lap thu 10
Theo em dự đoán thì trên màn hình sẽ hiển thị lên kết quả như thế nào sau khi chạy chương trình?
Số lần lặp= 10-1+1=10(lần)
Số lần lặp= ?
Ví dụ 3: Chương trình sau sẽ in ra màn hình thứ tự lần lặp:
8
2. Câu lệnh lặp for…do :
Áp dụng:
Hãy viết chương trình in ra màn hình các số từ 1 đến 10
Program lap;
Uses crt;
Var i: integer;
Begin
For i:= 1 to 10 do
Writeln (‘day la lan lap thu ’, i );
Readln;
end.
day la lan lap thu 1
day la lan lap thu 2
day la lan lap thu 3
day la lan lap thu 4
day la lan lap thu 5
day la lan lap thu 6
day la lan lap thu 7
day la lan lap thu 8
day la lan lap thu 9
day la lan lap thu 10
1
2
3
4
5
6
7
8
9
10
9
2. Câu lệnh lặp for…do :
Áp dụng:
Hãy viết chương trình in ra màn hình các số từ 1 đến 10
Program lap;
Uses crt;
Var i: integer;
Begin
For i:= 1 to 10 do
Writeln ( i );
Readln;
end.
1
2
3
4
5
6
7
8
9
10
10
2. Câu lệnh lặp for…do :
Để in một chữ “O” trên màn hình ta sử dụng lệnh nào?
Để in nhiều chữ “O” trên màn hình ta làm như thế nào?
For i:= 1 to 20 do Writeln (‘O’);
11
2. Câu lệnh lặp for…do :
Ví dụ 4: Hiệu ứng trứng rơi
For i:= 1 to 20 do
begin
Writeln (‘O’);
delay(100)
end;
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
Uses crt;
Var i: integer;
Begin
For i:= 1 to 20 do
begin
Writeln (‘O’);
delay(100)
end;
Readln
end.
12
Bài 4 (SGK-61) Sau khi thực hiện đoạn chương trình sau, giá trị j bằng bao nhiêu?
j:=0;
For i:=0 to 5 do j:=j+2;
Số lần lặp = 5 – 0 + 1 = 6 (Lần)
Sau mỗi vòng lặp giá trị j tăng thêm 2
Sau 6 vòng lặp giá trị j = 12
13
Nhận biết câu lệnh lặp
Bài 5 (SGK-61) Các câu lệnh Pascal sau đây có hợp lệ hay không, vì sao?
a/ For i:=100 to 1 do writeln(‘A’);
b/ For i:=1.5 to 10.5 do writeln(‘A’);
c/ For i=1 to 10 do writeln(‘A’);
d/ For i:=1 to 10 do; writeln(‘A’);
e/ Var x:Real;
Begin
For x:=1 to 10 do writeln(‘A’);
End.
Nhận biết câu lệnh lặp
Bài 5 (SGK-61) Các câu lệnh Pascal sau đây có hợp lệ hay không, vì sao?
a/ For i:=100 to 1 do writeln(‘A’);
b/ For i:=1.5 to 10.5 do writeln(‘A’);
c/ For i=1 to 10 do writeln(‘A’);
d/ For i:=1 to 10 do; writeln(‘A’);
e/ Var x:Real;
Begin
For x:=1 to 10 do writeln(‘A’);
End.
3) Tính tổng và tích bằng câu lệnh lặp:
VÍ DỤ: TÍNH TỔNG CỦA 100 SỐ TỰ NHIÊN ĐẦU TIÊN: S = 1 + 2 + 3 + 4 + ... + 100
NH?N XẫT
S = 0
S = S + 1
S = S + 2
S = S + 3
.....
S = S + 100
VI?C TNH S TH?C HI?N THEO QUY LU?T
Ssau = StrU?c+ i <=> S := S + i ;
L?P L?I 100 L?N TNH T?NG
. . . . . . . . . . . . . . . . . . . .
Bước 1: Bắt đầu
Bước 2: S 0 ; i 1
Bước 3: i := i + 1
Bước 4: Nếu i <=100 thì S := S + i. quay lại bước 3.
Bước 5: Nếu i = 100 thì kết thúc
Diễn tả thuật toán:
Hãy diễn tả thuật toán ?
Thế còn viết chương trình ?
3) Tính tổng và tích bằng câu lệnh lặp:
16
3. Tính tổng và tích bằng câu lệnh lặp:
Ví dụ 5: Tính tổng S = 1+2+3+…+N
Uses crt;
Var N, i: integer;
S: longint;
Begin
Write(‘nhap so N=‘); readln(N);
S:=0;
For i:= 1 to N do S:= S + i;
Writeln (‘Tong S= ‘, S);
Readln
end.
L?P CHUONG TRèNH TNH T?NG SAU
Vớ d?2:
18
3. Tính tổng và tích bằng câu lệnh lặp:
Ví dụ 6: Tính Tích N! = 1*2*3*…*N
Uses crt;
Var N, i: integer;
P: longint;
Begin
Write(‘nhap so N=‘); readln(N);
P:=1;
For i:= 1 to N do p:=p*i;
Writeln (N ,’ != ’, p);
Readln
end.
Ví dụ 5: Tính tổng S = 1+2+3+…+N
Uses crt;
Var N, i: integer;
S: longint;
Begin
Write(‘nhap so N=‘); readln(N);
S:=0;
For i:= 1 to N do S:= S + i;
Writeln (‘Tong S= ‘, S);
Readln
end.
19
3. Tính tổng và tích bằng câu lệnh lặp:
Ví dụ 6: Tính Tích N! = 1*2*3*…*N
Program Tinh_Giai_thua;
Uses crt;
Var N, i: integer;
P: longint;
Begin
Write(‘nhap so N=‘); readln(N);
P:=1;
For i:= 1 to N do p:=p*i;
Writeln (N ,’ != ’, p);
Readln
end.
Ví dụ 5: Tính tổng S = 1+2+3+…+N
Program Tinh_tong;
Uses crt;
Var N, i: integer;
S: longint;
Begin
Write(“nhap so N=‘); readln(N);
S:=0;
For i:= 1 to N do S:= S + i;
Writeln (‘Tong S= ‘, S);
Readln
end.
20
Sau khi thực hiện đoạn chương trình sau giá trị của A, B bằng bao nhiêu:
Bài tập nhóm
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
1 phút
2 phút
3 phút
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
00
Hết thời gian
Thời gian
A:=0; B:=1;
For i:=1 to 5 do A:=A+1; B:=B+1
A:=0; B:=1;
For i:=1 to 5 do
Begin A:=A+1; B:=B+1; End;
Câu 1
Câu 2
Nhóm 1,2,3
Nhóm 4,5,6
21
Ghi nhớ
1. Cấu trúc lặp được sử dụng để chỉ thị cho máy tính thực hiện lặp lại một vài hoạt động nào đó cho đến khi một điều kiện nào đó được thoả mãn.
2. Mọi ngôn ngữ lập trình đều có các câu lệnh lặp để thể hiện cấu trúc lặp.
3. Ngôn ngữ Pascal thể hiện cấu trúc lặp với số lần lặp cho trước bằng câu lệnh For … do
22
Củng cố
23
Hướng dẫn học ở nhà
- Học bài cũ
- Làm các bài tập còn lại trong phần câu hỏi và bài tập trang 60,61(sgk)
Viết chương trình tính tổng các số chẵn từ 1 đến 100
Hd: For i:=1 to 100 do If i mod 2=0 then S:=S+i;
- Xem trước: Bài thực hành số 5
TIN HỌC 8
Gv. Hoàng Yến
2
BÀI 7 - CÂU LỆNH LẶP
Tiết 27
Hãy nêu ví dụ về các hoạt động lặp trong cuộc sống hàng ngày.
Đánh răng ngày 2 lần
Ăn ngày 3 bửa chính
Đi học ngày 1 buổi
Học bài đến khi thuộc
Uống nước đến khi đở khát
…
4
1. Câu lệnh lặp. Một lệnh thay cho nhiều lệnh
Ví dụ 1: vẽ 3 hình vuông có cạnh 1 đơn vị
5
1. Câu lệnh lặp. Một lệnh thay cho nhiều lệnh
Ví dụ 2: tính tổng của 100 số tự nhiên đầu tiên
Thuật toán;
Bước 1:S0;i0
Bước 2: ii+1
Bước 3; nếu i<=100 thì,SS+1, quay lại bước 2
Bước 4; in kết quả, kết thúc thuật toán
6
2. Câu lệnh lặp for…do:
a/ Cú pháp:
b/ Trong đó:
- For, To, Do là: . . .
- Biến đếm: . . .
- Giá trị đầu, giá trị cuối: . . .
- Câu lệnh . . .
c/ Hoạt động của câu lệnh:
d/ Lưu ý:
For
7
3. Ví dụ về câu lệnh lặp:
Ví dụ 3: Chương trình sau sẽ in ra màn hình thứ tự lần lặp:
Program lap;
Uses crt;
Var i: integer;
Begin
For i:= 1 to 10 do
Writeln (‘day la lan lap thu ’, i );
Readln;
end.
day la lan lap thu 1
day la lan lap thu 2
day la lan lap thu 3
day la lan lap thu 4
day la lan lap thu 5
day la lan lap thu 6
day la lan lap thu 7
day la lan lap thu 8
day la lan lap thu 9
day la lan lap thu 10
Theo em dự đoán thì trên màn hình sẽ hiển thị lên kết quả như thế nào sau khi chạy chương trình?
Số lần lặp= 10-1+1=10(lần)
Số lần lặp= ?
Ví dụ 3: Chương trình sau sẽ in ra màn hình thứ tự lần lặp:
8
2. Câu lệnh lặp for…do :
Áp dụng:
Hãy viết chương trình in ra màn hình các số từ 1 đến 10
Program lap;
Uses crt;
Var i: integer;
Begin
For i:= 1 to 10 do
Writeln (‘day la lan lap thu ’, i );
Readln;
end.
day la lan lap thu 1
day la lan lap thu 2
day la lan lap thu 3
day la lan lap thu 4
day la lan lap thu 5
day la lan lap thu 6
day la lan lap thu 7
day la lan lap thu 8
day la lan lap thu 9
day la lan lap thu 10
1
2
3
4
5
6
7
8
9
10
9
2. Câu lệnh lặp for…do :
Áp dụng:
Hãy viết chương trình in ra màn hình các số từ 1 đến 10
Program lap;
Uses crt;
Var i: integer;
Begin
For i:= 1 to 10 do
Writeln ( i );
Readln;
end.
1
2
3
4
5
6
7
8
9
10
10
2. Câu lệnh lặp for…do :
Để in một chữ “O” trên màn hình ta sử dụng lệnh nào?
Để in nhiều chữ “O” trên màn hình ta làm như thế nào?
For i:= 1 to 20 do Writeln (‘O’);
11
2. Câu lệnh lặp for…do :
Ví dụ 4: Hiệu ứng trứng rơi
For i:= 1 to 20 do
begin
Writeln (‘O’);
delay(100)
end;
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
Uses crt;
Var i: integer;
Begin
For i:= 1 to 20 do
begin
Writeln (‘O’);
delay(100)
end;
Readln
end.
12
Bài 4 (SGK-61) Sau khi thực hiện đoạn chương trình sau, giá trị j bằng bao nhiêu?
j:=0;
For i:=0 to 5 do j:=j+2;
Số lần lặp = 5 – 0 + 1 = 6 (Lần)
Sau mỗi vòng lặp giá trị j tăng thêm 2
Sau 6 vòng lặp giá trị j = 12
13
Nhận biết câu lệnh lặp
Bài 5 (SGK-61) Các câu lệnh Pascal sau đây có hợp lệ hay không, vì sao?
a/ For i:=100 to 1 do writeln(‘A’);
b/ For i:=1.5 to 10.5 do writeln(‘A’);
c/ For i=1 to 10 do writeln(‘A’);
d/ For i:=1 to 10 do; writeln(‘A’);
e/ Var x:Real;
Begin
For x:=1 to 10 do writeln(‘A’);
End.
Nhận biết câu lệnh lặp
Bài 5 (SGK-61) Các câu lệnh Pascal sau đây có hợp lệ hay không, vì sao?
a/ For i:=100 to 1 do writeln(‘A’);
b/ For i:=1.5 to 10.5 do writeln(‘A’);
c/ For i=1 to 10 do writeln(‘A’);
d/ For i:=1 to 10 do; writeln(‘A’);
e/ Var x:Real;
Begin
For x:=1 to 10 do writeln(‘A’);
End.
3) Tính tổng và tích bằng câu lệnh lặp:
VÍ DỤ: TÍNH TỔNG CỦA 100 SỐ TỰ NHIÊN ĐẦU TIÊN: S = 1 + 2 + 3 + 4 + ... + 100
NH?N XẫT
S = 0
S = S + 1
S = S + 2
S = S + 3
.....
S = S + 100
VI?C TNH S TH?C HI?N THEO QUY LU?T
Ssau = StrU?c+ i <=> S := S + i ;
L?P L?I 100 L?N TNH T?NG
. . . . . . . . . . . . . . . . . . . .
Bước 1: Bắt đầu
Bước 2: S 0 ; i 1
Bước 3: i := i + 1
Bước 4: Nếu i <=100 thì S := S + i. quay lại bước 3.
Bước 5: Nếu i = 100 thì kết thúc
Diễn tả thuật toán:
Hãy diễn tả thuật toán ?
Thế còn viết chương trình ?
3) Tính tổng và tích bằng câu lệnh lặp:
16
3. Tính tổng và tích bằng câu lệnh lặp:
Ví dụ 5: Tính tổng S = 1+2+3+…+N
Uses crt;
Var N, i: integer;
S: longint;
Begin
Write(‘nhap so N=‘); readln(N);
S:=0;
For i:= 1 to N do S:= S + i;
Writeln (‘Tong S= ‘, S);
Readln
end.
L?P CHUONG TRèNH TNH T?NG SAU
Vớ d?2:
18
3. Tính tổng và tích bằng câu lệnh lặp:
Ví dụ 6: Tính Tích N! = 1*2*3*…*N
Uses crt;
Var N, i: integer;
P: longint;
Begin
Write(‘nhap so N=‘); readln(N);
P:=1;
For i:= 1 to N do p:=p*i;
Writeln (N ,’ != ’, p);
Readln
end.
Ví dụ 5: Tính tổng S = 1+2+3+…+N
Uses crt;
Var N, i: integer;
S: longint;
Begin
Write(‘nhap so N=‘); readln(N);
S:=0;
For i:= 1 to N do S:= S + i;
Writeln (‘Tong S= ‘, S);
Readln
end.
19
3. Tính tổng và tích bằng câu lệnh lặp:
Ví dụ 6: Tính Tích N! = 1*2*3*…*N
Program Tinh_Giai_thua;
Uses crt;
Var N, i: integer;
P: longint;
Begin
Write(‘nhap so N=‘); readln(N);
P:=1;
For i:= 1 to N do p:=p*i;
Writeln (N ,’ != ’, p);
Readln
end.
Ví dụ 5: Tính tổng S = 1+2+3+…+N
Program Tinh_tong;
Uses crt;
Var N, i: integer;
S: longint;
Begin
Write(“nhap so N=‘); readln(N);
S:=0;
For i:= 1 to N do S:= S + i;
Writeln (‘Tong S= ‘, S);
Readln
end.
20
Sau khi thực hiện đoạn chương trình sau giá trị của A, B bằng bao nhiêu:
Bài tập nhóm
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
1 phút
2 phút
3 phút
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
00
Hết thời gian
Thời gian
A:=0; B:=1;
For i:=1 to 5 do A:=A+1; B:=B+1
A:=0; B:=1;
For i:=1 to 5 do
Begin A:=A+1; B:=B+1; End;
Câu 1
Câu 2
Nhóm 1,2,3
Nhóm 4,5,6
21
Ghi nhớ
1. Cấu trúc lặp được sử dụng để chỉ thị cho máy tính thực hiện lặp lại một vài hoạt động nào đó cho đến khi một điều kiện nào đó được thoả mãn.
2. Mọi ngôn ngữ lập trình đều có các câu lệnh lặp để thể hiện cấu trúc lặp.
3. Ngôn ngữ Pascal thể hiện cấu trúc lặp với số lần lặp cho trước bằng câu lệnh For … do
22
Củng cố
23
Hướng dẫn học ở nhà
- Học bài cũ
- Làm các bài tập còn lại trong phần câu hỏi và bài tập trang 60,61(sgk)
Viết chương trình tính tổng các số chẵn từ 1 đến 100
Hd: For i:=1 to 100 do If i mod 2=0 then S:=S+i;
- Xem trước: Bài thực hành số 5
 







Các ý kiến mới nhất