[SGK Tin học Lớp 11 Cánh diều] Bài 8. Lập trình một số thuật toán sắp xếp trang 122, 123, 124 SGK Tin học 11 Khoa học máy tính Cánh diều

Hướng dẫn học bài: Bài 8. Lập trình một số thuật toán sắp xếp trang 122, 123, 124 SGK Tin học 11 Khoa học máy tính Cánh diều - Môn Tin học Lớp 11 Lớp 11. Đây là sách giáo khoa nằm trong bộ sách 'SGK Tin học Lớp 11 Cánh diều Lớp 11' được biên soạn theo chương trình đổi mới của Bộ giáo dục. Hi vọng, với cách hướng dẫn cụ thể và giải chi tiết các bé sẽ nắm bài học tốt hơn.

khởi động

trình quản lý tệp của hệ điều hành cho phép lựa chọn hiển thị nội dung của thư mục được sắp xếp thứ tự theo vài cách khác nhau. em hãy cho biết một trong số các lựa chọn này và giải thích rõ thêm tiêu chí (yêu cầu) sắp xếp tương ứng.

phương pháp giải:

dựa vào kiến thức đã học.

lời giải chi tiết:

một trong số các lựa chọn sắp xếp:

sắp xếp nổi bọt:

=> ưu điểm:

• là thuật toán cơ bản, dễ hiểu, phù hợp cho người bắt đầu học về sắp xếp

• đoạn code ngắn gọn, dễ nhớ.

? mục 2 hđ

dựa trên minh họa diễn biến từng bước của thuật toán sắp xếp nổi bọt được trình bày như ở hình 1, em hãy nêu tóm tắt ý tưởng của thuật toán này.

phương pháp giải:

dựa vào kiến thức đã học.

lời giải chi tiết:

xét một mảng gồm 5 số nguyên: a1, a2, …, a5.

với cách sắp xếp không giảm từ trái qua phải, mục đích của chúng ta là đưa dần các số lớn nhất về cuối dãy (ngoài cùng bên phải).

bắt đầu từ vị trí số 1, xét lần lượt từng cặp 2 phần tử, nếu phần tử bên phải nhỏ hơn phần tử bên trái, ta sẽ thực hiện đổi chỗ 2 phần tử này, nếu không, xét tiếp cặp tiếp theo. với cách làm như vậy, phần tử nhỏ hơn sẽ “nổi” lên, còn phần tử lớn hơn sẽ “chìm” dần và về bên phải.

khi kết thúc vòng thứ nhất, ta sẽ đưa được phần tử lớn nhất về cuối dãy. sang vòng thứ hai, ta tiếp tục bắt đầu ở vị trí đầu tiên như vậy và đưa được phần tử lớn thứ hai về vị trí thứ hai ở cuối dãy ...

? mục 4 nv1

em hãy thực hiện các công việc sau:

a) tính số lần lặp của vòng lặp bên trong của thuật toán sắp xếp chèn tuyến tính.

b) tính số lần lặp của vòng lặp ngoài của thuật toán sắp xếp chèn tuyến tính.

c) ước lượng độ phức tạp thời gian của thuật toán sắp xếp chèn tuyến tính.

phương pháp giải:

dựa vào kiến thức đã học và kỹ năng lập trình.

lời giải chi tiết:

a) tính số lần lặp của vòng lặp bên trong của thuật toán sắp xếp chèn tuyến tính, sử dụng vòng lặp:

for i in range (1, n):

val ai

k i – 1

b) tính số lần lặp của vòng lặp ngoài của thuật toán sắp xếp chèn tuyến tính, sử dụng các câu lệnh:

while k >= 0 and ak > val:

ak+1 ak

k k-1

ak+1 val

c) ước lượng độ phức tạp thời gian của thuật toán sắp xếp chèn tuyến tính:

vòng lặp for bên ngoài kiểm soát việc thực hiện đúng n-1 bước.

vòng lặp while lồng bên trong thực hiện đồng thời cùng lúc hai việc a) và b) theo cách dịch chuyển dần từng bước sang trái, từ vị trí i tới vị trí k+1.

