⁰Câu 2. Hãy tìm hiểu thuật toán sau, máy tính sẽ thực hiện bao nhiêu vòng lặp?
Khi kết thúc giá trị của S bằng bao nhiêu?
_ Bước 1: S ! 13,X!1
_Bước 2: Nếu S>5 chuyển tới bước 3 ngược lại chuyển sang bước 4
_Bước 3: S !S– X và quay lại bước 2
_Bước 4: Thông báo S và kết thúc thuật toán.
Câu 3. Cho đoạn chương trình: j=5;
For i:=1 to 7 do j:=j+ 1;
Sau khi thực hiện đoạn chương trình trên, giá trị của biến j bằng bao nhiêu? Giải
thích?
a) Thuật toán 1
Bước 1. S
Bước 2. Nếu S 5.2, chuyển tới bớc 4.
Bước 3. S
Bước 4. Thông báo S và kết thúc thuật toán.
b) Thuật toán 2
Bước 1. S 10, n 0.
Bước 2. Nếu S 10, chuyển tới bớc 4.
Bước 3. n n + 3, S = S-n quay lại bước 2.
Bước 4. Thông báo S và kết thúc thuật toán.
Lời giải :
a. Thuật toán 1 :
Quảng cáo
Máy tính sẽ thực hiện 10 vòng lặp , khi kết thúc thuật toán giá trị của S = 5.0
Đoạn chương trình Pascal tương ứng:
S := 10; x := 0.5;
While S > 5.2 do
S := S – x;
Writeln(S);
b. Thuật toán 2 :
Máy tính sẽ không thực hiện vòng lặp nào do điều kiện không thỏa mãn, khi kết thúc thuật toán giá trị của S = 10
Đoạn chương trình Pascal tương ứng:
S := 10; n := 0;
While S < 10 do
Begin
n := n + 3;
S := S – n
End;
Writeln(S);