Giải Tin học 10 Bài 28 (Kết nối tri thức): Phạm vi của biến
Với giải bài tập Tin học 10 Bài 28: Phạm vi của biến sách Kết nối tri thức hay nhất, chi tiết giúp học sinh dễ dàng làm bài tập Tin học 10 Bài 28.
Giải Tin học lớp 10 Bài 28: Phạm vi của biến
Khởi động
Trả lời:
Biến được khai báo trong chương trình chính thì sẽ được sử dụng trong hàm.
Khởi động 2 trang 136 Tin học 10: 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?
Trả lời:
Biến được khai báo trong hàm thì sẽ được sử dụng bên ngoài hàm.
1. Phạm vi của biến khi khai báo trong hàm
Hoạt động
Hoạt động 1 trang 136 Tin học 10: Phạm vi của biến khi khai báo trong 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 trong một hàm.
Trả lời:
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á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
Câu hỏi 1 trang 137 Tin học 10: Giả sử có các lệnh sau:
Giá trị của a, b bằng bao nhiêu sau khi thực hiện lệnh sau?
Trả lời:
a) a = 1 + 2 = 3
b = 2 * 3 = 6
b) a = 10 + 20 = 30
b = 20 * 30 = 600
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?
Trả lời:
Có thể khai báo biến bên trong hàm trùng với biến bên ngoài hàm.
2. Phạm vi của biến khai báo ngoài hàm
Hoạt động
Hoạt động 2 trang 137 Tin học 10: Phạm vi của biến khi khai báo bên 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 hàm.
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
Câu hỏi trang 138 Tin học 10: Giả sử hàm f(x,y) được định nghĩa như sau:
Kết quả nào được in ra khi thực hiện các lệnh sau?
Trả lời:
Kết quả thu được là: 16
Luyện tập
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ự.
Trả lời:
def Doc(slist):
n=len(slist)
clist=[0]*n
for i in range(n):
x=slist[i]
clist[i]=x[0]
return clist
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ẻ.
Trả lời:
def Tach_day(A):
n=len(A)
B=[]
C=[]
for i in range(n):
if i%2==0:
B.append(a[i])
else:
C.append(a[i])
return B, C
Vận dụng
- 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.
Trả lời:
def xuly(m,n):
x=m
y=n
while x!=y:
if x>y:
x=x-y
else:y=y-x
UCLN=x
BCNN=int((m*n)/UCLN)
return BCNN,UCLN
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, minth, year, các số cách nhau bởi dấu cách. Các số này biểu diễn giá trị 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.
Trả lời:
x=input("Nhập thời gian gồm ngày tháng năm cách nhau bằng dấu cách: ")
kt=1
ok=0
a=x.split()
a=[int(i) for i in a]
j=[4,6,9,11]
ngay=a[0]
thang=a[1]
nam=a[2]
if nam%400==0 or nam%4==0 and nam%100!=0:ok=1
if ngay<1 or ngay>31:kt=0
if thang<1 or thang>12:kt=0
if thang in j:
if ngay>30:kt=0
if thang==2:
if ngay>29:kt=0
elif ok==0 and ngay>28:kt=0
if kt==0:print('ko hop le')
else:print('hop le')
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.
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.
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.
- Ví dụ 3: Dùng từ khóa global.
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.
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:
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:
Xem thêm lời giải bài tập Tin học lớp 10 Kết nối tri thức với cuộc sống hay, chi tiết khác:
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
Bài 32: Ôn tập lập trình Python
Bài 33: Nghề thiết kế đồ họa máy tính
Xem thêm tài liệu Tin học lớp 10 Kết nối tri thức với cuộc sống hay, chi tiết khác:
Xem thêm các chương trình khác:
- Soạn văn lớp 10 (hay nhất) – Kết nối tri thức
- Tác giả tác phẩm Ngữ văn lớp 10 – Kết nối tri thức
- Soạn văn lớp 10 (ngắn nhất) – Kết nối tri thức
- Tóm tắt tác phẩm Ngữ văn lớp 10 - KNTT
- Bố cục tác phẩm Ngữ văn lớp 10 – Kết nối tri thức
- Nội dung chính tác phẩm Ngữ văn lớp 10 – Kết nối tri thức
- Văn mẫu lớp 10 – Kết nối tri thức
- Giải Chuyên đề học tập Ngữ văn 10 – Kết nối tri thức
- Giải sgk Toán 10 – Kết nối tri thức
- Giải sbt Toán 10 – Kết nối tri thức
- Giải Chuyên đề Toán 10 – Kết nối tri thức
- Lý thuyết Toán 10 – Kết nối tri thức
- Chuyên đề dạy thêm Toán 10 Kết nối tri thức (2024 có đáp án)
- Giải sgk Tiếng Anh 10 Global Success – Kết nối tri thức
- Giải sbt Tiếng Anh 10 Global Success – Kết nối tri thức
- Ngữ pháp Tiếng Anh 10 Global success
- Bài tập Tiếng Anh 10 Global success theo Unit có đáp án
- Trọn bộ Từ vựng Tiếng Anh 10 Global success đầy đủ nhất
- Giải sgk Vật lí 10 – Kết nối tri thức
- Giải sbt Vật lí 10 – Kết nối tri thức
- Giải Chuyên đề Vật lí 10 – Kết nối tri thức
- Lý thuyết Vật lí 10 – Kết nối tri thức
- Chuyên đề dạy thêm Vật lí 10 cả 3 sách (2024 có đáp án)
- Giải sgk Hóa học 10 – Kết nối tri thức
- Lý thuyết Hóa học 10 – Kết nối tri thức
- Giải sbt Hóa học 10 – Kết nối tri thức
- Giải Chuyên đề Hóa học 10 – Kết nối tri thức
- Chuyên đề dạy thêm Hóa 10 cả 3 sách (2024 có đáp án)
- Giải sgk Sinh học 10 – Kết nối tri thức
- Giải sbt Sinh học 10 – Kết nối tri thức
- Lý thuyết Sinh học 10 – Kết nối tri thức
- Giải Chuyên đề Sinh học 10 – Kết nối tri thức
- Giải sgk Lịch sử 10 – Kết nối tri thức
- Giải sbt Lịch sử 10 – Kết nối tri thức
- Giải Chuyên đề Lịch sử 10 – Kết nối tri thức
- Lý thuyết Lịch sử 10 - Kết nối tri thức
- Giải sgk Địa lí 10 – Kết nối tri thức
- Lý thuyết Địa Lí 10 – Kết nối tri thức
- Giải sbt Địa lí 10 – Kết nối tri thức
- Giải Chuyên đề Địa lí 10 – Kết nối tri thức
- Giải sgk Công nghệ 10 – Kết nối tri thức
- Lý thuyết Công nghệ 10 – Kết nối tri thức
- Giải sgk Giáo dục Kinh tế và Pháp luật 10 – Kết nối tri thức
- Giải sbt Giáo dục Kinh tế và Pháp luật 10 – Kết nối tri thức
- Giải Chuyên đề Kinh tế và pháp luật 10 – Kết nối tri thức
- Lý thuyết KTPL 10 – Kết nối tri thức
- Giải sgk Giáo dục quốc phòng - an ninh 10 – Kết nối tri thức
- Lý thuyết Giáo dục quốc phòng 10 – Kết nối tri thức
- Giải sbt Giáo dục quốc phòng 10 – Kết nối tri thức
- Giải sgk Hoạt động trải nghiệm 10 – Kết nối tri thức
- Giải sbt Hoạt động trải nghiệm 10 – Kết nối tri thức
- Giải sgk Giáo dục thể chất 10 – Kết nối tri thức