8-1 : EXTRA : Array di caratteri ( stringhe ) Vers . 4.3 – Febbraio 2022
Algoritmi su array monodimensionali di caratteri ( STRINGHE )
a ) Assegnata una stringa s di n caratteri mostare a video il numero di vocali ( distinto per tipologia ) ed il numero complessivo di consonanti in essa presenti ( n . b . NON fare differenza tra minuscolo e maiuscolo ).
ALGORITMO ContaVocaliConsonanti MAXDIM 50 PROCEDURA main ( )
s : ARRAY [ MAXDIM ] DI CHAR i : INT na , ne , ni , no , nu , nc : INT
INIZIO
/* leggo la stringa rispettando il vincolo imposto da MAXDIM */ RIPETI Leggi ( s ) FINCHE ’ ( Lunghezza ( s ) ≥ 1 ) AND ( Lunghezza ( s ) ≤ MAXDIM )
na � 0 ne � 0 ni � 0 no � 0 nu � 0 nc � 0
PER i � 1 A Lunghezza ( s ) ESEGUI
NEL CASO CHE ( s [ i ]) SIA ' a ': ' A ': na � na + 1 ' e ': ' E ': ne � ne + 1 ' i ': ' I ': ni � ni + 1 ' o ': ' O ': no � no + 1 ' u ': ' U ': nu � nu + 1
ALTRIMENTI : SE (( s [ i ] ≥ 65 ) AND ( s [ i ] ≤ 90 )) OR (( s [ i ] ≥ 97 ) AND ( s [ i ] ≤ 122 ))
ALLORA nc � nc + 1
FINE SE FINE CASO i � i + 1 FINE PER
/* visualizzo risultati */( Scrivi ( na ) Scrivi ( ne ) Scrivi ( ni ) Scrivi ( no ) Scrivi ( nu ) Scrivi ( nc )
FINE
Richiami teoria : Tavola ASCII ....................... ' 0 ' val dec 48 // inizio cifre numeriche ...................... ' 9 ' val dec 57 // fine cifre numeriche ........................ ' A ' val dec 65 // inizio lettere alfabeto MAIUSCOLE ....................... ' Z ' val dec 90 // fine lettere alfabeto MAIUSCOLE ........................ ' a ' val dec 97 // inizio lettere alfabeto minuscole ....................... ' z ' val dec 122 // fine lettere alfabeto minuscole
// anche così (( s [ i ] ≥ ' A ') AND ( s [ i ] ≤ ' Z ')) OR (( s [ i ] ≥ ' a ') AND ( s [ i ] ≤ ' z '))
Autore : Rio Chierego ( email : riochierego @ libero . it - sito web : www . riochierego . it ) Pag . 7