In questa esercitazione, si utilizzeranno le principali strutture di controllo di Java.
Prima della fine dell'esercitazione, inviare
tutti i file .java
prodotti (anche se incompleti) a rbruni@cli.di.unipi.it come attachment
di un messaggio di posta elettronica con Subject: ES-06.
Esercizi
Per gli esercizi che richiedono di leggere dei dati in input
da tastiera, scaricare la classe Input.java. Un
esempio di uso dei metodi di questa classe è
contenuto nella classe EuroInput.java.
Qualora l'esercizio richieda un qualche tipo di iterazione, CHIARIRE IN UN COMMENTO se si tratta di iterazione determinata oppure indeterminata e motivare l'uso del costrutto impiegato.
|
[2]
Scrivere il programma
Gradini che chiede all'utente un
intero positivo n, e stampa
una scala con n gradini.
Se l'intero letto è minore o uguale a zero si ripete la lettura fino a quando l'utente immette un valore positivo.
Esempio di interazione con il programma (in blu l'input dell'utente):
java Gradini
Gradini: -5
Gradini: 0
Gradini: 3
+-+
|
+-+
|
+-+
|
|
[3]
Ricordate il programma Interesse3? Vediamo come farne una
versione più generale usando le istruzioni iterative.
Scrivere il programma
Interessi che
legge il capitale iniziale, il tasso annuale e gli anni di
giacenza e stampa il prospetto degli interessi maturati e del
capitale accumulato per ogni anno di giacenza.
[4] Scrivere il programma Somma che chiede all'utente una sequenza
di interi conclusa dal valore 0 e stampa la somma e la media di tutti
i valori letti.
[5] Scrivere il programma ContaNumeriCrescenti che chiede
all'utente una sequenza di valori numerici crescenti e ne stampa la lunghezza (la lettura termina quando si immette un valore minore o uguale al suo precedente).
Esempio di interazione con il programma (in blu l'input dell'utente):
java ContaNumeriCrescenti
numero: -12
numero: 0
numero: 3
numero: 8
numero: 6
Hai immesso una sequenza di numeri crescenti lunga 4
|
[6]
Una stringa è detta palindroma se può essere
letta indifferentemente da sinistra verso destra o da destra
verso sinistra (es. "ailatiditalia"). Scrivere
un programma Palindroma che chiede
ripetutamente all'utente di immettere una stringa e stampa un
messaggio per indicare se è palindroma o no. Il
programma termina quando l'utente immette la stringa vuota.
[7]
Usare il programma Palindroma dell'esercizio precedente per stabilire in modo veloce quale dei seguenti file contiene solo stringhe palindrome.
Suggerimento: sfruttare la redirezione dello
standard input e output (lanciando il programma da linea di
comando) e i comandi grep e wc
[8] Scrivere il programma Divisori che chiede all'utente un intero
maggiore di 1 e ne stampa la lista di tutti i divisori. Se l'intero letto è minore o uguale a 1 si ripete la lettura fino a quando l'utente immette un valore accettabile.
|