Đáp án và lời giải
Giải SBT Tin 10 KNTT Bài 28. Phạm vi của biến có đáp án
Câu 1
Hướng dẫn chấm do TopStudy biên soạn, mang tính gợi ý
Chương trình không có lỗi.

Câu 2
Hướng dẫn chấm do TopStudy biên soạn, mang tính gợi ý
Câu 3
Hướng dẫn chấm do TopStudy biên soạn, mang tính gợi ý
Đáp án đúng là: A
Trong Python biến được khai báo và sử dụng bên trong một hàm được gọi là: Biến địa phương.
Câu 4
Hướng dẫn chấm do TopStudy biên soạn, mang tính gợi ý
Câu 5
Hướng dẫn chấm do TopStudy biên soạn, mang tính gợi ý
Câu 6
Hướng dẫn chấm do TopStudy biên soạn, mang tính gợi ý
Câu 7
Hướng dẫn chấm do TopStudy biên soạn, mang tính gợi ý
Câu 8
Hướng dẫn chấm do TopStudy biên soạn, mang tính gợi ý
Chương trình sẽ in ra "train go".

Câu 9
Hướng dẫn chấm do TopStudy biên soạn, mang tính gợi ý
Đáp án đúng là: D
D sai vì trong Python tất cả các biến khai báo bên trong hàm đều có tính địa phương (cục bộ), không có hiệu lực ở bên ngoài hàm.
Câu 10
Hướng dẫn chấm do TopStudy biên soạn, mang tính gợi ý
Có lỗi. Có thể sửa cho hết lỗi theo nhiều cách. Ví dụ.
Cách 1. Đưa n vào hàm số khi khai báo hàm f().
def f(n):
n = n + 1
return n
n = 15
a = f(n)
print(a)
Cách 2. Khai báo biến n là global trong hàm f().
def f():
global n
n = n + 1
return n
n = 15
a = f()
print(a)
Câu 11
Hướng dẫn chấm do TopStudy biên soạn, mang tính gợi ý
Chương trình có thể viết như sau:
def Select(A,x):
B = []
for k in range(len(A)):
if A[k] >= x:
B.append(A[k])
return B
Câu 12
Hướng dẫn chấm do TopStudy biên soạn, mang tính gợi ý
Với mỗi nhiệm vụ trên sẽ được viết riêng thành một hàm. Để tính số các phép gán và so sánh cần một biến tổng thể t. Biến nhớ này sẽ được khai báo lại trong mỗi chương trình con với từ khoá global. Toàn bộ chương trình như sau:
t = 0
def Nhap_Dulieu():
global t
s = input("Nhập các số nguyên cách nhau bởi dấu cách: ")
A = s.split()
t = t + 2
for k in range(len (A)):
A[k] = int(A[k])
t = t + 1
return A
def getB(A):
global t
B = []
t = t + 1
for x in A:
if x > 0:
B.append(x)
t = t + 1
return B
def getC(A):
global t
C = []
t = t + 1
for x in A:
if x < 0:
C.append(x)
t = t + 1
return C
# Chương trình chính
A = Nhap_Dulieu()
print("Dãy A:",A)
B = getB(A)
C = getC(A)
print("Dãy B:",B)
print("Dãy С:",C)
print("Số lượng phép gán và so sánh:",t)