TỰ HỌC TIN HỌC 8 - BÀI 8. LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC

26 46 0
TỰ HỌC TIN HỌC 8 - BÀI 8. LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Câu 2: Đâu là cú pháp của câu lệnh lặp với số lần chưa biết trước. Tất cả đều sai.[r]

(1)

KIẾN THỨC BÀI CŨ

Trong đó:

- For, to, từ khóa

- Biến đếm có kiểu liệu nguyên

- Giá trị đầu nhỏ giá trị cuối giá trị nguyên

For <biến đếm>:=<giá trị đầu> to <giá trị cuối> do

(2)

QUAN SÁT

VD1: Viết chương trình tính tổng số tự nhiên từ đến 100

S = + + + +100 Lặp 100 lần

VD2: Viết chương trình nhập vào số gặp dừng lại Tính tổng số vừa nhập

Chưa biết lặp lần

Lặp với số lần biết trước, sử dụng câu lệnh lặp For…do để viết chương trình

(3)

BÀI 8

(4)

1 Lệnh lặp với số lần chưa biết trước

2 Lặp vô hạn lần – Lỗi lập trình cần tránh NỘI DUNG BÀI HỌC

(5)

 Nam làm tập làm xong

 Cô phải tới nhà  Tơi phải nhập liệu vào máy tính

khi nhập xong

BÀI LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC

Các hoạt động lặp với số lần chưa biết trước

Các em cho thêm ví dụ hoạt động lặp với số lần

(6)

BÀI LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC

Bạn Long gọi điện hẹn Trang tới thăm nhà cô giáo cũ vào chủ nhật tới Long định 10 phút gọi điện lần cho Trang có người thưa máy

Long lặp lại hoạt động gọi điện lần?

Các hoạt động lặp với số lần chưa biết trước

Ví dụ (SGK)

Chưa thể biết trước số lần Long gọi điện Điều kiện để

(7)

1 Lệnh lặp với số lần chưa biết trước

BÀI LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC

Nếu cộng n số tự nhiên (n = 1, 2, 3, …) Ta kết quả:

T1 =

T2 = +

T3 = + + … tăng dần

Cần cộng số tự nhiên để ta nhận tổng Tn nhỏ lớn 1000?

Điều kiện kết thúc hoạt động lặp?

Điều kiện: Khi tổng Tn nhỏ lớn 1000 kết thúc hoạt động lặp

(8)

1 Các hoạt động lặp với số lần chưa biết trước

BÀI LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC

n Tổng Tn Điều kiện Tn ≤ 1000

1 T1 = Đúng

2 T2 = + Đúng

Đúng

? Tn = + + + …+?

(Sao cho Tn nhỏ lớn 1000)

Sai, kết thúc việc tính tổng

(9)

BÀI LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC Kí hiệu S tổng cần tìm ta có thuật tốn sau:

Bước 1: S  0, n 

Bước 2: Nếu S≤ 1000, chuyển tới Bước 3; Ngược lại chuyển tới bước

Bước 3: n n+1; S S + n quay lại bước

Bước 4: In kết quả: S n số tự nhiên nhỏ cho S > 1000 Kết thúc thuật toán

S1000? Sai

n n+1;

S S+n;

Đúng

Các hoạt động lặp với số lần chưa biết trước phụ thuộc vào

dừng lại nào? • Sơ đồ

(10)

1 Lệnh lặp với số lần chưa biết trước

BÀI LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC

(11)

1 Lệnh lặp với số lần chưa biết trước

BÀI LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC

While <điều kiện> <câu lệnh>;  Trong đó:

 While, do từ khóa.

 Điều kiện: Thường phép so sánh.

 Câu lệnh: Có thể câu lệnh đơn câu lệnh ghép

(12)

BTVD 1: While a <= b do a:= a+1; Trong đó:  While, do từ khóa

Điều kiện là a<=b

Câu lệnh a:=a+1 (câu lệnh đơn)

