Dễ hiểu giải tin học 10 kết nối bài 28: Phạm vi của biến

Giải dễ hiểu bài 28: Phạm vi của biến. Trình bày rất dễ hiểu, nên tiếp thu Tin học 10 Kết nối dễ dàng. Học sinh nắm được kiến thức và biết suy rộng ra các bài tương tự. Thêm 1 dạng giải mới để mở rộng tư duy. Danh mục các bài giải trình bày phía dưới


Nếu chưa hiểu - hãy xem: => Lời giải chi tiết ở đây

BÀI 28: PHẠM VI CỦA BIẾN

KHỞI ĐỘNG

Câu 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?

Giải nhanh:

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 đó.

Câu 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?

Giải nhanh:

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

Câu hỏi

Câu 1: Giả sử có các lệnh sau:

>>> a, b = 1, 2

>>> def f(a,b):

         a = a + b

         b = b*a

         return a + b

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)

Giải nhanh:

Giá trị của a, b vẫn bằng 1, 2.

Câu 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?

Giải nhanh:

Có thể. Vì các biến khai báo bên trong hàm không có hiệu lực khi ở ngoài hàm.

2. PHẠM VI CỦA BIẾN KHAI BÁO NGOÀI HÀM

Hoạt động 2: Phạm vi của biến khi khai báo ngoài hàm

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 một hàm

Giải nhanh:

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.

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

>>>def f(x,y):

              a = 2*(x + y)

              print(a+n)

Kết quả nào được in ra sau khi thực hiện các lệnh sau? 

n = 10

f(1,2)

Giải nhanh:

Kết quả in ra: 16. 

LUYỆN TẬP

Câu 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.

Giải nhanh:

BÀI 28: PHẠM VI CỦA BIẾN

Câu 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 C thu được từ A bằng cách lấy ra các phần tử có chỉ số lẻ.

Giải nhanh:

BÀI 28: PHẠM VI CỦA BIẾN

VẬN DỤNG

Câu 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.

Giải nhanh:

BÀI 28: PHẠM VI CỦA BIẾN

Câu 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.

Giải nhanh:

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ệ")


Nếu chưa hiểu - hãy xem: => Lời giải chi tiết ở đây

Nội dung quan tâm khác

Thêm kiến thức môn học

Bình luận

Giải bài tập những môn khác