1. Trang chủ
  2. » Giáo Dục - Đào Tạo

hinh anh công nghệ 6 hoàng thị huế thư viện tư liệu giáo dục

23 5 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 23
Dung lượng 3,43 MB

Nội dung

LÆp víi sè lÇn lÆp kh«ng biÕt tr íc... Cho ®Õn khi.[r]

(1)

   

 

(2)

Bµi 10

(3)

Bài toán 1:

Bài toán 2:

100 1 2 1 1 1 1         a a a a S 1 2 1 1 1 1          N a a a a S

Các tốn đặt vấn đề : Tính tổng S, với a số nguyên a>2

cho đến 1  0.0001

N

(4)

XuÊt ph¸t

a

S  1

1 1

 

a

LÇn 1

2 1

 

a

LÇn 2

+…

LÇn N

N

a

1

Mỗi lần thực giá trị tổng S tăng thêm bao nhiêu? 1

Sau lần thực giá trị tổng S tăng thêm ( với i =1; 2; ; ;N) a + i

(5)

Bài toán 1: Bài toán 2: 100 1 2 1 1 1 1         a a a a

S 1 1 1 1 2 1 

        N a a a a S

Cho đến khi 10.0001

N

a

Số lần lặp biết tr ớc.

ã Việc tăng giá trị cho tổng

S c lặp lặp lại cho đến khi 0.0001 N a 1

ã Việc tăng giá trị cho

tổng S đ ợc lặp lặp lại 100 lần.

tìm khác biệt

(6)(7)

1 Bài toán đặt vấn đề

- D÷ liƯu (Output) : Tổng S

Lập ch ơng trình tính tổng sau:

- Dữ liệu vào (Input) : Nhập N Hãy xác định

INPUT vµ OUTPUT bài toán trên!

I Lặp với số lần lặp biết tr ớc

N 1

4 1 3

1 2

1 1

(8)

Phân tích toán với N = 100

NhËn xÐt:

S1 = 1

S2 = S1 + 1/2

S3 = S2 + 1/3 S4 = S3 + 1/4

S100 = S99 + 1/100

1

S

Bắt đầu từ S2 việc tính S đ ợc lặp lặp lại 99 lần theo quy luËt

Ssau = Str íc+ 1/i

víi i ch¹y tõ 100

2 1 

3 1 

4 1

  .  1 100

(9)

§

S

NhËp N

S:= ; i:= 2

i > N ?

S:= S + 1/i

§ a S råi kÕt thóc

B1: NhËp N; B2: S:=1; i:=2;

B3: NÕu i > N đ a giá trị S => KÕt thóc;

B4 : S:= S + 1/i;

B5: i := i +1 quay lại B3.

Xây dựng thuật toán

(10)

FOR <biến đếm> := <giá trị đầu> TO <giá trị cuối> DO < câu lệnh>;

VÝ dô: S:=1;

FOR i:=2 TO 100 DO S:=S+1/i;

b D¹ng (d¹ng lïi)

FOR <biến đếm> := <giá trị cuối> DOWNTO <giá trị đầu> DO <câu lệnh >;

VÝ dô: S:=1;

FOR i:=100 DOWNTO DO S:=S+1/i; a D¹ng (d¹ng tiÕn)

(11)

Giá trị đầu, giá trị cuối biểu thức kiểu với biến đếm, giá trị đầu phải nhỏ hơn giá trị cuối.

For i:= 100 to 200 write(i);

Giá trị biến đếm đ ợc điều chỉnh tự động, câu

lệnh sau DO không đ ợc thay đổi giá trị biến đếm.

Trong đó

Biến đếm biến kiểu số nguyên kí tự.

(12)

Uses crt;

Var i,N : Integer; S : real;

BEGIN

Readln;

END.

S:=1;

FOR i:=2 to N do S := S+1/i; Writeln(‘ Tong S =’,S:8:3);

Write(‘ Nhap vao gia tri cua N :’);readln(N);

Program Tinh_tong;

Hãy áp dụng câu lệnh lặp dạng tiến để viết ch ơng trình giải

tốn đặt .

Lập ch ơng trình tính tổng sau:

N 1

4 1 3

1 2

1 1

(13)

S := ; i := 2;

i >N KT

S := S +1/ i ; i := i +1;

2.08 1.83 1.5 1 4 3 2 L ỵt i S 2.28 5 NhËp N

S := ; i := 2;

2>5 ?

S

S

S := +1/2 ; i := +1;

3>5 ?

S := 1.5+1/3 ; i := +1;

4>5 ?

S := 1.83+1/4 ; i := +1;

5>5 ?

S := 2.08+1/5; i := +1;

