1. Trang chủ
  2. » Giáo án - Bài giảng

slide 1 bµi 10 gi¸o ¸n ®iön tö tin häc líp 11 3 tiõt ngày soạn 24092009 tiết 11 13 bµi to¸n 1 bµi to¸n 2 c¸c bµi to¸n ®æt vên ®ò týnh tæng s víi a lµ sè nguyªn vµ a2 cho ®õn khi xuêt ph¸t lçn 1

22 9 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 22
Dung lượng 0,96 MB

Nội dung

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

(1)

Bài 10

Giáo án điện tử tin häc líp 11

(3 tiÕt)

Ngày soạn: 24/09/2009

(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

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

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

N

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)

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

(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:=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)

(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ỏ 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ự.

(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 t .

Lập ch ơng trình tÝnh tæng sau:

N 1

4 1 3

1 2

1 1

(12)

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

§ §

(13)

3 VÝ dơ

TÝnh tỉng S (víi a 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);

(14)

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.

(15)

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 chØ dõng 1/(a+N)<0.0001

NhËp a

S

§

1/(a+N) >= 0.0001

(16)

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

(17)

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

(18)

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;

(19)

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 MN

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)

(20)

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

(21)

Bài tố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;

(22)

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

+ Dng khuyt. + Dạng đầy đủ.

Ngày đăng: 12/04/2021, 03:38

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

TÀI LIỆU LIÊN QUAN

w