Data: 2023/03/16

Tags: C, esercizi, lezione 2, controllo dell'esecuzione (if, switch, cicli), array, funzioni

Riassunto

Soluzioni degli esercizi assegnati durante la lezione 2, tenuta il 14 Marzo 2023.

Soluzioni

Esercizio 1

Scrivere un programma che legga un intero positivo n dalla tastiera e faccia la somma dei primi n interi usando un ciclo for (es. [Input] 5 [Output] 15).

Esercizio 2

Riprodurre Esercizio 1 utilizzando un ciclo while.

Esercizio 3

Riprodurre Esercizio 1 sostituendo il ciclo for con una o più istruzioni goto (hint: implementare l’istruzione di inizializzazione, l’espressione condizionale, e l’istruzione di iterazione esplicitamente).

Esercizio 4

Scrivere un programma che chieda all’utente un intero positivo e restituisca 0 se è un numero di Harshad o, alternativamente, 1 se non lo è (hint: utilizzare un ciclo while; l’ultima cifra di un qualsiasi numero intero in base 10 è il resto della divisione intera per 10; es. [Input] 30 [Output] 0; [Input] 11 [Output] 1).

Esercizio 5

Scrivere un programma che chieda all’utente un intero positivo n > 2, crei un array di dimensione n; scrivere una funzione che riempia l’array con i primi n numeri della successione di Fibonacci (es. [Input] 5 [Output] 0, 1, 1, 2, 3; [Input] 2 [Output] errore).

Esercizio 6

Scrivere un programma che chieda all’utente un intero n e lo usi per inizializzare il crivello dei numeri fortunati; scrivere una funzione che esegua il crivello fino alla condizione di terminazione (hint: utilizzare un array per mantenere in memoria i candidati a numeri fortunati; sostituire i numeri eliminati con 0; [Input] 15 [Output] 1 3 7 9 13 15).

Esercizio 7

Riprodurre Esercizio 6 implementando una funzione specifica per l’eliminazione dell’x-esimo numero ed invocandola tramite il suo puntatore nella funzione del crivello dei numeri fortunati.