Programmazione in C Cicli ed iterazioni Cicli e iterazioni Esercizi proposti 1 Esercizio: “Somma di N valori” Si scriva un programma in linguaggio C per calcolare la somma di un insieme di N numeri inseriti da tastiera. Il programma deve leggere inizialmente il valore di N. In seguito il programma legge gli N numeri e infine ne visualizza la somma. 2 Esercizio: “Somma di un numero di valori indefinito” Si scriva un programma in linguaggio C per calcolare la somma di un insieme di numeri inseriti da tastiera. Il programma deve: • leggere una sequenza di numeri • fermarsi non appena viene inserito il numero 0 • visualizzare il valore corrispondente alla somma dei valori introdotti. 3 Esercizio: “Lettura di numeri con terminazione data dalla somma” Si scriva un programma in linguaggio C che legga da tastiera una serie di numeri interi fino a quando la somma di tutti i numeri introdotti fino a quel momento non supera il valore 1000. A quel punto, il programma stampa il valore del prodotto di tutti i numeri inseriti. 4 Esercizio: “Disequazione” Dato un numero reale positivo Y immesso da tastiera, si scriva un programma in linguaggio C che determini qual è il massimo numero intero positivo X tale per cui sia valida la relazione XX ≤ Y 5 Esercizio: “Numeri in sequenza consecutivi” Si scriva un programma in linguaggio C che determini se, in una sequenza di numeri inseriti da tastiera, vi sono due o più numeri consecutivi uguali. 6 Esercizio: “Metodo di bisezione” Sia data la funzione y = cos(x). Si scriva un programma in linguaggio C in grado di trovare una soluzione all’equazione y = 0, utilizzando il metodo di bisezione. Si considerino i valori iniziali a = 1 e b = 3. c 2006 Politecnico di Torino 1 Programmazione in C 7 Cicli ed iterazioni Esercizio: “Conversione Decimale-Binaria e viceversa” Scrivere un programma in linguaggio C che converta numeri binari in numeri decimali e viceversa a richiesta dell’utente. Nel caso della conversione di un numero binario in decimale, l’utente inserirà i bit, uno per volta partendo dal meno significativo, e il programma visualizzerà il numero decimale corrispondente, aggiornandolo di un bit a ogni inserimeno. L’immisione dei dati termina quando l’utente inserisce un numero diverso da 1 o 0. Nel caso della conversione di un numero decimale in binario, l’utente inserirà un numero intero positivo e il programma visualizzerà i bit che compongono il numero binario partendo dal bit meno significativo. 8 Esercizio: “Serie armonica” La ridotta n-esima della serie armonica è definita come: n Hn = 1 + X1 1 1 1 + + ... + = 2 3 n i i=1 Si scriva un programma in linguaggio C che ripeta i passi seguenti: • legga da tastiera un numero intero n • se esso è minore o uguale a 0 termini l’esecuzione, in caso contrario determini e stampi la somma Hn dei primi n termini della serie. 9 Esercizio: “Numeri triangolari, quadrati e pentagonali ” Realizzare tre programmi in linguaggio C che: 1. leggano da tastiera un numero intero n 2. visualizzino ciascuno una delle seguenti grandezze: • il numero Triangolare Tn , definito come: Tn = 1 + 2 + 3 + . . . + n = n X i i=1 • il numero Quadrato Qn , definito come: Qn = 1 + 3 + 5 + 7 + . . . + (2n − 1) = n X (2i − 1) i=1 • il numero Pentagonale Pn , definito come: Pn = 1 + 4 + 7 + 10 + . . . + (3n − 2) = n X (3i − 2) i=1 c 2006 Politecnico di Torino 2