· Andrea Pollini · informatica · 6 min read

10 Esercizi risolti sugli algoritmi

10 Esercizi risolti sugli algoritmi

10 Esercizi risolti  sugli algoritmi

Risolvere con lo pseudocodice:

Chiedere all’utente di inserire una serie di numeri positivi. Terminare l’inserimento quando viene inserito lo zero e stampare la somma di tutti i numeri inseriti.

Ecco un esempio di pseudocodice per risolvere il problema:

INIZIA
SOMMA = 0
CHIEDI all'utente di inserire un numero positivo
SE lo zero viene inserito, TERMINA
ALTRIMENTO
SOMMA = SOMMA + NUMERO
CHIEDI all'utente di inserire un numero positivo
STAMPA la somma dei numeri inseriti
FINE

Questo pseudocodice utilizza una variabile SOMMA per tenere traccia della somma dei numeri inseriti. Quando l’utente inizia a inserire numeri, il programma verifica se lo zero viene inserito. Se sì, termina l’inserimento e stampa la somma. Se no, aggiunge ogni numero all’SOMMA e chiede di nuovo all’utente di inserire un numero.

Nota che questo è solo uno degli esempi possibili per risolvere il problema e potrebbe essere necessario adattarlo alle specifiche esigenze del tuo progetto.

Chiedere all’utente di inserire una serie di caratteri. Terminare l’inserimento quando viene inserito il punto e stampare il numero di vocali presenti nella stringa.

Ecco un esempio di pseudocodice per risolvere il problema:

INIZIA
VOCI = 0
STRINGA = ""
CHIEDI all'utente di inserire un carattere
SE lo spazio viene inserito, TERMINA
ALTRIMENTO
STRINGA = STRINGA + CARATTERE
SE CARATTERE è una vocale (a, e, i, o, u) AGGIUNGI 1 a VOCI
CHIEDI all'utente di inserire un carattere
STAMPA "Il numero di vocali presenti nella stringa è: " + VOCI
FINE

Questo pseudocodice utilizza due variabili: VOCI per tenere traccia del numero di vocali presenti nella stringa e STRINGA per memorizzare la stringa inserita dall’utente. Quando l’utente inizia a inserire caratteri, il programma verifica se lo spazio viene inserito. Se sì, termina l’inserimento e stampa il numero di vocali presenti nella stringa.

Se invece l’utente inserisce un carattere diverso dallo spazio, il programma aggiunge quel carattere alla stringa e controlla se è una vocale. Se sì, aumenta la variabile VOCI di 1.

Nota che questo codice considera solo le vocali “a”, “e”, “i”, “o” e “u” come vocali. Se si desidera includere anche altre vocali (ad esempio “y”), è necessario aggiornare la condizione SE CARATTERE è una vocale.

Chiedere all’utente di inserire una serie di numeri. Terminare l’inserimento quando vengono inseriti due numeri consecutivi uguali e stampare il valore di questi numeri.

Ecco un esempio di pseudocodice per risolvere il problema:

INIZIA
NUMERO_PRECEDENTE = NULL
NUMERO_CUOCHE = NULL
CHIEDI all'utente di inserire un numero
SE lo zero viene inserito, TERMINA
ALTRIMENTO
NUMERO_CUOCHE = NUMERO_PRECEDENTE
SE NUMERO_CUOCHE è uguale a NUMERO INSERITO, TERMINA
ALTRIMENTO
NUMERO_PRECEDENTE = NUMERO_INSERITO
CHIEDI all'utente di inserire un numero
STAMPA "Il numero consecutivo è: " + NUMERO_CUOCHE
FINE

Questo pseudocodice utilizza due variabili: NUMERO_PRECEDENTE per memorizzare il numero precedente inserito e NUMERO_CUOCHE per memorizzare il numero consecutivo inserito. Quando l’utente inizia a inserire numeri, il programma verifica se lo zero viene inserito. Se sì, termina l’inserimento.

Se invece l’utente inserisce un numero diverso dallo zero, il programma controlla se NUMERO_CUOCHE è uguale a NUMERO_INSERITO. Se sì, significa che sono stati inseriti due numeri consecutivi uguali e il programma termina l’inserimento.

Se invece i numeri non sono consecutivi, il programma aggiorna la variabile NUMERO_PRECEDENTE con il numero attuale e continua a chiedere all’utente di inserire un numero.

Nota che questo codice stampa solo il valore del numero consecutivo quando viene terminato l’inserimento. Se si desidera stampare anche il numero precedente, è necessario aggiornare la condizione SE NUMERO_CUOCHE è uguale a NUMERO_INSERITO.

Esercizi con condizioni

Chiedere all’utente di inserire un numero. Se il numero è pari, calcolare il suo fattoriale; se è dispari, calcolare la sua radice quadrata.

Ecco un esempio di pseudocodice per risolvere il problema:

INIZIA
NUMERO = NULL
CHIEDI all'utente di inserire un numero
SE lo zero viene inserito, TERMINA
ALTRIMENTO
NUMERO = NUMERO INSERITO
CALCOLA FATTORIALE SE NUMERO è PARIE
SE NUMERO % 2 == 0
FATTORIALE = 1
PER I NUMERI DA 2 A NUMERO
FATTORIALE = FATTORIALE * NUMERO
ALTRIMENTO
CALCOLA RADICE QUADRATA
SE NUMERO % 2 == 0
RADICE_QUADRATA = SQRT(NUMERO)
ALTRIMENTO
RADICE_QUADRATA = NULL
STAMPA "Il fattoriale del numero è: " + FATTORIALE (o) "La radice quadrata del numero è: " + RADICE_QUADRATA
FINE

