Giải Tin học 10 Bài 12 (Cánh diều): Kiểu dữ liệu Xâu ký tự - xử lý xâu ký tự

Với giải bài tập Tin học 10 Bài 12: Kiểu dữ liệu Xâu ký tự - xử lý xâu ký tự sách Cánh diều hay nhất, chi tiết giúp học sinh dễ dàng làm bài tập Tin học 10 Bài 12.

1 8,653 11/10/2024
Tải về


Giải bài tập Tin học lớp 10 Bài 12: Kiểu dữ liệu Xâu ký tự - xử lý xâu ký tự

Khởi động

Khởi động trang 94 Tin học lớp 10: Em đã từng sử dụng phần mềm xử lý văn bản. Theo em, trong ngôn ngữ lập trình, ngoài kiểu dữ liệu số có cần một kiểu dữ liệu không phải là số dùng cho các bài toán xử lý văn bản hay không? Nếu có kiểu dữ liệu như vậy thì nên có những phép xử lý nào trên những dữ liệu thuộc kiểu đó?

Trả lời:

Tong ngôn ngữ lập trình, ngoài kiểu dữ liệu số thì cần một kiểu dữ liệu không phải là số dùng cho các bài toán xử lý văn bản để xử lý các thao tác như sao chép, thêm, xóa, … các ký tự trong văn bản.

1. Kiểu dữ liệu xâu ký tự

Hoạt động

Hoạt động 1 trang 94 Tin học lớp 10: Em hãy đọc chương trình sau đây và cho biết mỗi biến: so_hop, khoi_luong_hop, don_vi_kl chứa những dữ liệu thuộc kiểu nào?


Gợi ý: có thể dùng hàm type ( ) để kiểm tra kết quả.

Trả lời:

so_hop chứa dữ liệu thuộc kiểu số nguyên.

khoi_luong_hop chứa dữ liệu thuộc kiểu số thực.

don_vi_kl chứa dữ liệu thuộc kiểu xâu ký tự.

2. Một số hàm xử lý xâu ký tự

Hoạt động 2 trang 96 Tin học lớp 10: Em hãy đọc các chương trình sau đây và cho biết kết quả nhận được khi thực hiện chương trình.


Trả lời:

Chương trình 1: Tạo xâu mới từ xâu y bằng cách thay thế xâu con x1 của xâu y bằng xâu x2.

Chương trình:

Kết quả

Chương trình 2: Tạo xâu mới từ xâu a bằng cách thay thế từ “bờ ao” thành “sân đình” và tạo xâu mới từ xâu b bằng cách thay thế từ “nơi nào” thành “một mình”

Chương trình:


Kết quả:


Luyện tập

Bài 1 trang 97 Tin học lớp 10: Hãy dự đoán kết quả đưa ra màn hình sau mỗi câu lệnh xuất dữ liệu print() trong chương trình ở hình bên và sau đó dùng cửa sổ shell để đối chiếu, kiểm tra từng kết quả dự đoán.


Trả lời:

- Lệnh print (xau) là ghép của xau1 với xau2. Kết quả ‘Hà Nội là thủ đô của nước Việt Nam.Nam Khánh sinh ra ở Hà Nội.’

- Lệnh print (xau.count(‘N’,6)): Đếm số lần xuất hiện của xâu ‘N’ trong xau tính từ vị trí thứ 6. Kết quả là 3.

- Lệnh print(xau.find(‘Khánh’)): Hiển thị vị trí xuất hiện xâu ‘Khánh’ trong xau. Kết quả là 39.

- Lệnh print(xau[4:9]): Tạo xâu con từ xau bắt đầu từ vị trí thứ 4 tới vị trí thứ 8. Kết quả là ‘ội là’

- Lệnh print(xau.replace(‘Khánh’,‘An’): Thay thế xâu ‘Khánh’ bằng xâu ‘An’ trong xau. Kết quả là ‘Hà Nội là thủ đô của nước Việt Nam.An sinh ra ở Hà Nội.’

Kết quả thực hiện chương trình


Bài 2 trang 97 Tin học lớp 10: Em hãy viết chương trình nhập từ bàn phím xâu s ghi ngày tháng dạng dd/mm/yyyy, trong đó dd là hai thứ tự chỉ ngày, mm là hai ký tự chỉ tháng, yyyy là bốn ký tự chỉ năm. Sau đó đưa ra màn hình ngày, tháng, năm dưới dạng xâu “ngày dd, tháng mm, năm yyyy.”

Ví dụ:

Trả lời:

Xâu s nhập vào có dạng dd/mm/yyyy. Do đó, cần lấy ra vị trí của dd, mm, yyyy. Chương trình được thực hiện như sau:

Chương trình

Kết quả

Vận dụng

Vận dụng trang 97 Tin học lớp 10: Nhập vào từ bàn phím 2 xâu s1 và s2, mỗi xâu không chứa ký tự dấu cách ở đầu và cuối xâu cũng như không chứa hai hay nhiều dấu cách liên tiếp nhau. Nếu sau không chứa dấu cách thì nó là một từ, trong trường hợp ngược lại, dấu cách là dấu phân tách các từ trong xâu. Ví dụ, xâu “Bước tới Đèo Ngang, bóng xế tà”, chứa bảy từ. Em hãy viết chương trình xác định và đưa ra màn hình tổng số từ trong 2 xâu s1 và s2 đã cho.

Ví dụ:

Trả lời:

Theo đề bài, xâu nhập vào không chứa dấu cách ở đầu và cuối xâu, không chứa nhiều dấu cách liên tiếp, nên hết một từ thì có một dấu cách, từ cuối cùng không có dấu cách. Nếu gọi n là tổng số dấu cách thì tổng số từ là n+1. Chương trình như sau:

Chương trình

Kết quả

Câu hỏi tự kiểm tra

Câu hỏi tự kiểm tra trang 97 Tin học lớp 10: Trong các câu sau đây, những câu nào đúng?

1) Có thể ghép các xâu để được xâu mới

