Anteprima
Vedrai una selezione di 6 pagine su 21
Breve introduzione ai vari cicli - Esercizi di varia difficoltà svolti con commenti Pag. 1 Breve introduzione ai vari cicli - Esercizi di varia difficoltà svolti con commenti Pag. 2
Anteprima di 6 pagg. su 21.
Scarica il documento per vederlo tutto.
Breve introduzione ai vari cicli - Esercizi di varia difficoltà svolti con commenti Pag. 6
Anteprima di 6 pagg. su 21.
Scarica il documento per vederlo tutto.
Breve introduzione ai vari cicli - Esercizi di varia difficoltà svolti con commenti Pag. 11
Anteprima di 6 pagg. su 21.
Scarica il documento per vederlo tutto.
Breve introduzione ai vari cicli - Esercizi di varia difficoltà svolti con commenti Pag. 16
Anteprima di 6 pagg. su 21.
Scarica il documento per vederlo tutto.
Breve introduzione ai vari cicli - Esercizi di varia difficoltà svolti con commenti Pag. 21
1 su 21
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

Se fuori piove, restiamo a casa. Altrimenti, andiamo al cinema.

#include <stdio.h>

int main() {

int pioggia = 1; // 1 = piove, 0 = non piove

if (pioggia) {

printf("Piove. Guardiamo un film a casa.\n");

} else {

printf("Non piove. Andiamo al cinema!\n");

}

return 0;

} if...else if...else

6. Struttura

Si usa quando abbiamo più condizioni da verificare e vogliamo eseguire azioni diverse.

Esempio della vita reale: Pianificare un viaggio in base al budget

Se abbiamo pochi soldi, viaggiamo in autobus. Con un budget medio, usiamo il treno. Con

un budget alto, prenotiamo un aereo.

#include <stdio.h>

int main() {

int budget = 100;

if (budget < 50) {

printf("Viaggeremo in autobus.\n");

} else if (budget < 150) {

printf("Viaggeremo in treno.\n");

} else {

printf("Viaggeremo in aereo.\n");

}

return 0;

}

7. Stampa dei numeri da 1 a 10 for

Descrizione: Scrivi un programma che utilizza un ciclo per stampare i numeri interi da 1

a 10 in ordine crescente.

Svolgimento:

#include <stdio.h>

int main() {

// Ciclo per stampare i numeri da 1 a 10

for (int i = 1; i <= 10; i++) {

printf("%d\n", i); // Stampa il numero corrente

}

return 0;

}

Output:

1

2

3

4

5

6

7

8

9

10

8. Somma dei numeri da 1 a 100 while.

Descrizione: Calcola la somma dei numeri interi da 1 a 100 utilizzando un ciclo

Svolgimento:

#include <stdio.h>

int main() {

int somma = 0; // Variabile per accumulare la somma

int i = 1; // Contatore inizializzato a 1

// Ciclo che continua finché i <= 100

while (i <= 100) {

somma += i; // Aggiungi il valore di i alla somma

i++; // Incrementa il contatore

}

// Stampa la somma calcolata

printf("La somma dei numeri da 1 a 100 è: %d\n", somma);

return 0;

}

Output:

La somma dei numeri da 1 a 100 è: 5050

9. Tabellina di un numero for

Descrizione: Chiedi all'utente un numero e utilizza un ciclo per stampare la tabellina

del numero scelto (da 1 a 10).

Svolgimento:

#include <stdio.h>

int main() {

int numero;

// Chiedi all'utente di inserire un numero

printf("Inserisci un numero per calcolare la sua tabellina: ");

scanf("%d", &numero);

// Ciclo per calcolare e stampare la tabellina

for (int i = 1; i <= 10; i++) {

printf("%d x %d = %d\n", numero, i, numero * i); // Stampa il risultato

}

return 0;

} 5):

