• Không có kết quả nào được tìm thấy

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

N/A
N/A
Protected

Academic year: 2022

Chia sẻ "Tin học 10 Bài 28: Phạm vi của biến | Giải Tin học 10 Kết nối tri thức"

Copied!
5
0
0

Loading.... (view fulltext now)

Văn bản

(1)

Khởi động

Khởi động 1 trang 136 Tin học 10: 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?

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:

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

Trả lời:

a) a = 1 + 2 = 3

(2)

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:

>>> def f(x,y)

a = 2* (x = y) print (a + n)

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

n = 10 f(1,2) 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ự.

(3)

- Đầu ra là danh sách cList, ccas 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

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

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.

(4)

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:

(5)

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')

Tài liệu tham khảo

Tài liệu liên quan

Trả lời câu hỏi 1 trang 41 SGK Lịch sử và Địa lí 7: Lập trục thời gian và điền các thông tin về sự hình thành, phát triển của Vương quốc

Câu 1 trang 31 Tin học lớp 7: Quan sát và thực hiện các bước nhập dữ liệu trong trang tính và trả lời các câu hỏi sau: Có thể nhập dữ liệu vào trang tính theo bao nhiêu

Luyện tập trang 70 Tin học lớp 7: Em hãy tạo hiệu ứng cho các trang và đối tượng để hoàn thiện bài trình chiếu báo cáo dự án của nhóm em...

Trả lời câu hỏi trang 53 Địa lí 10: Đọc thông tin trong mục 1, hãy trình bày khái niệm, biểu hiện, ý nghĩa của quy luật địa đới..

Khởi động trang 44 Tin học 10: Không gian mạng - (trong một số hoàn cảnh cụ thể được gọi vắn tắt là “mạng”) chính là Internet, là một môi trường rất mở. Trên mạng

Em hãy điền thông tin ở tình huống trên vào vị trí &lt;Điều kiện&gt; và lệnh tương ứng trong sơ đồ cấu trúc rẽ nhanh ở Hình 19.1..

Hoạt động 2 trang 116 Tin học 10: Tìm hiểu một số lệnh làm việc với danh sách Quan sát ví dụ sau để tìm hiểu một số lệnh làm việc với dữ liệu

Em sẽ lựa chọn cách trình bày như trang bên trái vì cách bên trái vẫn đảm bảo đủ thông tin mà có thể có nhiều học sinh (nội dung) trong 1 trang hơn. Trình bày thông