SGKVN

Tin học 11 - Định hướng khoa học máy tính - BÀI 22: THỰC HÀNH BÀI TOÁN SẮP XẾP | Kết Nối Tri Thức Với Cuộc Sống

BÀI 22: THỰC HÀNH BÀI TOÁN SẮP XẾP - Tin học 11 - Định hướng khoa học máy tính. Xem chi tiết nội dung bài BÀI 22: THỰC HÀNH BÀI TOÁN SẮP XẾP và tải xuống miễn phí trọn bộ file PDF Sách Tin học 11 - Định hướng khoa học máy tính | Kết Nối Tri Thức Với Cuộc Sống

(Trang 104)

SAU BÀI HỌC NÀY EM SẼ:

  • Áp dụng được thuật toán sắp xếp trong một vài bài toán cụ thể.

7 Trong Bài 21, em đã được học cách triển khai thuật toán sắp xếp để sắp xếp các phần tử trong danh sách theo thứ tự tăng dần. Nếu cần sắp xếp theo thứ tự ngược lại thì câu lệnh so sánh tương ứng trong vòng lặp sẽ cần thay đổi như thế nào?

Nhiệm vụ 1

Cho danh sách số lượng mỗi mặt hàng trong kho của một cửa hàng. Người quản lí kho cần xem các mặt hàng theo thứ tự số lượng tăng dần. Em hãy viết chương trình sắp xếp các mặt hàng trong kho theo thứ tự số lượng tăng dần, sử dụng thuật toán sắp xếp chèn, sau đó in ra màn hình dãy số vừa sắp xếp. Danh sách số lượng các mặt hàng được đọc từ tệp văn bản kho.inp, mỗi dòng bao gồm số lượng một mặt hàng.

Hướng dẫn:

Phân tích:

kho.inp

5

3

10

4

8

2

Chúng ta có thể sử dụng thuật toán sắp xếp chèn đã học ở bài học trướ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.

quanlykho.py

1 def Insertion Sort (A):

2 n = len(A)

3 for i in range(1,n):

4 value = A[i]

5 j = 1-1

6 while j >= 0 and A[j] > value:

7 A[j+1] = A[j]

8 jj-1

9 A[j+1] = value

10 input_file open("kho.inp", encoding="utf8")

11 quantity_ds = []

12 for line in input_file.readlines():

13 quantity_ds.append(int(line))

14 InsertionSort(solution_ds)

15 print('Số lượng các mặt hàng trong kho theo thứ tự tăng dần là:')

16 for i in range(len(soluong_ds)):

17 print(quantity_ds[i])

Đọc số lượng các mặt hàng trong tệp và đưa vào danh sách soluong_ds

(Trang 105)

Nhiệm vụ 2

Cho danh sách điểm trung bình môn Tin học của các học sinh. Em hãy sử dụng thuật toán sắp xếp chọn để sắp xếp danh sách này theo thứ tự điểm trung bình giảm dần, sau đó in danh sách đã sắp xếp ra màn hình. Danh sách điểm trung bình được đọc từ tệp văn bản diem.inp, mỗi dòng bao gồm điểm trung bình của một học sinh.

Hướng dẫn:

Phân tích:

Chúng ta có thể sử dụng thuật toán sắp xếp chọn đã học ở bài học trước để sắp xếp danh sách điểm số. Chú ý đề bài yêu cầu sắp xếp danh sách theo thứ tự điềm trung bình giảm dần. Do đó ở mỗi vòng lặp của thuật toán sắp xếp chọn, chúng ta phải tìm kiếm phần tử có giá trị cao nhất, thay vì tìm phần tử có giá trị bé nhất. Bài toán này bao gồm các bước sau: Đầu tiên, chúng ta đọc điểm trung bình từ tệp văn bản diem.inp; Sau đó sử dụng thuật toán sắp xếp chọn đã học ở bài trước để sắp xếp điểm trung bình theo thứ tự giảm dần; Cuối cùng là in danh sách điểm trung bình đã sắp xếp ra màn hình.

diem.inp

7,8

5,6

8,9

7.4

9,5

8,4

9.1

