Sách Giáo Khoa 247

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

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

lich-su-va-dia-li-5-phan-dia-li-236

Lịch Sử và Địa Lí 5 (Phần Địa Lí)

Sách Lớp 5 NXB Giáo Dục Việt Nam

toan-8-tap-1-516

Toán 8 - Tập 1

Sách Lớp 8 NXB Giáo Dục Việt Nam

hinh-hoc-11-nang-cao-1156

Hình Học 11 (Nâng Cao)

Toán Hình Học Lớp 11 Chương Trình Nâng Cao

lich-su-10-3265

Lịch Sử 10

NXB Giáo Dục Việt Nam Kết Nối Tri Thức Lịch Sử 10

lich-su-va-dia-li-9-952

Lịch Sử Và Địa Lí 9

Sách Lớp 9 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ủ đề

Liên Kết Chia Sẻ

** Đây là liên kết chia sẻ bới cộng đồng người dùng, chúng tôi không chịu trách nhiệm gì về nội dung của các thông tin này. Nếu có liên kết nào không phù hợp xin hãy báo cho admin.