ISTRUZIONI CONDIZIONALI E ITERATIVE

  1. Scrivere un programma che calcoli e stampi il prodotto degli interi dispari da 1 a 15.

  2. Scrivere un programma che legge una sequenza di 10 numeri interi arbitrari e stampa il valore minimo. Ripetere l'esercizio utilizzando il comando for al posto del comando while (o viceversa).

  3. Scrivere un programma che calcola e stampa la Tavola Pitagorica.

  4. Scrivere un programma che legge una sequenza di interi non negativi terminata da un numero negativo e stampa il corrispondente istogramma.

    Esempi di esecuzione (input utente in blu):

    Inserire gli interi non negativi:
     8 2 0 5 3 9 4 -1
    
    8 |********
    2 |**
    0 |
    5 |*****
    3 |***
    9 |*********
    4 |****
    


  5. Scrivere un programma che genera un numero intero casuale tra 1 e 100, e chiede all'utente di indovinarlo ripetendo l'inserimento di un numero. Il programma riferisce ad ogni inserimento se il numero inserito è quello giusto, se è maggiore o minore. Il programma termina quando l'utente indovina il numero generato.

    Nota: per generare il numero casuale utilizzare il seguente codice (la variabile numero conterrà un numero casuale tra 1 e 100):

    #include < stdlib.h>
    #include < stdio.h>
    #include < time.h>

    main() {
       int numero;
       srand(time(NULL));
       numero=(rand()%100)+1;
    }

    Esempio di interazione col programma:
    Supponiamo che il numero casuale generato sia 26.

    Indovina il numero:
    10
    Il numero inserito e' minore del numero da indovinare.
    Indovina il numero:
    40
    Il numero inserito e' maggiore del numero da indovinare.
    Indovina il numero:
    30
    Il numero inserito e' maggiore del numero da indovinare.
    Indovina il numero:
    26
    Hai indovinato!!!


  6. Scrivere un programma che:
    • simula una successione di lanci di moneta (Testa o Croce);
    • continua a generare lanci di moneta fino a che la condizione di terminazione è verificata;
    • la condizione di terminazione è la seguente: la sequenza generata contiene almeno 5 esiti uguali consecutivi (es: 5 volte Testa, oppure 5 volte Croce);
    • il programma deve restituire il numero di lanci di moneta che sono stati necessari per verificare la condizione di terminazione


  7. Scrivere un programma che legge un valore di tipo double, uno di tipo char e poi ancora uno di tipo double e infine fa in modo che:
    • se il carattere letto è '+' allora stampa la somma dei due valori numerici;
    • se il carattere è '*' allora stampa il prodotto dei due valori numerici;
    • se è un altro carattere allora stampa il primo valore.

  8. Scrivere un programma che, utilizzando il comando if, assegni un giudizio ad un voto.

    Voto
    Giudizio
    inferiore a 18
    i
    tra 18 e 24
    s
    tra 24 e 27
    b
    tra 27 e 30
    o


  9. Scrivere un programma che chiede all'utente un numero più piccolo di 50 e che determina se è primo oppure no.

  10. Scrivere un programma che chieda all'utente un intero n, e stampi un triangolo isoscele di asterischi, di altezza lunga n e base lunga 2n-1. (Se il valore letto è negativo si consideri il suo valore assoluto).

    Esempio di interazione con il programma (in blu l'input dell'utente):

    Dammi un numero intero: 6
    
         *
        ***
       *****
      *******
     *********
    ***********


  11. (*) Un numero (o una parola) è detto palindromo quando si può leggere allo stesso modo indipendentemente dalla direzione della lettura (da sinistra verso destra oppure da destra verso sinistra). Un esempio di numero palindromo è 47374, mentre una parola palindroma è ad esempio osso.
    Scrivere un programma che legga un valore intero di esattamente 5 cifre e determini se si tratta di un numero palindromo oppure no.

  12. (*) Scrivere un programma che accetta due date in input e che calcola la differenza in giorni tra le date.