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

BAI 2

20 169 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề Tổ Chức Lặp
Trường học Trường Đại Học Công Nghệ Thông Tin
Chuyên ngành Công Nghệ Thông Tin
Thể loại Bài
Thành phố Thành Phố Hồ Chí Minh
Định dạng
Số trang 20
Dung lượng 291 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Vòng lặp có số lần chưa biết trước WHILE_DO: III.. Vòng lặp với số lần biết trước FOR_DO:...  Đối với bài toán 1: phải tính lặp bao nhiêu lần ta chưa biết trước, chỉ biết việc lặp sẽ ch

Trang 1

Bài 2: TỔ CHỨC LẶP

II Vòng lặp có số lần chưa biết trước

WHILE_DO:

III Vòng lặp với số lần biết trước FOR_DO:

Trang 2

I Lặp:

Với a là số nguyên và a>2 , xét các bài toán sau:

Bài toán 1:

Cho đến khi

Bài toán 2:

1

2

1 1

1

1

+ +

+

+ +

+ +

+

=

N a

a a

a S

0001

0

1

<

a

100

1

2

1 1

1

1

+

+

+ +

+ +

+

=

a a

a a

S

Trang 3

I Lặp (tt):

Cách tính tổng của hai bài toán trên đều tương tự nhau Đầu tiên S được gán giá trị là

Tiếp theo, mỗi lần thêm vào S một giá trị là với N=1, 2, 3,… Việc cộng thêm đó được lặp lại một số lần liên tiếp.

 Đối với bài toán 1: phải tính lặp bao nhiêu lần ta chưa biết trước, chỉ biết việc lặp sẽ chấm dứt khi thỏa điều kiện 1 < 0.0001

a

a

1

N

a +

1

Trang 4

I Lặp (tt):

 Đối với bài toán 2, số lần lặp biết trước, việc tính lặp sẽ chấm dứt khi số lần đã thực hiện đủ 100

 Trong một số thuật toán có những thao tác được lặp đi, lặp lại một số lần liên tiếp Ta phân biệt hai loại lặp: lặp có số lần chưa biết trước và lặp có số lần biết trước

Trang 5

II Vịng lặp cĩ số lần chưa biết trước

while_do:

• Thuật toán Tong_1

o Bước 1: S:=1/a; N:=0; {khởi tạo S và N}

o Bước 2: Nếu 1/(a+N) <0.0001 thì chuyển đến bước 5;

o Bước 3: N:=N+1;

o Bước 4: S:=S+1/(a+N) rồi quay lại bước 2;

o Bước 5: Đưa kết quả S ra màn hình rồi kết

thúc

Trang 6

II Vịng lặp cĩ số lần chưa biết trước

while_do (tt):

Việc lặp với số lần lặp chưa biết trước sẽ chấm dứt khi một điều kiện cụ thể cho biết trước được thỏa mãn.

Để tổ chức việc lặp như vậy, TP dùng câu lệnh có WHILE_DO dạng:

+ Điều kiện : biểu thức quan hệ (<, >, =,<=, >=,

<>, …) hoặc logic (and, or, not).

+ Câu lệnh : một câu lệnh của TP

WHILE < Điều kiện > DO < Câu lệnh >

Trang 7

II Vịng lặp cĩ số lần chưa biết trước

while_do (tt):

Sơ đồ vịng lặp với số lần chưa biết trước

Câu lệnh

Điều kiện

•Đúng

•Sai

Trang 8

II Vịng lặp cĩ số lần chưa biết trước

while_do (tt):

Nhập a

S 1/a;N ← ← 0

1/(a+N)<0.0001 Đưa ra S rồi kết thúc

S S+1/(a+N) ←

N N+1 ←

•Đúng

Sai

Sơ đồ khối tính tổng S

Trang 9

II Vòng lặp có số lần chưa biết trước

while_do:

Ví dụ 1: Chương trình tính tổng ở bài toán 1

Program tong_1;

Var S: real;

a, N: integer;

Begin

Write(‘Nhap vao gia tri a’); readln(a);

S:=1/a;

N=0;

While not (1/(a+N) <0.0001) do

Begin

N:=N+1;

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

End;

Writeln(‘Tong can tinh la:’,S);

Readln;

End.

Trang 10

II Vịng lặp cĩ số lần chưa biết trước

while_do (tt):

Ví dụ 2: Tìm UCLN của 2 số M và N

• Các bước của thuật toán:

 Bước 1: Nhập M, N;

 Bước 2: Nếu M=N thì lấy giá trị chung ƯCLN rồi chuyển đến bước 5;

 Bước 3: Nếu M>N thì M M-N rồi quay lại bước 2; ←

 Bước 4: N N-M rồi quay lại bước 2; ←

 Bước 5: Đưa ra kết quả ƯCLN rồi kết thúc.

