Como um caractere pode ser acessado por índice, você pode usar um loop de variável para iterar sobre todos os caracteres, que assumirão os possíveis valores de índice. Por exemplo, um programa que exibe todos os códigos de caracteres da string s ficaria assim
para i := 1 a comprimento(s) faça
writeln(s[i], ord(s[i]))
Explicações para o programa:
1) A função length(s)
encontra o comprimento de uma string. O índice do primeiro caractere é 1 e o índice do último é length(s). A variável de loop i apenas assumirá valores de 1 a comprimento(s).
2) Em cada linha, o próprio símbolo será exibido primeiro e, em seguida, seu código, que é retornado pela função interna ord()
A mesma enumeração pode ser escrita mais curta:
para c em s faça
writeln(c, ord(c));
Nesse fragmento, o cabeçalho do loop percorre todos os caracteres s, colocando-os por sua vez na variável c.
A peculiaridade do Pascal ao trabalhar com strings é que as strings são objetos mutáveis. Em outras palavras, podemos alterar caracteres individuais de uma string.
Por exemplo, a seguinte instrução funcionará
s[5] := 'a';
Você também pode compor uma nova string a partir dos caracteres com as alterações necessárias.
Por exemplo, um programa que substitui todos os caracteres 'a' aos caracteres 'b' ficará assim:
leia(s);
for i := 1 to length(s) comece
se s[i] = 'a'então s[i] := 'b';
fim;
writeln(s);
Neste exemplo, percorremos todos os caracteres da string s. No corpo do loop, verificamos o valor da variável s[i]: se o caractere corresponder ao caractere 'a', então o substituímos por 'b'.