| Home / Indice sezione | www.icosaedro.it | ![]() |
|
| |||
| Frontespizio Introduzione Caratteristiche Un semplice esempio Moduli Sezione IMPORT Sezione CONST Sezione TYPE Tipo FORWARD Sezione VAR Sezione FUNCTION Sezione BEGIN Stringhe letterali Sottostringhe Commenti Costanti predefinite Variabili predefinite Funzioni predefinite Istruzione di assegnamento Istruzione per la chiamata di funzione Ordine di valutazione degli argomenti attuali Istruzione IF Istruzione SWITCH Istruzione FOR Istruzione WHILE Istruzione REPEAT Istruzione LOOP Istruzione TRY Istruzione RAISE ERROR Istruzione RETURN Espressioni logiche Espressioni intere Espressioni reali Espressioni stringa Espressioni tra tipi strutturati Regole di scope M2 per programmatori C M2 per programmatori Java Rappresentazione dei dati in memoria Keywords Messaggi di errore a runtime Sintassi | Sottostringhe
Una stringa non NIL può contenere zero o più caratteri.
Possiamo immaginare di ordinare i caratteri su di una scala graduata
come nella figura qui sotto.
L'operatore di sottostringa
La funzione L'intervallo specificato deve essere interamente contenuto nell'intervallo dei caratteri della stringa, cioè 0 <= i <= j <= length(s)
L'intervallo di lunghezza nulla [i,i] ritorna la stringa vuota
Se l'operatore di sottostringa viene applicato a una stringa NIL, oppure se l'intervallo non è valido, il programma viene terminato con errore.
Spesso occorre estrarre un singolo carattere da una stringa. A questo
scopo l'operatore di sottostringa ammette anche la forma abbreviata con
un solo indice Ad esempio, data la variabile stringa (v. figura) s = "ABCDEFG" allora si ha s[2] ==> "C" s[2,5] ==> "CDE" s[2,2] ==> "" s[0,length(s)] ==> "ABCDEFG" L'operatore di sottostringa può essere applicato a variabili di tipo STRING e a funzioni che ritornano STRING. Non è possibile eseguire assegnamenti su sottostringhe, e pertanto questo codice non è valido: s[1] = "B"
Nel programma che segue, la funzione
Il meccanismo di funzionamento è il seguente: la stringa invertita
si può ottenere spezzando la stringa in due e scambiando l'ordine
delle due parti dopo avere invertito a loro volta ciascuna parte.
Osserviamo che la funzione | |||
| ||||
| Umberto Salsi | Contatto | Mappa | Home / Indice sezione |