
Anonymous
0
0
Giải Tin học 11 trang 145 Kết nối tri thức
- asked 4 months agoVotes
0Answers
0Views
Giải Tin học 11 trang 145 Kết nối tri thức
Luyện tập
Luyện tập 1 trang 145 Tin học 11: Đặt tất cả các tệp thư viện đã định nghĩa ở nhiệm vụ 1, 2 và 3 vào thư mục myLibs rồi viết mã nguồn ở tệp main.py (đặt cùng đường dẫn với thư mục myLibs) để sử dụng các hàm trong các thư viện đó.
Lời giải:
HS làm như hướng dẫn.
Luyện tập 2 trang 145 Tin học 11: Sửa lại thư viện hình_ tròn ở nhiệm vụ 1 bằng cách không sử dụng thư viện chuẩn math mà hãy định nghĩa thư viện my_math trong đó có định nghĩa hằng số Pi.
Lời giải:
# Định nghĩa thư viện my_math
class my_math:
# Định nghĩa hằng số Pi
Pi = 3.14159
# Hàm tính chu vi hình tròn
def tinhchuvi(r):
return 2 * my_math.Pi * r
# Hàm tính diện tích hình tròn
def tinhdientich(r):
return my_math.Pi * r * r
# Sử dụng thư viện my_math đã định nghĩa
r = float(input("Nhập bán kính hình tròn: "))
p = my_math.tinhchuvi(r)
print("Chu vi hình tròn là", p)
s = my_math.tinhdientich(r)
print(f"Diện tích hình tròn là", s)
Vận dụng
Vận dụng 1 trang 145 Tin học 11: Tạo thư viện phương_ trình gồm hàm phuongTrinhBac2(a, b, c) với a, b, c là các hệ số của phương trình ax2 + bx + c = 0. Tuỳ vào các giá trị của các tham số, hàm sẽ in ra thông báo nghiệm của phương trình.
Lời giải:
import math
def giai_phuong_trinh_bac_2(a, b, c):
delta = b**2 - 4*a*c
if delta < 0:
return None
elif delta == 0:
nghiem = -b / (2*a)
return (nghiem)
else:
sqrt_delta = math.sqrt(delta)
nghiem1 = (-b + sqrt_delta) / (2*a)
nghiem2 = (-b - sqrt_delta) / (2*a)
return (nghiem1, nghiem2)
Vận dụng 2 trang 145 Tin học 11: Viết chương trình quản lí các bài hát trong một đĩa CD hay mớt play list, sử dụng cấu trúc LinkedList (đã được định nghĩa ở bài trước). Chương trình gồm hai tệp:
Tệp quan _ly_cd.py gồm ba hàm:
- Hàm inTT() tham số là đối tượng LinkedList. thực hiện in mỗi bài hát trên một dòng theo định dạng <Số thứ tự>. <Tên bài hát>.
Tệp main.py sử dụng thư viện quan_ly_cd.
Lời giải:
from LinkedList import LinkedList
def nhapDL():
ds_bai_hat = LinkedList()
n = int(input("Nhập số lượng bài hát: "))
for i in range(n):
ten_bai = input(f"Nhập tên bài hát thứ {i+1}: ")
ds_bai_hat.append(ten_bai)
return ds_bai_hat
def timBai(ds_bai_hat, ten_bai):
result = ds_bai_hat.find(ten_bai)
if result is not None:
print(f"Bài hát '{ten_bai}' được tìm thấy ở vị trí đầu tiên: {ds_bai_hat.__str__().index(ten_bai) // 4 + 1}")
else:
print(f"Không tìm thấy bài hát '{ten_bai}'")
def inTT(ds_bai_hat):
print("Danh sách bài hát trên đĩa CD hay playlist:")
print(ds_bai_hat)
from quan_ly_cd import nhapDL, timBai, inTT
def main():
ds_bai_hat = nhapDL()
while True:
print("====================================")
print("1. Tìm bài hát")
print("2. In danh sách bài hát")
print("3. Thoát")
choice = int(input("Nhập lựa chọn của bạn: "))
if choice == 1:
ten_bai = input("Nhập tên bài hát cần tìm: ")
timBai(ds_bai_hat, ten_bai)