Với giải Câu 31.5 trang 65 SBT Tin học lớp 10 Kết nối tri thức chi tiết trong Bài 31: Thực hành: Viết chương trình đơn giản giúp học sinh dễ dàng xem và so sánh lời giải từ đó biết cách làm bài tập trong SBT Tin học 10. Mời các bạn đón xem:
Giải sách bài tập Tin học lớp 10 Bài 31: Thực hành: Viết chương trình đơn giản
Câu 31.5 trang 65 SBT Tin học 10: Em hãy viết chương trình nhập một xâu kí tự bất kì từ bàn phím. Cần sắp xếp lại các chữ số thì dồn sang trái, các chữ cái tiếng Anh thì dồn sang phải xâu, các kí tự khác thì giữ nguyên vị trí.
Trả lời:
Hướng dẫn:
Chúng ta đã biết giữa các kí tự cũng có thể được so sánh. Hai kí tự ch1 và ch2 được so sánh với nhau thông qua vị trí của các kí tự này trong bảng mã ASCII hoặc Unicode. Quan hệ so sánh tự nhiên giữa các kí tự chữ cái và số như sau:
"0" < "1" < ... < "9".
"A" < "B" < ... < "Z" < "a" < "b" <...< "Z".
Để giải bài tập này chúng ta cần tạo các biến nhớ dùng để lưu các xâu kí tự trung gian là s_tr (xâu dùng để lưu tạm các kí tự là số), s_ph (xâu dùng để lưu tạm các kí tự là chữ cái) và s_gi (xâu dùng để lưu các kí tự không là chữ số cũng không là chữ cái). Thuật toán của chương trình như sau: duyệt một lần tất cả các kí tự của xâu gốc S, sau đó đưa các kí tự này vào các xâu trung gian s_tr, s_ph, s_gi. Xâu kết quả sẽ là s_tr + s_gi + s_ph. Mở phần mềm soạn thảo và nhập chương trình sau:
S = input("Nhập xâu kí tự bất kì: ")
s_tr = s_ph = s_gi = " "
for ch in S:
if "0" <= ch <="9":
s_tr = s_tr + ch
else:
if "a" <= ch <= "z" or "A" <= ch <= "Z":
s_ph = s_ph + ch
else:
s_gi = s_gi + ch
Skq = s_tr + s_gi + s_ph
print("Xâu kết quả:", Skq)
* Chương trình chạy thử:
Xem thêm lời giải sách bài tập Tin học lớp 10 Kết nối tri thức hay, chi tiết khác:
Câu 31.10 trang 65 SBT Tin học 10: Bài toán tìm tổng con lớn nhất.
Xem thêm các bài giải SBT Tin học lớp 10 Kết nối tri thức hay, chi tiết không:
Giải SBT Tin học 10 Bài 30: Kiểm thử và gỡ lỗi chương trình
Giải SBT Tin học 10 Bài 31: Thực hành viết chương trình đơn giản
Giải SBT Tin học 10 Bài 32: Ôn tập lập trình Python