Prova di valutazione 2:
Problemi, algoritmi e programmi Java

Questa prova di valutazione consiste nella comprensione e risoluzione di alcuni  problemi, di cui bisogna identificare o progettare degli algoritmi risolutivi ed implementarli in Java.

Lo scopo di questa prova di valutazione è di verificare la capacità di utilizzo dell'ambiente di sviluppo per Java, la comprensione dei concetti elementari della programmazione in Java, la comprensione delle istruzioni di controllo, la comprensione delle modalità di sviluppo e implementazione degli algoritmi.

Nella parte finale del modulo è possibile scrivere eventuali problemi che sono stati riscontrati nello svolgimento di questa prova.


Esercizio 1: Conta i positivi.

Scrivi, compila ed esegui una applicazione ContaPositivi che legge dalla tastiera una sequenza di numeri interi (separati da spazi bianchi e terminati da un carattere, ad esempio una 'X'), calcola e visualizza sullo schermo il numero degli elementi positivi (ovvero, maggiori di zero) della sequenza.

Poi, taglia e incolla il contenuto del file ContaPositivi.java nella seguente casella di testo.


Esercizio 2: Massimo tra dieci numeri interi.

Scrivi, compila ed esegui una applicazione MassimoDieciNumeri che legge dalla tastiera una sequenza di dieci numeri interi (separati da spazi bianchi), calcola e visualizza sullo schermo l'elemento di valore massimo della sequenza.

Per la risoluzione del problema deve essere utilizzato il seguente algoritmo (Algoritmo 5.6 del libro):

  1. leggi il primo elemento della sequenza
  2. assumi il primo elemento della sequenza come massimo provvisorio
  3. per nove volte
    1. leggi il prossimo elemento della sequenza
    2. se l'elemento letto è maggiore del massimo provvisorio, assumi questo elemento come nuovo massimo provvisorio
  4. il massimo provvisorio è l'elemento di valore massimo della sequenza

Poi, taglia e incolla il contenuto del file MassimoDieciNumeri.java nella seguente casella di testo.


Esercizio 3: Massimo tra dieci numeri interi?

Si consideri il seguente procedimento, che legge dalla tastiera una sequenza di dieci numeri interi e calcola un valore X (esercizio 5.3 del libro):

  1. X = 0
  2. per dieci volte
    1. leggi il prossimo elemento (N) della sequenza
    2. se l'elemento letto (N) è maggiore di X, allora X = N 
  3. il risultato è X

Questo procedimento è, in parte, simile a quello mostrato nell'Esercizio 2 (Calcolo del massimo tra dieci numeri interi). Tuttavia, questo procedimento NON calcola il massimo tra dieci numero (in effetti, qualche volta lo calcola e qualche volta no; dunque non lo calcola SEMPRE; in termini algoritmici, questo procedimento NON calcola il massimo tra dieci numeri).

E' utile però capire quando questo procedimento calcola il massimo tra dieci numeri e quando no. Cercare di capire in quali casi questo procedimento riesce effettivamente a calcolare il massimo di una sequenza di dieci numeri (trovando un ESEMPIO, ovvero una sequenza per cui il procedimento calcola il massimo) e invece in quali casi questo procedimento non riesce a calcolare il massimo di una sequenza di dieci numeri (trovando un CONTROESEMPIO, ovvero una sequenza per cui il procedimento NON calcola il massimo)

Poi, scrivi nella seguente casella di testo sia l'esempio che hai trovato (nella forma ESEMPIO: 1 4 ... 22) e, nella riga successiva, il controesempio che hai trovato (nella forma CONTROESEMPIO: ...):


Esercizio 4: Somma dei primi N numeri interi dispari.

Scrivi, compila ed esegui una applicazione SommaNumeriDispari che legge dalla tastiera un numero naturale N e poi calcola e visualizza sullo schermo la somma dei primi N numeri naturali dispari. Ad esempio, per N=4 la somma da calcolare vale 1+3+5+7=16.

Poi, taglia e incolla il contenuto del file SommaNumeriDispari.java nella seguente casella di testo.

Suggerimento: Prima di scrivere l'applicazione, pensa e progetta un algoritmo che risolve il problema descritto. Di quali variabili hai bisogno? Che cosa rappresentano? Come possono essere  gestite? Attenzione, sono possibili più soluzioni.

 


Esercizio 5: Conversione Celsius-Farhenheit.

Scrivi, compila ed esegui una applicazione ConversioneCelsiusFarhenheit che visualizza sullo schermo una tabella di conversione di temperature da gradi Celsius a gradi Fahrenheit, per le temperature in gradi Celsius da 0 a 100 gradi, ogni 5 gradi.

(Si ricorda che TF = TC*1.8+32)

La sue esecuzione dovrà generare una tabella come quella che segue:

Celsius          Fahrenheit
   0.0              32.0
   5.0              41.0
  10.0              50.0
  15.0              59.0
  ....              ....
 100.0             212.0

Attenzione: Lo scopo dell'esercizio è calcolare e visualizzare i valori della tabella. NON è invece uno scopo di questo esercizio fare in modo che la tabella venga visualizzata con i valori incolonnati.
Pertanto, per visualizzare ciascuna riga della tabella, è sufficiente visualizzare il valore della temperatura in gradi Celsius, poi una sequenza di un paio di spazi bianchi ("   ") e poi il valore della temperatura in gradi Fahrenheit.

Poi, taglia e incolla il contenuto del file ConversioneCelsiusFarhenheit.java nella seguente casella di testo.

 


Difficoltà e problemi

Riporta nella seguente casella di testo eventuali difficoltà e problemi riscontrati nello svolgimento di questa prova di valutazione.


Invio della soluzione proposta

Scrivi chi sei nei seguenti campi

Cognome
Nome
Email

Invia il messaggio

Premi il bottone Invia messaggio per inviare il messaggio, oppure il bottone Cancella per cancellare il contenuto del modulo.

Qualche secondo dopo aver premuto Invia messaggio, ti apparirà una pagina che riporta il testo del messaggio inviato.