Nuova modalità per la prova pratica dell'esame
di Fondamenti di informatica (per Ingegneria elettronica)
in vigore dal 1 gennaio 2010

Premessa

A seguito del rinnovamento del Laboratorio Campus è necessario modificare la modalità della prova pratica dell'esame di Fondamenti di informatica (per Ingegneria Elettronica). La nuova modalità d'esame è in vigore dal 1 gennaio 2010 ed è descritta nel seguito di questo documento, mentre questa premessa ne illustra brevemente il contesto e le motivazioni.

Il rinnovamento del laboratorio Campus è avvenuto nel mese di agosto 2009. Il rinnovamento è consistito nella sostituzione di tutti i calcolatori, nonché del software installato sui vari calcolatori. La scelta del software installato è stata guidata anche da criteri di innovazione e semplificazione della gestione dei calcolatori.


Nuova modalità d'esame

Gli argomenti "teorici" della prova pratica dell'esame di Fondamenti di informatica sono ovviamente rimasti immutati.

Cambia invece la modalità "pratica" dello svolgimento della stessa. I cambiamenti sono sostanzialmente due, e saranno descritti meglio nel resto del documento:

  1. uso di Eclipse al posto di TextPad
  2. lettura dalla tastiera mediante la classe Scanner (delle API di Java) al posto dell'oggetto Lettore.in (del package fiji)

Questa nuova modalità d'esame entra in vigore il 1 gennaio 2010. Si applica a tutti gli studenti, sia dell'ordinamento 509 che 270. Si applica anche agli studenti che hanno frequentato il corso negli anni passati.


Uso di Eclipse al posto di TextPad

TextPad è sostanzialmente un editor per Windows, con la possibilità di editare (ma anche compilare ed eseguire) dei semplici programmi Java.

Viceversa, Eclipse è un ambiente di sviluppo effettivo per Java, disponibile su sostanzialmente tutte le piattaforme hardware/software.

L'uso di Eclipse è leggermente più complicato di quello di TextPad. Tuttavia, una sessione di uso di Eclipse dovrebbe essere sufficiente ad apprenderne le basi per l'utilizzo, nonché ad intravederne alcuni dei vantaggi. L'uso di Eclipse richiesto ai fini del corso è descritto in questa dispensa. Come è possibile vedere, la definizione di un'applicazione richiede anche la definizione di un workspace (una cartella su disco) e di un progetto (un Java Project, essenzialmente un contenitore di classi Java).

La nuova modalità d'esame è basata sull'uso di Eclipse. (Si noti che in sede d'esame non è data nessuna garanzia della disponibilità di TextPad o di una sua corretta configurazione nel calcolatore in uso.)

In pratica: Nelle proprie esercitazioni in laboratorio è possibile usare come workspace una cartella su una propria pennetta USB. Durante l'esame, è possibile usare come workspace quello proposto per default da Eclipse.


Lettura dalla tastiera

Il libro di testo fa riferimento all'oggetto Lettore.in per la lettura dalla tastiera. L'oggetto Lettore.in è parte del package fiji, che richiede un'installazione e configurazione apposita.

Viceversa, la più recente API di Java offre una classe di supporto che può essere utilizzata per la lettura dalla tastiera. A differenza di Lettore.in, non richiede nessuna installazione e configurazione apposita.

L'uso della classe Scanner richiesto ai fini del corso è descritto in questa dispensa.

Si noti che la classe Scanner offre funzionalità simili (ma non identiche) a quelle di Lettore.in. Una differenza principale riguarda la possibilità di leggere una sequenza di dati separati da spazi e disposti su una singola linea. Questo può essere fatto in modo semplice con Lettore.in, e può essere fatto anche con Scanner, ma in modo meno semplice. Viceversa, con Scanner è possibile in modo semplice leggere una sequenza di dati separati da spazi e terminati da un punto.

Ad esempio, leggi una sequenza di numeri interi e calcolane la somma:

import java.util.*;
/* Applicazione che legge dalla tastiera una sequenza di numeri
 * interi, separati da spazi e terminata da un punto,
 * e ne calcola e visualizza la somma. */
public class SommaSequenzaNumeri {
    public static void main(String[] args) {
        int numero; // elemento corrente della sequenza
        int somma; // somma degli elementi della sequenza
        Scanner in; // per la lettura dalla tastiera 

        /* crea l'oggetto che rappresenta la tastiera */ 
        in = new Scanner( System.in ); 

        /* leggi una sequenza di numeri, 
         * separata da spazi e terminata da un punto, 
         * e calcolane la somma */
        System.out.println("Scrivi una sequenza di numeri interi");
        /* inizialmente somma vale zero */
        somma = 0;
        /* finché ci sono altri numeri nella sequenza, leggili e sommali a somma */
        while ( in.hasNextInt() ) { // finché il prossimo elemento è un numero 
            /* leggi un numero della sequenza */
            numero = in.nextInt();
            /* incrementa somma di numero */
            somma = somma + numero;
        }
        /* visualizza somma */
        System.out.print("La somma dei numeri è ");
        System.out.println(somma);
    }
}

Come input per questo programma dovrà essere, ad esempio, usata una sequenza del tipo 10 20 3 4 5 . <invio>. Si noti in particolare: (1) la presenza di uno spazio tra numero e numero e (2) la presenza di uno spazio tra l'ultimo numero ed il punto. 

La nuova modalità d'esame è basata sull'uso di Scanner. (Si noti che in sede d'esame non è data nessuna garanzia della disponibilità del package fiji nel calcolatore in uso.)

In corrispondenza il testo dell'esame subirà delle modifiche rispetto ai compiti assegnati in precedenza. In particolare: