28.1. Đoạn chương trình sau có lỗi không? Nếu không kết quả lệnh print() sẽ in ra số nào?def f(x...

Câu hỏi:

28.1. Đoạn chương trình sau có lỗi không? Nếu không kết quả lệnh print() sẽ in ra số nào?

def f(x,y):

      n = x + y

      m = x - y

      return 2*n*(m+1)

n = 5

m = 3

f(2,1)

print(n, m)

Câu trả lời:
Người trả lời: GV. Đỗ Thị Giang
Cách 1:
- Đầu tiên, chúng ta xác định rằng đoạn chương trình không có lỗi cú pháp.
- Tiếp theo, khi chạy hàm f(2,1), ta có n = 2 + 1 = 3 và m = 2 - 1 = 1.
- Sau đó, hàm trả về giá trị là 2 * n * (m + 1) = 2 * 3 * (1 + 1) = 12.
- Cuối cùng, khi gọi hàm print(n, m), chương trình sẽ in ra các số n và m, tức là 3 và 1.

Cách 2:
- Khi chạy hàm f(2,1), ta có n = 2 + 1 = 3 và m = 2 - 1 = 1.
- Hàm f sẽ trả về kết quả là 2 * n * (m + 1) = 2 * 3 * (1 + 1) = 12.
- Vì biến n và m được khai báo trong hàm f, nên chúng không ảnh hưởng tới giá trị của biến n và m được khai báo tại đầu chương trình.
- Khi gọi hàm print(n, m) ở cuối chương trình, chương trình sẽ in ra các số được khai báo ở đầu chương trình, tức là 5 và 3.

Vậy, kết quả của lệnh print() sẽ in ra các số 5 và 3. Chương trình không có lỗi và chạy đúng như mong đợi.
Bình luận (0)
Nhấn vào đây để đánh giá
Thông tin người gửi
1.10808 sec| 2205.391 kb