Problem

8 /13


Passa attraverso tutti i personaggi

Theory Click to read/hide

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'.
 

Problem

Scrivi un programma che sostituisca tutti i punti in una stringa con zeri e tutte le lettere "X" unità. 

Esempi
# Input Uscita
1 ..X..XX 0010011