Primo Anno I.C.M.C

Es. 5 - Programma in Java - 1/02/08

  • Messaggi
  • OFFLINE
    Gecko87
    Post: 6
    Città: TORINO
    Età: 36
    Sesso: Maschile
    00 01/02/2008 17:33
    ecco uno dei modi per farlo
    Vi posto qua sotto il programma svolto con due alternative nella condizione del while. Spero possa esservi utile per le correzioni!

    package esame;
    
    import java.io.IOException;
    
    public class esame {
    	public static void main(String[] args){
    	int a=0, b=0, c=0, record_corrente=0, somma=0;
    	double media=0, varianza=0;
    	
    	do { try {
    		//Qua il programma legge le tre variabili//
    		      System.out.println("Inserisci il primo numero");
    		      a = LetturaTastiera.leggiInt();
    		      System.out.println("Inserisci il secondo numero");
    		      b = LetturaTastiera.leggiInt();
    		      System.out.println("Inserisci il tezo numero");
    		      c = LetturaTastiera.leggiInt();
    	} catch (IOException e) {
    		// TODO Auto-generated catch block
    		e.printStackTrace();
    	}
    		//Qua il programma memorizza il record della somma e lo calcola allo stesso tempo//
    	somma=(a+b+c);
    	  if ((a+b+c)>record_corrente) {record_corrente=somma;}
    	   //Qua vengono calcolate la media e la varianza//
    	media=(a+b+c)/3D;
    	varianza=((a-media)*(a-media))+((b-media)*(b-media))+((c-media)*(c-media));
    		//Qua stampa la somma la media e la varianza//
    	System.out.println("la somma è: "+somma);
    	System.out.println("la media è: "+media);
    	System.out.println("la varianza è: "+varianza);
    	} 
    	// Questa è la condizione del while in un metodo un po' poco ortodosso. Ovvero a e b o b e c devono essere//
    	// assolutamente 0 perchè il ciclo si interrompa. In alternativa potete usare ((a!=0|b!=0)&(b!=0|c!=0))   //
    	// come condizione del while //
    	while((Math.abs(b)+Math.abs(a)!=0)&(Math.abs(b)+Math.abs(c)!=0));
    	// Nel momento in cui esce stampa il record mantenuto in memoria grazie all'if//
    	System.out.println("il record somma è: "+record_corrente);
    
    }
    
    }
    //that's all folks//
  • OFFLINE
    n4nto
    Post: 6
    Città: TORINO
    Età: 35
    Sesso: Maschile
    00 05/02/2008 10:47
    ma cos'è Math.abs(b) ????
    la varianza credo che ti sia dimanticato di dividerla per 3.
  • OFFLINE
    PiccolaAnimaBlu
    Post: 8
    Città: BUCCINO
    Età: 35
    Sesso: Femminile
    00 05/02/2008 12:14
    Math.abs è un metodo per fare il valore assoluto.
    comunque con questa versione, nel momento in cui si esce dal programma vengono calcolate sempre somma, media e varianza.
    per evitare basta togliere il do, mettere il while subito dopo la lettura tastiera, e all'interno delle operazione dopo il while rimettere l'input da tastiera.