sapxepdiem.py

1 def SelectionSort(A):

2 n = len(A)

3 for i in range(n-1):

4 iMax = i

5 for j in range(i+1,n):

6 if A[j] > A[iMax]:

7 iMax = j

8 A[i], A[iMax] = A[iMax], A[i]

9 input_file = open("diem.inp", encoding="utf8")

10 points = []

11 for line in input_file.readlines 12 diem_ds.append(float(line)) ():

12 diem_ds.append(float(dòng))

13 SelectionSort(diem_ds)

14 print('Danh sách điểm theo thứ tự giảm dần là:')

15 for i in range(len(diem_ds)):

16 print(diem_ds [i])

LUYỆN TẬ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.

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.

VẬN DỤNG

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.

Xem và tải xuống trọn bộ sách giáo khoa Tin học 11 - Định hướng khoa học máy tính

Tổng số đánh giá:

Xếp hạng: / 5 sao

Sách giáo khoa liên quan

Ngữ Văn 11 - Tập Một

Ngữ Văn Lớp 11 (Tập 1) Chương Trình Cơ Bản

Công Nghệ 11

Công nghệ 11 - NXB Giáo Dục

Địa Lí 11

Địa Lí 11 - NXB Giáo dục

Địa Lí 11 (Nâng Cao)

Địa Lí 11 Nâng cao - NXB Giáo dục

Lịch Sử 11

Lịch sử 11 - NXB Giáo Dục

Sinh Học 11

Sinh học 11 - NXB Giáo dục

Giải bài tập Toán 11 Tập 1

Giải bài tập Toán lớp 11 - Tập 1

Giải bài tập Vật lý 11

Giải bài tập Vật lý 11

Giải bài tập Sinh học 11

Giải bài tập Sinh học 11

Gợi ý cho bạn

tieng-anh-11-1189

Tiếng Anh 11

Ngôn ngữ thông dụng thứ hai trên thế giới cần thiết như thế nào?

toan-2-tap-hai-998

Toán 2 - Tập Hai

Sách Lớp 2 Chân Trời Sáng Tạo

vo-thuc-hanh-hoat-dong-trai-nghiem-1-744

VỞ THỰC HÀNH Hoạt động trải nghiệm 1

Môn học lớp 1 - NXB Cánh Diều

toan-10-tap-2-1969

Toán 10 - Tập 2

Toán 10 - Tập 2

toan-2-tap-mot-361

Toán 2 - Tập Một

Sách Lớp 2 Cánh Diều

Nhà xuất bản

canh-dieu-1

Cánh Diều

Bộ sách giáo khoa của Nhà xuất bản Cánh Diều

chan-troi-sang-tao-2

Chân Trời Sáng Tạo

Bộ sách giáo khoa của Nhà xuất bản Chân Trời Sáng Tạo

ket-noi-tri-thuc-voi-cuoc-song-3

Kết Nối Tri Thức Với Cuộc Sống

Sách giáo khoa của nhà xuất bản Kết Nối Tri Thức Với Cuộc Sống

giao-duc-viet-nam-5

Giáo Dục Việt Nam

Bộ Sách Giáo Khoa của Nhà Xuất Bản Giáo Dục Việt Nam

sach-bai-giai-6

Sách Bài Giải

Bài giải cho các sách giáo khoa, sách bài tập

sach-bai-tap-7

Sách Bài Tập

Sách bài tập tất cả các khối lớp

tai-lieu-hoc-tap-9

Tài liệu học tập

Đây là tài liệu tham khảo hỗ trợ trong quá trình học tập

global-success-bo-giao-duc-dao-tao-11

Global Success & Bộ Giáo Dục - Đào Tạo

Bộ sách Global Success & Bộ Giáo Dục - Đào Tạo là sự kết hợp giữa ngôn ngữ Tiếng Anh theo lối giảng dạy truyền thống và cập nhật những phương thức quốc tế

nxb-dai-hoc-su-pham-tphcm-12

NXB - Đại Học Sư Phạm TPHCM

NXB - Đại Học Sư Phạm TPHCM

Chủ đề

Lấy Code