Soluzione Provetta 2 del 01 aprile 2003

Esercizio 1

Si dica quale (o quali) fra le seguenti affermazioni sono errate:

Esercizio 2

Si supponga di avere definito in una classe Esame i 2 metodi:

che calcolano rispettivamente la radice quadrata e la radice cubica dell'argomento. Si ipotizzi di essere sempre all'interno della classe Esame (ad esempio, nel main) e di aver dichiarato le variabili a, b e c di tipo double. Si scriva l'istruzione che assegna ad a la radice quadrata della radice cubica del prodotto di b e c.

Esercizio 3

La classe Numero è stata definita nel modo seguente:

class Numero {
  private double valore;
  public Numero(double x) {
    valore = x;
  }
  public double meta() {
    return valore / 2;
  }
  public static double doppio(Numero n) {
    return n.valore * 2;
  }
}
  1. Si consideri il seguente programma principale che deve creare un Numero n e poi assegnare a x, e y rispettivamente la metà di n e il doppio di n.
    class UsaNumero {
      public static void main(String[] args) {
        double x,y;
        Numero n = new Numero(10.0);
          ...
        System.out.println(x);
          ...
        System.out.println(y);
      }
    }
    
    Si riportino nei riquadri seguenti le due istruzioni mancanti (indicate dai puntini):
    Ovviamente il calcolo della metà e del doppio va fatto invocando opportunamente i metodi definiti in Numero (si faccia attenzione: uno dei due metodi è d'istanza, l'altro è di classe...)
  2. Si scriva l'istruzione da aggiungere in fondo al programma per assegnare a x la metà del doppio di n.

Esercizio 4

Si vuole visualizzare un "trapezio rettangolo" di asterischi, ossia:

***
****
*****
******
*******

Per farlo viene definito il metodo trapezio seguente.

public static void trapezio() {
  for (int i = 1; i <= 5; i++) {
    for (int  ...   ) 
      System.out.print('*');
    System.out.println();
  }
}

Si completi l'intestazione del secondo ciclo for nel metodo (si riporti l'intestazione completa qui sotto).

Esercizio 5

Si completi il metodo m seguente (intestazione e corpo) che, dato un array a di boolean come parametro, assegna true agli indici multipli di 5 e false agli altri.

public static void m(               a) {




}

Soluzione

Esercizio 1

Esercizio 2

a = radice2(radice3(b*c));

Esercizio 3

  1. x = Numero.doppio(n)/2;

Esercizio 4

for (int j = 1; j <= (i+2); j++)

Esercizio 5

public static void m(boolean[] a) {
  for (int i = 0; i<a.length; i++)
    a[i] = (i%5 == 0);
}

Fate l'amore e non la guerra!Valid HTML 4.01! Valid CSS! Paolo Coppola
Last modified: 2003-04-03