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 | Chủ đề 6: Kỹ thuật lập trình - Lớp 11 - Kết Nối Tri Thức Với Cuộc Sống

Nội Dung Chính

  1. LUYỆN TẬP
  2. VẬN DỤ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.

hinh-anh-bai-22-thuc-hanh-bai-toan-sap-xep-13074-0

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

hinh-anh-bai-22-thuc-hanh-bai-toan-sap-xep-13074-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.

Tin tức mới


Đánh giá

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 | Chủ đề 6: Kỹ thuật lập trình - Lớp 11 - Kết Nối Tri Thức Với Cuộc Sống

Tổng số sao của bài viết là: 5 trong 1 đánh giá
Xếp hạng: 5 / 5 sao

Bình Luận

Để Lại Bình Luận Của Bạn

Tin học 11 - Định hướng khoa học máy tính

  1. Chủ đề 1: Máy tính và xã hội tri thức
  2. Chủ đề 2: Tổ chức lưu trữ, tìm kiếm và trao đổi thông tin
  3. Chủ đề 3: Đạo đức, pháp luật và văn hóa trong môi trường số
  4. Chủ đề 4: Giới thiệu các hệ cơ sở dữ liệu
  5. Chủ đề 5: Hướng nghiệp với tin học
  6. Chủ đề 6: Kỹ thuật lập trình

Tin tức mới

Môn Học Lớp 11 - Kết Nối Tri Thức Với Cuộc Sống

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

Âm Nhạc

Công Nghệ

Công Nghệ Công Nghệ Cơ Khí

GDTC_Cầu Lông

Giáo dục Kinh Tế và Pháp Luật

Giáo dục Thể Chất Bóng Chuyền

GDTC Bóng Đá

GDTC_Bóng Rổ

Hoạt động trải nghiệm hướng nghiệp

Lịch sử

Mỹ Thuật Điêu Khắc

Mỹ Thuật Đồ Hoạ_Tranh in

Mỹ Thuật Hội Hoạ

Mỹ Thuật Kiến Trúc

Mỹ Thuật Thiết Kế Công Nghiệp

Mỹ Thuật Thiết Kế Đa Phương Tiện

Mỹ Thuật Thiết Kế Đồ Hoạ

Mỹ Thuật Thiết Kế Sân Khấu Điện Ảnh

Mỹ Thuật Thiết Kế Thời Trang

Mỹ Thuật_Lý Luận Và Lịch Sử Mỹ Thuật

Ngữ Văn Tập 1

Ngữ Văn Tập 2

Sinh Học

Địa Lý

Tin Học

Toán tập 1

Toán tập 2

Vật lý

Tin học 11 - Định hướng khoa học máy tính

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

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 Hóa học 11

Bộ Sách Lớp 11

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

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 & 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ế

Cánh Diều

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

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

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

Lớp 1

Sách giáo khoa dành cho lớp 1

Lớp 6

Sách giáo khoa dành cho lớp 6

Lớp 5

Sách giáo khoa dành cho lớp 5

Lớp 4

Sách giáo khoa dành cho lớp 4

Lớp 2

Sách giáo khoa dành cho lớp 2

Lớp 3

Sách giáo khoa dành cho lớp 3

Lớp 7

Sách giáo khoa dành cho lớp 7

Lớp 8

Sách giáo khoa dành cho lớp 8

Lớp 9

Sách giáo khoa dành cho lớp 9

Lớp 10

Sách giáo khoa dành cho lớp 10

Lớp 11

Sách giáo khoa dành cho lớp 11

Lớp 12

Sách giáo khoa dành cho lớp 12

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.