Lý thuyết Tin học 10 Bài 28 (Kết nối tri thức 2024): Phạm vi của biến

6.6 K

Với tóm tắt lý thuyết Tin học lớp 10 Bài 28: Phạm vi của biến sách Kết nối tri thức hay, chi tiết giúp học sinh nắm vững kiến thức trọng tâm, ôn luyện để học tốt môn Tin học 10.

Tin học lớp 10 Bài 28: Phạm vi của biến

A. Lý thuyết Tin học 10 Bài 28: Phạm vi của biến

1. Phạm vi của biến trong khai báo hàm

Trong Python tất cả các biến khai thác 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.

Lý thuyết Tin học 10 Bài 28: Phạm vi của biến - Kết nối tri thức  (ảnh 1)

Lý thuyết Tin học 10 Bài 28: Phạm vi của biến - Kết nối tri thức  (ảnh 1)

2. Phạm vi của biến khai báo ngoài hàm

- Biến đã khai báo bên ngoài hàm chỉ có thể truy cập giá trị để sử dụng bên trong hàm mà không làm thay đổi được giá trị của biến đó (trừ trường hợp với từ khóa global).

Ví dụ 1: Biến khai báo bên ngoài hàm không có tác dụng bên trong hàm.

Lý thuyết Tin học 10 Bài 28: Phạm vi của biến - Kết nối tri thức  (ảnh 1)

Ví dụ 2: Bên trong hàm có thể truy cập đến sử dụng giá trị của biến đã khai báo trước đó ở bên ngoài hàm.

Lý thuyết Tin học 10 Bài 28: Phạm vi của biến - Kết nối tri thức  (ảnh 1)

- Ví dụ 3: Dùng từ khóa global.

Lý thuyết Tin học 10 Bài 28: Phạm vi của biến - Kết nối tri thức  (ảnh 1)

Thực hành: Phạm vi của biến

Nhiệm vụ 1: Viết hàm với đầu vào là danh sách A chứa các số và số thực x. Hàm trả lại một danh sách kết quả B từ danh sách A bằng cách chỉ giữ lại các phần tử lớn hơn hoặc bằng x.

Hướng dẫn

Biến B kiểu danh sách cần được định nghĩa trong hàm và được bổ sung thêm các phần tử từ A nếu thỏa mãn điều kiện lớn hơn hoặc bằng x.

Lý thuyết Tin học 10 Bài 28: Phạm vi của biến - Kết nối tri thức  (ảnh 1)

Nhiệm vụ 2: Viết hàm với đầu vào là xâu kí tự Str và số c, đầu ra là danh sách các từ được tách ra từ xâu Str nhưng đã được chuyển thành chữ in hoa hoặc chữ in thường hoặc chỉ chuyển đổi kí tự đầu các từ thành chữ in hoa tùy thuộc vào tham số đầu vào c như sau:

- Nếu c = 0, danh sách B là các từ được chuyển thành chữ in hoa.

- Nếu c = 1, danh sách B là các từ được chuyển thành chữ in thường.

- Nếu c = 2, danh sách B là các từ được chuyển viết chữ hoa kí tự đầu của mỗi từ.

Hướng dẫn

Cần sử dụng các lệnh:

Str.upper() – chuyển kí tự của xâu thành chữ in hoa.

Str.lower() - chuyển kí tự của xâu thành chữ in thường.

Str.title() – chuyển kí tự đầu mỗi từ của xâu thành chữ in hoa, các kí tự khác chuyển về chữ thường.

Hàm được định nghĩa có dạng Tach_tu(Str,c). Đầu tiên xâu Str cần được tách từ bằng lệnh split(). Sau đó danh sách kết quả sẽ được chuyển đổi chữ in hoa, in thường sử dụng một trong các lệnh trên tùy thuộc vào giá trị của đối số c.

Chương trình:

Lý thuyết Tin học 10 Bài 28: Phạm vi của biến - Kết nối tri thức  (ảnh 1)

