Bài tập While ... do
Chia sẻ bởi Nguyễn Tiến Dụng |
Ngày 24/10/2018 |
55
Chia sẻ tài liệu: Bài tập While ... do thuộc Tin học 8
Nội dung tài liệu:
CHÀO MỪNG QUÍ THẦY CÔ VỀ THAM DỰ HỘI GiẢNG
Môn: Tin Học 8
Tiết 46
BÀI TẬP
Lặp với số lần chưa biết trước
Cú pháp
* Trong đó:
Điều kiện thường là một phép so sánh
Câu lệnh có thể là câu lệnh đơn hay câu lệnh ghép
Sơ đồ
While <điều kiện> do;
- Bước 1: Kiểm tra điều kiện
Các bước
thực hiện
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 sẽ bị bỏ qua và việc thực
hiện lệnh lặp kết thúc.
Nếu điều kiện đúng, thực hiện
câu lệnh và quay lại bước 1
Tiết 46: Bài tập
II. Bài tập:
Câu 1: (Bài 2 sgk trang 71) 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 biết trước và 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 được số lần lặp
- Điều kiện là giá trị của một biến đếm có giá trị nguyên đã đạt được giá trị lớn nhất hay chưa.
- Câu lệnh được thực hiện ít nhất một 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 được số lần lặp
- Điều kiện tổng quát hơn nhiều, có thể là kiểm tra giá trị của một số thực, cũng có thể là một điều kiện khác.
- Trước hết điều kiện được kiểm tra. Nếu điều kiện được thỏa mãn, câu lệnh mới được thực hiện. Do đó có trường hợp câu lệnh hoàn toàn không được thực hiện.
ĐÁP ÁN
* Hoạt động nhóm trong 3 phút
B. 10 vòng lặp, S=5
D. 12 vòng lặp, S=4
B. 10 vòng lặp, S=5
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!
35
Câu 2: Thuật toán sau 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? (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 và quay lại bước 2.
- Bước 4: Thông báo S và kết thúc thuật toán.
Tiết 46: Bài tập
Pascal
Tiết 46: Bài tập
II. Bài tập:
Câu 3: Tìm hiểu thuật toán trong bài 3b và cho biết 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? (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 và kết thúc thuật toán
Đáp án: Số vòng lặp là 0 vòng, Giá trị của biến S = 10.
Tiết 46: Bài tập
II. Bài tập:
Câu 4: Hãy quan sát các chương trình pascal ở bài tập 4 trong sgk trang 71 và cho biết chương trình thực hiện bao nhiêu vòng lặp? Từ đó rút ra nhận xét gì?
Câu a
- Sử dụng câu lệnh ghép trong vòng lặp while .. do
- Kết thúc sau một 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 đượ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 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 trường là câu lệnh ghép.
Câu b
- Không sử dụng câu lệnh ghép trong vòng lặp while .. do
- Lặp vô hạn lần.
ĐÁP ÁN
Hoạt động nhóm trong 3 phút.
Lưu ý: Sự khác nhau giữa đoạn a và đoạn b. Từ đó dẫn đến sự khác nhau về số lần lặp?
Đáp án: Thiếu Câu lệnh ghép begin .. end trong vòng lặp while .. do, do đó vòng lặp trở thành vô tận.
Câu 5: Trong các câu lệnh sau câu lệnh nào đúng, câu lệnh nào sai? Nếu sai em hãy chỉ ra sai ở đâu?
X:=10; while X:=10 do X:=X+5;
Tiết 46: Bài tập
II. Bài tập:
b. X:=10; while X=10 do X=X+5
c. s:=0; n:=2; while s<=10 do s:=s+n;
d. s:=0; n:=0; while s<=10 do n:=n+1; s:=s+n;
Đáp án: Sai. Thừa dấu hai chấm trong điều kiện.
Đáp án: Sai. Thiếu dấu hai chấm trong câu lệnh gán.
Đáp án: Đúng.
Tiết 46: Bài tập
II. Bài tập:
Câu 6: Đọc 2 đoạn lệnh sau, cho biết ý nghĩa của các đoạn lệnh và rút ra nhận xét?
Đoạn 2
Đoạn 1
Đoạn 2
Program doan1;
Var s:real; n,i:integer;
Begin
Write(‘nhap gia tri n can tinh tong’);
readln(n);
For i:=1 to n do 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 do
Begin
s:=s+i;
i:=i+1;
End;
Writeln(‘tong can tim la’,s:2:0);
Readln;
End.
Đoạn 1
Lặp với số lần chưa biết trước
Cú pháp
* Trong đó:
Điều kiện thường là một phép so sánh
Câu lệnh có thể là câu lệnh đơn hay câu lệnh ghép
Sơ đồ
While <điều kiện> do;
- Bước 1: Kiểm tra điều kiện
Các bước
thực hiện
CỦNG CỐ - DẶN DÒ
Bước 2: Nếu điều kiện sai, câu
lệnh sẽ bị bỏ qua và việc thực
hiện lệnh lặp kết thúc.
Nếu điều kiện đúng, thực hiện
câu lệnh và quay lại bước 1
CỦNG CỐ - DẶN DÒ
- Về nhà tìm hiểu thêm một số bài 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.
- Tìm hiểu nội dung bài 1 trong bài thực hành 6.
- Thực hành thêm ở nhà nếu có máy tính
Môn: Tin Học 8
Tiết 46
BÀI TẬP
Lặp với số lần chưa biết trước
Cú pháp
* Trong đó:
Điều kiện thường là một phép so sánh
Câu lệnh có thể là câu lệnh đơn hay câu lệnh ghép
Sơ đồ
While <điều kiện> do
- Bước 1: Kiểm tra điều kiện
Các bước
thực hiện
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 sẽ bị bỏ qua và việc thực
hiện lệnh lặp kết thúc.
Nếu điều kiện đúng, thực hiện
câu lệnh và quay lại bước 1
Tiết 46: Bài tập
II. Bài tập:
Câu 1: (Bài 2 sgk trang 71) 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 biết trước và 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 được số lần lặp
- Điều kiện là giá trị của một biến đếm có giá trị nguyên đã đạt được giá trị lớn nhất hay chưa.
- Câu lệnh được thực hiện ít nhất một 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 được số lần lặp
- Điều kiện tổng quát hơn nhiều, có thể là kiểm tra giá trị của một số thực, cũng có thể là một điều kiện khác.
- Trước hết điều kiện được kiểm tra. Nếu điều kiện được thỏa mãn, câu lệnh mới được thực hiện. Do đó có trường hợp câu lệnh hoàn toàn không được thực hiện.
ĐÁP ÁN
* Hoạt động nhóm trong 3 phút
B. 10 vòng lặp, S=5
D. 12 vòng lặp, S=4
B. 10 vòng lặp, S=5
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!
35
Câu 2: Thuật toán sau 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? (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 và quay lại bước 2.
- Bước 4: Thông báo S và kết thúc thuật toán.
Tiết 46: Bài tập
Pascal
Tiết 46: Bài tập
II. Bài tập:
Câu 3: Tìm hiểu thuật toán trong bài 3b và cho biết 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? (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 và kết thúc thuật toán
Đáp án: Số vòng lặp là 0 vòng, Giá trị của biến S = 10.
Tiết 46: Bài tập
II. Bài tập:
Câu 4: Hãy quan sát các chương trình pascal ở bài tập 4 trong sgk trang 71 và cho biết chương trình thực hiện bao nhiêu vòng lặp? Từ đó rút ra nhận xét gì?
Câu a
- Sử dụng câu lệnh ghép trong vòng lặp while .. do
- Kết thúc sau một 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 đượ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 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 trường là câu lệnh ghép.
Câu b
- Không sử dụng câu lệnh ghép trong vòng lặp while .. do
- Lặp vô hạn lần.
ĐÁP ÁN
Hoạt động nhóm trong 3 phút.
Lưu ý: Sự khác nhau giữa đoạn a và đoạn b. Từ đó dẫn đến sự khác nhau về số lần lặp?
Đáp án: Thiếu Câu lệnh ghép begin .. end trong vòng lặp while .. do, do đó vòng lặp trở thành vô tận.
Câu 5: Trong các câu lệnh sau câu lệnh nào đúng, câu lệnh nào sai? Nếu sai em hãy chỉ ra sai ở đâu?
X:=10; while X:=10 do X:=X+5;
Tiết 46: Bài tập
II. Bài tập:
b. X:=10; while X=10 do X=X+5
c. s:=0; n:=2; while s<=10 do s:=s+n;
d. s:=0; n:=0; while s<=10 do n:=n+1; s:=s+n;
Đáp án: Sai. Thừa dấu hai chấm trong điều kiện.
Đáp án: Sai. Thiếu dấu hai chấm trong câu lệnh gán.
Đáp án: Đúng.
Tiết 46: Bài tập
II. Bài tập:
Câu 6: Đọc 2 đoạn lệnh sau, cho biết ý nghĩa của các đoạn lệnh và rút ra nhận xét?
Đoạn 2
Đoạn 1
Đoạn 2
Program doan1;
Var s:real; n,i:integer;
Begin
Write(‘nhap gia tri n can tinh tong’);
readln(n);
For i:=1 to n do 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 do
Begin
s:=s+i;
i:=i+1;
End;
Writeln(‘tong can tim la’,s:2:0);
Readln;
End.
Đoạn 1
Lặp với số lần chưa biết trước
Cú pháp
* Trong đó:
Điều kiện thường là một phép so sánh
Câu lệnh có thể là câu lệnh đơn hay câu lệnh ghép
Sơ đồ
While <điều kiện> do
- Bước 1: Kiểm tra điều kiện
Các bước
thực hiện
CỦNG CỐ - DẶN DÒ
Bước 2: Nếu điều kiện sai, câu
lệnh sẽ bị bỏ qua và việc thực
hiện lệnh lặp kết thúc.
Nếu điều kiện đúng, thực hiện
câu lệnh và quay lại bước 1
CỦNG CỐ - DẶN DÒ
- Về nhà tìm hiểu thêm một số bài 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.
- Tìm hiểu nội dung bài 1 trong bài thực hành 6.
- Thực hành thêm ở nhà nếu có máy tính
* 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ẻ: Nguyễn Tiến Dụng
Dung lượng: |
Lượt tài: 1
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)