CHÀO MỪNG QUÝ THẦY CÔ GIÁO
VỀ DỰ GIỜ!

MÔN TIN HỌC
LỚP 8

Giáo viên: Trần Thị Bích Vi




ĐÁP ÁN
Câu hỏi. Phát biểu sự khác biệt giữa câu lệnh lặp với số lần lặp cho trước và câu lệnh lặp với số lần lặp chưa biết trước?
KIỂM TRA BÀI CŨ
Tiết 53
BÀI TẬP
BÀI TẬP

Hãy chỉ ra lỗi trong các câu lệnh sau:

a. x:=7; while x:=7 do x:=x+5;
x:=7; while x=7 do x:=x+5;
b. y:=3; while y< 7 do y=y+1;
y:=3; while y< 7 do y:=y+1;
c. z:=0;n:=0; while z<=7 do n:=n+1;z:=z+n;
z:=0;n:=0; while z<=7 do
begin n:=n+1;z:=z+n;end;

While < điều kiện > do < câu lệnh >;
BÀI TẬP

Bài 3/70 SGK: Tìm hiểu các thuật toán sau đây và cho biết khi thực hiện thuật toán, máy tính sẽ thực hiện bao nhiêu vòng lặp? Khi kết thúc, giá trị của S bằng bao nhiêu? Viết chương trình Pascal thể hiện các thuật toán đó.
a) Thuật toán 1:
Bước 1. S  10, x  0.5.
Bước 2. Nếu S  5.2, chuyển tới bước 4.
Bước 3. S  S  x và quay lại bước 2.
Bước 4. Thông báo S và kết thúc thuật toán.
b) Thuật toán 2:
Bước 1. S  10, n  0.
Bước 2. Nếu S = 10, chuyển tới bước 4.
Bước 3. n  n + 3, S  Sn quay lại bước 2.
Bước 4. Thông báo S và kết thúc thuật toán.
BÀI TẬP

Bài 3
Thuật toán 1: 10 vòng lặp được thực hiện. Khi kết thúc thuật toán S = 5.
BÀI TẬP
B1. S:=10; x:=0.5;
BÀI TẬP

Bài 3
Thuật toán 1: 10 vòng lặp được thực hiện. Khi kết thúc thuật toán S = 5.0.
Đoạn chương trình Pascal tương ứng:
S:=10; x:=0.5;
while S>5.2 do S:=S-x;
writeln(S);
BÀI TẬP

Bài 3
b) Thuật toán 2: Không vòng lặp nào được thực hiện vì ngay từ đầu điều kiện đã được thỏa mãn nên bước 3 bị bỏ qua. Khi kết thúc thuật toán S=10. Đoạn chương trình Pascal tương ứng:
S:=10; n:=0;
while S<10 do
begin n:=n+3;
S:=S-n; end;
writeln(S);
BÀI TẬP

Bài 4/70 SGK:
Hãy tìm hiểu đoạn lệnh sau đây và cho biết với đoạn lệnh đó chương trình thực hiện bao nhiêu vòng lặp? Hãy rút ra nhận xét của em?
a)S:=0; n:=0;
while S<=10 do
begin n:=n+1; S:=S+n; end;
b)S:=0; n:=0;
while S<=10 do
n:=n+1; S:=S+n;
BÀI TẬP

Bài 4
a. Với S:=0; n:=0;
 Kết thúc đoạn lệnh chương trình thực hiện 5 vòng lặp
BÀI TẬP

Bài 4
b. Với S:=0; n:=0;
 Vòng lặp trong chương trình được thực hiện vô tận vì sau câu lệnh n:=n+1; câu lệnh lặp kết thúc nên điều kiện S=0 luôn luôn được thoả mãn.
BÀI TẬP

Nhận xét:
Trong câu lệnh thực hiện, điều kiện cần phải được thay đổi để sớm hay muộn chuyển sang trạng thái không thoả mãn. Khi đó vòng lặp mới được kết thúc sau hữu hạn bước. Để làm được điều này, câu lệnh trong câu lệnh lặp while..do thường là câu lệnh ghép.
TRÒ CHƠI

1
2
3
4
5
6
Câu 1: Trong các hoạt động dưới đây, hoạt động nào là hoạt động lặp với số lần chưa biết trước?

In ra các số từ 1 đến 9

In ra các số từ 1 đến 10

In ra các số 1

Không phương án nào đúng.
Câu 2: Đoạn lệnh sau đây cho kết quả là gì?
S:=1; While s < 10 do
Begin writeln(s); s:=s+1; end;
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0

For i:= 1 to 10 do writeln(‘A’);

For i:=1.5 to 10.5 do writeln(‘A’);

For i= 1 to 10 do writeln(‘A’);

For i:=100 to 1 do writeln(‘A’);
Câu 3:Câu lệnh Pascal nào sau đây là hợp lệ?
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0

1 đơn vị

2 đơn vị
3 đơn vị
4 đơn vị
Câu 4: Trong câu lệnh lặp:
For := to
do ;
Khi thực hiện ban đầu biến đếm nhận giá trị = giá trị đầu, sau mỗi vòng lặp biến đếm tăng thêm:
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0

10

15

20

Không phương án nào đúng.
Câu 5. Cho S và i là biến kiểu nguyên, khi chạy đoạn chương trình:
S:=0;
for i:=1 to 5 do S := S+i;
writeln(S);
Kết quả in lên màn hình của S là:
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0

16

15

9

0
Câu 6. Cho S và i là biến kiểu nguyên, khi chạy đoạn chương trình:
S:= 0; i:= 1;
while i<= 6 do
Begin
S:= S + i; i:= i + 2 end;
Giá trị sau cùng của S là:
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0

Phần thưởng của bạn là một tràn pháo tay!




Hoa kẹo mút là phần thưởng
của bạn!

HƯỚNG DẪN TỰ HỌC
* Bài vừa học:- Học bài, kết hợp SGK.
- Xem các bài tập vừa làm.(chạy chương trình nêú có điều kiện).
* Bài sắp học:- Tìm hiểu trước bài viết chương trình tìm UCLN của 2 số.
- Tiết sau bài tập(tt).
nguon VI OLET