Está en la página 1de 13

PROGRAM HPrograma23

IMPLICIT NONE

INTEGER::MA,NA,MB,NB,MC,NC,I,J,K

REAL(8)::A,B

CHARACTER(4)::ZZ

REAL(8),ALLOCATABLE::MATRIZA(:,:),MATRIZB(:,:),MATRIZC(:,:)

!COMPLEX::A (Para numeros complejos A=(3.5,4.2) = 3.5+4.2i )

!LOGICAL::

!REAL(8),PARAMETER::Pi=3.141592654 (Para definir constantes)

! FORMAT (/,1X,A,I5, F10.2, E10.3, E10.3E3, ES10.3, ES10.3E3, EN10.3, EN10.3E3, G10.3,
G10.3E3, \)

1 FORMAT (1/)

2 FORMAT (2/)

3 FORMAT (3/)

4 FORMAT (4/)

5 FORMAT (4/)

6 FORMAT (6/)

7 FORMAT (7/)

8 FORMAT (8/)

9 FORMAT (9/)
10 FORMAT (4X,A)

11 FORMAT (5X,A,\)

12 FORMAT (5X,A)

32 FORMAT (5X,F10.4,\)

!1111 FORMAT (2X,A,1/)

!PRINT 1111, "a , e , i , o , u , 7 , 15 , 20 , 21 , 33 !, 35 #, 36 $"

!PRINT 1111, "37 %, 38 &, 39 ', 40 (, 41 ), 42 *, 43 +, 44 ,, 45 -, 46 ., 47 /, 58 :"

!PRINT 1111, "59 ;, 60 <, 61 =, 62 >, 64 @, 91 [, 92 \, 93 ], 94 ^, 95 _, 96 `, 123{"

!PRINT 1111, "124|, 125}, 126~, 127, 128, 129, 130, 131, 132, 133, 134, 135"

!PRINT 1111, "136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147"

!PRINT 1111, "148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159"

!PRINT 1111, "160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171"

!PRINT 1111, "172, 173, 174, 175, 176, 184, 189, 190, 198, 199, 204, 207"

!PRINT 1111, "208, 209, 211, 212, 214, 215, 216, 217+, 218+, 219, 220_, 222"

!PRINT 1111, "223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234"

!PRINT 1111, "235, 236, 237, 238, 239, 241, 242=, 243, 244, 245, 246, 247"

!PRINT 1111, "248, 249, 250, 251, 252, 253, 254, 255 , 263, 271, 276, 277"

!PRINT 1111, "289!, 291#, 292$, 293%, 294&, 295', 296(, 297), 298*, 299+, 300,, 301-"

!PRINT 1111, "181, 182, 183,"


!PRINT*, "144 167 212 172 175 211 214 215 222 251"

!PRINT*, "154 225 234 142 252 168 233 235 183 184 166"

! Radianes:

! ABS(X)-VALOR ABSOLUTO,ACOS(X),ASIN,ATAM,COS(X),COSH(X),EXP(X),INT(X)-Parte entera de


x,FRACTION(X)-Parte fraccionaria x en representacion real

! LOG(X),LOG10(X),REAL(X)-Conversion de x al tipo real,SIN(X),SQRT(X)-Raiz


cuadrada,TAN(X),TANH(X)

! <,>,==,<=,>=,/=(Diferente a)

! .NOT.,.AND.,.OR.,.EQV.(Ambas falsas o ambas verdaderas),.NEQV.(Una verdadera y otra falsa)

! PRINT*, WRITE(*,*) READ*,

! i=2 (Se realizara GOTO 2000)

! GOTO 1000 GOTO (1000,2000,3000,4000,5000),i

!IF (X==1) A=5 IF (X==1) THEN IF (X==1) THEN IF (X==1) THEN IF (X==1)
THEN IF (X==1) THEN IF (X==1) THEN

! ELSE
ELSE IF (X==2) THEN ELSE IF (X==2) THEN ELSE IF (X==2) THEN
ELSE IF (X==2) THEN
! END IF END IF END IF
ELSE ELSE (X>2) THEN
ELSE (X>2) THEN

!
END IF
END IF ELSE

END IF

