bai mang mot chieu

24 5 0
bai mang mot chieu

Đ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ảm ơn các bạn đã theo dõi • Chúc các em học tốt.[r]

(1)

Bài 10

cấu trúc lặp (2 tit)

(2)

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

đặt vấn đề : tính tổng s với a số nguyên a>2

cho đến 1  0.0001  N

(3)

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

(4)

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.0001N

a

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

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

S c lp 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

(5)(6)

1bà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 OUTPUT bi 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

(7)

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

(8)

§

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

(9)

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

VÝ dô: S:=0;

FOR i:=1 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)

(10)

Giá trị đầu, giá trị cuối biểu thức kiểu với biến đếm, giá trị đầu phải nhỏ 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ự.

(11)

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

toán đAt vấn đề. Lập ch ơng trình tính tổng sau:

N 1

4 1 3

1 2

1 1

(12)

3 VÝ dơ

TÝnh tỉng S (với a số nguyên nhập vào từ bàn phÝm vµ 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

ã Vit ch ng trỡnh giải toán trên.

- S:=1/a;

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

(13)

1 Bài toán

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

Dữ liệu vào (Input) : INPUT, OUTPUT Hãy xác định Nhp a

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.

(14)

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

tht 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;

NhËp a

S

§

1/(a+N) >= 0.0001

(15)

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 cđa Pascal.

Sai

2 LỈp víi sè lần lặp tr ớc

Trong ú:

(16)

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 tốn đAt vấn đề:

NhËn xÐt:

Chõng nµo 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.

(17)

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;

(18)

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

M>N M:=M-N, ng ợc lại 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)

(19)

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

(20)

Bài tốn đặt vấn dề

Program ;

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;

(21)

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 khuyÕt.

+ 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

(22)

Bài tập nhà

• Bài tập 1,2,3,4,5 trang (51) • Các tập *6,7,8

• * tập 6

Hướng dẫn: áp dụng cách giải bài toán cổ Ta giả xử chúng gà chó đảm bảo tổng số chân bằng 100.

Vì có gà chó nên số chó gà tối thiểu = 1

(23)

• Bài 8:

• Cơng thức tính số tiền có nhận đc sau mổi tháng

(24)

Ngày đăng: 15/05/2021, 00:56

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

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

Tài liệu liên quan