Código de Fortran - Calculo de raíces por aproximación

fortran 95

Publicado el 29 de Octubre del 2018gráfica de visualizaciones de la versión: fortran 95
3.649 visualizaciones desde el 29 de Octubre del 2018
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
PROGRAM RAICES
IMPLICIT NONE
 
REAL,ALLOCATABLE,DIMENSION(:)::VECTOR
REAL::A,B,C,D,F1,F2,W,APROX
INTEGER::I,J,X,M,N,CONTADOR
 
PRINT*,"INGRESE LA ECUACION EN FORMATO (A)X^3+(B)X^2+(C)X+(D)=0 "
PRINT*,"INGRESE EL VALOR DE A"
READ(*,*)A
PRINT*,"INGRESE EL VALOR DE B"
READ(*,*)B
PRINT*,"INGRESE EL VALOR DE C"
READ(*,*)C
PRINT*,"INGRESE EL VALOR DE D"
READ(*,*)D
PRINT*,"LA ECUACION INGRESADA ES",A,"* X^3 + ",B," X^2 + ",C," X + ",D," =0"
 
PRINT*,"INGRESE EL RANGO DE ESTUDIO DE X.NOTA:EL PROGRAMA EVALUARA SI EXISTEN RAICES EN EL RANGO DE X Y -X INGRESADO"
READ(*,*)N
M=-N
I=0
J=0
CONTADOR=0
 
DO X=M,N,1
  F1=A*X**3+B*X**2+C*X+D
  F2=A*(X+1)**3+B*(X+1)**2+C*(X+1)+D
      IF (F1==0)THEN
        CONTADOR=CONTADOR+1
 
        ELSE
            IF ((F1>0.AND.F2<0).OR.(F1<0.AND.F2>0))THEN
            CONTADOR=CONTADOR+1
 
            ELSE
            END IF
      END IF
 
END DO
PRINT*,"CANTIDAD DE RAICES REALES=",CONTADOR
 
IF(CONTADOR==0) THEN
  PRINT*, " LA ECUACION INGRESADA NO TIENE RAICES REALES"
  GO TO 129
  ELSE
END IF
 
 
 
ALLOCATE(VECTOR(3))
VECTOR=0
 
DO X=M,N,1                                                    !ESCANEA ENTRE EL RANGO INGRESADO
  F1=A*X**3+B*X**2+C*X+D
  F2=A*(X+1)**3+B*(X+1)**2+C*(X+1)+D
      IF (F1==0)THEN
        PRINT*,"RAIZ ENTERA =",X
                ELSE
                IF ((F1>0.AND.F2<0).OR.(F1<0.AND.F2>0))THEN
 
                    J=J+1
                    IF(X==0)THEN
                      VECTOR(J)=X+0.0001
                      ELSE
                    VECTOR(J)=X
                    END IF
 
                ELSE
                END IF
 
       END IF
 
END DO
 
IF (VECTOR(1)/=0)THEN                                         !ESCANEA EN UN RANGO MAS PEQUEÑO DE X
     W=(VECTOR(1))
     DO I=1,10000,1
     F1=A*W**3+B*W**2+C*W+D
     F2=A*(W+0.0001)**3+B*(W+0.0001)**2+C*(W+0.0001)+D
         IF (F1>0.AND.F2<0.OR.F1<0.AND.F2>0)THEN
            PRINT*," RAIZ 1 APROX=",W
            EXIT
            ELSE
              W=W+0.0001
         END IF
     END DO
       IF (VECTOR(2)/=0)THEN
            W=(VECTOR(2))
            DO I=1,10000,1
            F1=A*W**3+B*W**2+C*W+D
            F2=A*(W+0.0001)**3+B*(W+0.0001)**2+C*(W+0.0001)+D
                IF (F1>0.AND.F2<0.OR.F1<0.AND.F2>0)THEN
                     PRINT*," RAIZ 2 APROX=",W
                     EXIT
                     ELSE
                     W=W+0.0001
                END IF
            END DO
               IF (VECTOR(3)/=0)THEN
                    W=(VECTOR(3))
                    DO I=1,10000,1
                    F1=A*W**3+B*W**2+C*W+D
                    F2=A*(W+0.0001)**3+B*(W+0.0001)**2+C*(W+0.0001)+D
                        IF (F1>0.AND.F2<0.OR.F1<0.AND.F2>0)THEN
                            PRINT*," RAIZ 3 APROX=",W
                            EXIT
                        ELSE
                        W=W+0.0001
                        END IF
                    END DO
              ELSE
              END IF
       ELSE
       END IF
ELSE
END IF
 
 
 
 
129 END PROGRAM RAICES



Comentarios sobre la versión: fortran 95 (0)


No hay comentarios
 

Comentar la versión: fortran 95

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s4901