* Nhận xét: Trong câu lệnh lặp với số lần lặp chưa biết trước, đ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 thỏa mãn?. Khi đó vòng lặp mới kết thúc sau[r]
(1)(2)Tiết 46
(3)Lặp với số lần chưa biết trước
Cú ph áp
* Trong đó:
- Điều kiện thường phép so sánh
- Câu lệnh câu lệnh đơn hay câu lệnh ghép
Sơ đồ
Điều kiện ?
Câu lệnh
Sai Đúng
While <điều kiện> <câu lệnh>;
- Bước 1: Kiểm tra điều kiện
Các bước thực
Tiết 46: Bài tập I Hệ thống kiến thức cũ:
Điều kiện?
Câu lệnh
- Bước 2: Nếu điều kiện sai, câu lệnh bị bỏ qua việc thực lệnh lặp kết thúc
(4)Tiết 46: Bài tập
II Bài tập:
Câu 1: (Bài sgk trang 71) Hãy phát biểu khác biệt câu lệnh lặp
với số lần lặp biết trước câu lệnh lặp với số lặp lần chưa biết trước? * Câu lệnh lặp với số lần lặp
biết trước - Xác định số lần lặp
- Điều kiện giá trị biến đếm có giá trị nguyên đạt giá trị lớn hay chưa
- Câu lệnh thực lần, sau kiểm tra điều kiện
* Câu lệnh lặp với số lần lặp chưa biết trước
- Không xác định số lần lặp - Điều kiện tổng quát nhiều, kiểm tra giá trị số thực, điều kiện khác
- Trước hết điều kiện kiểm tra Nếu điều kiện thỏa mãn, câu lệnh thực Do có trường hợp câu lệnh hồn tồn khơng thực
ĐÁP ÁN
(5)B 10 vòng lặp, S=5B. 10 vòng lặp, S=5 D. 12 vòng lặp, S=4
A. 9 vòng lặp, S=5.5 C 11 vòng lặp, S=4.5
SAI RỒI! SAI RỒI! SAI RỒI!
Câu 2: Thuật toán sau thực vòng lặp? Khi kết thúc, giá trị S bao nhiêu? (Câu 3a sgk trang 71)
- 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 quay lại bước 2.
- Bước 4: Thông báo S kết thúc thuật toán.
Tiết 46: Bài tập
(6)Tiết 46: Bài tập
II Bài tập:
Câu 3: Tìm hiểu thuật tốn 3b cho biết máy tính sẽ thực vịng lặp? Khi kết thúc giá trị S bằng bao nhiêu? (Câu 3b sgk trang 71)
Thuật toán:
Bước 1: S 10; n 0.5;
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 kết thúc thuật toán
(7)Tiết 46: Bài tập
II Bài tập:
Câu 4: Hãy quan sát chương trình pascal tập sgk
trang 71 cho biết chương trình thực vịng lặp? Từ rút nhận xét gì?
Câu a
- Sử dụng câu lệnh ghép vòng lặp while
- Kết thúc sau số hữu hạn lần lặp xác định
* Nhận xét: Trong câu lệnh lặp với số lần lặp chưa biết trước, điều kiện cần phải thay đổi để sớm hay muộn chuyển sang trạng thái khơng thỏa mãn Khi vịng lặp kết thúc sau hữu hạn
bước Để làm điều này, câu lệnh câu lệnh lặp while trường câu lệnh ghép
Câu b
- Khơng sử dụng câu lệnh ghép vịng lặp while
- Lặp vô hạn lần
ĐÁP ÁN
•Hoạt động nhóm phút
(8)Đáp án: Thiếu Câu lệnh ghép begin end vịng lặp while do, vịng lặp trở thành vô tận.
Câu 5: Trong câu lệnh sau câu lệnh đúng, câu lệnh sai? Nếu sai em sai đâu?
a X:=10; while X:=10 X:=X+5;
Tiết 46: Bài tập
II Bài tập:
b X:=10; while X=10 X=X+5
c s:=0; n:=2; while s<=10 s:=s+n;
d s:=0; n:=0; while s<=10 n:=n+1; s:=s+n;
Đáp án: Sai Thừa dấu hai chấm điều kiện.
Đáp án: Sai Thiếu dấu hai chấm câu lệnh gán.
(9)Tiết 46: Bài tập
II Bài tập:
Câu 6: Đọc đoạn lệnh sau, cho biết ý nghĩa đoạn lệnh rút nhận xét?
Đoạn
Đoạn Đoạn
Program doan1;
Var s:real; n,i:integer; Begin
Write(‘nhap gia tri n can tinh tong’); readln(n);
For i:=1 to n s:=s+i;
Writeln(‘tong can tim la s: =’,s:2:0); Readln;
End
Program doan2;
Var s:real; n,i:integer; Begin
i:=0;
Write(‘nhap gia tri n can tinh tong’); readln(n);
While i<=n Begin
s:=s+i; i:=i+1; End;
Writeln(‘tong can tim la’,s:2:0); Readln;
(10)Lặp với số lần chưa biết trước
Cú ph áp
* Trong đó:
- Điều kiện thường phép so sánh
- Câu lệnh câu lệnh đơn hay câu lệnh ghép
Sơ đồ
Điều kiện ?
Câu lệnh
Sai Đúng
While <điều kiện> <câu lệnh>;
- Bước 1: Kiểm tra điều kiện
Các bước thực
CỦNG CỐ - DẶN DÒ
- Bước 2: Nếu điều kiện sai, câu lệnh bị bỏ qua việc thực lệnh lặp kết thúc
(11)CỦNG CỐ - DẶN DÒ
- Về nhà tìm hiểu thêm số tập chuyển từ số vòng lặp biết trước sang số vòng lặp chưa biết trước.