Esercizio di esame 18/9/2002

Tutti e due i canali/ Parte II

Domanda 1

Dire cosa stampa il seguente programma.

class Prova {
  public static int alfa(int x) {
    int y=x+1;

    x++;

    return 0;
  }

  public static int beta(int y) {
    int x=10;

    System.out.println(alfa(x));

    return x;
  }

  public static void main(String arg[]) {
    System.out.println(beta(12));
  }
}

Domanda 2

Dire quale è il periodo di esistenza delle variabili locali dei metodi, delle variabili di istanza, e di quelle di classe.

Domanda 3

Dire cosa stampa il seguente metodo; illustrare con disegni dei record di attivazione; dire cosa stampa quando viene invocato passando come parametri 12 e 3.

public static void ricorsivo(int x, int y) {
  if(x<0 || y<0)
    return;

  System.out.println(x);

  if(x>5)
    ricorsivo(x-1,y-1);
  else
    ricorsivo(x-1,y);
}