logo

Soạn Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp (trang 104, 105)

Hướng dẫn Soạn Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp (trang 104, 105) ngắn gọn, hay nhất theo chương trình Sách mới.

Bài 22: Thực hành bài toán sắp xếp


1. Sử dụng thuật toán sắp xếp chọn viết lại chương trình trong Nhiệm vụ 1.

Trả lời:

- Chúng ta có thể sử dụng thuật toán sắp xếp chèn đã học ở bài học tước để sắp xếp các phần tử trong danh sách số lượng mật hàng theo thứ tự từng dẫn. Bài toán này bao gồm các bước sau:

- Đầu tiên chúng ta đọc số lượng các mặt hàng trong kho từ tập văn bản: Sau đó sử dụng thuật toán sáp xép chén để sắp xếp số lượng các mặt hàng

- Cuối cùng là in số lượng các mặt hàng đã sắp xếp ra màn hình.


2. Sử dụng thuật toán sắp xếp nổi bọt viết lại chương trình trong Nhiệm vụ 2.

Trả lời:

void main()

{
float fdiem;
printf(“Nhap vao diem so: “);
scanf_s(“%f”,&fdiem);
if (fdiem >= 0 && fdiem <= 10)

if (fdiem >= 9)
printf(“Xep loai = Xuat sac.\n”);
else if (fdiem >= 8)
printf(“Xep loai = Gioi.\n”);
else if (fdiem >= 7)
printf(“Xep loai = Kha.\n”);
else if (fdiem >= 6)
printf(“Xep loai = TBKha.\n”);
else if (fdiem >= 5)
printf(“Xep loai = TBinh.\n”);
else printf(“Xep loai = Yeu.\n”);// dòng này ta không cần fdiem <5 vì  phía trên ta đã có điều kiện này if (fdiem >= 0 && fdiem <= 10) rồi.
else //if (fdiem>=0 && fdiem<=10)
printf(“Nhap diem khong hop le.\n”);


3. Một người đi mua hàng với danh sách các mặt hàng cần mua, đơn giá từng mặt hàng và số lượng hàng cần mua được lưu trong tệp văn bản muahang.inp. Hãy sử dụng thuật toán nỗi bọt để sắp xếp các mặt hàng theo thứ tự thành tiền của các mặt hàng tăng dần rồi in ra tên các mặt hàng và thành tiền tương ứng.

Trả lời:

Để giải quyết bài toán này, chúng ta có thể sử dụng thuật toán nổi bọt (bubble sort) để sắp xếp danh sách các mặt hàng theo thứ tự giá trị tăng dần. Sau đó, chúng ta có thể tính tổng thành tiền của từng mặt hàng và in ra tên mặt hàng và thành tiền tương ứng.

Dưới đây là mã Python để thực hiện bài toán này:

# Đọc dữ liệu từ tệp muahang.inp
with open('muahang.inp', 'r') as file:
   data = [line.strip().split() for line in file]

# Chuyển đổi đơn giá và số lượng từ chuỗi sang số nguyên
for i in range(len(data)):
   data[i][1] = int(data[i][1])
   data[i][2] = int(data[i][2])

# Sắp xếp danh sách các mặt hàng theo thứ tự giá trị tăng dần bằng thuật toán nổi bọt
for i in range(len(data) - 1):
   for j in range(len(data) - i - 1):
       if data[j][1] * data[j][2] > data[j+1][1] * data[j+1][2]:
           data[j], data[j+1] = data[j+1], data[j]

# Tính tổng thành tiền của từng mặt hàng và in ra tên mặt hàng và thành tiền tương ứng
for item in data:
   name = item[0]
   quantity = item[2]
   price = item[1] * item[2]
   print(f'{name}: {price} đồng')

Lưu ý rằng trong mã trên, chúng ta đã chuyển đổi đơn giá và số lượng từ chuỗi sang số nguyên để thuận tiện cho việc tính toán. Bên cạnh đó, chúng ta đã sử dụng biểu thức item[1] * item[2] để tính tổng thành tiền của từng mặt hàng. Cuối cùng, chúng ta sử dụng f-string để in ra tên mặt hàng và thành tiền tương ứng.

>>> Xem toàn bộ: Soạn Tin 11 Kết nối tri thức

-------------------------------------

Trên đây Toploigiai đã cùng các bạn Soạn Tin học 11 Kết nối tri thức Bài 22 trang 104, 105: Thực hành bài toán sắp xếp trong bộ SGK Kết nối tri thức theo chương trình sách mới. Chúng tôi hi vọng các bạn đã có kiến thức hữu ích khi đọc bài viết này. Click vào trang chủ Toploigiai để tham khảo và chuẩn bị bài cho năm học mới nhé. Chúc các bạn học tốt!

icon-date
Xuất bản : 24/02/2023 - Cập nhật : 19/07/2023

Tham khảo các bài học khác