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

bai mang mot chieu

24 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 24
Dung lượng 631,5 KB

Nội dung

• 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

w