Questo pseudocodice utilizza due variabili: NUMERO per memorizzare il numero inserito dall’utente e FATTORIALE o RADICE_QUADRATA per memorizzare il risultato della funzione di calcolo.

Quando l’utente inizia a inserire un numero, il programma verifica se lo zero viene inserito. Se sì, termina l’inserimento.

Se invece l’utente inserisce un numero diverso dallo zero, il programma controlla se NUMERO è pari o dispari utilizzando la condizione % 2 == 0. Se NUMERO è pari, calcola il suo fattoriale utilizzando una buccia di for loop che moltiplica tutti i numeri da 2 a NUMERO.

Se invece NUMERO è dispari, calcola la sua radice quadrata utilizzando la funzione SQRT. Se la radice quadrata non esiste (ad esempio se NUMERO è negativo), assegna a RADICE_QUADRATA il valore NULL.

Infine, stampa il risultato della funzione di calcolo.

Chiedere all’utente di inserire un anno. Verificare se l’anno è bisestile e stampare il risultato.

Ecco un esempio di pseudocodice per risolvere il problema:

INIZIA
CHIEDI all'utente di inserire un anno
SE lo zero viene inserito, TERMINA
ALTRIMENTO
ANNO = NUMERO INSERITO
VERIFICA SE L'ANNO È BISESTILE
SE (ANNO MOD 4 == 0 E ANNO MOD 100 != 0) O RIMANDE ANNO MOD 400 == 0
STAMPA "L'anno è bisestile"
ALTRIMENTO
STAMPA "L'anno non è bisestile"
FINE

Questo pseudocodice utilizza una sola variabile: ANNO per memorizzare l’anno inserito dall’utente.

Quando l’utente inizia a inserire un anno, il programma verifica se lo zero viene inserito. Se sì, termina l’inserimento.

Se invece l’utente inserisce un anno diverso dallo zero, il programma calcola la condizione di bisestilità utilizzando due condizioni:

  • ANNO MOD 4 == 0 verifica se l’anno è divisibile per 4.
  • ANNO MOD 100 != 0 verifica se l’anno non è un anno centennale (cioè non è divisibile per 100, ma lo è per 400).
  • RIMANDE ANNO MOD 400 == 0 verifica se l’anno è un anno centennale.

Se tutte e tre le condizioni sono soddisfatte, il programma stampa “L’anno è bisestile”. Altrimenti, stampa “L’anno non è bisestile”.

Nota che la regola per determinare se un anno è bisestile è la seguente:

  • Un anno è bisestile se è divisibile per 4, ma non se è un anno centennale (cioè non è divisibile per 100). In questo caso, l’anno è bisestile se è anche divisibile per 400.

Chiedere all’utente di inserire tre numeri. Ordinare i numeri in ordine crescente e stamparli.

Esercizi con cicli

  • Chiedere all’utente di inserire un numero. Stampare tutti i numeri pari da 2 fino al numero inserito.
  • Chiedere all’utente di inserire un numero. Stampare la sequenza di Fibonacci fino all’n-esimo termine.
    Back to Blog

    Related Posts

    View All Posts »
    Cosa é un algoritmo?

    Cosa é un algoritmo?

    La macchina di Turing rappresenta un esempio di modello astratto di una macchina in grado di eseguire programmi.La sua importanza è tale in quanto la Macchina di Turing risulta legata al concetto di complessità e di computazionalità. Vediamone le caratteristiche fondamentali

    Il Pattern DAO (Data Access Object) in Java

    Il Pattern DAO (Data Access Object) in Java

    Il pattern DAO (Data Access Object) è un pattern architetturale che viene spesso utilizzato nelle applicazioni Java per separare la logica di accesso ai dati dal resto dell'applicazione.

    Esercizi sulle matrici in C++

    Esercizi sulle matrici in C++

    Una raccolta di esercizi sulle matrici in C++ per aiutarti a consolidare le tue conoscenze e a prepararti per gli esami di informatica.

    Aspetto intensionale ed estensionale dei dati

    Aspetto intensionale ed estensionale dei dati

    Gli aspetti estensionale e intensionale dei dati sono due concetti fondamentali in informatica. La comprensione della differenza tra questi due concetti è essenziale per comprendere il funzionamento dei sistemi informativi.

    La logica binaria: Fondamento dell'era digitale

    La logica binaria: Fondamento dell'era digitale

    In questo articolo, esploreremo la logica binaria, il suo ruolo cruciale nel funzionamento dei computer e come viene utilizzata per rappresentare informazioni complesse attraverso l'uso di due soli simboli.

    Esercizi sulle funzioni in C++

    Esercizi sulle funzioni in C++

    Una raccolta di esercizi sulle funzioni in C++ che includono l'uso di std::vector e std::array con il passaggio per riferimento.

    La rappresentazione dei dati attraverso la logica binaria

    La rappresentazione dei dati attraverso la logica binaria

    La rappresentazione dei dati è un concetto fondamentale nell'ambito dell'informatica e delle scienze computazionali. In particolare, l'utilizzo della logica binaria è essenziale per la codifica e l'elaborazione dei dati all'interno dei sistemi informatici moderni. In questo articolo, esploreremo in dettaglio la logica binaria e come viene utilizzata per rappresentare informazioni complesse attraverso l'uso di due soli valori 0 e 1.