Esercizi

Si svolgano i seguenti esercizi. Potete usare o l'istruzione while o, se vi sembra il caso, l'istruzione for. L'unica eccezione è l'esercizio 4 che richiede espressamente l'uso dell'istruzione for.

Esercizio 1

Scrivere un  programma che accetta in input una serie di numeri interi (fermandosi appena l'utente inserisce un numero negativo), e alla fine visualizza quanti di questi erano pari. Ad esempio, una possibile interazione con il programma può essere la seguente (in grassetto ciò che è immesso dall'utente):

Inserisci un numero: 10
Inserisci un numero: 5
Inserisci un numero: 4
Inserisci un numero: -8
Ha inserito 2 numeri pari

Esercizio 2

Scrivere un programma che prende in input una sequenza di numeri interi (fermandosi appena l'utente inserisce un numero negativo). Alla fine dell'inserimento il programma informa l'utente se è mai successo che lo stesso numero è stato inserito due volte di fila oppure no. Ad esempio, una possibile interazione con il programma può essere la seguente (in grassetto ciò che è immesso dall'utente):

Inserisci un numero: 4
Inserisci un numero: 3
Inserisci un numero: 3
Inserisci un numero: 7
Inserisci un numero: -1
Ci sono duplicati consecutivi

Esercizio 3

Scrivere un programma, utilizzando l'istruzione for, che prende in input un numero intero n e visualizza la seguente figura realizzata con gli asterischi:

*
**
***
****
***
**
*

Il picco centrale deve avere n asterischi (qui in figura si suppone l'utente abbia inserito il numero 4). 

Suggerimento: Si tratta esattamente dello stesso problema dell'Esercizio 4 della lezione "Esercizi sull'istruzione while", ma da svolgere usando il ciclo for invece del while.

Esercizio 4

Scrivere un programma che accetta in input una stringa, e determina se la stringa è palindroma, stampando un messaggio appropriato. Una stringa si dice palindroma se non cambia quando letta da sinistra a destra o da destra a sinistra. Ad esemmpio, osso e anna sono due stringhe palindrome. Nelle stringhe palindrome, il primo carattere è uguale all'ultimo, il secondo al penultimo è così via.

Suggerimento: si tratta di una istanza del problema in cui bisogna ricordare se un certo evento si è verificato tutte le volte. Qui l'evento è il fatto che un carattere sia uguale a quello nella posizione opposta.

Esercizio 5

Scrivere un programma che presenta una finestra grafica come la seguente. Ogni volta che si preme il pulsante del mouse sulla finestra (tranne che nel pulsante Esci in basso) il programma traccia una linea dal punto precedente a quello su cui si è cliccato. Quando si clicca sul pulsante Esci il programma termina.

Questo è un esempio di come potrebbe apparire la finestra del programma dopo 6 click:

Esercizio 6

Scrivere un programma che accetta in input una sequenza di numeri interi, sia positivi che negativi. L'input si interrompe non appena l'utente preme Invio senza inserire alcun numero. Quindi il programma stampa la somma dei numeri inseriti. Ad esempio, una possibile interazione con il programma può essere la seguente (in grassetto ciò che è immesso dall'utente):

Inserisci un numero: 10
Inserisci un numero: 5
Inserisci un numero: 5
Inserisci un numero:
La somma dei numeri inseriti è 20.

Esercizio 7

Modificare il programma dell'esercizio 6 in modo che, invece di visualizzare la somma dei numeri immessi, visualizzi il massimo. Attenzione, il programma deve funzionare anche se tutti i numeri in ingresso sono negativi. Fai due versioni di questo programma:

  1. nella prima versione, puoi assumere che l'utente immette sicuramente almeno un numero;
  2. nella seconda versione devi considerare il fatto che l'utente potrebbe non immettere nessun valore. Quando questo succede, bisogna visualizzare un messaggio d'errore del tipo "Non hai inserito nessun numero".
Last modified: Sunday, 10 November 2024, 5:21 PM