Khi thực hiện đoạn lệnh, balance = ?
double balance = 10, goal = 20, payment =5;
int years = 0;
while (balance < goal) {
balance += payment;
double interest =balance * 0.1 / 100;
balance += interest;
years ++;
}
Trả lời:
Đáp án đúng: D
Đoạn code mô phỏng quá trình tăng trưởng tiền gửi tiết kiệm. Ban đầu, balance = 10, goal = 20, payment = 5. Vòng lặp `while` tiếp tục cho đến khi `balance` lớn hơn hoặc bằng `goal`. Trong mỗi vòng lặp, `balance` tăng thêm `payment` (5), sau đó tăng thêm một khoản tiền lãi nhỏ (0.1% của `balance`). Ta cần tính toán `balance` sau mỗi vòng lặp cho đến khi nó đạt hoặc vượt quá `goal`.
Bước 1: balance = 10, goal = 20, payment = 5, years = 0
Bước 2: Lặp 1:
- balance = 10 + 5 = 15
- interest = 15 * 0.1 / 100 = 0.015
- balance = 15 + 0.015 = 15.015
- years = 1
Bước 3: Lặp 2:
- balance = 15.015 + 5 = 20.015
- interest = 20.015 * 0.1 / 100 = 0.020015
- balance = 20.015 + 0.020015 = 20.035015
- years = 2
Vì balance (20.035015) >= goal (20), vòng lặp dừng lại. Kết quả cuối cùng của balance là 20.035015. Làm tròn ta được 20.035