! DO DO I=5,10,1 DO I=5,10,1
EXTERNO DO I=2,20,1

! IF (I==6) CYCLE
(Interrumpe ciclo en ese valor) INTERNO DO J=3,8,1

! END DO END DO END DO


END DO EXTERNO

!
END DO
INTERNO

! DO I=5,10,1 DO WHILE
(X==5)

! IF (I==6) EXIT (Sale de ese Do en ese valor)

! END DO
END DO

! Caracteres; Ancho hoja = 79

! NO MUESTRA PRIMERO A LA DERECHA (4X,72A,3X)

!72 CARACTERES DENTRO - 36 Centro (4X)


!70 CARACTERES DENTRO - 35 Centro (5X)

PRINT 10,""

PRINT 10," "

PRINT 10," 28/SEPTIEMBRE/2015 "

PRINT 10," "

PRINT 10," LUIS FERNANDO "

PRINT 10," "

PRINT 10," PROGRAMA #23 - PROGRAMACION "

PRINT 10," "

PRINT 10,""

PRINT 2

PRINT 10,""

PRINT 10," "

PRINT 10," Multiplicacion de Matrices "

PRINT 10," "

PRINT 10,""

PRINT 2

1000 PRINT 1

9000 PRINT 11, "Especifique el numero de RENGLONES de la Matriz A "

READ*,MA

PRINT 2

PRINT 11, "Especifique el numero de COLUMNAS de la Matriz A "

READ*,NA
PRINT 4

PRINT 11, "Especifique el numero de RENGLONES de la Matriz B "

READ*,MB

PRINT 2

PRINT 11, "Especifique el numero de COLUMNAS de la Matriz B "

READ*,NB

PRINT 3

MC=MA

NC=NB

IF (NA/=MB) THEN

PRINT 10, "ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR"

PRINT 1

PRINT 10, "Numero de Columnas de Matriz A tiene que ser igual a Numero"

PRINT 10, "de Renglones de Matriz B"

PRINT 2

GOTO 1000

END IF

ALLOCATE (MATRIZA(MA,NA))

DO I=1,MA
DO J=1,NA

PRINT '(4X,A,I4,A,I4,A,\)', "DE EL VALOR DE MA(",I,",",J,") = "

READ*,MATRIZA(I,J)

END DO

PRINT 1

END DO

PRINT 3

ALLOCATE (MATRIZB(MB,NB))

DO I=1,MB

DO J=1,NB
PRINT '(4X,A,I4,A,I4,A,\)', "DE EL VALOR DE MB(",I,",",J,") = "

READ*,MATRIZB(I,J)

END DO

PRINT 1

END DO

ALLOCATE (MATRIZC(MC,NC))

DO I=1,MC

DO J=1,NC
B=0

DO K=1,NA

A=MATRIZA(I,K)*MATRIZB(K,J)

B=B+A

END DO

MATRIZC(I,J)=B

END DO

END DO

PRINT 2
PRINT 10,"MATRIZ A"

PRINT 1

DO I=1,MA

DO J=1,NA

PRINT '(4X,F10.2,\)',MATRIZA(I,J)

END DO

PRINT*

END DO

DEALLOCATE (MATRIZA)

PRINT 2
PRINT 10,"MATRIZ B"

PRINT 1

DO I=1,MB

DO J=1,NB

PRINT '(4X,F10.2,\)',MATRIZB(I,J)

END DO

PRINT*

END DO

DEALLOCATE (MATRIZB)
PRINT 5

PRINT 10,"MATRIZ A * MATRIZ B = "

PRINT 1

DO I=1,MC

DO J=1,NC

PRINT '(4X,F10.2,\)',MATRIZC(I,J)

END DO

PRINT*

END DO

DEALLOCATE (MATRIZC)
PRINT 4

PRINT 12,"Desea realizar otra operacion?"

PRINT 11,"Escriba Si No "

READ*, ZZ

PRINT 3

IF (ZZ=="SI" .OR. ZZ=="si" ) THEN

GOTO 9000

END IF

PRINT 2

PRINT 10,""

PRINT 10," FIN DEL PROGRAMA "

STOP " "

END PROGRAM

También podría gustarte