Esercizio 1 – Esame Programmazione 1 – Febbraio 2016

Condividi su:

Linguaggio: Java

Testo ESERCIZIO 1

Scrivere un metodo iterativo di nome ex1 con le seguenti caratteristiche:

  • ex1 ha due parametri formali. Il primo è un riferimento (puntatore, reference) ad un array di interi di nome a; il secondo è un riferimento ad un array di interi di nome b,
  • se a e b contengono ciascuno almeno un elemento, ex1 restituisce il valore true se in a esiste un elemento a[i] tale che ogni elemento nel segmento b[i…b.length-1] sia strettamente piu’ piccolo di a[i]. Altrimenti il risultato è false.

Codice metodo ex1

public static boolean ex1 (int a[], int b[]){
		
		boolean f=false;
		
		if(a!=null && b!=null)
			if(a.length>0 && b.length>0){
				for(int i=0; i < a.length; i++){
					for(int j=0; j < b.length; j++){
							if(a[i]>b[j])
								f=true;
							else
								f=false;
							if (j==b.length-1 && f==true)
								return true;
					}
				}	
		}
		return false;
}

La classe Febbraio0TestEx1 può essere usata per il testing di ex1 e, quindi, contiene esempi sul funzionamento atteso per ex1.

public class Febbraio0TestEx1 {
	public static void main(String[] args) {
		int[] a0 = null;
		int[] a1 = {};
		int[] a2 = {10,2};
		int[] a3 = {2,3};
		int[] b0 = null;
		int[] b1 = {};
		int[] b2 = {4,0,-1,1,1};
		int[] b3 = {4,0,-1,1,3};
		
		System.out.println(Febbraio0.ex1(a0,b0)==false); // atteso true perche':
		// nessuno tra a0 e b0 contiene elementi
		System.out.println(Febbraio0.ex1(a0,b1)==false); // atteso true perche':
		// nessuno tra a0 e b0 contiene elementi
		System.out.println(Febbraio0.ex1(a1,b0)==false); // atteso true perche':
		// nessuno tra a0 e b0 contiene elementi
		System.out.println(Febbraio0.ex1(a1,b1)==false); // atteso true perche':
		// nessuno tra a0 e b0 contiene elementi
		System.out.println(Febbraio0.ex1(a2,b0)==false); // atteso true perche':
		// b0 non contiene elementi
		System.out.println(Febbraio0.ex1(a2,b1)==false); // atteso true perche':
		// b1 non ha elementi
		System.out.println(Febbraio0.ex1(a2,b3)==true) ; // atteso true perche':
		// a2[0] e' maggiore di ogni elemento di b2  a partire dall'indice 0 
		System.out.println(Febbraio0.ex1(a3,b2)==true) ; // atteso true perche':
		// a3[1] e' maggiore di tutti gli elementi di b2 a partire dall'indice 1
		System.out.println(Febbraio0.ex1(a3,b3)==false); // atteso true perche':
		// ne' a3[0] e' maggiore di tutti gli elementi in b3 a partire dall'indice 0,
		// ne' a3[1] e' maggiore di tutti gli elementi in b3 a partire dall'indice 1.
	
	}
}
(Letto 13 volte in totale, 1 oggi)

Lascia un commento