Esempio di Output (con input

Inserisci un numero per calcolare la sua tabellina: 5

5x1=5

5 x 2 = 10

5 x 3 = 15

5 x 4 = 20

5 x 5 = 25

5 x 6 = 30

5 x 7 = 35

5 x 8 = 40

5 x 9 = 45

5 x 10 = 50

10. Contare quanti numeri pari ci sono tra 1 e 20

Descrizione: Usa un ciclo per contare e stampare tutti i numeri pari tra 1 e 20.

Svolgimento:

#include <stdio.h>

int main() {

int conteggio = 0; // Variabile per contare i numeri pari

// Ciclo per verificare i numeri da 1 a 20

for (int i = 1; i <= 20; i++) {

if (i % 2 == 0) { // Controlla se il numero è pari

printf("%d è pari\n", i); // Stampa il numero pari

conteggio++; // Incrementa il conteggio

}

}

// Stampa il conteggio totale di numeri pari

printf("Ci sono %d numeri pari tra 1 e 20.\n", conteggio);

return 0;

}

Output:

2 è pari

4 è pari

6 è pari

8 è pari

10 è pari

12 è pari

14 è pari

16 è pari

18 è pari

20 è pari

Ci sono 10 numeri pari tra 1 e 20.

11. Indovina un numero (gioco semplice)

Descrizione: Scrivi un programma che chiede all'utente di indovinare un numero segreto tra

do while

1 e 10. Usa un ciclo per continuare a chiedere finché l'utente non indovina.

Svolgimento:

#include <stdio.h>

int main() {

int numero_segreto = 7; // Numero da indovinare

int tentativo;

// Ciclo per chiedere tentativi finché non viene indovinato

do {

printf("Indovina il numero (tra 1 e 10): ");

scanf("%d", &tentativo);

if (tentativo < numero_segreto) {

printf("Troppo basso! Riprova.\n");

} else if (tentativo > numero_segreto) {

printf("Troppo alto! Riprova.\n");

}

} while (tentativo != numero_segreto);

// Quando il numero è corretto

printf("Complimenti! Hai indovinato il numero.\n");

return 0;

}

Output:

Indovina il numero (tra 1 e 10): 5

Troppo basso! Riprova.

Indovina il numero (tra 1 e 10): 9

Troppo alto! Riprova.

Indovina il numero (tra 1 e 10): 7

Complimenti! Hai indovinato il numero.

12. Stampa della piramide di numeri n

Descrizione: Scrivi un programma che stampa una piramide di numeri con righe. Ogni

riga contiene numeri consecutivi a partire da 1. Chiedi all’utente il numero di righe.

n = 4):

