Bài thực hành 6. Sử dụng lệnh lặp While…..Do

Chia sẻ bởi Nguyễn Đăng Tình | Ngày 24/10/2018 | 50

Chia sẻ tài liệu: Bài thực hành 6. Sử dụng lệnh lặp While…..Do thuộc Tin học 8

Nội dung tài liệu:

KÍNH CHÀO QUÝ THẦY CÔ
CÙNG CÁC EM HỌC SINH
KIỂM TRA BÀI CŨ:
Câu 1: Hãy nêu cú pháp của câu lệnh lặp While…do và các bước thực hiện câu lệnh này ?
While <điều kiện> do ;
Đ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 giản hay câu lệnh ghép.
Trong đó :




Điều kiện
Câu lệnh
sai
đúng
BT: Hãy chỉ ra các lỗi sai trong các câu lệnh sau:

b) X:=10; While X = 10 do X X+5;
c) S := 0; n := 0;
while s <= 10 do
n := n+1;
s := s + n;
a) X:= 10; While X 10 do X:= X +5;
Begin
End;
:=
=
=
:=
SỬ DỤNG CÂU LỆNH LẶP WHILE… DO
Bài thực hành 6
Bài 1 / 72 SGK
Viết chương trình sử dụng lệnh lặp while… do để tính trung bình n số thực x1, x2, x3,… , xn . Các số n và x1, x2, x3,… , xn được nhập từ bàn phím.
INPUT: Số n, các số thực x1, x2, x3,… , xn.
OUTPUT: Giá trị trung bình (x1 + x2 + x3 + … + xn) / n.
.....
Số n không biết trước mà chỉ được nhập từ bàn phím khi chương trình đã được chạy, vì vậy các biến x1, x2, x3,… , xn sẽ phải khai báo như thế nào?
Ý tưởng:
Sử dụng một biến dem và lệnh lặp while … do để nhập và cộng dần các số đó vào một biến tong có kiểu số thực cho đến khi nhập đủ số n.
Thuật toán:
Bước 1: Nhập giá trị n.
dem:= 0;
tong:= 0;
Bước 2: Trong khi dem < n thì:
Bước 3: tb:= tong / n;
Bước 4: Xuất kết quả ra màn hình.
dem:= dem + 1;
Nhập giá trị x;
tong:= tong + x;
Từ thuật toán hãy nêu tên nhưng biến cần khai báo sử dụng trong chương trình và kiểu dữ liệu của các biến đó?
Có tất cả bao nhiêu lần lặp trong thuật toán trên?
Số lần lặp không biết trước mà phụ thuộc
vào điều kiện: dem+Biến n, dem kiểu Integer.
+Biến x, tong, tb kiểu Real.
Thuật toán:
Bước 1: Nhập giá trị n.
dem:= 0;
tong:= 0;
Bước 2: Trong khi dem < n thì:
Bước 3: tb:= tong / n;
Bước 4: Xuất kết quả ra màn hình.
dem:= dem + 1;
Nhập giá trị x;
tong:= tong + x;
Dựa vào thuật toán hãy viết câu lệnh mô tả cấu trúc lặp?
Câu lệnh mô tả cấu trúc lặp:
While dem < n do
Begin
dem:= dem + 1;
Write (‘Nhap so thu’, dem, ‘=‘);
Readln (x);
tong:= tong + x;
End;
Xây dựng chương trình:
Để hoàn thiện chương trình chúng ta sẽ làm từng bước như thế nào?
Khai báo tên chương trình:
Khai báo thư viện:
Khai báo các biến trong chương trình:
Viết các lệnh thực hiện thuật toán.
+ Nhập giá trị cho n:
+ Gán giá trị cho biến dem và tong:
+ Viết câu lệnh lặp:
+ Tăng biến đếm lên một đơn vị trong mỗi vòng lặp:
+ Nhập giá trị số thực x:
+ Cộng dồn biến tong:
+ Tính TB các số x1, x2, x3, …, xn;
+ Nhập giá trị số thực x:
n = 3, dem = 0, tong = 0.
0
0
Đ
1
5
5
1
5
Đ
2
8
13
2
15
13
Đ
3
2
15
3
S
Hãy tìm hiểu mỗi đ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?

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 4/ 71 SGK:
* Nhận xét:
Khi thực hiện vòng lặp, điều kiện trong câu lệnh phải được thay đổi để sớm hay muộn giá trị của điều kiện được chuyển từ đúng sang sai. Chỉ như thế chương trình mới không “rơi” vào những “vòng lặp vô tận” .
Bài 2 / 73 SGK
Tìm hiểu chương trình nhận biết một số tự nhiên N được nhập vào từ bàn phím có phải là số nguyên tố hay không.
INPUT: Số tự nhiên N.
OUTPUT: Trả lời N là số nguyên tố hoặc N không là số nguyên tố.
* Ý tưởng:
Kiểm tra lần lượt N có chia hết cho các số tự nhiên hay không. Kiểm tra tính chia hết bằng phép chia lấy phần dư – hàm mod.
* THUẬT TOÁN:
* Bước 4: Kết thúc thuật toán.
* Bước 1: Nhập số tự nhiên N từ bàn phím.
* Bước 2: Nếu N 1 thì thông báo N không phải là số nguyên tố, rồi chuyển đến bước 4.
* Bước 3: Nếu N > 1 thì:
+ i 2
+ Trong khi N mod i <> 0 đúng thì i i + 1.
+ Nếu i = N thì xuất N không phải là số nguyên tố.
Quan sát chương trình:
N = 5
Vậy 5 là số nguyên tố.
N = 9
Vậy 9 không phải là số nguyên tố.
2
3
Đ
Đ
3
4
5
4
Đ
Đ
2
Đ
3
3
S
S
Bộ test 1: N = 4. Kết quả: 4 không phải là số nguyên tố.

Bộ test 2: N = 7. Kết quả: 7 là số nguyên tố.

Bộ test 3: N = 14. Kết quả: 14 không phải là số nguyên tố.
Hãy cho biết đâu là câu lệnh lặp với số lần chưa biết trước hợp lệ ?
X:= 5; While X = 5 do X = X + 5;
B)
X = 5 ; While X = 5 do X := X + 3;
C)
S :=0; m:= 0 ; While S <= 5 do m:= m+1 ; S:= S+m;
A)
TRẮC NGHIỆM
Hãy cho biết đâu là đoạn lệnh lặp bằng câu lệnh While ..do để tính tổng
S = 1+2+…+10?
A)
C)
B)
S := 0; While i< 10 do S:= S +i;
S:= 0; i:=0; While i < 11 do S:= S+i; i:= i+1;
S := 0; i:= 0; While i do Begin S := S+i; i:=i+1; end;
D)
S:=0; i:=0; While i<=10 do begin S := S +i; i:=i+1; end;
Hướng dẫn về nhà:
Các em xem lại các bài tập đã làm trong tiết học, thực hành lại trên máy (nếu có điều kiện), ôn lại câu lệnh lặp với số lần chưa biết trước While… do.

Đọc bài đọc thêm trang SGK trang 74.

Chuẩn bị trước bài 9: Làm việc với dãy số.
VÀ CÁC EM HỌC GIỎI
KÍNH CHÚC QUÝ THẦY CÔ SỨC KHỎE
* 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 Đăng Tình
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)