ITERAZIONI o CICLI
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
Scrivere un programma che permetta di visualizzare i primi N numeri naturali.
Fare la somma dei primi N numeri naturali.
Calcolare il fattoriale di un numero (Es. 5! = 5*4*3*2*1).
Calcolare la media di N numeri inseriti da tastiera.
Calcolare la somma di tutti i numeri dispari compresi tra 1 e N.
Visualizzare tutti i numeri multipli di X (Es.7) compresi tra 1 a 100.
Scrivere un programma che visualizzi in una lista per ogni numero intero compreso tra 1 e 10 il quadrato, il cubo e
la radice quadrata.
Scrivere un programma che legga due numeri interi A, B (con A più piccolo di B) e visualizzi la somma e il
prodotto di tutti i numeri compresi nell'intervallo A..B.
Sommare i primi numeri naturali fino a ottenere un numero maggiore o uguale di un valore prefissato e dire quanti
valori è stato necessario sommare.
Inserire da tastiera una serie di numeri interi. Individuare il numero più grande.
Fare la somma dei numeri naturali compresi tra N e 100.
Dato un valore N, calcolare la differenza tra la somma dei numeri pari e dei numeri dispari inferiori o uguali a N.
Inserire, con una input box, N numeri (positivi e negativi) e dire quanti sono i positivi e quanti sono i negativi.
Comunicare inoltre la somma dei positivi e la somma dei negativi.
Una squadra gioca in campionato N partite. Se vince guadagna 3 punti, se pareggia 1 punto, se perde nessun punto.
Dato il risultato di ogni partita, si deve calcolare il punteggio ottenuto dalla squadra alla fine del campionato
Dati N studenti, contare quelli che studiano inglese e quelli che studiano francese. Alla fine si vuol conoscere il
risultato del conteggio e le percentuali degli studenti sul totale.
Fare un programma che visualizza la media dei prezzi di N libri, il libro più caro e quello più economico.
Data una sequenza di numeri interi determinare il valore massimo e quello minimo(usare le variabili Max, Min).
Date le generalità di N alunni, individuare il più giovane e il meno giovane.
Dati N concorrenti con i relativi tempi impiegati per portare a termine una gara, visualizzare il nome del vincitore.
Alla fine dell’anno vengono esaminati i risultati scolastici studente per studente. Si contino i bocciati, i promossi e
quelli con giudizio sospeso, e si calcoli le percentuali dei bocciati e dei promossi sul totale.
Dopo che il calcolatore ha scelto un numero, indovinare tale numero, emettendo volta per volta un messaggio che
avvisa se il numero è più grande o più piccolo di quello scelto dal computer. Quando si riesce finalmente ad
indovinare tale numero visualizzare il numero di tentativi fatti per riuscire ad indovinare il numero.
Si suppone di effettuare un’indagine statistica all’uscita di un cinema. Chiedendo l’età ai vari spettatori, si vuole
stabilire l’età media distinta per maschi e per femmine.
Per N città italiane vengono registrate le temperature di una giornata prese alla stessa ora. Visualizzare il nome
della città più fredda e il nome della città più calda con la relativa temperatura.
Rifare l’esercizio di cui sopra, ipotizzando di non conoscere N, ma ipotizzando un ciclo che termina quando
l’utente risponde negativamente alla domanda “Vuoi continuare?”.
Dati i voti di un dato alunno calcolarne la media e attribuirne il credito scolastico se promosso. Visualizzare in una
etichetta l’esito (PROMOSSO, NON PROMOSSO O GIUDIZIO SOSPESO). Un alunno risulta bocciato se la
media è inferiore a 6, risulta con giudizio sospeso se ha almeno una insufficienza. Se la media è uguale a 6 il credito
è di 4 punti; se la media è compresa tra 6,1 e 7 il credito è di 5 punti; se la media è compresa tra 7,1 e 8 il credito è
di 6 punti, se la media è maggiore di 8 il credito è di 8 punti.
Determinare il prodotto di due numeri naturali utilizzando solamente l’operazione di addizione.
La tassa sulla raccolta dei rifiuti urbani in un Comuni viene calcolata rispetto alle dimensioni dell’appartamento
espresse in metri quadri, in ragione di 0,75 € per ogni mq. Sull’importo calcolato viene applicata una addizionale
del 5,50% che rappresenta l’importo che ciascun proprietario deve pagare. A tale importo viene aggiunta una cifra
fissa di 15,00 €. Si vuole ottenere la visualizzazione dell’importo totale relativo a N appartamenti.
Calcolare la media dei voti degli alunni di una classe per N materie. Calcolare inoltre la media complessiva di tutti
gli alunni esaminati e visualizzare il numero degli alunni esaminati
29. Calcolare gli importi totale di N fatture, dopo aver inserito l’imponibile e l’aliquota I.V.A. Visualizzare l’importo
fatturato complessivamente, l’ammontare complessivo dell’IVA , l’importo Medio fatturato, dati della fattura con il
più alto importo.
30. Scrivere l’algoritmo che produce in output la seguente sequenza, fino ad ottenere N valori: 0, 1, 4, 9, 16, 25, 36, 49.
31. Scrivere l’algoritmo che produce in output la seguente sequenza, fino ad ottenere N valori: 1, 2, 4, 8, 16, 32, 64,
128, 256, ……ecc…..
32. Trovare le coppie di numeri il cui prodotto è pari a un numero dato.
33. Determinare il quoziente e il resto di due numeri naturali utilizzando solamente l’operazione di sottrazione.
34. Dato in input un numero intero positivo, fornire in output il più grande numero naturale per cui esso è divisibile.
35. Calcolare il mcm tra 2 numeri procedendo nel seguente modo: confrontare i due valori. Sommare al valore più
piccolo, se stesso. Confrontare la somma ottenuta con l'altro valore, sommando al valore più piccolo, se stesso.
Sommare alla somma più piccola il valore di se stesso finché diventano uguali le due somme.
36. Calcolare il Massimo Comune Divisore (MCD) di due numeri, procedendo nel seguente modo:dividere entrambi i
numeri per uno stesso valore (incrementato di volta in volta con un ciclo) finché troviamo un divisore comune.
37. Calcolare il Massimo Comune Divisore (MCD) di due numeri A e B dove A e maggiore di B, utilizzando
l’Algoritmo di Euclide e procedendo nel seguente modo:dividere A(dividendo) per B (divisore), trovare il resto R.
Dividere B(che diventa Dividendo) per R (che diventa divisore) e trovare il nuovo Resto, e così via.
38. Verificare se un dato numero è primo oppure no (Un numero è primo se è divisibile solo per se stesso e per uno)
39. Scrivere un programma che riceve 4 numeri interi N1,D1,N2,D2 e restituisce una coppia di interi N3,D3, tale che
N3/D3=N1/D1+N2/D2.
40. Calcolare il quadrato dei primi N numeri naturali, utilizzando la seguente regola: il quadrato di un Numero X
diverso da zero è uguale alla somma dei primi X numeri dispari. (Es: il quadrato di 5 è dato da 1+3+5+7+9=25)
41. Determinare il valore di Be (B sta per base, e sta per esponente) utilizzando moltiplicazioni successive.
42. Leggere un numero da tastiera compreso tra 1 e 99 e visualizzare il corrispondente numero romano (Es. 43 diventa
XLIII)
43. Leggere in input un numero intero. Effettuare il ribaltamento dello stesso: Es. 25698 diventa 89652. N.B Utilizzare
il metodo della divisione del numero per 10 e riportare di volta in volta il resto
44. Scrivere il programma che stampi i primi 25 numeri della sequenza di Fibonacci: (1 1 2 3 5 8 13 21 34 55 …)
45. Mettere a punto un’applicazione che simuli 10.000 lanci di dado(o moneta) e visualizzi, ogni 1.000 lanci effettuati,
il numero di volte in cui è comparsa ogni faccia.
46. Visualizzare un elenco di numeri amicabili o amici. Sono numeri amici quelli per cui la somma dei divisori
propri di uno è uguale all'altro e viceversa. Un esempio classico è dato dalla coppia 220 e 284. I due numeri sono
amicabili in quanto 220 è divisibile per 1, 2, 4, 5, 10, 11, 20, 22, 44, 55 e 110 e la loro somma risulta 284; 284 è
divisibile per 1, 2, 4, 71, 142 che sommati tra loro restituiscono proprio 220. Altri numeri amicabili sono ad
esempio le coppie 1184 e 1210, 2620 e 2924, 5020 e 5564, 17296 e 18416. Se un numero è amicabile di sé stesso,
cioè se la somma dei suoi divisori è uguale a sé stesso (come il numero 28), è chiamato numero perfetto.
47. In una gara di tuffi ognuno dei 7 giudici di gara attribuisce al concorrente un punteggio da 1 a 10; il punteggio
finale viene ottenuto calcolando la media, dopo aver scartato il valore più alto e il più basso dei punteggi ottenuti.
Scrivere il programma che per un certo numero di concorrenti riceva in input il nome e i punteggi e visualizzi il
punteggio di ciascun concorrente e ne determini il vincitore.
48. Creare una Lista di termini inglesi; quando l’utente seleziona una voce della Lista, viene presentata in una la
corrispondente parola in italiano.
49. Creare una lista che permetta di scegliere tra diversi tipi di pagamento: “contanti”, “Carta di credito”, “Assegno”.
Sull’importo da pagare viene applicato uno sconto diverso secondo la tabella seguente: Contanti 10% - Carta di
Credito 7% - Assegno 5%
50. Convertire in combinazione esadecimale i valori decimali e viceversa.
Inserite un valore RGB o esadecimale e premete il pulsante appropriato per convertire
rosso:
255
verde:
255
blu:
255
Valore esadecimale del colore
#FFFFFF
CALENDARIO PERPETUO:
Scrivere un programma che, inserita una data in forma numerica, restituisca il giorno di quella data
in forma letterale. Il programma leggerà il giorno, il mese e l'anno della data, verificherà la sua
validità e se la data inserita è valida calcolerà la distanza in giorni tra la data inserita e l'1 gennaio
1901. Dopodiché questa data verrà divisa per 7 e il resto darà il giorno della data inserita, tenendo
conto che se si ottiene resto 0 il giorno sarà uguale a quello del 1° gennaio 1901 (martedi) , se si
ottiene resto 1 il giorno sarà mercoledì e così via.
Esercizio x: La corsa delle macchine
Voglio creare una corsa tra due macchine:
Le auto partono insieme su una strada dritta, e si muovono, sempre in rettilineo, verso un traguardo. La prima
auto che arriva al traguardo vince, e lo proclama. N.B. Il movimento in avanti di ciascuna auto deve essere
casuale, in modo da rendere più avvincente la gara.
1)
2)
3)
4)
5)
6)
Inserire uno sfondo adeguato: disegnarlo da zero oppure partire da uno sfondo esistente e modificarlo
Inizialmente devo mettere le auto sulla linea di partenza
Al via, le auto si muovono verso il traguardo. L'avanzamento di ogni auto deve essere casuale
Quando un'auto raggiunge il traguardo dichiara di aver vinto. L'altra auto si ferma dove si trova.
Dopo ogni passo devo controllare di aver raggiunto il traguardo (condizione)
La prima auto che arriva al traguardo ferma il programma (ferma programma)
Altre opzioni
Ripetiamo tutta la gara per [N-dispari] volte, tenendo conto di quante volte vince la prima auto e quante volte
la seconda.
Facciamo una scommessa prima della gara.