1 Lệnh lặp với số lần chưa biết trước

(13)

While a > b do

begin

write (‘a>b’); a:= a - 1;

end;

Trong đó:  While, do từ khóa  Điều kiện là a > b

Câu lệnh write (‘a>b’); a:=a-1 (câu lệnh ghép)

1 Lệnh lặp với số lần chưa biết trước

BÀI LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC

(14)

1 Lệnh lặp với số lần chưa biết trước

BÀI LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC

B1: Kiểm tra điều kiện;

B2: 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 Nếu điều kiện đúng,

thực câu lệnh quay

lại bước Lưu đồ

Hoạt động: Sai Điều kiện

Câu lệnh

Đúng

(15)

BÀI LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC

1 Lệnh lặp với số lần chưa biết trước

BTVD 3: S:=0; while S<=5 do S:= S + 2;

S Điều kiện

S<=5 Câu lệnhS:=S + 2

Vậy S =

0

0 <=5 (Đ) <=5 (Đ) <=5 (Đ) <=5 (S)

(16)

CỦNG CỐ

Câu 1: Trong hoạt động đây, hoạt động lặp với số lần chưa biết trước?

a Tính tổng số tự nhiên từ đến 20 b Mỗi ngày học lần

c Nhập số nguyên từ bàn phím đủ 50 số

(17)

CỦNG CỐ

Câu 2: Đâu cú pháp câu lệnh lặp với số lần chưa biết trước?

(18)

CỦNG CỐ

Câu 2: Hãy lỗi câu lệnh sau đây?

a X:=10; while X:=10 do X:= X + 5;

b X:=10; while X =10 do X = X + 5;

c while a<=b; do write (‘b khong nho hon a’); Thừa dấu :

Thiếu dấu :

(19)

1 Lệnh lặp với số lần chưa biết trước

BÀI LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC

Ví dụ (SGK): Chúng ta biết rằng, n (n>0) lớn 1/n nhỏ, ln ln lớn

(20)

1 Lệnh lặp với số lần chưa biết trước

BÀI LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC

Phân tích tốn:

x=1/n

1 X1=1/1 Đúng

2 X2=1/2 Đúng

… ……… ………

m Xm=1/m

( Đk 1/m<0.003)

Sai, kết thúc trình lặp

(21)

Uses crt;

Var x: Real; n: Integer;

Const Sai_So=0.003; Begin

Clrscr;

x:=1; n:=1;

While x >= Sai_So

Begin n:=n+1; x:=1/n; End;

Writeln(‘So n nho nhat de 1/n < ‘, Sai_So:6:4, ‘ la ‘,n); Readln;

End.

Uses crt;

Var x: Real; n: Integer;

Const Sai_So=0.003; Begin

Clrscr;

x:=1; n:=1;

While x >= Sai_So

Begin n:=n+1; x:=1/n; End;

Writeln(‘So n nho nhat de 1/n < ‘, Sai_So:6:4, ‘ la ‘,n); Readln;

End.

Chương trình tính số n nhỏ để 1/n nhỏ sai số cho trước:

1 Lệnh lặp với số lần chưa biết trước

(22)

1 Lệnh lặp với số lần chưa biết trước

BÀI LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC

(23)

1 Lệnh lặp với số lần chưa biết trước

BÀI LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC

VD 4: Để viết chương trình tính tổng:

1 1

1

2 100

(24)

1 Lệnh lặp với số lần chưa biết trước

BÀI LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC

sử dụng for…do sử dụng while…do

T:=0;

for i:=1 to 100

T:=T+1/i; writeln(T);

T:=0; i:=1;

while i<=100

begin T:=T+1/i; i:=i+1 end;

(25)

1 Lệnh lặp với số lần chưa biết trước

BÀI LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC

(26)

1 Lệnh lặp với số lần chưa biết trước

BÀI LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC

Biến đếm i;

Ngày đăng: 24/02/2021, 07:16

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan