Fondamenti di Informatica 1
Corso di Laurea in Ingegneria Informatica
Corso di Laurea in Ingegneria Automatica
A.A. 2002/03

Appello del 25/3/2003 - Compito B

Si vuole tenere traccia delle visite da effettuare presso uno studio medico. Ogni ListaVisite è associata al nominativo di un medico (una stringa) ed è costituita da un insieme ordinato di visite. Di ogni visita sono di interesse le seguenti informazioni: Si noti che uno stesso paziente può comparire più volte in una stessa ListaVisite. Gli oggetti ListaVisite supportano le seguenti funzionalità:

Domanda 1. Scrivere una classe Java ListaVisite per rappresentare oggetti ListaVisite.

Soluzione: rappresentazione degli oggetti, scheletro della classe, classe ListaVisite

Domanda 2. Realizzare un metodo statico tipoVisitePaziente cliente della classe ListaVisite che, dati un oggetto v istanza della classe ListaVisite, il nome p di un paziente, ed il nome f di un file, scrive sul file f il tipo di tutte le visite del paziente p in v, una visita per riga.

Soluzione

Domanda 3. Spiegare brevemente (circa una pagina) il meccanismo del passaggio dei parametri e della restituzione del valore di ritorno in Java. Illustrare inoltre, facendo uso di diagrammi della memoria, il meccanismo del passaggio dei parametri nel seguente esempio:

public class EsameB {
  public static int alfa(int k) {
    k = k * 2;
    return k;
  }

  public static void beta(StringBuffer sb) {
    sb.append(" e pluto");
  }

  public static void main(String[] args) {
    int m = 3;
    int n = alfa(m);
    System.out.println(m + ", " + n);

    StringBuffer pp = new StringBuffer("pippo");
    beta(pp);
    System.out.println(pp);
  }
}