Esercizi su semplici programmi in Java
Questa sezione contiene i principali esercizi svolti a lezione, o assegnati per lo svolgimento a
casa, o in laboratorio.
L'elenco sarà aggiornato sulla base delle esigenze didattiche e/o delle
osservazioni/considerazioni
che
emergeranno durante l'interazione con gli allievi.
Nota:
Attenzione, la
numerazione degli esercizi non è definitiva e può cambiare nel tempo, man mano che vengono
inseriti nuovi esercizi, o riorganizzati quelli esistenti.
Fare riferimento al titolo per
individuare, nel tempo, esercizi specifici.
Realizzare un programma in Java che visualizzi il messaggio "Ciao mondo!"
Soluzione
2) Ciao mondo dalla classe ...
Realizzare un programma in Java che chieda all'utente di inserire il nome di una classe della
scuola
ed
il numero del giorno corrente e visualizzi i messaggi "Ciao mondo dalla classe ..." e "Oggi è il
giorno ..."
Esempio
Classe inserita: 3AI
Giorno inserito: 10
Output:
Ciao mondo dalla classe 3AI
Oggi è il giorno 10
Soluzione
Variante con l'utilizzo della classe Scanner.
Soluzione
Realizzare un programma in Java che chieda all'utente di inserire il proprio nome e,
successivamente,
la sua età e stampi un messaggio di saluto con la frase indicata negli esempio che segue, in cui
si specifica anche se l'utente è maggiorenne o minorenne."
Esempio 1
Come ti chiami? Paolo
Quanti anni hai Paolo? 25
Output:
Ciao Paolo, hai 25 anni e sei maggiorenne
Esempio 2
Come ti chiami? Paolo
Quanti anni hai Paolo? 16
Output:
Ciao Paolo, hai 16 anni e sei minorenne
Soluzione
Realizzare un programma in Java che chieda all'utente di inserire un numero intero e stampi un
messaggio per indicare se il numero inserito è pari o dispari."
Esempio 1
Inserisci un numero intero: 12
Output:
Il numero inserito è pari
Esempio 2
Inserisci un numero intero: 19
Output:
Il numero inserito è dispari
Soluzione
5) Maggiore tra due numeri
Realizzare un programma in Java che chieda all'utente di inserire due numeri interi e stampi un
messaggio per indicare il maggiore dei due numeri inseriti. Ignorare il caso in cui i numeri
inseriti fossero uguali, in tal caso stampare uno dei due."
Esempio 1
Inserisci un numero intero: 12
Inserisci un altro numero intero: 24
Output:
Il maggiore dei due numeri inseriti è 24
Soluzione
6) Maggiore tra tre numeri
Realizzare un programma in Java che chieda all'utente di inserire tre numeri interi e stampi un
messaggio per indicare il maggiore dei numeri inseriti. Ignorare il caso in cui i numeri
inseriti fossero uguali, in tal caso stampare uno qualsiasi dei valori inseriti."
Esempio 1
Inserisci il primo numero intero: 12
Inserisci il secondo numero intero: 24
Inserisci il terzo numero intero: 50
Output:
Il maggiore dei numeri inseriti è 50
Soluzione
Realizzare un programma Java che chieda all'utente di inserire due nomi di due persone con le
rispettive età, come mostrato negli
esempi che seguono, e stampi un messaggio con il nome del più grande oppure indicante che le due
persone hanno la stessa età. Per il testo dei messaggi da stampare fare riferimento agli esempi
che seguono.
Esempio 1
Inserisci il primo nome: Marco
Inserisci l'età di Marco: 18
Inserisci il secondo nome: Mario
Inserisci l'età di Mario: 25
Output:
Il più grande tra Marco e Mario è Marco
Esempio 2
Inserisci il primo nome: Marco
Inserisci l'età di Marco: 18
Inserisci il secondo nome: Mario
Inserisci l'età di Mario: 18
Output:
Marco e Mario hanno entrambi 18 anni
Realizzare un programma Java che chieda all'utente di inserire tre numeri interi che
rappresentano le misure dei lati di un triangolo.
I valori inseriti sono validi se sono tutti positivi (>0) e se la somma di tutte le possibili
coppie di valori è maggiore del terzo valore.
Se i valori non sono validi stampare un messaggio di errore e terminare, altrimenti determinare
il tipo di triangolo rappresentato dai valori inseriti dall'utente (equilatero, isoscele,
scaleno).
Si possono utilizzare sia condizioni annidate che condizioni composte utilizzando operatori
booleani
(and &&, or ||).
Esempio 1
Inserire il primo valore: 10
Inserire il secondo valore: 15
Inserire il terzo valore: 8
Output: Il triangolo di lati 10, 15 e 8 è scaleno.
Esempio 2
Inserire il primo valore: 10
Inserire il secondo valore: 10
Inserire il terzo valore: 8
Output: Il triangolo di lati 10, 10 e 8 è isoscele.
Esempio 3
Inserire il primo valore: 10
Inserire il secondo valore: 10
Inserire il terzo valore: 10
Output: Il triangolo di lati 10, 10 e 10 è equilatero.
Esempio 4
Inserire il primo valore: -3
Inserire il secondo valore: 10
Inserire il terzo valore: 8
Output: I valori inseriti non sono validi come misure dei lati di un triangolo.
9) Posizione reciproca di due rette nel piano
Realizzare un programma Java che chieda all'utente di inserire i valori m e q, rappresentanti i
coefficienti angolari e le quote di due rette del piano cartesiano e stampi la posizione
reciproca delle rette, come indicato negli esempi che seguono:
Esempio 1
Posizione reciproca di due rette nel piano cartesiano.
Inserire il coefficiente angolare della prima retta: 3
Inserire la quota della prima retta: 5
Inserire il coefficiente angolare della seconda retta: 3
Inserire la quota della seconda retta: 5
Output: Le due rette di equazione y = 3x + 5 sono coincidenti
Esempio 2
Posizione reciproca di due rette nel piano cartesiano.
Inserire il coefficiente angolare della prima retta: 3
Inserire la quota della prima retta: 7
Inserire il coefficiente angolare della seconda retta: 3
Inserire la quota della seconda retta: -1
Output: Le due rette di equazione y = 3x + 7 e y = 3x - 1 sono parallele
Esempio 3
Posizione reciproca di due rette nel piano cartesiano.
Inserire il coefficiente angolare della prima retta: 2
Inserire la quota della prima retta: 7
Inserire il coefficiente angolare della seconda retta: -0.5
Inserire la quota della seconda retta: -1
Output: Le due rette di equazione y = 2x + 7 e y = -0.5x - 1 sono perpendicolari
Esempio 4
Posizione reciproca di due rette nel piano cartesiano.
Inserire il coefficiente angolare della prima retta: 2
Inserire la quota della prima retta: 7
Inserire il coefficiente angolare della seconda retta: -3
Inserire la quota della seconda retta: -1
Output: Le due rette di equazione y = 2x + 7 e y = -3x - 1 sono incidenti
Realizzare un programma Java che chieda all'utente di inserire il nome, il peso e l'altezza e,
dopo aver calcolato l'indice di massa corporeo (IMC), dica se l'utente è di peso normale,
sottopeso,
sovrappeso o obeso.
Se i valori peso e/o altezza non fossero positivi (> 0) il programma deve stampare un messaggio
di dati non validi e terminare, altrimenti deve calcolare l'indice di massa corporeo utilizzando
la formula
IMC = peso / (altezza2).
Successivamente, deve stampare una frase con la struttura seguente:
Ciao (nome), sei alto (altezza) metri, pesi (peso) kg e sei
(normale/sottopeso/sovrappeso/obeso).
sostituendo, al posto delle parentesi, i valori delle informazioni indicate tra le stesse,
secondo la tabella che segue:
- se IMC < 18.5 allora sottopeso
- se IMC >= 18.5 e < 24.9 allora peso normale
-
se IMC >= 24.9 e < 30 allora sovrappeso
- altrimenti obeso
Soluzione
11) Calcolo ipotenusa e perimetro di un
triangolo
rettangolo
Il perimetro di un triangolo rettangolo è dato dalla somma dei due cateti e dell'ipotenusa.
Scrivere un programma un Java che chieda all'utente di inserire le lunghezze dei due cateti,
controlli
che siano valide, ossia maggiori di zero ed in tal caso calcoli la lunghezza dell'ipotenusa e
successivamente determini e stampi il perimetro del triangolo.
Nel caso in cui le misure dei
cateti
non fossero valide, stampare semplicemente un messaggio di dati inseriti non validi e
terminare.
N.B.: teorema di Pitagora: ipotenusa = √(cateto12 +cateto22)
Soluzione
12) Tabellina di un numero n compreso tra 1 e 10
Realizzare un programma in Java che chieda all'utente di inserire un numero intero compreso tra 1
e
10 e
visualizzi la tabellina del numero stesso come indicato nell'esempio che segue.
Nel caso in cui il numero inserito dall'utente non sia compreso nell'intervallo richiesto,
visualizzi un
messaggio di numero non valido ne e chieda nuovamente l'inserimento.
Esempio:
numero inserito = 5
Output:
5 10 15 20 25 30 35 40 45 50
Nota: la tabellina deve essere stampata su una riga, con due
caratteri di
spazio tra un numero ed il suo successivo.
Soluzione
13) Numeri casuali tra 50 e 100
Realizzare un programma in Java che stampi 10 numeri casuali compresi tra 50 e 100 (estremi
inclusi).
Esempio:
65 50 55 78 90 82 77 61 100 94
14) Numeri casuali pari tra 20 e 100
Realizzare un programma in Java che stampi 10 numeri casuali pari compresi tra 20 e 100 (estremi
inclusi).
Esempio:
24 36 68 44 20 98 100 80 66 52
15) Numeri casuali dispari tra 20 e 100
Realizzare un programma in Java che stampi 10 numeri casuali pari compresi tra 20 e 100.
Esempio:
25 37 69 45 21 99 77 81 67 53
Realizzare un programma in Java che stampi la tavola pitagorica così come illustrato nell'esempio
che segue.
Esempio:
1 2 3 4 5 6 7 8 9 10
2 4 6 8 10 12 14 16 18 20
3 6 9 12 15 18 21 24 27 30
4 8 12 16 20 24 28 32 36 40
5 10 15 20 25 30 35 40 45 50
6 12 18 24 30 36 42 48 54 60
7 14 21 28 35 42 49 56 63 70
8 16 24 32 36 48 56 64 72 80
9 18 27 36 45 54 63 72 81 90
10 20 30 40 50 60 70 80 90 100
Suggerimento: per ottenere la spaziatura dell'esempio, pensare
all'utilizzo della funzione di stampa con formattazione
Soluzione
Variante del programma che utilizza un solo ciclo
Soluzione