Thực hành lập trình với hàm và thư viện trang 92 SGK Tin Học lớp 10 – Cánh Diều, mời các em tham khảo cùng Bumbii.
Chủ đề F. Giải quyết vấn đề với sự trợ giúp của máy tính. Bài 11F. Thực hành lập trình với hàm và thư viện.
Bài 1. Giải phương trình
Chương trình cho trong Hình 1 nhằm tạo một bảng chọn việc, để người chạy chương trình chọn cho máy tính giúp giải phương trình bậc nhất hay giải phương trình bậc hai.
Em hãy đưa khai báo của các hàm thực hiện hai việc nói trên và các lời gọi chúng vào đúng chỗ trong chương trình. Sau đó hãy chạy thử chương trình với một số dữ liệu đầu vào khác nhau để kiểm thử chương trình.
Hướng dẫn:
Tham khảo chương trình sau:
#Khai báo hàm Giải phương trình bậc nhất ax + b = 0
def GPTB1(a,b,flag):
if flag == 1:
a = float(input('a= '))
b = float(input('b= '))
if a == b == 0:
print('Phương trình vô định.')
return
if a == 0 and b!= 0:
print('Phương trình vô nghiệm.')
return
print('Nghiệm của phương trình: ', round(-b/a,6))
#Khai báo hàm Giải phương trình bậc hai ax^2 + bx + c = 0
def GPTB2():
a = float(input('a = '))
b = float(input('b = '))
c = float(input('c = '))
if a == 0:
GPTB1(b,c,0)
return
delta = b*b - 4*a*c
if delta == 0:
print('Phương trình có nghiệm kép, x= ',round(-b/2*a,6))
return
if delta < 0:
print('Phương trình không có nghiệm thực.')
return
x1 = round((-b-delta**0.5)/2*a,6)
x2 = round(-b/a - x1,6)
print('Phương trình có 2 nghiệm phân biệt: ',x1,' và ',x2)
while True:
print('******************************')
print('BẢNG CHỌN VIỆC')
print('1. Giải phương trình bậc nhất')
print('2. Giải phương trình bậc hai')
print('3. Thoát khỏi công việc')
print('******************************')
chon = input('Hãy chọn (1, 2 hay 3): ')
if chon == "1":
print('Giải phương trình bậc nhất')
GPTB1(1,1,1)
elif chon == "2":
print('Giải phương trình bậc hai')
GPTB2()
else:
print('Tạm biệt')
break
Kết quả chương trình:
Bài 2. Thời gian gặp nhau
Hiện tại, anh trai Khánh Nam đang ở thành phố A còn em gái Sương Mai đang ở thành phố B. Khoảng cách giữa hai thành phố đó là d km. Hai anh em đi ô tô xuất phát cùng một thời điểm từ hai thành phố, ô tô khởi hành từ A đi từ B với tốc độ không đổi v1 km/h, ô tô khởi hành từ B đi đến A với tốc độ không đổi v2 km/h; trong đó d, v1, v2 là các số thực. Chương trình ở Hình 2 khai báo hàm mtime với các tham số d, v1, v2 để xác định thời gian hai ô tô gặp nhau tính từ lúc xuất phát. Em hãy:
a) Hoàn thiện chương trình ở Hình 2 bằng cách bổ sung cho chương trình lời gọi hàm mtime với dữ liệu nhập từ bàn phím.
b) Chạy chương trình và chạy thử chương trình với ít nhất hai bộ dữ liệu vào khác nhau.
Hướng dẫn:
Viết hàm mtime với tham số d, v1, v2 và trả về thời gian gặp nhau .
Tham khảo cách viết khác, nhập dữ liệu khi gọi hàm mtime:
def mtime():
d = float(input("d = "))
v1 = float(input("v1 = "))
v2 = float(input("v2 = "))
t = v1 + v2
return(round(d/t,6))
print("Hai xe gặp nhau sau ", mtime(), 'giờ')
Bài 3. Thời gian thực hiện chương trình
Hàm time (với lời gọi time()) trong thư viện time cho biết thời gian tại thời điểm hiện tại (tính theo giây). Để biết thời gian thực hiện chương trình, người ta ghi nhận thời điểm lúc bắt đầu thực hiện chương trình, thời điểm lúc kết thúc chương trình và đưa ra hiệu các thời điểm đã xác định. Em hãy gắn hàm time từ thư viện time vào một số chương trình đã có của em và đưa ra thời gian thực hiện chương trình.
Hướng dẫn:
– Gắn thư viện time vào chương trình: import time
– Để ghi nhận thời điểm bắt đầu viết câu lệnh đầu tiên là: tb = time.time()
– Cuối chương trình, đưa ra thời gian thực hiện: time.time() – tb
– Để cho đẹp: Nên dùng quy cách %.4f để đưa ra thời gian thực hiện chương trình với bốn chữ số ở phần thập phân (Hình 3).
Tham khảo thêm cách viết khác:
import time
tb = time.time()
n = 0
s = 0
while (True):
x = int(input())
if x == 0: break
n += 1
s += x
if n == 0: n = 1
print('Trung bình cộng: ', s/n)
print('\nTime: ', round(time.time() - tb,4), 'giây.')
LUYỆN TẬP
Viết chương trình vẽ một hình chữ nhật bằng các dấu # với một cạnh có độ dài bằng 10, một cạnh có độ dài bằng a. Ví dụ với a = 4, hình chữ nhật cần vẽ như hình dưới đây:
Yêu cầu xây dựng một hàm Drawbox với tham số (a), hàm này đưa ra màn hình các dòng, mỗi dòng chứa 10 dấu # liên tiếp và tham số a quyết định số dòng sẽ được đưa ra. Chương trình gọi hàm Drawbox(a) với a nhập vào từ bàn phím.
Hướng dẫn:
Tham khảo chương trình sau:
def Drawbox(a):
for i in range(a):
print('##########')
a = int(input('a = '))
Drawbox(a)
Kết quả chương trình:
Xem thêm các bài khác tại Giải bài tập sách giáo khoa Tin học Lớp 10 – Cánh Diều
Thông tin liên hệ & mạng xã hội:
Website: https://bumbii.com/
Facebook: https://www.facebook.com/bumbiiapp
Pinterest: https://www.pinterest.com/bumbiitech
Không bao giờ từ bỏ hy vọng. Cố gắng mỗi ngày.