PROGRAM POTENCIAL IMPLICIT REAL*8 (A-H,O-Z) C... COMMON/POT/POT CHARACTER*8 POT C... READ(*,*)POT READ(*,*)AL,AM1,AM2,R1,R2 IF(POT.EQ.'mgz ')POT='MGZ ' IF(POT.EQ.'armonico')POT='ARMONICO' IF(POT.EQ.'gravit ')POT='GRAVIT ' G=9.8D0 DELTA=0.01D0 NI=1 NF=(R2-R1)/DELTA+1 IF(POT.EQ.'MGZ ')THEN AMU=AM1 AMU1=AM1+AM2 AM=1.D0 CT=AM2*G ENDIF IF(POT.EQ.'ARMONICO')THEN AMU=AM1*AM2/(AM1+AM2) AMU1=AMU AM=AMU/AM2 CT=0.5D0 ENDIF IF(POT.EQ.'GRAVIT ')THEN AMU=AM1*AM2/(AM1+AM2) AMU1=AMU AM=AMU/AM2 CT=-AM1*AM2 ENDIF R=R1 DO I=NI,NF R=R+DELTA POTT=AL**2/(2.D0*AMU*R**2)+CT*F(R) WRITE(*,1)R,POTT ENDDO 1 FORMAT(2(2X,F12.5)) END C... FUNCTION F(R) IMPLICIT REAL*8 (A-H,O-Z) C... COMMON/POT/POT CHARACTER*8 POT C... IF(POT.EQ.'MGZ ')F=R IF(POT.EQ.'ARMONICO')F=R**2 IF(POT.EQ.'GRAVIT ')F=1.D0/R RETURN END