Поскольку к символу можно обращаться по индексу, для перебора всех символов можно использовать цикл по переменной, которая будет принимать возможные значения индексов. Например, программа, которая выводит на экран все коды символов строки 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'.