? mục 4 nv2

viết chương trình python thực hiện thuật toán sắp xếp nổi bọt.

phương pháp giải:

 dựa vào kiến thức đã học và kỹ năng lập trình.

lời giải chi tiết:

chương trình:

? mục 4 nv3

em hãy viết chương trình python thực hiện thuật toán sắp xếp chèn tuyến tính dựa trên mã giả đã cho trong bài học.

phương pháp giải:

dựa vào kiến thức đã học và kỹ năng lập trình.

lời giải chi tiết:

tham khảo code c:

vận dụng

cho danh sách bảng điểm là kết quá học tập gồm các cột họ và tên, điểm toán, điểm ngữ văn, điểm tin học... hãy viết chương trình sắp xếp bảng điểm theo điểm môn tin học giảm dần.


gợi ý: mỗi phân tử của bảng điểm là một danh sách con, ứng với một học sinh. so sánh theo thành phần điểm tin học của danh sách con để sắp xếp.

phương pháp giải:

dựa vào kiến thức đã học và kỹ năng lập trình.

lời giải chi tiết:

tham khảo code c:

luyện tập

trong hai thuật toán sắp xếp nổi bọt và thuật toán sắp xếp chèn, thuật toán nào đơn giản và để cài đặt hơn?

phương pháp giải:

dựa vào kiến thức đã học và kỹ năng lập trình.

lời giải chi tiết:

cả hai thuật toán sắp xếp nổi bọt và sắp xếp chèn đều đơn giản và dễ cài đặt. tuy nhiên, thuật toán sắp xếp chèn có thể được coi là đơn giản hơn vì nó sử dụng ít phép so sánh hơn so với thuật toán sắp xếp nổi bọt.

thuật toán sắp xếp chèn thực hiện việc chèn một phần tử vào một mảng đã được sắp xếp trước đó. với mỗi phần tử trong mảng, nó sẽ so sánh nó với các phần tử đã được sắp xếp trước đó, và chèn phần tử đó vào vị trí thích hợp trong mảng. điều này đòi hỏi ít phép so sánh hơn so với thuật toán sắp xếp nổi bọt, do đó thuật toán sắp xếp chèn có hiệu suất tốt hơn khi sắp xếp một mảng lớn.

Giải bài tập những môn khác

