Bài 8. Lặp với số lần chưa biết trước

- 0 / 0
(Tài liệu chưa được thẩm định)
Nguồn:
Người gửi: đàm kiều anh
Ngày gửi: 15h:20' 18-04-2022
Dung lượng: 2.5 MB
Số lượt tải: 362
Nguồn:
Người gửi: đàm kiều anh
Ngày gửi: 15h:20' 18-04-2022
Dung lượng: 2.5 MB
Số lượt tải: 362
Số lượt thích:
0 người
CHÀO MỪNG CÁC BẠN HỌC SINH LỚP 8A
Giáo viên: Đàm Kiều Anh
ĐÁP ÁN
Câu hỏi. Hãy 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 48
BÀI TẬP
BÀI TẬP
Bài 1: 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/ Trang 66 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 Sn 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 : Trang 66 sgk
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/ Trang 67 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
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).
 







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