Programmazione in FORTRAN

mariannaforleo91
Sto studiando da poco la programmazione in FORTRAN prevista dal programma di analisi numerica del mio corso di laurea. Non ho alcuna esperienza con FORTRAN, lo scorso anno ho studiato la programmazione di base in C e me la cavavo abbastanza bene, ma ora con questo programma non ci capisco niente! Vi scrivo il testo di un esercizio e il codice sorgente che ho scritto, che però non funziona, mi dice che ci sono 6 errori :( (non fate caso a maiuscole e minuscole, nel programma ho scritto tutto in maiuscole). Mi sapete dire dove sbaglio?

Dati due vettori x e y con n componenti, calcolare il prodotto scalare.

       Program prodottoscalare
       Implicit none
       Integer i, n
       Real, dimension (n) x, y
       Real prodscal

       Write (5, *) 'inserire la dimensione n dei due vettori: '
       Read (5, *) n
       Do i=1, n
            Write (5, *) 'inserire la componente ', i, 'del vettore x '
            Read (5, *) x(i)
       End do
       Do i=1, n
            Write (5, *) 'inserire la componente ', i, 'del vettore y '
            Read (5, *) y(i)
       End do
       Prodscal=0.
       Do i=1, n
            Prodscal=prodscal + x(i)*y(i).
       End do
       Print*, 'Il prodotto scalare dei vettori x e y è: ', prodscal
       Stop
       End

Risposte
ivans1984
la maggior parte degli errori è nella sintassi

Program prodottoscalare
Implicit none
Integer ::i,n

Real, dimension (n):: x, y
Real ::prodscal

Write (5, *) 'inserire la dimensione n dei due vettori: '
Read (5, *) n
Do i=1, n
Write (5, *) 'inserire la componente ', i, 'del vettore x '
Read (5, *) x(i)
End do
Do i=1, n
Write (5, *) 'inserire la componente ', i, 'del vettore y '
Read (5, *) y(i)
End do
Prodscal=0.
Do i=1, n
Prodscal=prodscal + x(i)*y(i)
End do
Print*, 'Il prodotto scalare dei vettori x e y è: ', prodscal
Stop

End program prodottoscalare


rimane comunque un errore dovuto al fatto che bisogna dichiarare un array dinamico

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.