Môn Ngữ văn Lớp 11

  • Bài tập trắc nghiệm Văn Lớp 11 Cánh diều
  • Bài tập trắc nghiệm Văn Lớp 11 Cánh diều
  • Bài tập trắc nghiệm Văn Lớp 11 Chân trời sáng tạo
  • Bài tập trắc nghiệm Văn Lớp 11 Kết nối tri thức
  • Bài tập trắc nghiệm Văn Lớp 11 Chân trời sáng tạo
  • Bài tập trắc nghiệm Văn Lớp 11 Kết nối tri thức
  • Chuyên đề học tập Văn Lớp 11 Cánh diều
  • Chuyên đề học tập Văn Lớp 11 Chân trời sáng tạo
  • Chuyên đề học tập Văn Lớp 11 Kết nối tri thức
  • Đề thi, đề kiểm tra Văn Lớp 11 Kết nối tri thức
  • Đề thi, đề kiểm tra Văn Lớp 11 Chân trời sáng tạo
  • Đề thi, đề kiểm tra Văn Lớp 11 Cánh diều
  • Lý thuyết ngữ văn lớp 11
  • SBT Văn Lớp 11 Cánh diều
  • SBT Văn Lớp 11 Kết nối tri thức
  • SBT Văn Lớp 11 Chân trời sáng tạo
  • Soạn văn Lớp 11 Cánh Diều - chi tiết
  • Soạn văn Lớp 11 Cánh Diều - siêu ngắn
  • Soạn văn Lớp 11 Chân trời sáng tạo - chi tiết
  • Soạn văn Lớp 11 Kết nối tri thức siêu ngắn
  • Soạn văn Lớp 11 Cánh diều
  • Soạn văn Lớp 11 Cánh diều siêu ngắn
  • Soạn văn Lớp 11 Chân trời sáng tạo - siêu ngắn
  • Soạn văn Lớp 11 Chân trời sáng tạo siêu ngắn
  • Soạn văn Lớp 11 Kết nối tri thức - chi tiết
  • Soạn văn Lớp 11 Kết nối tri thức - siêu ngắn
  • Soạn văn Lớp 11 Chân trời sáng tạo
  • Soạn văn Lớp 11 Kết nối tri thức
  • Tác giả tác phẩm lớp 11
  • Tóm tắt, bố cục Văn Lớp 11 Kết nối tri thức
  • Tóm tắt, bố cục Văn Lớp 11 Chân trời sáng tạo
  • Tóm tắt, bố cục Văn Lớp 11 Cánh diều
  • Văn mẫu Lớp 11 Cánh diều
  • Văn mẫu Lớp 11 Kết nối tri thức
  • Văn mẫu Lớp 11 Chân trời sáng tạo
  • Môn Vật lí Lớp 11

    Môn Tiếng Anh Lớp 11

  • Bài tập trắc nghiệm Tiếng Anh Lớp 11 iLearn Smart World
  • Bài tập trắc nghiệm Tiếng Anh Lớp 11 iLearn Smart World
  • Bài tập trắc nghiệm Tiếng Anh Lớp 11 Friends Global
  • Bài tập trắc nghiệm Tiếng Anh Lớp 11 Global Success
  • Bài tập trắc nghiệm Tiếng Anh Lớp 11 Friends Global
  • Bài tập trắc nghiệm Tiếng Anh Lớp 11 Global Success
  • Đề thi, đề kiểm tra Tiếng Anh Lớp 11 iLearn Smart World
  • Đề thi, đề kiểm tra Tiếng Anh Lớp 11 friends Global
  • Đề thi, đề kiểm tra Tiếng Anh Lớp 11 Global Success
  • Đề thi, đề kiểm tra Tiếng Anh Lớp 11 Bright
  • Đề thi, đề kiểm tra Tiếng Anh Lớp 11 English Discovery
  • Lý Thuyết Tiếng Anh Lớp 11
  • SBT Tiếng Anh Lớp 11 Friends Global - Chân trời sáng tạo
  • SBT Tiếng anh Lớp 11 Bright
  • SBT Tiếng anh Lớp 11 Friends Global
  • SBT Tiếng Anh Lớp 11 iLearn Smart World
  • SBT Tiếng anh Lớp 11 iLearn Smart World
  • SBT Tiếng Anh Lớp 11 Bright
  • SBT Tiếng anh Lớp 11 English Discovery
  • SBT Tiếng Anh Lớp 11 English Discovery - Cánh buồm
  • SBT Tiếng anh Lớp 11 Global Success
  • SBT Tiếng Anh 11 Lớp 11 Global Success - Kết nối tri thức
  • SGK Tiếng Anh Lớp 11 Global Success
  • SGK Tiếng Anh 11 Lớp 11 Friends Global
  • SGK Tiếng Anh 11 Lớp 11 Bright
  • SGK Tiếng Anh 11 Lớp 11 English Discovery
  • SGK Tiếng Anh 11 Lớp 11 iLearn Smart World
  • Tiếng Anh Lớp 11 Global Success
  • Tiếng Anh Lớp 11 iLearn Smart Wolrd
  • Tiếng Anh Lớp 11 Friends Global
  • Tiếng Anh Lớp 11 English Discovery
  • Tiếng Anh Lớp 11 Bright
  • Môn Hóa học Lớp 11

    Môn Sinh học Lớp 11

    Tài liệu tin học

    Tài liệu Lớp 1

    Tài liệu Lớp 2

    Tài liệu Lớp 3

    Tài liệu Lớp 4

    Tài liệu Lớp 5

    Trò chơi Powerpoint

    Sáng kiến kinh nghiệm