logo

Soạn Tin 10 Bài 28: Phạm vi của biến - Kết nối tri thức

Hướng dẫn Soạn Tin 10 Bài 28: Phạm vi của biến trang 136, 137, 138, 139, 140 SGK Tin học 10 ngắn gọn, đầy đủ bám sát nội dung bộ sách mới Kết nối tri thức.

Bài 28: Phạm vi của biến trang 136, 137, 138, 139, 140 SGK Tin học 10 Kết nối tri thức

Trả lời câu hỏi trang 136 SGK Tin học 10

1. Một biến được định nghĩa trong chương trình chính (bên ngoài các hàm) thì sẽ được sử dụng như thế nào bên trong các hàm?

2. Một biến được khai báo bên trong một hàm thì có sử dụng được ở bên ngoài hàm đó hay không?

Lời giải:

1. 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)

2. Các biến khai báo bên trong hàm có tính địa phương, không có hiệu lực bên ngoài hàm.


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

Trả lời câu hỏi trang 136 SGK Tin học 10

Quan sát các lệnh sau để tìm hiểu phạm vi có hiệu lực của biến khi khai báo trên một hàm

Soạn Tin 10 Bài 28: Phạm vi của biến - Kết nối tri thức

Lời giải:

Các biến được khai báo bên trong một hàm chỉ được sử dụng bên trong hàm đó. Chương trình chính không sử dụng được.

Trả lời câu hỏi trang 137 SGK Tin học 10

1. Giả sử có các lệnh sau:

Soạn Tin 10 Bài 28: Phạm vi của biến - Kết nối tri thức

Giá trị của a, b bằng bao nhiêu sau khi thực hiện lệnh sau?

a) f(1, 2)                                       

b) f(10, 20)

Lời giải:

a) a, b = 1, 2

a = 1 + 2 = 3

b = 2 * 3 = 6

b) a, b = 10, 20

a = 10 + 20 = 30

b = 20 * 30 = 600

2. Ta 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 không?

Lời giả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 được vì các biến khai báo bên trong hàm có tính địa phương, không có hiệu lực bên ngoài hàm


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

Trả lời câu hỏi trang 137 SGK Tin học 10

Quan sát các lệnh sau, tìm hiểu phạm vi có hiệu lực của biến khi khai báo bên ngoài hàm.

Lời giải:

Biến khai báo bên ngoài hàm không có tác dụng bên trong hàm và biến ở bên trong hàm có thể truy cập để sử dụng giá trị của biến đã khai báo trước đó bên ngoài hàm.

Trả lời câu hỏi trang 138 SGK Tin học 10

Giả sử hàm f(x,y) được định nghĩa như sau:

Soạn Tin 10 Bài 28: Phạm vi của biến - Kết nối tri thức

Lời giải:

a = 2 × (1 + 2) = 6

6 + 10 = 16

Kết quả in ra: 16


Luyện tập

Trả lời câu hỏi trang 140 SGK Tin học 10

1. Viết hàm với đầu vào, đầu ra như sau:

- Đầu vào là danh sách sList, các phần tử là xâu kí tự.

- Đầu ra là danh sách cList, các phần tử là kí tự đầu tiên của các xâu kí tự tương ứng trong danh sách sList.

Lời giải:

Ta có hàm như sau:

Soạn Tin 10 Bài 28: Phạm vi của biến - Kết nối tri thức

2. Viết hàm Tach_day() với đầu vào là danh sách A đầu ra là hai danh sách B, C được mô tả như sau:

- Danh sách B thu được từ A bằng cách lấy ra các phần tử có chỉ số chẵn.

- Danh sách B thu được từ A bằng cách lấy ra các phần tử có chỉ số lẻ.

Lời giải:

Ta có hàm Tach_day() như sau:

def Tach_day(A):

    B=[]

    C=[]

    for i in range(len(A)):

        if i%2==0:

            B.append(i)

        else:

            C.append(i)

    return B,C


Vận dụng

Trả lời câu hỏi trang 140 SGK Tin học 10

1. Viết hàm có hai tham số đầu vào là m, n. Đầu ra trả lại hai giá trị là:

- ƯCLN của m, n.

- Bội chung nhỏ nhất (BCNN) của m, n.

Gợi ý: Sử dụng công thức ƯCLN(m, n) × BCNN(m, n) = m × n.

Lời giải:

Ta có hàm như sau:

Soạn Tin 10 Bài 28: Phạm vi của biến - Kết nối tri thức

2. Viết chương trình nhập ba số tự nhiên từ bàn phím day, month, year, các số cách nhau bởi dấu cách. Các số này biểu diễn giá trị của ngày, tháng, năm nào đó. Chương trình cần kiểm tra và in ra thông báo số liệu đã nhập vào đó có hợp lệ hay không.

Lời giải:

def testDate(dd, month, yy):

    if month == 1 or month == 3 or month == 5 or month == 7 or month == 8 or month== 10 or month == 12:

        max1 = 31

    elif month == 4 or month == 6 or month == 9 or month == 11:

        max1 = 30

    elif yy % 4 == 0 and yy % 100 != 0 or yy % 400 == 0:

        max1 = 29

    else:

        max1 = 28

    if month < 1 or month > 12:

        return False

    elif dd < 1 or dd > max1:

        return False

    elif yy < 1 or yy > 100000000:

        return False

    return True

s=input("Nhập thời gian")

list=s.split(" ")

if testDate(int(list[0]),int(list[1]),int(list[2])):

     print("Thời gian nhập hợp lệ")

else:

    print("Thời gian nhập không hợp lệ")

>>> Xem trọn bộ: Soạn Tin 10 Kết nối tri thức

-----------------------------

Trên đây Toploigiai đã cùng các bạn Soạn Tin 10 Bài 28: Phạm vi của biến trong bộ SGK Kết nối tri thức theo chương trình sách mới. Chúng tôi hi vọng các bạn đã có kiến thức hữu ích khi đọc bài viết này. Toploigiai đã có đầy đủ các bài soạn cho các môn học trong các bộ sách mới Cánh Diều, Chân trời sáng tạo, Kết nối tri thức. Mời các bạn hãy click ngay vào trang chủ Toploigiai để tham khảo và chuẩn bị bài cho năm học mới nhé. Chúc các bạn học tốt! 

icon-date
Xuất bản : 08/09/2022 - Cập nhật : 14/09/2022