Bonsoir
Ca fais de jours que je me creuse la tête sur ce petit problème mais je vois pas ce qui cloche je vous met mon prog en dessous et l'erreur qui me renvoie en esperant que vous allez pouvoir m'aider
Code:program tp3 implicit none !Déclaration des variables real::qs,A0,dz,z,P integer::i,T1,Cond0,L,h,j,k !Déclaration des tableaux integer,parameter::n=1001 real,dimension (n):: T real,dimension (n):: Cond !Présentation du programe write(*,*)'====================================' write(*,*)'| Programme Equation de la chaleur |' write(*,*)'| Version 1.0 |' write(*,*)'| Created by K.Freville |' write(*,*)'| 11/01/2012 |' Write(*,*)'====================================' ! Lecture des entrées/sorties open(10,file="tp3.in") open(11,file="tp3.out") !T0 T°initial, qs flux de surface,K0 conductivité initial,A0 production radiogénique,h profondeur caractériqtique, L profondeur read(10,*)T1 read(10,*)qs read(10,*)Cond0 read(10,*)A0 read(10,*)h read(10,*)L !********************************************************************************************************************************************************* !********************************************************************************************************************************************************* !********************************************************************************************************************************************************* !Coeur du programe !Décalration de dz dz=L/(n-1) !Calcule T1 et T2 et boucle d'écriture Do k=1,n z=dz*(k-1) T(1)=T1 T(2)=((qs*dz)/Cond0)+T(1) !Boucle des T° Do i=3,n !Déclaration des conductivitées initiales Cond(i)=Cond0 Cond(i-1)=Cond0 !Boucle des conductivitées Do j=1,5 !Calcule de P !Pour le manteau lithosphèrique if (z>30000) then P=3300*9.81*z !Pour la croute elseif (z<=30000) then P=2900*9.81*z endif !solution par différence fini T(i)=T(i-1)+((-A0*dz*dz)/Cond(i))*exp((-dz*(i-1))/h)+(Cond(i-1)/Cond(i))*(T(i-1)-T(i-2)) !Calcul des conductivite if (z>30000) then !Déclaration des conductivitées initiales Cond(i)=((1/(O.156+5.45E-4*T(i)))+(0.763E-9*T(i)**3))*(1+0.1*P(i)) Cond(i-1)=((1/(O.156+5.45E-4*T(i-1)))+(0.763E-9*T(i-1)**3))*(1+0.1*P(i-1)) elseif (z>=30000) then Cond(i)=Cond0 Cond(i-1)=Cond0 endif Enddo ! Enddo write(11,*)-z,T(k),Cond(k) Enddo Close(10) Close(11) !********************************************************************************************************************************************************* !********************************************************************************************************************************************************* !********************************************************************************************************************************************************* stop end
Et il me renvoie
[kevin@localhost tp3]$ gfortran tp3.f95 -o tp3
tp3.f95:64.21:
Cond(i)=((1/(O.156+5.45E-4*T(i)))+(0.763E-9*T(i)**3))*(1+0.1*P(i))
1
Error: Expected a right parenthesis in expression at (1)
tp3.f95:66.23:
Cond(i-1)=((1/(O.156+5.45E-4*T(i-1)))+(0.763E-9*T(i-1)**3))*(1+0.1*P(i-1
1
Error: Expected a right parenthesis in expression at (1)
Merci d'avance pour votre aide
Kévin
-----