Esempio (con

1

12

123

1234

Svolgimento:

#include <stdio.h>

int main() {

int n;

// Chiedi all'utente il numero di righe

printf("Inserisci il numero di righe per la piramide: ");

scanf("%d", &n);

// Ciclo per ogni riga

for (int i = 1; i <= n; i++) {

// Stampa i numeri da 1 fino a i

for (int j = 1; j <= i; j++) {

printf("%d ", j);

}

printf("\n"); // Vai alla riga successiva

}

return 0;

}

13. Somma delle cifre di un numero

Descrizione: Scrivi un programma che calcola la somma delle cifre di un numero intero

positivo fornito dall'utente.

Esempio: 1234

● Input: La somma delle cifre è: 10

● Output:

Svolgimento:

#include <stdio.h>

int main() {

int numero, somma = 0;

// Chiedi all'utente un numero intero positivo

printf("Inserisci un numero intero positivo: ");

scanf("%d", &numero);

// Ciclo per sommare le cifre

while (numero > 0) {

somma += numero % 10; // Aggiungi l'ultima cifra

numero /= 10; // Rimuovi l'ultima cifra

}

// Stampa la somma delle cifre

printf("La somma delle cifre è: %d\n", somma);

return 0;

}

14. Trova il numero massimo in una sequenza

Descrizione: Chiedi all’utente di inserire una sequenza di numeri. La sequenza termina

0.

quando l’utente inserisce il numero Trova e stampa il numero massimo.

Esempio: 5 12 8 3 0

● Input: Il numero massimo è: 12

● Output:

Svolgimento:

#include <stdio.h>

int main() {

int numero, massimo = -1; // Inizializza il massimo con un valore basso

// Chiedi numeri finché non viene inserito 0

do {

printf("Inserisci un numero (0 per terminare): ");

scanf("%d", &numero);

if (numero > massimo) { // Aggiorna il massimo se il numero è maggiore

massimo = numero;

}

} while (numero != 0);

// Stampa il numero massimo

if (massimo != -1) {

printf("Il numero massimo è: %d\n", massimo);

} else {

printf("Non hai inserito numeri validi.\n");

}

return 0;

}

15. Verifica se un numero è primo

Descrizione: Scrivi un programma che verifica se un numero intero positivo fornito

dall’utente è un numero primo.

Esempio: 7

● Input: 7 è un numero primo.

● Output:

8

● Input: 8 non è un numero primo.

● Output:

Svolgimento:

#include <stdio.h>

int main() {

int numero, is_primo = 1;

// Chiedi all'utente un numero positivo

printf("Inserisci un numero intero positivo: ");

scanf("%d", &numero);

if (numero <= 1) {

is_primo = 0; // I numeri <= 1 non sono primi

} else {

// Controlla se il numero è divisibile per un valore tra 2 e sqrt(numero)

for (int i = 2; i <= numero / 2; i++) {

if (numero % i == 0) {

is_primo = 0; // Il numero non è primo

break;

}

}

}

// Stampa il risultato

if (is_primo) {

printf("%d è un numero primo.\n", numero);

} else {

printf("%d non è un numero primo.\n", numero);

}

return 0;

}

16. Generazione della sequenza di Fibonacci

n

Descrizione: Scrivi un programma che genera i primi numeri della sequenza di Fibonacci.

Chiedi all’utente quanti numeri calcolare.

Esempio: 5

● Input: 0 1 1 2 3

● Output:

Svolgimento:

#include <stdio.h>

int main() {

int n, t1 = 0, t2 = 1, prossimo;

// Chiedi all'utente quanti numeri calcolare

printf("Inserisci il numero di termini della sequenza di Fibonacci: ");

scanf("%d", &n);

printf("Sequenza di Fibonacci: ");

for (int i = 1; i <= n; i++) {

printf("%d ", t1); // Stampa il termine corrente

prossimo = t1 + t2; // Calcola il termine successivo

t1 = t2; // Aggiorna t1

t2 = prossimo; // Aggiorna t2

}

printf("\n");

return 0;

}

Ecco 3 esercizi di livello avanzato, svolti e commentati, con spiegazioni dettagliate.

17. Stampare un rombo di asterischi

Descrizione: Scrivi un programma che stampa un rombo formato da asterischi (*). L'utente

deve fornire l'altezza della metà superiore del rombo.

3):

Esempio (con altezza

*

***

*****

***

*

Svolgimento:

#include <stdio.h>

int main() {

int altezza;

// Chiedi l'altezza del rombo

printf("Inserisci l'altezza della metà superiore del rombo: ");

scanf("%d", &altezza);

// Parte superiore del rombo

for (int i = 1; i <= altezza; i++) {

// Stampa spazi

for (int j = 1; j <= altezza - i; j++) {

printf(" ");

}

// Stampa asterischi

for (int j = 1; j <= 2 * i - 1; j++) {

printf("*");

}

printf("\n"); // Vai alla riga successiva

}

// Parte inferiore del rombo

for (int i = altezza - 1; i >= 1; i--) {

// Stampa spazi

for (int j = 1; j <= altezza - i; j++) {

printf(" ");

}

// Stampa asterischi

for (int j = 1; j <= 2 * i - 1; j++) {

printf("*");

}

printf("\n"); // Vai alla riga successiva

}

return 0;

}

18. Convertire un numero decimale in binario

Descrizione: Scrivi un programma che converte un numero decimale inserito dall'utente in

un numero binario. Usa cicli per costruire il binario in ordine inverso.

Esempio: 13

● Input: Il numero binario è: 1101

● Output:

Svolgimento:

#include <stdio.h>

int main() {

int numero

Dettagli
Publisher
A.A. 2024-2025
21 pagine
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher hasddd32 di informazioni apprese con la frequenza delle lezioni di Elementi di informatica e programmazione e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Brescia o del prof Saetti Alessandro.