/*	Calcolo di un polinomio  a[0]x^N+...+ a[N]x^0
	usando l'algoritmo di Horner-Ruffini,
	dove a[i] e' l'elemento i-esimo di un vettore a */

class  Horner_Ruffini
{
	public static void main (String[] args)
	{
		EasyIn easy = new EasyIn();
		final int N = 3 ;  // N-1 e' il grado del polinomio
		float [] a = new float [N];

		/* 	a e' il vettore dei coefficienti del polinomio;
			esso puo' essere dichiarato e allocato
			in due tempi nel modo seguente:

			float [] a ;
			a = new float [N];
		*/

		System.out.println("inserire il valore della variabile  x");
		float x = easy.readFloat();

		// lettura dei coefficienti
		for (int i =0; i<N ; i++)
		{
			System.out.println("inserire il coefficiente di grado "+(N-i-1));
			a[i]= easy.readFloat();
		}

		// calcolo del valore del polinomio
		float p = a[0];
		for (int j =1; j<N ; j++)
			p = p*x+a[j];

		System.out.println("il valore del polinomio e': "+p);
	}
}