6

S S S

6>5 ? Tỉng S=2.28In Tỉng S Víi N = 5

2.28

§

§

(14)

3 VÝ dơ

TÝnh tỉng S (víi a lµ số nguyên nhập vào từ bàn phím a>2).

100 1

2

1 1

1 1

 

 

 

 

a a

a a

S

? • Hãy xác định giá trị khởi đầu S, quy luật thay đổi giá trị S số lần lặp

Viết ch ơng trình để giải tốn trên.

- S:=1/a;

- S:= S + 1/(a+i);

(15)

1 Bài toán

Dữ liệu (Output) : Tæng S

Dữ liệu vào (Input) : Nhập a Hãy xác định

INPUT, OUTPUT và nêu thuật toán giải toán trên?

1 2 1 1 1 1          N a a a a S

Cho đến 0.0001

a N

Tính giá trị tổng S, với a số nguyên a>2

thì dừng lại.

(16)

B íc 2:

S:=1/a; N:=1; {Khởi tạo S N}

B ớc 3:

NÕu 1/(a+N) < 0.0001 => B íc 5

B íc 4:

S:=S+1/(a+N); N:=N+1;

=> quay lại b ớc 3

thuật toán B íc 1: NhËp a.

S:=1/a ; N:=1

§ a S => KÕt thóc

S:= S+1/(a+N); N:= N+1;

Vòng lặp dừng 1/(a+N)<0.0001

NhËp a

S

§

1/(a+N) >= 0.0001

(17)

WHILE <§iỊu kiƯn> DO <Câu lệnh>;

Điều kiện

Đúng

Câu lệnh

Điều kiện: Là biểu thức

quan hệ lôgic.

Câu lệnh: Là câu lệnh Pascal.

Sai

2 Lặp với số lần lặp tr ớc

Trong đó:

(18)

WHILE 1/(a+N) >= 0.0001 DO

Begin

S:=S+1/(a+N); N:=N+1;

END; 3 Mét sè vÝ dô

a Bài toán đặt vấn đề:

NhËn xÐt:

Chừng 1/(a+N)>=0.0001 thực hiện:

+ Tăng giá trị tổng S thêm 1/(a+N). + Tăng N thêm đơn vị

1 2 1 1 1 1          N a a a a S 0.0001

aN

Tính giá trị tổng S, với a số nguyên a>2

thì dừng lại.

(19)

Ch ơng trình

Program Bai_toan;

Uses Crt;

Var a,N:Integer; S:Real;

BEGIN

Clrscr;

Write(‘Nhap gia tri cua a= ‘);Readln(a); S:=1/a;N:=1;

WHILE 1/(a+N)>=0.0001 DO BEGIN

S:=S+1/(a+N); N:=N+1;

END;

Writeln(‘Gia tri cua tong S = ‘,S:8:3); Readln;

(20)

b Lập ch ơng trình nhập vào hai số nguyên d ơng M,N Tìm ƯCLN hai số đó.

B1: NhËp M,N;

B2 : Chõng nµo MN

nÕu M>N th× M:=M-N, ng ợc lại thì N:=N-M; B3: Đến M=N thì

=> Đ a ƯCLN(M,N)=M; => KÕt thóc.

B1: NhËp M,N

B2 : While M<>N DO Begin

IF M>N then M:=M-N else N:=N-M; end;

B3: In ¦CLN(M,N)

(21)

Tham khảo:

Dạng khác câu lệnh lặp với số lần lặp tr ớc

REPEAT <Câu lệnh> UNTIL <Điều kiện>;

Điều kiện

Sai

C©u lƯnh

(22)

Bài toán đặt vấn đề:

Program Bai_toan;

Uses Crt;

Var a,N:Integer; S:Real;

BEGIN

Clrscr;

Write(‘Nhap gia tri cua a= ‘);Readln(a); S:=1/a;N:=1;

REPEAT {Bat dau lap} S:=S+1/(a+N);

N:=N+1

UNTIL 1/(a+N)< 0.0001; {Ket thuc lap} Writeln(‘Gia tri cua tong S = ‘,S:8:3);

Readln;

(23)

H·y nhí!

Câu lệnh rẽ nhánh.

Câu lệnh lặp IF <đk> THEN <câu lệnh>;

FOR TO DO

IF <đk> THEN <câu lệnh 1> ESLE <c©u lƯnh 2>;

FOR Downto DO While <đk> Do <câu lệnh>;

+ Dạng khut.

+ Dạng đầy đủ.

+ LỈp víi số lần lặp biết tr ớc.

+ Lặp với số lần lặp không

Ngày đăng: 01/04/2021, 21:11

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w