Nhiệm vụ 3: Viết một chương trình yêu cầu lần lượt các việc sau, mỗi việc thực hiện bởi một hàm.

1. Nhập từ bàn phím một dãy các số nguyên, mỗi số cách nhau bởi dấu cách. Chuyển các số này vào danh sách A và in danh sách A ra màn hình.

2. Trích từ danh sách A ra một danh sách B gồm các phần tử lớn hơn 0. In danh sách B ra màn hình.

3. Trích từ danh sách A ra một danh sách C gồm các phần tử nhỏ hơn 0. In danh sách C ra màn hình.

Hướng dẫn

Mỗi chức năng viết thành một hàm. Toàn bộ chương trình có thể như sau:

Lý thuyết Tin học 10 Bài 28: Phạm vi của biến - Kết nối tri thức  (ảnh 1)

B. Bài tập trắc nghiệm Tin học 10 Bài 28: Phạm vi của biến

Câu 1. Kết quả của chương trình này là bao nhiêu?

s = "Tôi tên là: "

def kq(name):

s = s+ name

print(kq("Long"))

A. “Tôi tên là: Long”.

B. “Long”.

C. “Tôi tên là: ”.

D. Chương trình bị lỗi.

Đáp án đúng là: D

Chương trình bị lỗi do vi phạm phạm vi sử dụng biến

Câu 3. Kết quả của chương trình sau là bao nhiêu?

s = "Hôm nay tôi đi học "

def kq(name):

s = "Hello World"

s = s + “!!!”

return s

print(s)

A. "Hôm nay tôi đi học ".

B. "Hello World".

C. "Hello World!!!".

D. Chương trình bị lỗi.

Đáp án đúng là: A

Giá trị của chuỗi s bên ngoài hàm không bị thay đổi.

Trắc nghiệm Tin học 10 Kết nối tri thức Bài 28 (có đáp án): Phạm vi của biến

Câu 4. Kết quả của chương trình sau là bao nhiêu?

def kq(name):

s = "Tôi tên là: "

s = s+ name

return s

print(kq("Xuân"))

A. "Tôi tên là: ".

B. "Xuân".

C. "Tôi tên là: Xuân".

D. Chương trình bị lỗi

Đáp án đúng là: C

Hàm thực hiện nối hai chuỗi và trả về chuỗi s mới.

Trắc nghiệm Tin học 10 Kết nối tri thức Bài 28 (có đáp án): Phạm vi của biến

Câu 5. Kết quả của chương trình sau là bao nhiêu?

>>>def f(a,b):

return a + b + N

>>> N = 5

>>>f(3, 3)

A. 5.

B. 6.

C. 11.

D. Chương trình bị lỗi.

Đáp án đúng là: C

Hàm tính tổng của 3 số a, b, và N thu được kết quả là 11.

Câu 6. Nếu muốn biến bên ngoài vẫn có tác dụng bên trong hàm thì cần khai báo lại biến này bên trong hàm với từ khoá nào

A. global.

B. def.

C. Không thể thực hiện

D. all.

Đáp án đúng là: A

Từ khoá global giúp biến bên ngoài vẫn có tác dụng bên trong hàm.

Câu 7. Hoàn thiện (…) trong phát biểu sau:

“Trong Python tất cả các biến khai báo bên trong hàm đều có tính …, không có hiệu lực ở bên … hàm”.

A. địa phương, trong.

B. cục bộ, ngoài.

C. địa phương, ngoài.

D. toàn cục, ngoài.

Đáp án đúng là: B

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 8. Số phát biểu đúng trong các phát biểu sau là:

1) Tất cả các biến bên trong hàm đều có tính cục bộ.

2) Tất cả các biến bên trong hàm chỉ có tính cục bộ.

3) Biến cục bộ trong hàm nếu gọi bên ngoài hàm sẽ bị lỗi.

A. 1.

B. 2.

C. 3.

D. 0.

Đáp án đúng là: B

Phát biểu đúng: 1, 3.