Trang 11

II Vòng lặp có số lần chưa biết trước

while_do (tt):

Nhập M và N

M ←M-N

Đưa ra M rồi kết thúc

Sô đñ khoái tìm UCLN c a 2 s M & N ồ ủ ố

Trang 12

II Vòng lặp có số lần chưa biết trước

while_do (tt):

Chương trình: Tìm UCLN của 2 số M và N

Program UCLN;

Var M, N: integer;

Be gin

Write(‘ Nhap vao gia tri M’); readln(M);

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

If (M=0) or (N=0) then

exit

While M<>N do

If M>N then

M:=M-N

Else

N:=N-M;

Writeln(‘UCLN cua 2 so M va N la:’,M);

Readln;

Trang 13

III Vòng lặp với số lần biết trước

FOR_DO

Thuật toán Tong_2a

• Bước 1: S:=1/a, N:=0;

• Bước 2: N:=N+1;

• Bước 3: Nếu N>100 thì chuyển đến bước 5;

• Bước 4: S:=S+1/(a+N) rồi quay lại bước 2;

• Bước 5: Đưa kết quả ra màn hình rồi kết thúc

Trang 14

III Vòng lặp với số lần biết trước

FOR_DO

Thuật toán Tong_2b

 Bước 1: S:=1/a, N:=101;

 Bước 2: N:=N-1;

 Bước 3: Nếu N<1 thì chuyển đến bước 5;

 Bước 4: S:=S+1/(a+N) rồi quay lại bước 2;

 Bước 5: Đưa kết quả ra màn hình rồi kết thúc

Trang 15

III Vòng lặp với số lần biết trước

FOR_DO

Để tổ chức lặp với số lần biết trước, TP dùng câu lệnh FOR_DO Câu lệnh FOR_DO có hai dạng:

 Dạng lặp tiến:

 Dạng lặp lùi:

FOR <Biến đếm> :=<Giá trị đầu> TO <Giá trị cuối>

DO <Câu lệnh>

FOR <Biến đếm> := <Giá trị cuối>

DOWNTO <Giá trị đầu> DO <Câu lệnh>

Trang 16

III Vòng lặp với số lần biết trước

FOR_DO

Trong đó:

 Biến đếm là kiểu số nguyên, số thực hay kiểu miền con

Giá trị đầu , Giá trị cuối là các biểu thức cùng kiểu với các biến đếm

Trang 17

III Vòng lặp với số lần biết trước

FOR_DO

Ví dụ 1a:

Program Tong_2a;

Var S: real;

a, N: integer;

Begin

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

S:=1/a;

For N:=1 to 100 do

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

Writeln(‘Tong can tinh la:’,S);

Readln;

End.

Trang 18

III Vòng lặp với số lần biết trước

FOR_DO

Ví dụ 1b:

Program Tong_2b;

Var S: real;

a, N: integer;

Begin

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

S:=1/a;

For N:=100 downto 1 do

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

Writeln(‘Tong can tinh la:’,S);

Readln;

Trang 19

III Vòng lặp với số lần biết trước

FOR_DO

Ví dụ 2: viết chương trình tính nhập vào 2 số nguyên dương M&N (M<N), tính tổng các số chia hết cho 3& 5 trong pạm vi từ M đến N

Thuật toán Tong;

 Bước 1: Nhập vào M, N;

 Bước 2: T:=0;

 Bước 3: Nếu (I mod 3<>0) or (I mod 5<>0) thì chuyển đến bước 5;

 Bước 4: T:=T+I;

 Bước 5: Đưa kết quả ra màn hình rồi kết thúc.

Trang 20

III Vòng lặp với số lần biết trước

FOR_DO Chương trình:

Program Tong;

Var M,N, I:integer;

Begin

Write(‘Nhap vao gia tri M=‘); readln(M);

Write(‘(‘Nhap vao gia tri N=‘); readln(N);

T:=0;

For I:=M to N do

If (I mod 3=0) or (I mod 5=0) then

T:=T+I;

Writeln(‘Tong can tinh la:’, T);

Readln;

Ngày đăng: 05/08/2013, 01:26

Xem thêm

HÌNH ẢNH LIÊN QUAN

Sơ đồ vòng lặp với số lần chưa biết trước - BAI 2
Sơ đồ v òng lặp với số lần chưa biết trước (Trang 7)
Sơ đồ khối tính tổng S - BAI 2
Sơ đồ kh ối tính tổng S (Trang 8)

TỪ KHÓA LIÊN QUAN

w