Tìm kiếm theo tiêu đề

Tin tức cộng đồng

[MỜI HỢP TÁC] Các kỳ thi Olympic Quốc tế 2026 (IMO - IEO - ISO)

Kính gửi Quý Lãnh đạo, Ban Giám hiệu và Quý Thầy/Cô, FermatTech (Đối tác Google tại VN) phối hợp cùng SCO Ấn Độ trân trọng kính mời tham gia 3 kỳ thi uy tín dành cho HS từ lớp 1 - 12: - IMO: Olympic Toán Quốc tế. - IEO: Olympic Tiếng Anh Quốc tế. - ISO: Olympic Khoa học...
Xem tiếp

Tin tức thư viện

Chức năng Dừng xem quảng cáo trên violet.vn

12087057 Kính chào các thầy, cô! Hiện tại, kinh phí duy trì hệ thống dựa chủ yếu vào việc đặt quảng cáo trên hệ thống. Tuy nhiên, đôi khi có gây một số trở ngại đối với thầy, cô khi truy cập. Vì vậy, để thuận tiện trong việc sử dụng thư viện hệ thống đã cung cấp chức năng...
Xem tiếp

Hỗ trợ kĩ thuật

  • (024) 62 930 536
  • 0919 124 899
  • hotro@violet.vn

Liên hệ quảng cáo

  • (024) 66 745 632
  • 096 181 2005
  • contact@bachkim.vn

BAI 2

Wait
  • Begin_button
  • Prev_button
  • Play_button
  • Stop_button
  • Next_button
  • End_button
  • 0 / 0
  • Loading_status
Nhấn vào đây để tải về
Báo tài liệu có sai sót
Nhắn tin cho tác giả
(Tài liệu chưa được thẩm định)
Nguồn:
Người gửi: Nguyễn Thị Cầm Yến
Ngày gửi: 23h:18' 19-04-2009
Dung lượng: 291.0 KB
Số lượt tải: 22
Số lượt thích: 0 người
Bài 2: TỔ CHỨC LẶP
Lặp:
Vòng lặp có số lần chưa biết trước WHILE_DO:
Vòng lặp với số lần biết trước FOR_DO:
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:
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


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

II. Vòng lặp có số lần chưa biết trước while_do:
Thuật toán Tong_1
Bước 1: S:=1/a; N:=0; {khởi tạo S và N}
Bước 2: Nếu 1/(a+N) <0.0001 thì chuyển đến bước 5;
Bước 3: N:=N+1;
Bước 4: S:=S+1/(a+N) rồi quay lại bước 2;
Bước 5: Đưa kết quả S ra màn hình rồi kết thúc.
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.
Ñeå toå chöùc vieäc laëp nhö vaäy, TP duøng caâu leänh coù WHILE_DO daï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 leänh của TP

WHILE <Điều kiện> DO
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
II. Vòng lặp có số lần chưa biết trước while_do (tt):


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

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.



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
Caùc böôùc cuûa thuaät toaùn:
Böôùc 1: Nhaäp M, N;
Böôùc 2: Neáu M=N thì laáy giaù trò chung ÖCLN roài chuyeån ñeán böôùc 5;
Böôùc 3: Neáu M>N thì M←M-N roài quay laïi böôùc 2;
Böôùc 4: N ←N-M roài quay laïi böôùc 2;
Böôùc 5: Ñöa ra keát quaû ÖCLN roài keát thuùc.

II. Vòng lặp có số lần chưa biết trước while_do (tt):

Sơ dđ? khối tìm UCLN c?a 2 s? M & N

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

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


III. Vòng lặp với số lần biết trước FOR_DO
Ñeå toå chöùc laëp vôùi soá laàn bieát tröôùc, TP duøng caâu leänh FOR_DO. Caâu leänh FOR_DO coù hai daïng:
Daïng laëp tieán:


Daïng laëp luøi:


FOR := TO
DO
FOR :=
DOWNTO DO
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
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.
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;
End.

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

 
Gửi ý kiến