Thiết lập chương trình cho công việc thường làm vào cuối giờ bán hàng
Vận dụng 1 trang 131 Tin học 11: Thiết lập chương trình cho công việc thường làm vào cuối giờ bán hàng: Cho trước số K (một doanh số giả định), cần tìm ra mặt hàng có doanh số nhỏ hơn K nhưng gần với K nhất. Bài toán này có thể sử dụng thuật toán tìm kiếm nào để giải?
Lời giải:
Chương trình sử dụng thuật toán tìm kiếm nhị phân để tìm mặt hàng có doanh số nhỏ hơn K nhưng gần với K nhất trong danh sách mặt hàng đã được sắp xếp theo thứ tự tăng dần của doanh số.
def find_nearest_item(arr, K):
# Sắp xếp danh sách mặt hàng theo thứ tự tăng dần của doanh số
arr.sort()
low, high = 0, len(arr) - 1
result = None
while low <= high:
mid = (low + high) // 2# Tính giá trị trung bình mid của low và high
if arr[mid] < K:
# Nếu giá trị doanh số của mặt hàng ở vị trí mid nhỏ hơn K
# Đặt low = mid + 1 để tìm phần tử lớn hơn K
low = mid + 1
elif arr[mid] > K:
# Nếu giá trị doanh số của mặt hàng ở vị trí mid lớn hơn K
# Đặt high = mid - 1 để tìm phần tử nhỏ hơn K
high = mid – 1
else:
# Nếu giá trị doanh số của mặt hàng ở vị trí mid bằng K
# Trả về mid làm kết quả
result = mid
break
# Cập nhật giá trị gần K nhất
if result is None or abs(arr[mid] - K) < abs(arr[result] - K):
result = mid
return arr[result]
# Example usage
arr = [10, 20, 30, 40, 50, 60, 70, 80, 90]
K = 45
nearest_item = find_nearest_item(arr, K)
print("Mặt hàng có doanh số nhỏ hơn K nhưng gần với K nhất là:", nearest_item)
Lời giải bài tập Tin học 11 Bài 28: Thiết kế chương trình theo mô đun hay khác:
Xem thêm lời giải bài tập Tin học lớp 11 Kết nối tri thức hay nhất, ngắn gọn khác:
Tin học 11 Bài 26: Phương pháp làm mịn dần trong thiết kế chương trình
Tin học 11 Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần
Tin học 11 Bài 29: Thực hành thiết kế chương trình theo mô đun
Tin học 11 Bài 31: Thực hành thiết lập thư viện chương trình
Xem thêm các tài liệu học tốt lớp 11 hay khác:
- Giải sgk Tin học 11 Kết nối tri thức
- Giải Chuyên đề Tin học 11 Kết nối tri thức
- Giải SBT Tin học 11 Kết nối tri thức
- Giải lớp 11 Kết nối tri thức (các môn học)
- Giải lớp 11 Chân trời sáng tạo (các môn học)
- Giải lớp 11 Cánh diều (các môn học)
- Soạn văn 11 (hay nhất) - KNTT
- Soạn văn 11 (ngắn nhất) - KNTT
- Giải sgk Toán 11 - KNTT
- Giải Tiếng Anh 11 Global Success
- Giải sgk Tiếng Anh 11 Smart World
- Giải sgk Tiếng Anh 11 Friends Global
- Giải sgk Vật Lí 11 - KNTT
- Giải sgk Hóa học 11 - KNTT
- Giải sgk Sinh học 11 - KNTT
- Giải sgk Lịch Sử 11 - KNTT
- Giải sgk Địa Lí 11 - KNTT
- Giải sgk Giáo dục KTPL 11 - KNTT
- Giải sgk Tin học 11 - KNTT
- Giải sgk Công nghệ 11 - KNTT
- Giải sgk Hoạt động trải nghiệm 11 - KNTT
- Giải sgk Giáo dục quốc phòng 11 - KNTT
- Giải sgk Âm nhạc 11 - KNTT