Valutazione completa

Gli operatori logici hanno due versioni public class Valutazione { public static void main(String args[]) { System.out.println(f1() && f2()); System.out.println(f1() &  f2()); } public static boolean f1() { System.out.print(“Parte f1() “); return false; } public static boolean f2() { System.out.print(” – Parte f2() “); return true; } } L’output del programma precedente è Parte f1() … Leggi tutto

Ricerca binaria

(PROBLEMA) La ricerca binaria si applica agli array ordinati. Come controllo si può utilizzare il metodo predefinito java.util.Arrays.binarySearch(). public static int binaria1(double v[], double k) {    int risp=-1,        inf=0,        sup=v.length-1,        medio;    while(inf

Ricerca sequenziale

Posizione di un valore k all’interno di un array v. public static int posizione1(double[] v, double k) { int risp=-1; for(int i=0; i < v.length; i++) if(v[i] == k) risp=i; return risp; } Posizione di un elemento (la prima...) public static int posizione2(double[] v, double k) { for(int i=0; i < v.length; i++) if(v[i] == ... Leggi tutto

Ordinamenti ingenui

Due elementi Scambiare i valori contenuti nell’array v alle posizioni a e b void SCAMBIA(double v[], int a, int b) {    double temp=v[a];    v[a]=v[b];    v[b]=temp; } Ordinare un array di due elementi if(v[0] > v[1])   SCAMBIA(v, 0, 1); oppure… if(v[0] > v[1]) {    double temp=v[0];    v[0]=v[1];    v[1]=temp; } … Leggi tutto

Ordinamenti evoluti

Gli ordinamenti evoluti utilizzano degli algoritmi con complessità minima. Merge sort Utilizza la funzione merge() che realizza la fusione di 2 sotto array già ordinati void mergeSort(double[] v, int inf, int sup) { if(inf < sup) { int medio=(inf+sup)/2; mergeSort(v, inf, medio ); mergeSort(v , medio+1, sup); merge (v, inf, medio , sup); } } ... Leggi tutto

Input controllato > Secondi #2

Dato come input il numero di secondi, convertire il tempo in ore, minuti e secondi con input controllato ripetizione. import javax.swing.JOptionPane; public class Secondi2 { public static void main(String args[]) { String stringa; long sec; do { do { stringa=JOptionPane.showInputDialog(“Secondi? (0 per uscire)”); sec =Long.parseLong(stringa); } while(sec < 0); long ore, min, sec2; ore =sec/3600; ... Leggi tutto

Input controllato > Triangolo

Perimetro e area di un triangolo qualsiasi date le misure dei lati, con input controllato ogni lato > 0 la somma di 2 lati è maggiore del terzo lato import javax.swing.JOptionPane; public class Triangolo { public static void main(String args[]) { String stringa; double lato1, lato2, lato3; // // INPUT CONTROLLATO //  do { do … Leggi tutto

Cilindro has Cerchio

La classe Cerchio public class Cerchio { private double raggio; public Cerchio(double r)      { raggio=r;                     } public double diametro()      { return 2*raggio;              } public double circonferenza() { return 2*Math.PI*raggio;      } public double area() … Leggi tutto

Classe Cilindro

Con lo stesso procedmento utilizzato per la classe Cerchio realizziamo una classe per i cilindri public class Cilindro {    private double raggio;    private double altezza;    public Cilindro(double r, double h)    {       raggio=r;       altezza=h;    }          private double circonferenza() { return 2*Math.PI*raggio; … Leggi tutto