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

Giải Tin học 11 Bài 28: Thiết kế chương trình theo mô đun - Kết nối tri thức

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?

Quảng cáo

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)

Quảng cáo

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:

Quảng cáo
Quảng cáo

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:

Ngân hàng trắc nghiệm lớp 11 tại khoahoc.vietjack.com

ĐỀ THI, GIÁO ÁN, SÁCH LUYỆN THI DÀNH CHO GIÁO VIÊN VÀ PHỤ HUYNH LỚP 11

Bộ giáo án, bài giảng powerpoint, đề thi, sách dành cho giáo viên và gia sư dành cho phụ huynh tại https://tailieugiaovien.com.vn/ . Hỗ trợ zalo VietJack Official

Tổng đài hỗ trợ đăng ký : 084 283 45 85

Đã có app VietJack trên điện thoại, giải bài tập SGK, SBT Soạn văn, Văn mẫu, Thi online, Bài giảng....miễn phí. Tải ngay ứng dụng trên Android và iOS.

Theo dõi chúng tôi miễn phí trên mạng xã hội facebook và youtube:

Nếu thấy hay, hãy động viên và chia sẻ nhé! Các bình luận không phù hợp với nội quy bình luận trang web sẽ bị cấm bình luận vĩnh viễn.


Tài liệu giáo viên