Poiché è possibile accedere a un carattere tramite l'indice, è possibile utilizzare un ciclo variabile per eseguire iterazioni su tutti i caratteri, che assumeranno possibili valori di indice. Ad esempio, un programma che visualizza tutti i codici dei caratteri della stringa s sarebbe simile a questo
for i := 1 to length(s) do
writeln(s[i], ord(s[i]))
Spiegazioni per il programma:
1) La funzione
length(s)
trova la lunghezza di una stringa. L'indice del primo carattere è 1 e l'indice dell'ultimo è length(s). La variabile del ciclo
i prenderà solo valori da 1 a length(s).
2) In ogni riga verrà visualizzato prima il simbolo stesso e poi il suo codice, che viene restituito dalla funzione built-in
ord()
La stessa enumerazione può essere scritta più breve:
per c in s do
writeln(c, ord(c));
In questo frammento, l'intestazione del ciclo scorre tutti i caratteri s, inserendoli a turno nella variabile c.
La particolarità di Pascal quando si lavora con le stringhe è che le stringhe sono oggetti mutabili. In altre parole, possiamo modificare i singoli caratteri di una stringa.
Ad esempio, la seguente istruzione funzionerà
s[5] := 'a';
Puoi anche comporre una nuova stringa dai caratteri con le modifiche richieste.
Ad esempio, un programma che sostituisce tutti i caratteri 'a' ai caratteri 'b' sarà simile a questo:
lettura/i;
for i := 1 to length(s) iniziano
se s[i] = 'a'allora s[i] := 'b';
FINE;
writeln(s);
In questo esempio, eseguiamo un ciclo di tutti i caratteri della stringa s. Nel corpo del ciclo, controlliamo il valore della variabile s[i]: se il carattere corrisponde al carattere 'a', lo sostituiamo con 'b'.