c c Scrivere un programma per calcolare il prodotto tra due polinomi c in input P(x) e Q(x), rispettivamente, di grado n e di grado c m ( n , m = 1,..,5 ) con coefficienti reali. c c In output il programma stampi il polinomio risultante in forma ridotta. c c Ad esempio, introdotti in input i polinomi c c P(x) = 3x^3 - 2x^2 + x - 2 c c Q(x) = 2x^2 + 5x -3 c c l’output sia il prodotto c c R(x) = 6x^5 + 11x^4 - 17x^3 + 7x^2 - 13x + 6 c c c c c Dati utilizzati: c c p(ndim),q(ndim) : vettori contenenti i coefficienti reali in input c dei 2 polinomi c n, m : grado, rispettivamente, del polinomi P(x) e Q(x) c c r(ndim) : vettore contenente i coefficienti reali del c prodotto tra P(x) e Q(x) c ngrtot : grado del polinomio prodotto c c c OSSERVAZIONE: c il vettore p(n) contiene i coefficienti del primo polinomio nel c seguente modo: c - p(1) = coefficiente della x di grado 0 (termine noto) c - p(2) = coefficiente della x di grado 1 c ..... c - p(n+1) = coefficiente della x di grado n c c Ugualmente per il vettore q(m): c - q(1) = coefficiente della x di grado 0 (termine noto) c - q(2) = coefficiente della x di grado 1 c ..... c - q(m+1) = coefficiente della x di grado m c c Lo stesso ragionamento per il vettore dei coefficienti di r(ngrtot) c - r(1) = coefficiente della x di grado 0 (termine noto) c - r(2) = coefficiente della x di grado 1 c ..... c - r(ngrtot+1) = coefficiente della x di grado ngrtot c program polinomio parameter (ndim=10) real p(ndim),q(ndim),r(ndim) c inizializzazione del polinomio prodotto risultante do 1 i=1,ndim r(i)=0. 1 continue c input dei gradi e dei coefficienti di P(x) e Q(x) c l'input dei coefficienti avviene dal grado massimo write(*,*)'Introduci il grado del primo polinomio P(x): n = ' read(*,*)n write(*,*)'Introduci il grado del secondo polinomio Q(x): m = ' read(*,*)m write(*,*)'Introduci i coefficienti reali del primo polinomio' write(*,*)'iniziando dal grado massimo' do 2 i=n+1,1,-1 write(*,101)i-1 read(*,*)p(i) 2 continue write(*,*)'Introduci i coefficienti reali del secondo polinomio' write(*,*)'iniziando dal grado massimo' do 3 i=m+1,1,-1 write(*,101)i-1 read(*,*)q(i) 3 continue c calcolo del grado del polinomio prodotto ngrtot=n+m c calcolo dei coefficienti del polinomio prodotto do 10 i=1,n+1 do 10 j=1,m+1 r(i+j-1)=r(i+j-1)+p(i)*q(j) 10 continue c output dei coefficienti del polinomio prodotto write(*,*) write(*,102)ngrtot write(*,*)'e i coeff. della variabile x sono (dal grado massimo):' do 15 i=ngrtot+1,1,-1 write(*,103)i-1,r(i) 15 continue 101 format(1x,'coeff. di x^',i1,' = ') 102 format(1x,'Il polinomio prodotto ha grado ',i2) 103 format(1x,'coeff. di x^',i2,' = ',f8.3) stop end