Задача

8 /13


Перебор всех символов

Теория Нажмите, чтобы прочитать/скрыть

Поскольку к символу можно обращаться по индексу, для перебора всех символов можно использовать цикл по переменной, которая будет принимать возможные значения индексов. Например, программа, которая выводит на экран все коды символов строки s будет выглядеть так

for i := 1 to length(s) do 
    writeln(s[i], ord(s[i]))
Пояснения к программе:
1) Функция length(s) находит длину строки. Индекс первого символа равен 1, а индекс последнего length(s). Переменная цикла i как раз и будет принимать последовательно значения от 1 до length(s).
2) В каждой строке сначала будет выводиться сам символ, а затем его код, который возвращает встроенная функция ord()

Такой же перебор можно записать короче:
for c in s do 
    writeln(c, ord(c));
В данном фрагменте заголовок цикла перебирает все символы s, помещая их по очереди в переменную c.

Особенность Pascal при работе со строками заключается в том, что строки - это изменяемые объекты. Другими словами, мы можем изменять отдельные символы строки.
Например, сработает следующий оператор
s[5] := 'a';
Также можно составлять из символов новую строку с требуемыми изменениями.
Например, программа, которая заменяет все символы 'a' на символы 'b' будет выглядеть следующим образом:
read(s);
    for i := 1 to length(s) do begin
        if s[i] = 'a'then s[i] := 'b';
    end;
writeln(s);
В данном примере в цикле перебираем все символы строки s. В теле цикла проверяем значение переменной s[i]: если символ совпадает с символом 'a', то заменяем его на 'b'.
 

Задача

Напишите программу, которая в строке заменяет все точки на нули и все буквы "X" на единицы. 

Примеры
Входные данные Выходные данные
1 ..X..XX 0010011




time 1000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
Free Pascal3
PascalABC17
Комментарий учителя