Giải SGK Tin học 10 Bài 28 (Kết nối tri thức): Phạm vi của biến

11.5 K

Lời giải bài tập 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, ngắn gọn sẽ giúp học sinh dễ dàng trả lời câu hỏi Tin học 10 Bài 28 từ đó học tốt môn Tin 10.

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

Khởi động trang 136 Tin học lớp 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?

Phương pháp giải:

Dựa vào lý thuyết bài 28. Phạm vi của biến

Trả lờ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

Hoạt động 1 trang 136 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

Tin học 10 Bài 28: Phạm vi của biến | Kết nối tri thức (ảnh 1)Phương pháp giải:

Quan sát các lệnh

Trả lờ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.

Câu hỏi 1 trang 137 Tin học 10: Giả sử có các lệnh sau:

Tin học 10 Bài 28: Phạm vi của biến | Kết nối tri thức (ảnh 2)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)

Phương pháp 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:

Sau mỗi lần thực hiện lệnh, giá trị của a, b vẫn bằng 1, 2.

Câu hỏi 2 trang 137 Tin học 10: 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?

Phương pháp giải:

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

Trả lờ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 khai báo ngoài hàm

Hoạt động 2 trang 137 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.

Phương pháp giải:

Quan sát các lệnh

Trả lờ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.

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

Tin học 10 Bài 28: Phạm vi của biến | Kết nối tri thức (ảnh 3)Phương pháp giải:

Quan sát lệnh và dựa vào kiến thức đã học

Trả lời:

Kết quả in ra: 16

a = 2 × (1 + 2) = 6

6 + 10 = 16

Luyện tập (trang 140)

Luyện tập 1 trang 140 Tin học 10: 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.

Phương pháp giải:

Vận dụng kiến thức đã học để viết hàm

Trả lời:

Ta có hàm như sau:

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

Luyện tập 2 trang 140 Tin học 10: 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ẻ.

Phương pháp giải:

Dựa vào kiến thức đã học để viết hàm

Trả lời:

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

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

Vận dụng (trang 140)

Vận dụng 1 trang 140 Tin học 10: 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.

Phương pháp giải:

Dựa vào kiến thức đã học để viết hàm

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

Trả lời:

Ta có hàm như sau:

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

Vận dụng 2 trang 140 Tin học 10: 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.

Phương pháp giải:

Dựa vào kiến thức đã học để viết chương trình

Trả lờ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ệ")

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

Xem thêm các bài giải SGK Tin học lớp 10 Kết nối tri thức hay, chi tiết khác:

Bài 27: Tham số của hàm

Bài 29: Nhận biết lỗi chương trình

Bài 30: Kiểm thử và gỡ lỗi chương trình

Bài 31: Thực hành viết chương trình đơn giản

Đánh giá

0

0 đánh giá