Sequenza Selezione Iterazione Funzioni Ricorsione Operat. su interi Stringhe Vettori Array
Tabelle File Liste Alberi Esami Maturità Preparazione esami Database Macchina di Turing Automi
Algebra Geometria Giochi            

Esercizi sulle Stringhe

 

1

Data una stringa di caratteri di lunghezza assegnata determinare quante volte un certo carattere vi è contenuto.

2

Date due  stringhe, la prima di lunghezza m e la seconda di lunghezza n (m>n) riconoscere se la seconda stringa è contenuta nella prima.

3

Data una stringa di lunghezza assegnata costruirne altre due una coi caratteri di posto dispari (della prima) e l'altra coi caratteri di posto pari. Determinare il numero di caratteri delle due stringhe costruite.

4

Date due stringhe di uguale lunghezza costruire una terza stringa contenente tutti i caratteri delle  precedenti posti alternativamente uno della prima e uno della seconda.

5

Dato in cifre decimali un numero intero minore di 100 scriverlo in lettere. (Si faccia attenzione alla  irregolarità dei nomi dei numeri da 1 a 20).

6

Dato in cifre decimali un numero intero minore di 1000 scriverlo in lettere. (Si utilizzi la esperienza/acquisita  risolvendo  l'esercizio precedente).

7

Data una stringa ricavare una stringa contenente solo lettere dell'alfabeto (maiuscole e minu­scole)  lasciando al posto di altri caratteri degli spazi bianchi.

8

Data una stringa di n caratteri trasformare la prima lettera in maiuscolo.

9

Data una stringa di n caratteri  stampare  tutte le lettere in maiuscolo.

10

Si debba risolvere il problema di tradurre un numero in lettere per la stampa di assegni bancari. Si scriva un sottoprogramma che, ricevendo il numero da tradurre, in forma opportuna, ed il nome  dell'area  che deve contenere la traduzione, provveda a fornire tale traduzione. Si supponga il numero intero, al massimo di 9 cifre.

11

Trasformare una data nella forma gg/mm/aa nella forma in lettere.         
Esempio: 10/10/88  -->  10 ottobre 1988.

12

Una somma di denaro viene versata il giorno G1 e viene ritirata il giorno G2. Calcolare la diffe­renza  in  giorni  fra le due date che sono digitate nella forma GG/MM/AA.

13

Stabilire se un numero N è naturale oppure no senza la funzione INT.

14

Immessa da tastiera una parola determinare da quante lettere è formata.

15

Stabilire di quante cifre è composto un numero.

16

Determinare se una parola inizia per vocale o consonante.

17

Stabilire, senza la funzione INT, se un numero è divisibile per 100.

18

Stabilire se un numero è divisibile per 4 applicando il relativo criterio di divisibilità.

19

Dato un numero stabilire se è divisibile per 7 applicando il relativo criterio di divisibilità.

20

Stabilire se un numero è divisibile per  3 applicando il relativo criterio di divisibilità.

21

Stabilire se un numero è divisibile per 1000.

22

Scrivere un programma che elimini gli spazi bianchi da una stringa S letta in ingresso.

23

Scrivere il numero di vocali contenute in una stringa S.

24

Immesso da tastiera un verbo, comunicarne la desinenza.

25

Stabilire se un numero è dispari controllando la cifra meno significativa.

26

Stampare una parola in ordine inverso a quello in cui è stata scritta.

27

Dato un vettore contenente n caratteri verificare se al suo interno ci sono elementi posti in una  sequenza data e quante volte vi è contenuta.

28

Una "palindrome" è una parola che può essere letta nello stesso modo sia da destra verso sinistra che da sinistra verso destra, ad esempio:  otto, Ada.  Descrivere un algoritmo che, data una paro­la  costituita da k lettere rappresentate come x1, x2, x3 ...,xk, stabilisce se la parola è una palindrome oppure no.

29

Si scrivano le seguenti funzioni personali per la elaborazione di stringhe di  caratteri,  che realizzano le seguenti operazioni:

  1. concatenazione di due stringhe;

  2. ricerca di una stringa in una data;

  3.  determinazione della lunghezza di una stringa;

  4.  conversione di una stringa con caratteri numerici in un numero;

  5.  conversione di un numero in una stringa di caratteri;

  6.  confronto fra due stringhe;

 

30

Eliminare, da una frase, gli spazi ripetuti lasciandone uno solo.

31

Leggere un vettore di parole terminante la con parola fine. Restituire lo stesso vettore con le parole  scritte al contrario.
Esempio:           PIPPO CASA .... FINE --> OPPIP ASAC   ....   FINE.

32

Contare, su 70 caratteri dati da tastiera, quante  volte c'è il carattere '$'.

33

Data una stringa di caratteri determinare se vi è contenuta una sottostringa data S di K caratteri e quante volte ricorre.

34

Costruire due frasi (lunghe max 300 caratteri l'una) contenenti parole (lunghe max 20 caratteri l'una) e risolvere i seguenti problemi:  

  1. dire quale delle due frasi contiene più parole;

  2. dire in quale frase è presente la parola più lunga ed in quale quella più corta (stamparle);

  3. stampare le parole in comune tra le due frasi;

  4. stampare le parole presenti nella 1ª frase ma non nella seconda, e viceversa;

  5. costruire una terza frase con le parole del punto "C" e stamparla;

  6. ordinare in modo alfabetico le parole della frase costruita nel punto "E", creando quindi una 4ª frase e stamparla;

  7. dire se nella 1ª frase ci sono parole ripetute più volte (stamparle);

  8. fare lo stesso del punto "G" sulla 2ª frase.

 

35

  Data una sequenza di parole terminata dalla parola "FINE", si vuole sapere, per ogni parola, se è formata da più vocali o da più consonanti.

  1. descrivere un possibile algoritmo che risolva l'esercizio proposto;

  2. sviluppare il procedimento in Linguaggio di Progetto;

  3. realizzare il programma corrispondente in linguaggio C.

36

Data una stringa dire se in essa risultano correttamente bilanciate le parentesi tonde, quadre e graffe.

37

Realizzare in linguaggio C un programma che leggendo in ingresso una sequenza di parole ter­minata con "FINE", conti quante di esse hanno almeno una delle seguenti consonanti doppie: "p", "r", "s", "t".

38

Determinare quante volte un elemento è ripetuto in una certa stringa di n elementi.