Câu 3. Chọn phát biểu sai trong các phát biểu sau:

A. Chương trình chính có thể sử dụng biến cục bộ bên trong hàm.

B. Biến bên trong hàm có thể trùng tên với biến đã khai bao trước đó bên ngoài hàm.

C. Tất cả các biến trong hàm đều có tính cục bộ.

D. Các biến bên trong hàm không có hiệu lực ở bên ngoài hàm.

Đáp án đúng là: A

Chương trình chính không thể sử dụng biến cục bộ bên trong hàm.

Câu 9. Giá trị của x, y là bao nhiêu khi thực hiện lệnh f(1, 3)

>>> x, y = 3, 4

>>> def f(x, y):

x = x + y

y = y + 2

return x

A. 2, 3.

B. 4, 5.

C. 5, 4.

D. 3, 4.

Đáp án đúng là: D

Giá trị của biến x, y không thay đổi.

Trắc nghiệm Tin học 10 Kết nối tri thức Bài 28 (có đáp án): Phạm vi của biến

Câu 10. Giá trị của a, b là bao nhiêu khi thực hiện lệnh f(2, 5)

>>> a, b = 0, 1

>>> def f(a, b):

a = a * b

b = b // 2

return a + b

A. 10, 2.

B. 10, 1.

C. 2, 5.

D. 0, 1.

Đáp án đúng là: D

Giá trị của biến a, b không thay đổi.

Trắc nghiệm Tin học 10 Kết nối tri thức Bài 28 (có đáp án): Phạm vi của biến

Câu 11. Kết quả nào được in ra khi thực hiện các câu lệnh sau:

>>>def f(x, y):

a = x + y

print(a + n)

>>>n = 5

>>>f(2, 3)

A. 5.

B. 10.

C. 2.

D. Chương trình bị lỗi.

Đáp án đúng là: B

Tính tổng ba số x, y, n là 2 + 3 + 5 = 10.

Trắc nghiệm Tin học 10 Kết nối tri thức Bài 28 (có đáp án): Phạm vi của biến

Câu 12. Kết quả của chương trình sau là:

def add(x,y):

print(x+y)

x=15

add(x ,10)

add(x,x)

y=20

add(x,y)

A. 25, 35, 30.

B. 35, 30, 25.

C. 25, 30, 35.

D. Chương trình bị lỗi.

Đáp án đúng là: C

Hàm add(x, y) được thực hiện 3 lần :

15 + 10 = 25

15 + 15 = 30

20 + 15 = 35

Trắc nghiệm Tin học 10 Kết nối tri thức Bài 28 (có đáp án): Phạm vi của biến

Câu 13. Cho biết kết quả của chương trình sau:

def changeme(mylist):

mylist.append([1,2,3,4])

mylist = [10,20,30]

changeme( mylist)

print(mylist)

A. [10, 20, 30].

B. [10, 20, 30, 1, 2, 3, 4].

C. [1, 2, 3, 4].

D. [10, 20, 30, [1, 2, 3, 4]].

Đáp án đúng là: D

Danh sách [1, 2, 3, 4] được nối vào mylist ban đầu.

Trắc nghiệm Tin học 10 Kết nối tri thức Bài 28 (có đáp án): Phạm vi của biến

Câu 14. Chương trình sau bị lỗi ở dòng lệnh thứ bao nhiêu?

def msg():

a=10

print("Gia tri cua a la",a)

return msg()

print a

A. 4.

B. 5.

C. 3.

D. Không có lỗi.

Đáp án đúng là: B

Biến a ở trong hàm nên không thể được sử dụng bên ngoài hàm

Câu 15. Chương trình sau bị lỗi ở dòng lệnh thứ:

b=20

def msg():

a=10

print ("Gia tri cua a la",a)

print ("Gia tri cua b la",b)

return msg()

print(b)

A. 3.

B. 4.

C. 5.

D. Không có lỗi.

Đánh giá

0

0 đánh giá