TopStudy

Đá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

Về trang đề

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.

Hình minh hoạ

Câu 2

Hướng dẫn chấm do TopStudy biên soạn, mang tính gợi ý

Có lỗi. Chương trình có lỗi vì không nhận biết được biến n. Biến n có trong hàm f() chỉ có tác dụng bên trong hàm nhưng không có tác dụng bên ngoài hàm f().

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ó thể khai báo một biến bên trong hàm trùng tên với biến đã khai báo trước đó bên ngoài hàm. 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 5

Hướng dẫn chấm do TopStudy biên soạn, mang tính gợi ý

Khi khai báo hàm có tham số, các tham số này có thể coi là một biến địa phương của hàm.

Câu 6

Hướng dẫn chấm do TopStudy biên soạn, mang tính gợi ý

Có lỗi. Các biến m, n được khai báo bên ngoài hàm f(). Bên trong hàm có lệnh thực hiện coi n như một biến do đó sẽ có lỗi. Biến được khai báo bên ngoài hàm sẽ không có tác dụng bên trong hàm như một biến.

Câu 7

Hướng dẫn chấm do TopStudy biên soạn, mang tính gợi ý

Không. Các biến m, n được khai báo bên ngoài hàm f). Bên trong hàm vẫn nhìn thấy và có thể truy cập giá trị của các biến này để sử dụng vào mục đích của mình.

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".

Hình minh hoạ

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)