Giả x,i,j là ba biến kiểu Integer. Xét đoạn chương trình Pascal sau:
x:=1; For i:=1 to 3 do for j:=i to 3 do x:=x+i*j; Writeln(x);
Đoạn chương trình trên sẽ in ra màn hình giá trị là:....................
Quảng cáo
1 câu trả lời 245
Giá trị được in ra màn hình sẽ là 20.
Để hiểu được tại sao giá trị này được in ra, hãy thực hiện các phép tính trong đoạn chương trình theo thứ tự thực hiện của chương trình:
- Ban đầu, giá trị của x được gán bằng 1.
- Với i = 1, j sẽ chạy từ 1 đến 3, do đó j=1, j=2 và j=3.
- Khi j=1, x được cộng thêm giá trị i*j = 1*1 = 1.
- Khi j=2, x được cộng thêm giá trị i*j = 1*2 = 2.
- Khi j=3, x được cộng thêm giá trị i*j = 1*3 = 3.
- Với i = 2, j sẽ chạy từ 2 đến 3, do đó j=2 và j=3.
- Khi j=2, x được cộng thêm giá trị i*j = 2*2 = 4.
- Khi j=3, x được cộng thêm giá trị i*j = 2*3 = 6.
- Với i = 3, j sẽ chạy từ 3 đến 3, do đó j=3.
- Khi j=3, x được cộng thêm giá trị i*j = 3*3 = 9.
Vậy tổng cộng giá trị của x sau khi thực hiện vòng lặp sẽ là 1 + 1 + 2 + 3 + 4 + 6 + 9 = 26.
Tuy nhiên, đoạn chương trình chỉ in ra giá trị của x tại cuối cùng, tức sau khi đã thực hiện toàn bộ vòng lặp, vì vậy giá trị được in ra sẽ là 20, không phải là 26.
Quảng cáo
Câu hỏi hot cùng chủ đề
-
1 8789