2) Có thể tìm vị trí một xâu con trong một xâu

3) Không thể xóa một xâu con trong một xâu

4) Không thể thay đổi một xâu con trong một xâu

Trả lời:

Các câu đúng gồm: 1) và 2)

Lý thuyết Tin học 10 Bài 12: Kiểu dữ liệu xâu kí tự - xử lí xâu kí tự

1. Kiểu dữ liệu xâu kí tự

- Một xâu kí tự là một dãy các kí tự, trong Python xâu kí tự được đặt trong cặp nháy kép (“…”) hoặc nháy đơn (‘…’).

Ví dụ: Minh họa chương trình sử dụng kiểu dữ liệu xâu kí tự và một biến chứa xâu kí tự.

Lý thuyết Tin học 10 Cánh diều Bài 12: Kiểu dữ liệu xâu kí tự - xử lí xâu kí tự (ảnh 1)

Hình 12.1: Một chương trình với dữ liệu kiểu xâu

- Các kí tự trong xâu được đánh số bắt đầu từ 0. Python cung cấp hàm len() để đếm kí tự trong xâu kể cả kí tự dấu cách, số kí tự trong xâu được gọi là độ dài của xâu.

Lý thuyết Tin học 10 Cánh diều Bài 12: Kiểu dữ liệu xâu kí tự - xử lí xâu kí tự (ảnh 2)

Hình 12.2: Một chương trình sử dụng hàm len()

2. Một số hàm xử lí xâu kí tự

a) Ghép xâu bằng phép +

Viết liên tiếp các xâu cần ghép theo thứ tự và đặt giữa hai xâu kề nhau dấu “+”.

Lý thuyết Tin học 10 Cánh diều Bài 12: Kiểu dữ liệu xâu kí tự - xử lí xâu kí tự (ảnh 3)

Hình 12.3: Một ví dụ về ghép xâu

b) Đếm số lần xuất hiện xâu con

- Hàm y.count(x) đếm số lần xuất hiện không giao nhau của x trong y.

Lý thuyết Tin học 10 Cánh diều Bài 12: Kiểu dữ liệu xâu kí tự - xử lí xâu kí tự (ảnh 4)

Hình 12.4: Số lần xuất hiện xâu con

- Có thể nêu các tham số xác định cụ thể phạm vi tìm kiếm. Ví dụ:

+ y.count (x, 3) cho biết số lần xuất hiện các xâu x không giao nhau trong xâu y nhưng chỉ trong phạm vi từ kí tự thứ ba đến kí tự cuối của xâu y.

+ y.count (x, 3, 5) cho biết số lần xuất hiện các xâu x không giao nhau trong xâu y nhưng chỉ trong phạm vi từ kí tự thứ ba đến kí tự thứ năm của xâu y.

c) Xác định xâu con

- Xác định xâu con của xâu y từ vị trí m đến trước vị trí n (m<n), có cú pháp: y[m:n]

Lý thuyết Tin học 10 Cánh diều Bài 12: Kiểu dữ liệu xâu kí tự - xử lí xâu kí tự (ảnh 5)

Hình 12.5: Xác định một xâu con

Các trường hợp đặc biệt:

- y[:m] là xâu con gồm m kí tự đầu tiên của xâu y.

- y[m:] là xâu con nhận được bằng cách bỏ m kí tự đầu tiên của xâu y.

d) Tìm vị trí xuất hiện lần đầu tiên của một xâu trong xâu khác

- Hàm y .find(x) trả về số nguyên xác định vị trí đầu tiên trong xâu y, từ đó xâu y xuất hiện như xâu con của y. Nếu xâu x không xuất hiện như xâu con kết quả trả về là -1.

Lý thuyết Tin học 10 Cánh diều Bài 12: Kiểu dữ liệu xâu kí tự - xử lí xâu kí tự (ảnh 6)

Hình 12.6: Tìm vị trí đầu tiên của một xâu con

e) Thay thế xâu con

- Hàm y .replace(x1, x2) tạo xâu mới từ xâu y bằng cách thay thế xâu con x1 của y bằng xâu x2. Tất cả xâu con bằng x1 và không giao nhau của y đều được thay bằng xâu x2.

Xem thêm lời giải bài tập Tin học lớp 10 Cánh diều hay, chi tiết khác:

Bài 8: Câu lệnh lặp

Bài 9: Thực hành câu lệnh lặp

Bài 10: Chương trình con và thư viện các chương trình con có sẵn

Bài 11: Thực hành lập trình với hàm và thư viện

Bài 13: Thực hành dữ liệu kiểu xâu

1 8,653 11/10/2024
Tải về


Xem thêm các chương trình khác: