Giải Tin 10 Bài 11: Thực hành lập trình với hàm và thư viện CD

Giải Tin 10 Bài 11: Thực hành lập trình với hàm và thư viện CD được sưu tầm và soạn thảo dưới dạng file PDF để gửi tới các bạn học sinh cùng tham khảo, ôn tập đầy đủ kiến thức, chuẩn bị cho các buổi học thật tốt. Mời bạn đọc đón xem!

Gii Tin 10 Bài 11: Thc hành lp trình với hàm và thư viện
CD
Bài 1 trang 92 SGK Tin 10 CD
Chương trình cho trong Hình 1 nhằm to mt bng chn việc, để người chy
chương trình chọn cho máy tính giải phương trình bậc nht hay gii phương trình
bậc hai. Em hãy đưa khai báo ca các hàm thc hin hai vic nói trên các li gi
chúng vào đúng chỗ trong chương trình. Sau đó hãy chạy th chương trình với mt
s d liệu đầu vào khác nhau để kim th chương trình.
Li gii
import math
def gptb1():
a = float(input("Nhp h s a: "))
b = float(input("Nhp h s b: "))
if a == 0:
if b == 0:
print("Vô s nghim")
else:
print("Vô nghim")
else:
print("Phương trình có nghiệm x =", -b / a)
def gptb2():
# Nhp các h s
a = float(input("Nhp h s bc 2, a = "));
b = float(input("Nhp h s bc 1, b = "));
c = float(input("Nhp hng s t do, c = "));
# kim tra các h s
if (a == 0):
if (b == 0):
print ("Phương trình vô nghiệm!");
else:
print ("Phương trình có một nghim: x = ", + (-c / b));
return;
# tính delta
delta = b * b - 4 * a * c;
# tính nghim
if (delta > 0):
x1 = (float)((-b + math.sqrt(delta)) / (2 * a));
x2 = (float)((-b - math.sqrt(delta)) / (2 * a));
print ("Phương trình có 2 nghiệm là: x1 = ", x1, " và x2 = ", x2);
elif (delta == 0):
x1 = (-b / (2 * a));
print("Phương trình có nghiệm kép: x1 = x2 = ", x1);
else:
print("Phương trình vô nghiệm!");
#Khai báo hàm Gii pt bc nht GPTBN1
#Khai báo hàm Gii pt bc hai GPTB2
#To bng chn vic
while True:
print("*********************************************")
print("BNG CHN VIC")
print("1. Giải phương trình bậc nht ")
print("2. Giải phương trình bậc hai ")
print("3. Thoát khi công vic")
print("*********************************************")
chon = input("Hãy chn (1 hay 2 hay 3): ")
if chon == '1':
print("Giải phương trình bậc nht ")
gptb1()
elif chon == '2':
print("Giải phương trình bậc hai")
gptb2()
else:
print("Tm bit")
break
Bài 2 trang 92 SGK Tin 10 CD
Hin 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. Khong cách gia hai thành ph đó d km. Hai anh em đi ô xuất
phát cùng mt thời điểm t hai thành ph, ô khi hành t A đi v B vi tốc độ
không đổi v1 km/h, ô khi hành t B đến A vi tốc độ không đổi v2 km/h; trong
đó d, v1, v2 các số thực. Chương trình Hình 2 khai báo m mtime vi các
tham s d, v1, v2 để xác định thi gian hai ô gp nhau tính t lúc xut phát. Em
hãy:
a) Hoàn thiện chương trình Hình 2 bng cách b sung cho chương trình lời gi
hàm mtime vi d liu nhp t bàn phím.
b) Chạy chương trình chạy th chương trình với ít nht hai b d liu vào khác
nhau.
Li gii
def mtime(d, v1, v2):
t = v1 + v2
return d/t
d = float(input("d = "))
v1 = float(input("v1 = "))
v2 = float(input("v2 = "))
print("Hai xe gp nhau sau", mtime(d, v1, v2), "gi.")
Bài 3 trang 93 SGK Tin 10 CD
Hàm time (vi li gọi time()) trong thư viện time cho biết thi gian ti thời điểm
hin tại (tính theo giây). Đ biết thi gian thc hiện chương trình, ngưi ta ghi nhn
thời điểm lúc bắt đầu thc 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 gn hàm time t thư viện time vào mt
s chương trình và đưa ra thời gian thc hiện chương trình.
Li gii
import time
tb = time.time()
n = 0
s = 0
x = int(input())
while x > 0:
n = n + 1
s = s + x
x = int(input())
if n > 0 : print("Trung bình cng: ", s/n)
print("\nTime: %.4f sec"%(time.time()-tb))
Vn dng trang 93 SGK Tin 10 CD
Viết chương trình v bng mt hình ch nht bng du # vi mt cạnh độ dài
bng 10, mt cạnh đ dài bng a. d vi a = 4, hình ch nht cn v như hình
bên:
Yêu cu xây dng mt hàm Drawbox vi tham s (a), hàm này đưa ra màn hình các
dòng, mi dòng cha 10 du # liên tiếp tham s a quyết định s dòng s được
đưa ra. Chương trình gi hàm Drawbox(a) vi a nhp vào t bàn phím.
Li gii
def Drawbox(a):
for i in range(a + 1):
for j in range(10):
print("#", end = "")
print()
a = int(input("Nhp a "))
Drawbox(a)
| 1/8

