Problem

8 /13


Lặp qua tất cả các ký tự

Theory Click to read/hide

Vì một ký tự có thể được truy cập bằng chỉ mục, bạn có thể sử dụng một vòng lặp biến để lặp qua tất cả các ký tự, điều này sẽ nhận các giá trị chỉ mục có thể. Ví dụ, một chương trình hiển thị tất cả các mã ký tự của chuỗi s sẽ như thế này for i := 1 to length(s) do writeln(s[i], ord(s[i])) Giải thích về chương trình:
1) Hàm length(s) tìm độ dài của một chuỗi. Chỉ số của ký tự đầu tiên là 1 và chỉ số của ký tự cuối cùng là (các) độ dài. Biến vòng lặp i sẽ chỉ nhận các giá trị từ 1 đến (các) độ dài.
2) Trong mỗi dòng, biểu tượng sẽ được hiển thị trước, sau đó là mã của nó, được trả về bởi hàm tích hợp ord()

Phép liệt kê tương tự có thể được viết ngắn hơn: cho c trong s do      writeln(c, ord(c)); Trong đoạn này, tiêu đề vòng lặp lặp qua tất cả các ký tự s, lần lượt đặt chúng vào biến c.

Điểm đặc biệt của Pascal khi làm việc với chuỗi là chuỗi là đối tượng có thể thay đổi. Nói cách khác, chúng ta có thể thay đổi các ký tự riêng lẻ của một chuỗi.
Ví dụ: câu lệnh sau sẽ hoạt động s[5] := 'a'; Bạn cũng có thể soạn một chuỗi mới từ các ký tự có thay đổi theo yêu cầu.
Ví dụ: một chương trình thay thế tất cả các ký tự 'a' thành ký tự 'b' sẽ trông như thế này: đọc (s);     for i := 1 to length(s) do started         nếu s[i] = 'a'thì s[i] := 'b';     kết thúc; writeln(s); Trong ví dụ này, chúng ta lặp qua tất cả các ký tự của chuỗi s. Trong phần thân của vòng lặp, ta kiểm tra giá trị của biến s[i]: nếu ký tự trùng với ký tự 'a' thì ta thay bằng 'b'.
 

Problem

Viết chương trình thay thế tất cả các dấu chấm trong một chuỗi bằng các số 0 và tất cả các chữ cái "X" đơn vị. 

Ví dụ <đầu>
# Đầu vào Đầu ra
1 ..X..XX 0010011