program polinomio3 implicit none integer,parameter ::imax=4 real:: x,xin,dx,xfin,polinomio integer :: i,n,npas real,dimension(0:imax)::a ! legge da STDIN i n e i coeff. di un polinomio di grado n ! calcola utilizzando la function poliniomio write(6,*)'n ?' read(5,*)n if(n > imax) then write(6,*)"ERRORE massimo n=",imax else do i=0,n write(6,*)"dammi a(",i,")" read(5,*)a(i) enddo dx=1 xin=-10 xfin=10 npas=(xfin-xin)/dx do i=1,npas x=xin+i*dx write(60,*)x,polinomio(x,n,a) enddo endif end program Polinomio3 real function polinomio(x,n,a) ! calcola il polinimio in x ! n grado del polinomio ! a vettore dei coefficienti implicit none real,intent(IN) ::x integer,intent(IN) ::n real,dimension(0:10)::a integer:: i polinomio=0 do i=0,n polinomio=polinomio+a(i)*x**i enddo end function polinomio