Preview text:

Giải Tin 10 Bài 11: Thực hành lập trình với hàm và thư viện CD
Bài 1 trang 92 SGK Tin 10 CD
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ả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. Lời giải import math def gptb1():
a = float(input("Nhập hệ số a: "))
b = float(input("Nhập hệ số b: ")) if a == 0: if b == 0: print("Vô số nghiệm") else: print("Vô nghiệm") else:
print("Phương trình có nghiệm x =", -b / a) def gptb2(): # Nhập các hệ số
a = float(input("Nhập hệ số bậc 2, a = "));
b = float(input("Nhập hệ số bậc 1, b = "));
c = float(input("Nhập hằng số tự do, c = ")); # kiểm tra các hệ số if (a == 0): if (b == 0):
print ("Phương trình vô nghiệm!"); else:
print ("Phương trình có một nghiệm: x = ", + (-c / b)); return; # tính delta delta = b * b - 4 * a * c; # tính nghiệm if (delta > 0):
x1 = (float)((-b + math.sqrt(delta)) / (2 * a));
x2 = (float)((-b - math.sqrt(delta)) / (2 * a));
print ("Phương trình có 2 nghiệm là: x1 = ", x1, " và x2 = ", x2); elif (delta == 0): x1 = (-b / (2 * a));
print("Phương trình có nghiệm kép: x1 = x2 = ", x1); else:
print("Phương trình vô nghiệm!");
#Khai báo hàm Giải pt bậc nhất GPTBN1
#Khai báo hàm Giải pt bậc hai GPTB2 #Tạo bảng chọn việc 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 hay 2 hay 3): ") if chon == '1':
print("Giải phương trình bậc nhất ") gptb1() elif chon == '2':
print("Giải phương trình bậc hai") gptb2() else: print("Tạm biệt") break
Bài 2 trang 92 SGK Tin 10 CD
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 về B với tốc độ
không đổi v1 km/h, ô tô khởi hành từ B đế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. Lời giải def mtime(d, v1, v2): t = v1 + v2 return d/t d = float(input("d = ")) v1 = float(input("v1 = ")) v2 = float(input("v2 = "))
print("Hai xe gặp nhau sau", mtime(d, v1, v2), "giờ.")
Bài 3 trang 93 SGK Tin 10 CD
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 và đưa ra thời gian thực hiện chương trình. Lời giải import time tb = time.time() n = 0 s = 0 x = int(input()) while x > 0: n = n + 1 s = s + x x = int(input())
if n > 0 : print("Trung bình cộng: ", s/n)
print("\nTime: %.4f sec"%(time.time()-tb))
Vận dụng trang 93 SGK Tin 10 CD
Viết chương trình vẽ bằng một hình chữ nhật bằng 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 bên:
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. Lời giải def Drawbox(a): for i in range(a + 1): for j in range(10): print("#", end = "") print() a = int(input("Nhập a ")) Drawbox(a)