8-1 : EXTRA : Array di caratteri ( stringhe ) Vers . 4.3 – Febbraio 2022
f ) Data una stringa s1 ed una sottostringa s2 dire se essa è presente al suo interno ALGORITMO CercaSubStr MAXDIM 50 PROCEDURA main ( )
s1 : ARRAY [ MAXDIM ] DI CHAR // stringa assegnata s2 : ARRAY [ MAXDIM ] DI CHAR // sottostringa da ricercare n , m , i , j : INT trovato , confronto : BOOL
INIZIO
/* leggo la stringa s1 di partenza rispettando il vincolo imposto da MAXDIM */ RIPETI Leggi ( s1 ) n � Lunghezza ( s1 ) FINCHE ’ ( n ≥ 1 ) AND ( n ≤ MAXDIM )
/* leggo la sottostringa s2 da ricercare in s1 */ RIPETI Leggi ( s2 ) m � Lunghezza ( s2 ) FINCHE ’ ( m ≥ 1 ) AND ( m ≤ n )
/* cerco la sottostringa all ’ interno della stringa */ trovato � FALSO i � 1 MENTRE ( trovato = FALSO ) AND ( i ≤ n - m ) ESEGUI
confronto � VERO j � 1
MENTRE ( j < m ) AND ( confronto = VERO ) ESEGUI SE ( s1 [ i + j – 1 ] ≠ s2 [ j ])
ALLORA confronto � FALSO j � i
ALTRIMENTI j � j + 1
FINE SE FINE MENTRE
SE ( confronto = VERO ) ALLORA trovato � VERO ALTRIMENTI i � i + 1
FINE SE
FINE MENTRE
/* visualizzo l ’ esito della ricerca */ Scrivi ( trovato )
FINE
Autore : Rio Chierego ( email : riochierego @ libero . it - sito web : www . riochierego . it ) Pag . 12