• Non ci sono risultati.

4. ESERCIZI sulle sequenze

N/A
N/A
Protected

Academic year: 2021

Condividi "4. ESERCIZI sulle sequenze"

Copied!
2
0
0

Testo completo

(1)

4. ESERCIZI sulle sequenze

ESERCIZIO

Si dice carattere minuscolo legale un carattere minuscolo che e’ seguito da esattamente 2 caratteri maiuscoli.

Scrivere un programma che legga una sequenza di caratteri che termina quando l’utente immette un carattere non legale, e stampi il numero di caratteri minuscoli legali letti. Ad esempio, ricevendo in ingresso la sequenza ” ’A’

’2’ ’b’ ’B’ ’Z’ ’;’ ’G’ ’b’ ’a’ ” il programma produce in uscita 1

Altro esempio: ricevendo in ingresso la sequenza ” ’a’ ’N’ ’;’ ” il programma produce in uscita

0

ESERCIZIO 2

Si dice sequenza di multipli una sequenza di interi positivi tali che ogni intero (tranne il primo) sia un multiplo del precedente. La sequenza termina quando l’utente immette un intero che viola la sequenza, cioe’ che e’ negativo o e’ positivo ma non multiplo del precedente. Il carattere che termina la sequenza non e’ considerato appartenere alla sequenza. Si legga una sequenza di multipli e si stampi la posizione del secondo intero pari (se esiste) e la lunghezza totale della sequenza.

Se ad esempio la sequenza digitata dall’utente `e:

"-1"

un possibile output del programma `e:

Mi dispiace non ci sono stati 2 numeri pari.

Lunghezza seq. : 0

mentre se la sequenza digitata dall’utente `e:

”3 4”

un possibile output del programma e’:

Mi dispiace non ci sono stati 2 numeri pari.

Lunghezza seq. : 1

Se la sequenza digitata dall’utente `e:

”3 15 60 62”’

un possibile output del programma `e:

Mi dispiace non ci sono stati 2 numeri pari.

Lunghezza seq. : 3

Infine se la sequenza digitata dall’utente `e:

”3 15 60 180 -1”’

un possibile output del programma `e:

Pos secondo pari:4 Lunghezza seq. : 4 ESERCIZIO 3

Si dice sequenza di multipli una sequenza di interi positivi tali che ogni intero (tranne il primo) sia un multiplo del precedente. La sequenza termina quando l’utente immette un intero che viola la sequenza, cioe’ che e’ negativo o e’ positivo ma non multiplo del precedente. Il carattere che termina la sequenza non e’ considerato appartenere

(2)

alla sequenza. Si legga una sequenza di multipli e si stampi la posizione del secondo intero pari (se esiste) e la lunghezza totale della sequenza.

Si vuole scrivere un programma che chiesto all’utente un carattere alfabetico minuscolo c, legga una sequenza di caratteri e controlli che ogni occorrenza del carattere c sia immediatamente seguita da almeno un carattere alfabe- tico minuscolo. La sequenza termina appena viene trovata un’occorrenza di c che non e’ seguita immediatamente da un carattere minuscolo. Si vuole stampare il numero di occorrenze di c legali cioe’ quelle seguite da almeno un carattere minuscolo.

Ad esempio se c e’ il carattere0a0, e la sequenza e’

A b v a p i a B

il programma deve stampare 1, mentre se la sequenza e’

A b v a a p a B

il programma deve stampare 2, infine con la sequenza A b v a a a B

il programma deve stampare 2.

ESERCIZIO 4

Si scriva un programma che legge una sequenza di interi che formano una cuspide, cioe’ una sequenza non vuota di interi ordinati in maniera strettamente descrescente seguita da una sequenza di interi ordinati in maniera strettamente crescente. La sequenza termina quando la condizione di cuspide e’ violata. Il carattere che termina la sequenza non e’ comunque considerato far parte della cuspide. Il programma deve stampare se e’ stata letta una cuspide o meno e la massima differenza tra i valori degli elementi della cuspide.

ESERCIZIO 5

6 Si scriva un programma che legge una sequenza di caratteri e stampa sequenza corretta se i caratteri letti rap- presentano un importo in euro con 2 cifre decimali corrette, altrimenti stampa sequenza errata. Si assuma come carattere separatore tra parte decimale parte intera il carattere ’,’

Ad esempio se la sequenza in input `e:

1257,50

il programma stampa sequenza corretta Se invece la sequenza in input `e: 23a,20 oppure

12357.1

il programma stampa sequenza errata

ESERCIZIO 6

Scrivere un programma che legga una sequenza di coppie carattere numero, in cui se il carattere `e una lettera maiuscola o minuscola il numero deve essere positivo, se il carattere `e una cifra decimale il numero deve essere 0, altrimenti il numero deve essere negativo. Il programma termina appena una coppia viola la regola sopra esposta, restituendo il numero di coppie lette.

Ad la sequenza ” ’A’ 2 ’9’ 0 ’Z’ 7 ’G’ 8 ’8’ 0 ’;’ -3 ’U’ 0 ” il programma stampa

7

Altro esempio: ricevendo in ingresso la sequenza ” ’a’ 1 ” il programma stampa

0

Riferimenti

Documenti correlati

Ci serviamo di un indice j che scorre tutti i caratteri della stringa nome assegnata in input finché non raggiunge il carattere nullo; ognuno di questi caratteri deve essere

Se il differenziale di immagine è elevato in termini positivi, l'azienda ha a disposizione una risorsa da valorizzare, in termini di mercato, di prezzo, di differenziazione. La

Si scriva un programma C che legge dall’input 2 sequenze binarie (costituita da solo 0 e 1) di 8 caratteri e interpretandole come 2 interi con segno, in base 2, calcola la loro somma

cost = 20; // estero ancora più

cost = 10; // Hawaii più costoso else // NON FUNZIONA. cost = 20; // estero ancora

cost = 20; // estero ancora più

Siano dati in input le informazioni su n libri di una biblioteca creando quattro vettori con il codice del libro, i loro prezzi, il codice della casa editrice e l’anno di

¨  Nell’input di stringhe, la scanf scarta automaticamente i white space iniziali e continua a leggere fino a quando incontra un white space (quindi non si può usare la scanf