Giải SBT Tin học 11 Cánh diều Bài 8. Lập trình một số thuật toán sắp xếp có đáp án
40 người thi tuần này 4.6 239 lượt thi 6 câu hỏi
🔥 Đề thi HOT:
Bộ 4 đề thi cuối học kì 2 Tin 11 Kết nối tri thức có đáp án (Đề 1)
15 câu Trắc nghiệm Tin học 11 Kết nối tri thức Bài 25 có đáp án
Bộ 4 đề thi cuối học kì 2 Tin 11 Kết nối tri thức có đáp án (Đề 2)
15 câu Trắc nghiệm Tin học 11 Kết nối tri thức Bài 26 có đáp án
15 câu Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27 có đáp án
15 câu Trắc nghiệm Tin học 11 Kết nối tri thức Bài 28 có đáp án
15 câu Trắc nghiệm Tin học 11 Cánh diều Bài 1: Một số thao tác chỉnh sửa ảnh và hỗ trợ chỉnh sửa ảnh có đáp án
15 câu Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24 có đáp án
Nội dung liên quan:
Danh sách câu hỏi:
Lời giải
Số lượng nghịch thế đạt giá trị lớn nhất khi dãy 4 đã được sắp sẵn theo thứ tự giảm dần. Khi đó, số lượng nghịch thế của A là:

Lời giải
Em có thể sắp xếp theo thứ tự dãy 4 rồi thực hiện phép duyệt từ trái sang phải để “lướt” qua các đoạn phần tử bằng nhau:

Lời giải
Chương trình mẫu:

Ghi chú: Các thao tác được lưu vào một danh sách. Mỗi phần tử của danh sách là một tuple (khai báo bởi ( ) ). Tuple khá giống danh sách, nhưng các phần tử của nó không thể thay đổi giá trị.
Lời giải
Vì thứ tự từ điển của hai xâu không phụ thuộc vào chữ hoa/thường, mà vị trí của chữ hoa/thường trên bảng ASCII lại khác nhau, nên khi so sánh em đưa tất cả về chỉ chữ hoa hoặc chỉ chữ thường để so sánh.
Để đưa tất cả kí tự của xâu S bất kì thành chữ hoa, ta dùng S.upper(). Ngược lại, để đưa về chữ thường, ta dùng S.lower ().


Lời giải
Để so sánh thứ tự từ điển của các xâu tiếng Việt, em không thể dùng các
phép toán so sánh “<, >, ...” như bình thường, vì trên bảng mã Unicode, các kí tự có dấu sẽ đứng sau 26 kí tự Latinh không dấu trong bảng ASCII. Vì vậy, em sẽ sử dụng thư viện locale là một thư viện chuyên dùng để xử quy chuẩn của các ngôn ngữ.
Em khai báo thư viện locale, sau đó khai báo sử dụng ngôn ngữ tiếng Việt bằng câu lệnh: locale.setlocale(locale.LC_ALL, "vi_VN"). Thư viện này cho phép ta dùng hai hàm như sau:
• locale.strcoll(s1, s2) : so sánh hai xâu và trả về:
– Một số âm nếu s1 đứng trước s2.
- Số 0, nếu s1 giống hệt s2.
– Một số dương nếu s2 đứng trước s1.
locale.strxfrm(s): chuyển đổi một xâu s thành một con số để thuận tiện cho việc so sánh thứ tự.
Câu lệnh locale.strcoll(s1, s2)có thể được viết thành biểu thức locale.strxfrm (s1) < locale.strxfrm (s2).
Trong bài này, đầu tiên em khai báo nhập xuất tệp (phải để mã hoá bằng UTF-8) và sử dụng thư viện locale với ngôn ngữ là tiếng Việt (mã vi_VN hoặc vi). Sau đó, em tạo mảng các xâu s rồi nhập n, tiếp theo em lần lượt nhập n dòng rồi cho vào mảng s. Cuối cùng, em sắp xếp mảng s sau cho strxfrm ( ) của các xâu trong mảng s theo chiều hướng tăng dần (có thể dùng hàm sort với cú pháp như ở dưới) và in ra kết quả.
Chương trình mẫu:
import sys
sys.stdin = open("danhsach.txt", "r", encoding="utf8") sys.stdout open ("Tudien.txt", "w", encoding="utf8") import locale
locale.setlocale (locale. LC ALL, "vi_VN")
n=int (input())
s=[]for i in range (n):
s.append(input())
s.sort (key=locale.strxfrm) for x in s:
print (x)
Lời giải
Bạn cần đăng ký gói VIP ( giá chỉ từ 199K ) để làm bài, xem đáp án và lời giải chi tiết không giới hạn.
48 Đánh giá
50%
40%
0%
0%
0%