Está en la página 1de 32

PROBLEMA 1

PROGRAM EJERCICIO_1
INTEGER,DIMENSION(:,:),ALLOCATABLE::A,AT
INTEGER::I,J
INTEGER::M,N
PRINT*,"INGRESE FILAS Y COLUMNAS DE LA MATRIZ"
READ*, M,N
ALLOCATE(A(M,N),AT(N,M))
!INGRESE DE DATOS
PRINT*,"INGRESE DATOS DE LA MATRIZ A"
READ*,((A(I,J),J=1,N),I=1,M)
PRINT*,"LA MATRIZ A ES"
DO I=1,M
PRINT*,(A(I,J),J=1,N)
END DO
!TRANSPUESTA
DO I=1,M PROBLEMA 2
DO J=1,N PROGRAM PROBLEMA_2
AT(J,I)=A(I,J) IMPLICIT NONE
END DO INTEGER,DIMENSION(100,100)::MXN,PXQ,PROD
END DO INTEGER::I,J,K
PRINT*, "LA TRANSPUESTA DE A ES" INTEGER::M,N,P,Q
DO I=1,N PRINT*,"INGRESE FILAS Y COLUMNAS DE LA MATRIZ A"
PRINT*,(AT(I,J),J=1,M) READ*,M,N
END DO PRINT*,"INGRESE FILAS Y COLUMNAS DE LA MATRIZ B"
END PROGRAM EJERCICIO_1 READ*,P,Q
IF(N==P)THEN
PRINT*,"INGRESE DATOS DE LA MATRIZ ",M,"X",N
READ*,((MXN(I,J),J=1,N),I=1,M)
PRINT*,"INGRESE DATOS DE LA MATRIZ ",P,"X",Q
READ*,((PXQ(I,J),J=1,Q),I=1,N)
PRINT*,"VECTOR MXN"
DO I=1,M
PRINT*,(MXN(I,J),J=1,N)
END DO
PRINT*,"VECTOR PXQ"
DO I=1,P
PRINT*,(PXQ(I,J),J=1,Q)
END DO
!PRODUCTO DE 2 MATRICES
DO I=1,M
DO J=1,Q
PROD(I,J)=0
DO K=1,N
PROD(I,J)=PROD(I,J)+MXN(I,K)*PXQ(K,J)
END DO
END DO
END DO
PRINT*,"EL PRODUCTO DE MATRICES ES:"
DO I=1,M
PRINT*,(PROD(I,J),J=1,Q)
END DO PROBLEMA 3
ELSE PROGRAM PROBLEMA_3
PRINT*,"Estas matrices no se pueden multiplicar " IMPLICIT NONE
print*,"debido a que el numero de columnas de la" INTEGER::M,N
print*,"matriz A es diferente al numero de filas" INTEGER,DIMENSION(100,100)::MATRIZ
print*,"de la matriz B, !Vuelva a intentarlo! " INTEGER::SUMA
END IF INTEGER::I,J
END PROGRAM PROBLEMA_2 PRINT*,"INGRESE NUMERO DE FILAS Y COLUMNAS DE LA MATRIZ"
READ*,M,N
IF(M==N)THEN
PRINT*,"INGRESE DATOS DE LA MATRIZ",M,"X",N
READ*,((MATRIZ(I,J),J=1,N),I=1,M)
PRINT*,"matriz INGRESADA"
DO I=1,M
PRINT*,(MATRIZ(I,J),J=1,N)
END DO
!CALCULANDO DIAGONAL PRINCIPAL
!1,2,3,4
SUMA=0
DO I=1,M
DO J=1,N
IF(I==J)THEN
SUMA=SUMA+MATRIZ(I,J)
END IF
END DO
END DO
PRINT*,"LA SUMA DE LOS ELEMENTOS DE LA DIAGONAL
PRINCIPAL ES:",SUMA
ELSE PROBLEMA 4
PRINT*,"NO SE PUEDE PROCEDER A OPERAR YA QUE LA MATRIZ PROGRAM PROBLEMA_4
INGRESADA NO ES CUADRADA" INTEGER::I,J
END IF INTEGER,ALLOCATABLE,DIMENSION(:,:)::MAT1,MAT2,RESTA
END PROGRAM PROBLEMA_3 PRINT*,"INGRESAR FILAS Y COLUMNAS DE MATRICES A RESTAR"
READ*,M,N
ALLOCATE(MAT1(M,N),MAT2(M,N),RESTA(M,N))
PRINT*,"INGRESAR ELEMENTOS DE PRIMERA MATRIZ"
READ*,((MAT1(I,J),J=1,N),I=1,M)
PRINT*,"INGRESAR ELEMENTOS DE SEGUNDA MATRIZ"
READ*,((MAT2(I,J),J=1,N),I=1,M)
PRINT*,"MATRIZ 1"
DO I=1,M
PRINT*,(MAT1(I,J),J=1,N)
END DO
PRINT*,"MATRIZ 2"
DO I=1,M
PRINT*,(MAT2(I,J),J=1,N)
END DO
!CALCULANDO RESTA
DO I=1,M
DO J=1,N
RESTA(I,J)=MAT1(I,J)-MAT2(I,J)
END DO
END DO
PRINT*,"LA RESTA DE MATRICES ES:"
DO I=1,M
PRINT*,(RESTA(I,J),J=1,N)
END DO
END PROGRAM PROBLEMA_4

PROBLEMA 5
PROGRAM PROBLEMA_5
IMPLICIT NONE
INTEGER::N,I,J,C
INTEGER,ALLOCATABLE,DIMENSION(:,:)::MATRIZ
PRINT*,"INGRESAR ORDEN DE LA MATRIZ"
READ*,N
ALLOCATE(MATRIZ(N,N))
PRINT*,"INGRESAR ELEMENTOS DE LA MATRIZ"
READ*,((MATRIZ(I,J),J=1,N),I=1,N)
PRINT*,"MATRIZ"
DO I=1,N
PRINT*,(MATRIZ(I,J),J=1,N) CHARACTER(LEN=15)::NOMBREMAY
END DO CHARACTER(LEN=15),DIMENSION(10)::NOMBRES
C=0 INTEGER,DIMENSION(10)::EDAD
DO I=1,N PRINT*,"INGRESE EL NOMBRE Y SU EDAD "
DO J=1,N DO I=1,10
IF(I/=J .AND. MATRIZ(I,J)==0 )THEN READ*, NOMBRES(I),EDAD(I)
C=C+1 END DO
IF(C==N*(N-1))THEN MAYOR=EDAD(1)
PRINT*,"LA MATRIZ ES DE TIPO DIAGONAL" DO I=1,10
END IF IF(EDAD(I)>MAYOR)THEN
END IF MAYOR=EDAD(I)
END DO NOMBREMAY=NOMBRES(I)
END DO END IF
END PROGRAM PROBLEMA_5 END DO
PRINT*,"EL NOMBRE DEL ALUMNO DE MAYOR EDAD ES
:",NOMBREMAY
PRINT*,"SU EDAD ES", MAYOR
END PROGRAM PROBLEMA_6

PROBLEMA 6
PROGRAM PROBLEMA_6
IMPLICIT NONE
INTEGER::I,MAYOR
PROBLEMA 7
PROGRAM PROBLEMA_7
INTEGER::N,I
INTEGER,ALLOCATABLE,DIMENSION(:)::VECTOR1,VECTOR2
PRINT*,"INGRESE TAMANIO DE LOS VECTORES"
READ*,N
ALLOCATE(VECTOR1(N),VECTOR2(N))
PRINT*,"INGRESE ELEMENTOS DE VECTOR 1" !5
READ*,(VECTOR1(I),I=1,N)
PRINT*,"VECTOR 1" !1,2,3,4,5
PRINT*,(VECTOR1(I),I=1,N)
!OPERACION
PROBLEMA 8
DO I=1,N PROGRAM PROBLEMA_8
VECTOR2(I+1)=VECTOR1(I) IMPLICIT NONE
END DO INTEGER::I,J,C,MENOR,SUMA
PRINT*,"VECTOR 2" INTEGER,DIMENSION(15,12)::MATRIZ
PRINT*,(VECTOR2(I),I=1,N) PRINT*,"INGRESE ELEMENTOS DEL ARREGLO"
END PROGRAM PROBLEMA_7 READ*,((MATRIZ(I,J),J=1,12),I=1,15)
PRINT*,"MATRIZ"
DO I=1,15
PRINT*,(MATRIZ(I,J),J=1,12)
END DO
MENOR=MATRIZ(1,1)
DO I=1,15
DO J=1,12
IF(MATRIZ(I,J)<MENOR)THEN
MENOR=MATRIZ(I,J)
END IF
END DO PRINT*,"ELEMENTOS DE VECTOR B"
END DO READ*,(B(I),I=1,100)
PRINT*,"EL MENOR ELEMENTO DEL ARREGLO ES",MENOR PRINT*
!SUMA DE LOS ELEMENTOS DE LAS CINCO PRIMERAS FILAS PRINT*,"VECTOR A"
SUMA=0 PRINT*,(A(I),I=1,100)
DO I=1,5 PRINT*
DO J=1,12 PRINT*,"VECTOR B"
SUMA=SUMA+MATRIZ(I,J) PRINT*,(B(I),I=1,100)
END DO PRINT*
END DO PRINT*,"SUMA DE VECTORES"
PRINT*,"LA SUMA DE TODOS LOS ELEMENTOS DE LAS 5 PRIMERAS DO I=1,100
FILAS ES:",SUMA C(I)=A(I)+B(I)
!total de elementos negativos en las columnas de la quinta a la nueve. END DO
C=0 PRINT*
DO I=1,15 PRINT*,(C(I),I=1,100)
DO J=5,9 END PROGRAM PROBLEMA_9
IF(MATRIZ(I,J)<0)THEN
C=C+1
END IF
END DO
END DO
PRINT*," LA CANTIDAD DE ELEMENTOS NEGATIVOS DE LA
COLUMNA 5 A LA 9 ES:",C
END PROGRAM PROBLEMA_8
PROBLEMA 9
PROGRAM PROBLEMA_9
IMPLICIT NONE
INTEGER::I
INTEGER,DIMENSION(100)::A,B,C
PRINT*,"ELEMENTOS DE VECTOR A"
READ*,(A(I),I=1,100)
PRINT*
PRINT*,"matriz 1"
DO I=1,12
PRINT*,(MATRIZ1(I,J),J=1,12)
END DO
PRINT*,"matriz 2"
DO I=1,12
PRINT*,(MATRIZ2(I,J),J=1,12)
END DO
!DIAGONAL PRINCIPAL PARA MATRIZ 1
DO I=1,12
DO J=1,12
IF(I==J)THEN
VECTOR1(I)=MATRIZ1(I,J)
END IF
END DO
END DO
PRINT*,"VECTOR GUARDA ELEMENTOS DE LA DIAGONAL DEL
VECTOR 1"
PRINT*,(VECTOR1(I),I=1,12)
!DIAGONAL PRINCIPAL PARA MATRIZ 2
DO I=1,12
PROBLEMA 10 DO J=1,12
PROGRAM PROBLEMA_10 IF(I==J)THEN
IMPLICIT NONE VECTOR2(I)=MATRIZ2(I,J)
INTEGER,DIMENSION(12,12)::MATRIZ1,MATRIZ2 END IF
INTEGER,DIMENSION(12)::VECTOR1,VECTOR2 END DO
INTEGER::I,J,C END DO
PRINT*,"INGRESE DATOS DE LA MATRIZ 1" PRINT*,"VECTOR GUARDA ELEMENTOS DE LA DIAGONAL DEL
READ*,((MATRIZ1(I,J),J=1,12),I=1,12) VECTOR 1"
PRINT*,"INGRESE DATOS DE LA MATRIZ 2" PRINT*,(VECTOR2(I),I=1,12)
READ*,((MATRIZ2(I,J),J=1,12),I=1,12) C=0
DO I=1,12
IF(VECTOR1(I)==VECTOR2(I))THEN END PROGRAM PROBLEMA_11
C=C+1
IF(C==12)THEN
PRINT*,"LAS DIAGONALES DE LAS MATRICES SON IGUALES" PROBLEMA 12
END IF PROGRAM PROBLEMA_12
END IF IMPLICIT NONE
END DO INTEGER,DIMENSION(100)::NOTAS
END PROGRAM PROBLEMA_10 REAL::PROMEDIO,SUMA
INTEGER::I,C
PROBLEMA 11 PRINT*,"INGRESAR CALIFICACIONES DE LOS ESTUDIANTES"
PROGRAM PROBLEMA_11 READ*,(NOTAS(I),I=1,100)
IMPLICIT NONE PRINT*,"VECTOR NOTAS"
INTEGER::I,J PRINT*,(NOTAS(I),I=1,100)
INTEGER,DIMENSION(12,19)::MATRIZ SUMA=0
PRINT*,"INGRESAR ELEMENTOS DE LA MATRIZ 12X19" DO I=1,100
READ*,((MATRIZ(I,J),J=1,19),I=1,12) SUMA=SUMA+NOTAS(I)
PRINT*,"MATRIZ" END DO
DO I=1,12 PROMEDIO=SUMA/100.
PRINT*,(MATRIZ(I,J),J=1,19) PRINT*
END DO PRINT*," LA CALIFICACION PROMEDIO ES ",PROMEDIO
DO I=1,12 PRINT*
DO J=1,19 C=0
IF(MATRIZ(I,J)<0)THEN DO I=1,100
MATRIZ(I,J)=0 IF(NOTAS(I)>PROMEDIO)THEN
END IF C=C+1
END DO END IF
END DO END DO
PRINT*,"MATRIZ CON ELEMENTOS NEGATIVOS CONVERTIDOS A PRINT*,"ESTUDIANTES QUE OBTUVIERON NOTAS POR ENCIMA
CERO" DEL PROMEDIO:",C
DO I=1,12
PRINT*,(MATRIZ(I,J),J=1,19) END PROGRAM PROBLEMA_12
END DO
SUM_R2=0
DO I=1,100
SUM_R2=SUM_R2+VECTOR(I)**2
END DO
MAG=SQRT(SUM_R2)
PRINT*,"LA MAGNITUD DEL VECTOR ES:",MAG
END PROGRAM PROBLEMA_13

PROBLEMA 14
PROGRAM PROBLEMA_14
IMPLICIT NONE
INTEGER::I,J,C,Z
INTEGER,DIMENSION(5,6)::MATRIZ
PRINT*,"INGRESAR ELEMENTOS DE LA MATRIZ 5X6"
READ*,((MATRIZ(I,J),J=1,6),I=1,5)
PRINT*,"MATRIZ"
DO I=1,5
PRINT*,(MATRIZ(I,J),J=1,6)
END DO
Z=0
C=0
DO I=1,5
DO J=1,6
PROBLEMA 13 IF(MATRIZ(I,J)<0)THEN
PROGRAM PROBLEMA_13 C=C+1
INTEGER::I END IF
REAL::MAG,SUM_R2 IF(I==J .AND. MATRIZ(I,J)==0)THEN
REAL,DIMENSION(100)::VECTOR Z=Z+1
PRINT*,"INGRESAR ELEMENTOS DEL VECTOR" END IF
READ*,(VECTOR(I),I=1,100) END DO
PRINT*,"VECTOR " END DO
PRINT*,(VECTOR(I),I=1,100) PRINT*," CANTIDAD DE NEGATIVOS : ",C
PRINT*," ELEMENTOS DIAGONAL PRINCIPAL IGUALES A CERO : PRINT*,"EL PRODUCTO DE LOS DOS VECTORES ES :",PRODUCTO
",Z END PROGRAM PROBLEMA_15

END PROGRAM PROBLEMA_14

PROBLEMA 15 PROBLEMA 17
PROGRAM PROBLEMA_15 PROGRAM PROBLEMA_17
IMPLICIT NONE IMPLICIT NONE
INTEGER::I,PRODUCTO INTEGER::I,J,FILA,COLUMNA,NEGATIVO
INTEGER,DIMENSION(10)::VECTOR1,VECTOR2 INTEGER,DIMENSION(6,8)::MATRIZ
PRINT*,"INGRESE ELEMENTOS DEL PRIMER VECTOR" PRINT*,"INGRESAR ELEMENTOS DE LA MATRIZ 6X8"
READ*,(VECTOR1(I),I=1,10) READ*,((MATRIZ(I,J),J=1,8),I=1,6)
PRINT*,"INGRESE ELEMENTOS DEL SEGUNDO VECTOR" PRINT*,"MATRIZ"
READ*,(VECTOR2(I),I=1,10) DO I=1,6
PRINT*,"VECTOR 1" PRINT*,(MATRIZ(I,J),J=1,8)
PRINT*,(VECTOR1(I),I=1,10) END DO
PRINT*,"VECTOR 2" NEGATIVO=MATRIZ(1,1)
PRINT*,(VECTOR2(I),I=1,10) DO I=1,6
PRODUCTO=DOT_PRODUCT(VECTOR1,VECTOR2) DO J=1,8
IF(MATRIZ(I,J)<=NEGATIVO)THEN INTEGER,DIMENSION(100)::FILAS,COLUMNAS
NEGATIVO=MATRIZ(I,J) INTEGER,ALLOCATABLE,DIMENSION(:,:)::MATRIZ
FILA=I PRINT*,"INGRESE NUMERO DE FILAS Y COLUMNAS DE LA MATRIZ"
COLUMNA=J READ*,F,C
END IF ALLOCATE(MATRIZ(F,C))
END DO PRINT*,"INGRESE ELEMENTOS DE LA MATRIZ"
END DO READ*,((MATRIZ(I,J),J=1,C),I=1,F)
PRINT*,"FILA QUE OCUPA EL NEGATIVO : ",FILA PRINT*,"MATRIZ"
PRINT*," COLUMNA QUE OCUPA EL NEGATIVO :",COLUMNA DO I=1,F
PRINT*,(MATRIZ(I,J),J=1,C)
END PROGRAM PROBLEMA_17 END DO
DO I=1,F
SUMAFILAS=0
DO J=1,C
SUMAFILAS=SUMAFILAS+MATRIZ(I,J)
END DO
FILAS(I)=SUMAFILAS
END DO
PRINT*,"VECTOR QUE SUMA FILAS DE MATRIZ"
PRINT*,(FILAS(I),I=1,F)
DO I=1,C
SUMACOLUMNAS=0
DO J=1,F
SUMACOLUMNAS=SUMACOLUMNAS+MATRIZ(J,I)
END DO
COLUMNAS(I)=SUMACOLUMNAS
END DO
PROBLEMA 18 PRINT*,"VECTOR QUE SUMA COLUMNAS DE MATRIZ"
PROGRAM PROBLEMA_18 PRINT*,(COLUMNAS(I),I=1,C)
IMPLICIT NONE END PROGRAM PROBLEMA_18
INTEGER::I,J,SUMAFILAS,SUMACOLUMNAS,F,C
END DO
PRINT*,"EL PRODUCTO DE LOS ELEMENTOS DE LA DIAGONAL
PRINCIPAL ES:",PRODUCTO
END PROGRAM PROBLEMA_19

PROBLEMA 19
PROGRAM PROBLEMA_19
IMPLICIT NONE
INTEGER,DIMENSION(5,5)::MATRIZ
INTEGER::PRODUCTO
INTEGER::I,J
PRINT*,"INGRESE ELEMENTOS DE LA MATRIZ DE ORDEN 5"
READ*,((MATRIZ(I,J),J=1,5),I=1,5)
PRINT*,"matriz INGRESADA"
DO I=1,5
PRINT*,(MATRIZ(I,J),J=1,5)
END DO
!CALCULANDO DIAGONAL PRINCIPAL
!1,2,3,4
PROBLEMA 20
PRODUCTO=1
PROGRAM PROBLEMA_20
DO I=1,5
IMPLICIT NONE
DO J=1,5
INTEGER,DIMENSION(5,5)::MATRIZ
IF(I==J)THEN
INTEGER::I,J,SUMAPAR,SUMAIMPAR
PRODUCTO=PRODUCTO*MATRIZ(I,J)
PRINT*,"INGRESE ELEMENTOS DE LA MATRIZ DE ORDEN 5"
END IF
READ*,((MATRIZ(I,J),J=1,5),I=1,5)
END DO
PRINT*,"matriz INGRESADA" END PROGRAM PROBLEMA_20
DO I=1,5
PRINT*,(MATRIZ(I,J),J=1,5)
END DO
SUMAPAR=0
SUMAIMPAR=0
DO I=1,5
DO J=1,5
IF (MOD(MATRIZ(I,J),2)==0) THEN
SUMAPAR=SUMAPAR+MATRIZ(I,J)
ELSE IF (MOD(MATRIZ(I,J),2)/=0) THEN
SUMAIMPAR=SUMAIMPAR+MATRIZ(I,J)
END IF
END DO
END DO
PRINT*
PRINT*,"LA SUMA DE LOS NUMEROS PARES ",SUMAPAR PROBLEMA 21
PRINT* PROGRAM PROBLEMA_21
PRINT*,"LA SUMA DE LOS NUMEROS IMPARES ",SUMAIMPAR CHARACTER(LEN=15),DIMENSION(12)::MES
INTEGER,DIMENSION(12,1)::DIAS
MES=(/"ENERO","FEBRERO","MARZO","ABRIL","MAYO","JUNIO","J
ULIO","AGOSTO","SETIEMBRE","OCTUBRE","NOVIEMBRE","DICIEM
BRE"/)
DIAS=RESHAPE((/31,28,31,30,31,30,31,31,30,31,30,31/),(/12,1/))
PRINT 200
200 FORMAT(3X,"MES",18X,"DIAS")
DO I=1,12
PRINT*,MES(I),(DIAS(I,J),J=1,1)
END DO
END PROGRAM PROBLEMA_21
PRINT*,FILA2
PRINT*,FILA3
PRINT*,FILA4
PRINT*,FILA5
END PROGRAM PROBLEMA_22

PROBLEMA 23
PROGRAM PROBLEMA_23
PROBLEMA 22 IMPLICIT NONE
PROGRAM PROBLEMA_22 INTEGER,DIMENSION(2,4)::MAT_A=RESHAPE((/1,5,2,6,3,7,4,8/),(/2,4/)
!22 33 44 )
!33 44 55 INTEGER,DIMENSION(4,2)::MATRIZ_T
!11 22 33 INTEGER::I,J
!11 33 55 PRINT*,"MATRIZ A"
!22 44 55 DO I=1,2
INTEGER,DIMENSION(5)::V=(/11,22,33,44,55/) PRINT*,(MAT_A(I,J),J=1,4)
INTEGER,DIMENSION(3)::FILA1,FILA2,FILA3,FILA4,FILA5=(/2,4,5/)!F END DO
ILA5 ESPESCIFICA LOS INDICES DE V DO I=1,2
FILA1=V(2:4) DO J=1,4
FILA2=V(3:5) MATRIZ_T(J,I)=MAT_A(I,J)
FILA3=V(1:3) END DO
FILA4=V(1:5:2) END DO
FILA5=V(FILA5) PRINT*, "LA TRANSPUESTA DE A ES"
PRINT*,FILA1 DO I=1,4
PRINT*,(MATRIZ_T(I,J),J=1,2) END DO
END DO MAG=SQRT(MAG)
END PROGRAM PROBLEMA_23 PRINT*,"LA MAGNITUD DEL VECTOR ES:",MAG
END PROGRAM PROBLEMA_24

PROBLEMA 25
PROGRAM PROBLEMA_25
PROBLEMA 24
INTEGER,DIMENSION(100,100)::MXN,PXQ,PROD
PROGRAM PROBLEMA_24
INTEGER::I,J
IMPLICIT NONE
INTEGER::M,N,P,Q
INTEGER::I
PRINT*,"INGRESE FILAS Y COLUMNAS DE LA MATRIZ A"
INTEGER,DIMENSION(3)::A
READ*,M,N
REAL::MAG
PRINT*,"INGRESE FILAS Y COLUMNAS DE LA MATRIZ B"
PRINT*,"INGRESAR VALORES 3 , 4 Y 5"
READ*,P,Q
DO I=1,3
IF(N==P)THEN
READ*,A(I)
PRINT*,"INGRESE DATOS DE LA MATRIZ ",M,"X",N
END DO
READ*,((MXN(I,J),J=1,N),I=1,M)
PRINT*,"VECTOR A"
PRINT*,"INGRESE DATOS DE LA MATRIZ ",P,"X",Q
PRINT*,(A(I),I=1,3)
READ*,((PXQ(I,J),J=1,Q),I=1,N)
MAG=0
PRINT*,"VECTOR MXN"
DO I=1,3
DO I=1,M
MAG=MAG+A(I)**2
PRINT*,(MXN(I,J),J=1,N) END PROGRAM PROBLEMA_25
END DO
PRINT*,"VECTOR PXQ"
DO I=1,P
PRINT*,(PXQ(I,J),J=1,Q)
END DO
!PRODUCTO DE 2 MATRICES
PROD=MATMUL(MXN,PXQ)
PRINT*,"EL PRODUCTO DE MATRICES ES:"
DO I=1,M
PRINT*,(PROD(I,J),J=1,Q)
END DO
ELSE
PRINT*,"Estas matrices no se pueden multiplicar "
print*,"debido a que el numero de columnas de la" PROBLEMA 26
print*,"matriz A es diferente al numero de filas" PROGRAM PROBLEMA_26
print*,"de la matriz B, !Vuelva a intentarlo! " INTEGER::I,J,K,L,N
END IF REAL,ALLOCATABLE,DIMENSION(:,:)::MATRIZ
real::DET
PRINT*,"INGRESAR ORDEN DE LA MATRIZ :"
READ*,N
M=N-1
ALLOCATE(MATRIZ(N,N))
IF(N>=3) THEN
PRINT*,"INGRESAR ELEMENTOS DE LA MATRIZ"
READ*,((MATRIZ(I,J),J=1,N),I=1,N) !1,2,3,4,5,3,4,5,6
DO I=1,N
PRINT*,(MATRIZ(I,J),J=1,N)
END DO
!HALLANDO DETERMINANTE
DET=MATRIZ(1,1)
DO K=1,M PROBLEMA 27
L=K+1 PROGRAM PROBLEMA_27
DO I=L,N IMPLICIT NONE
DO J=L,N REAL::TEMPORAL
MATRIZ(I,J)=(MATRIZ(K,K)*MATRIZ(I,J)- REAL,DIMENSION(50)::X
MATRIZ(K,J)*MATRIZ(I,K))/MATRIZ(K,K) INTEGER::N,I,J
END DO PRINT*,"NUMERO DE DATOS A LEER"
END DO READ*,N
DET=DET*MATRIZ(K+1,K+1) DO I=1,N
END DO PRINT*,"ELEMENTO",I
PRINT*,"DETERMINANTE DE LA MATRIZ" READ*,X(I)
PRINT*,DET END DO
ELSE DO I=1,N
PRINT*,"NO SE PUEDE REALIZAR LA OPERACION PORQUE O NO ES DO J=N,I,-1
MATRIZ CUADRARA O NO ES DE ORDEN MAYOR A 3" IF(X(J-1)>X(J)) THEN
END IF TEMPORAL=X(J-1)
END PROGRAM PROBLEMA_26 X(J-1)=X(J)
X(J)=TEMPORAL
END IF
END DO
END DO
PRINT*,"ELEMENTOS ORDENADOS"
DO I=1,N
PRINT*,"ELEMENTO",I,"=",X(I)
END DO
END PROGRAM PROBLEMA_27

PROBLEMA 29
PROGRAM PROBLEMA_29
REAL,DIMENSION(4)::NOTAS1,NOTAS2,NOTAS3
S1=0
PROBLEMA 28 S2=0
PROGRAM PROBLEMA_28 S3=0
INTEGER,DIMENSION(5)::V !INGRESANDO VALORES PARA LAS NOTAS DE LOS 3 ALUMNOS
!LECTURA EXPLICITA
PRINT*,"INGRESE VALORES DEL VECTOR" PRINT*, "INGRESE NOTAS DEL PRIMER ALUMNO"
DO I=1,5 DO I=1,4
READ*,V(I) READ*, NOTAS1(I)
END DO END DO
DO I=5,1,-1
PRINT*,V(I) PRINT*, "INGRESE NOTAS DEL SEGUNDO ALUMNO"
END DO DO I=1,4
END PROGRAM PROBLEMA_28 READ*, NOTAS2(I)
END DO

PRINT*, "INGRESE NOTAS DEL TERCER ALUMNO"


DO I=1,4
READ*, NOTAS3(I)
END DO
DO I=1,4
S1=S1+NOTAS1(I)
S2=S2+NOTAS2(I)
S3=S3+NOTAS3(I)
END DO
PROM1=S1/4
PROM2=S2/4
PROM3=S3/4
PRINT*,"PROMEDIO DEL PRIMER ALUMNO", PROM1
PRINT*, "PROMEDIO DEL SEGUNDO ALUMNO", PROM2
PRINT*, "PROMEDIO DEL TERCER ALUMNO", PROM3
END PROGRAM PROBLEMA_29
PROBLEMA 30
PROGRAM PROBLEMA_30
INTEGER::I,J
INTEGER,ALLOCATABLE,DIMENSION(:,:)::MAT1,MAT2,SUMA
PRINT*,"INGRESAR FILAS Y COLUMNAS DE MATRICES A SUMAR"
READ*,M,N
ALLOCATE(MAT1(M,N),MAT2(M,N),SUMA(M,N))
IF(M==N)THEN
PRINT*,"INGRESAR ELEMENTOS DE PRIMERA MATRIZ"
READ*,((MAT1(I,J),J=1,N),I=1,N)
PRINT*,"INGRESAR ELEMENTOS DE SEGUNDA MATRIZ"
READ*,((MAT2(I,J),J=1,N),I=1,N)
PRINT*,"MATRIZ 1"
DO I=1,N
PRINT*,(MAT1(I,J),J=1,N)
END DO
PRINT*,"MATRIZ 2"
DO I=1,N
PRINT*,(MAT2(I,J),J=1,N)
END DO
!CALCULANDO SUMA
DO I=1,N
DO J=1,N
SUMA(I,J)=MAT1(I,J)+MAT2(I,J)
END DO
END DO
PRINT*,"LA SUMA DE MATRICES ES:"
DO I=1,N
PRINT*,(SUMA(I,J),J=1,N)
END DO
ELSE
PRINT*,"NO SE PUEDE PROCEDER A REALIZAR LA OPERACION YA PROBLEMA 31
QUE LA MATRIZ NO ES CUADRADA" PROGRAM PROBLEMA_31
END IF IMPLICIT NONE
END PROGRAM PROBLEMA_30 INTEGER::M,N
INTEGER,DIMENSION(100,100)::MATRIZ
INTEGER::SUMA
INTEGER::I,J
PRINT*,"INGRESE NUMERO DE FILAS Y COLUMNAS DE LA MATRIZ"
READ*,M,N
IF(M==N)THEN
PRINT*,"INGRESE DATOS DE LA MATRIZ",M,"X",N
READ*,((MATRIZ(I,J),J=1,N),I=1,M)
PRINT*,"matriz INGRESADA"
DO I=1,M
PRINT*,(MATRIZ(I,J),J=1,N)
END DO
!CALCULANDO DIAGONAL PRINCIPAL
!1,2,3,4 PROBLEMA 32
SUMA=0 PROGRAM PROBLEMA_32
DO I=1,M IMPLICIT NONE
DO J=1,N INTEGER,DIMENSION(100,100)::MXN,PXQ,PROD
IF(I==J)THEN INTEGER::I,J,N ,M,P,Q
SUMA=SUMA+MATRIZ(I,J)**2 PRINT*,"INGRESE NUMERO DE FILAS Y COLUMNAS DE LA
END IF PRIMERA MATRIZ"
END DO READ*,M,N
END DO PRINT*,"INGRESE NUMERO DE FILAS Y COLUMNAS DE LA
PRINT*,"LA SUMA DE LOS CUADRADOS DE LOS ELEMENTO DE LA SEGUNDA MATRIZ"
DIAGONAL PRINCIPAL ES :",SUMA READ*,P,Q
ELSE IF(M==P .AND. N==Q)THEN
PRINT*,"NO SE PUEDE PROCEDER A OPERAR YA QUE LA MATRIZ PRINT*,"INGRESE DATOS DE LA MATRIZ 1"
INGRESADA NO ES CUADRADA" READ*,((MXN(I,J),J=1,N),I=1,M)
END IF PRINT*,"INGRESE DATOS DE LA MATRIZ 2"
END PROGRAM PROBLEMA_31 READ*,((PXQ(I,J),J=1,Q),I=1,P)
PRINT*,"VECTOR MXN"
DO I=1,M
PRINT*,(MXN(I,J),J=1,N)
END DO
PRINT*,"VECTOR PXQ"
DO I=1,P
PRINT*,(PXQ(I,J),J=1,Q)
END DO
!PRODUCTO DE 2 MATRICES
DO I=1,M
DO J=1,N
PROD(I,J)=MXN(I,J)*PXQ(I,J)
END DO
END DO
PRINT*,"EL PRODUCTO DE MATRICES ES:"
DO I=1,M
PRINT*,(PROD(I,J),J=1,N)
END DO
ELSE PROBLEMA 33
PRINT*,"Estas matrices no se pueden multiplicar " PROGRAM PROBLEMA_33
print*,"debido a que las matrices no tienen la misma orden" REAL,ALLOCATABLE,DIMENSION(:,:)::MATRIZ
END IF INTEGER::I,J,M,N
END PROGRAM PROBLEMA_32 REAL::MAYOR
PRINT*,"INGRESAR NUMERO DE FILAS Y COLUMNAS DE LA
MATRIZ:"
READ*,M,N
ALLOCATE(MATRIZ(M,N))
PRINT*,"INGRESAR ELEMENTOS DE LA MATRIZ"
READ*,((MATRIZ(I,J),J=1,N),I=1,M)
MAYOR=MATRIZ(1,1)
DO I=1,M
DO J=1,N
IF (MATRIZ(I,J)>MAYOR) THEN
MAYOR=MATRIZ(I,J)
END IF
END DO
END DO
PRINT*,"EL MAYOR VALOR ES",MAYOR
END PROGRAM PROBLEMA_33
PROBLEMA 35
PROGRAM PROBLEMA_35
PROBLEMA 34
INTEGER::I,J,N
PROGRAM PROBLEMA_34
INTEGER,ALLOCATABLE,DIMENSION(:,:)::MATRIZ
INTEGER::I
PRINT*,"INGRESAR ORDEN DE LA MATRIZ"
REAL::MAG,SUM_R2
READ*,N
REAL,ALLOCATABLE,DIMENSION(:)::VECTOR
ALLOCATE(MATRIZ(N,N))
PRINT*,"INGRESAR CANTIDAD DE ELEMENTOS DEL VECTOR"
DO I=1,N
READ*,N
DO J=1,N
ALLOCATE(VECTOR(N))
IF(I==J)THEN
PRINT*,"INGRESAR ELEMENTOS DEL VECTOR"
MATRIZ(I,J)=1
READ*,(VECTOR(I),I=1,N)
ELSE
SUM_R2=0
MATRIZ(I,J)=0
DO I=1,N
END IF
SUM_R2=SUM_R2+VECTOR(I)**2
END DO
END DO
END DO
MAG=SQRT(SUM_R2)
DO I=1,N
PRINT*,"LA MAGNITUD DEL VECTOR ES:",MAG
PRINT*,(MATRIZ(I,J),J=1,N)
END PROGRAM PROBLEMA_34
END DO
END PROGRAM PROBLEMA_35
PRINT*, "EL PRODUCTO DE LOS VALORES DEL VECTOR B ES",
PRODUCT(B)
PRINT*, "EL MAXIMO VALOR DEL VECTOR A ES", MAXVAL(A)
PRINT*, "EL MINIMO VALOR DEL VECTOR A ES", MINVAL(A)
PRINT*, "EL MAXIMO VALOR DEL VECTOR B ES", MAXVAL(B)
PRINT*, "EL MINIMO VALOR DEL VECTOR B ES", MINVAL(B)
END PROGRAM PROBLEMA36

PROBLEMA 36
PROGRAM PROBLEMA36
REAL,DIMENSION(3)::A,B
REAL::C
PRINT*, "INGRESE VALORES PARA EL VECTOR A"
DO I=1,3
READ*, A(I)
END DO

PRINT*, "INGRESE VALORES PARA EL VECTOR B"


DO I=1,3
PROBLEMA 37
READ*, B(I)
PROGRAM PROBLEMA_37
END DO
IMPLICIT NONE
P=0
REAL::TEMPORAL
DO I=1,3
REAL,DIMENSION(50)::VECTOR
P=P+A(I)*B(I)
INTEGER::N,I,J
END DO
PRINT*,"INGRESE TAMANIO DEL VECTOR"
C=P
READ*,N
PRINT*, "EL PRODUCTO ESCALAR DEL VECTOR A CON EL VECTOR
DO I=1,N
B ES",C
PRINT*,"ELEMENTO",I
PRINT*, "EL PRODUCTO DEL LOS VALORES DEL VECTOR A
READ*,VECTOR(I)
ES",PRODUCT(A)
END DO
DO I=1,N INTEGER,ALLOCATABLE,DIMENSION(:,:)::MATRIZ,MULT
DO J=N,I,-1 PRINT*,"INGRESAR NUMERO DE FILAS Y COLUMNAS DE LA
IF(VECTOR(J-1)>VECTOR(J)) THEN MATRIZ:"
TEMPORAL=VECTOR(J-1) READ*,M,N
VECTOR(J-1)=VECTOR(J) PRINT*,"INGRESAR ESCALAR A MULTIPLICAR"
VECTOR(J)=TEMPORAL READ*,ESCALAR
END IF ALLOCATE(MATRIZ(M,N),MULT(M,N))
END DO PRINT*,"INGRESAR ELEMENTOS DE LA MATRIZ"
END DO READ*,((MATRIZ(I,J),J=1,N),I=1,M)
PRINT*,"ELEMENTOS ORDENADOS DE MENOR A MAYOR" PRINT*,"MATRIZ "
DO I=1,N DO I=1,M
PRINT*,"ELEMENTO",I,"=",VECTOR(I) PRINT*,(MATRIZ(I,J),J=1,N)
END DO END DO
END PROGRAM PROBLEMA_37 !OPERACION ESCALAR POR MATRIZ
DO I=1,M
DO J=1,N
MULT(I,J)=ESCALAR*MATRIZ(I,J)
END DO
END DO
PRINT*,"ESCALAR POR MATRIZ ES:"
DO I=1,M
PRINT*,(MULT(I,J),J= 1,N)
END DO
END PROGRAM PROBLEMA_38

PROBLEMA 38
PROGRAM PROBLEMA_38
REAL::ESCALAR
END DO
END PROGRAM PROBLEMA_39

PROBLEMA 39
PROGRAM PROBLEMA_39
INTEGER,DIMENSION(6,10)::VENTAS
INTEGER::I,J
PRINT*,"INGRESAR ELEMENTOS DEL ARREGLO VENTAS"
READ*,((VENTAS(I,J),J=1,10),I=1,6)
PRINT*,"VISUALIZACION DE VENTAS EN ARREGLO"
DO I=1,6
PRINT*,(VENTAS(I,J),J=1,10)
END DO
PRINT*,"VENTAS SEMANALES POR ALMACEN Y DEPARTAMENTO:"
DO I=1,6
DO J=1,10
PRINT*," ALMACEN ",I," DEPARTAMENTO ",J," : ",VENTAS(I,J)
END DO
END DO
PROM=SUMA/12
PRINT*,"EL PROMEDIO DE LAS PRECIPITACIONES MEDIA
MENSUAL DURANTE EL ANIO 2005 ES:",PROM
END PROGRAM PROBLEMA_40

PROBLEMA 41
PROGRAM PROBLEMA_41
IMPLICIT NONE
REAL,DIMENSION(12)::PRECIP=(/10.5,15.2,13.25,12.5,11.5,5.40,5.65,8.
80,14.5,13.12,20.2,22.25/)
CHARACTER(LEN=12),DIMENSION(12)::MES
INTEGER::I
REAL::MAYOR,MENOR
CHARACTER(LEN=12)::MESMAY,MESMEN
MES=(/"ENERO","FEBRERO","MARZO","ABRIL","MAYO","JUNIO","J
ULIO","AGOSTO","SETIEMBRE","OCTUBRE","NOVIEMBRE","DICIEM
BRE"/)
MAYOR=PRECIP(1)
MENOR=PRECIP(1)
DO I=1,12
PROBLEMA 40 !PARA EL MAXIMO
PROGRAM PROBLEMA_40 IF ( PRECIP(I)>MAYOR) THEN
INTEGER::I MAYOR=PRECIP(I)
REAL::SUMA,PROM MESMAY=MES(I)
REAL,DIMENSION(12)::PRECIP=(/10.5,15.2,13.25,12.5,11.5,5.40,5.65,8. END IF
80,14.5,13.12,20.2,20.25/) !PARA EL MENOR
SUMA=0 IF (PRECIP(I)<MENOR) THEN
PRINT*,(PRECIP(I),I=1,12) MENOR=PRECIP(I)
DO I=1,12 MESMEN=MES(I)
SUMA=SUMA+PRECIP(I) END IF
END DO
PRINT*,"EL MAYOR VALOR ES",MAYOR," Y CORRESPONDE AL MES INTEGER::N,IZQ=1,DER=4,CEN,I
",MESMAY PRINT*,(X(I),I=1,4)
PRINT*,"EL MENOR VALOR ES",MENOR," Y CORRESPONDE AL MES PRINT*,"INGRESE ELEMENTO A BUSCAR"
",MESMEN READ*,N
END PROGRAM PROBLEMA_41 CEN=(IZQ+DER)/2
DO WHILE(N/=X(CEN) .AND. IZQ<DER)
IF(N>X(CEN))THEN
IZQ=CEN+1
ELSE
DER=CEN-1
END IF
PROBLEMA 42 CEN=(IZQ+DER)/2
PROGRAM PROBLEMA_42 END DO
REAL,DIMENSION(3)::V IF(N==X(CEN))THEN
REAL,DIMENSION(3)::U PRINT*,"EL VALOR SE ENCUENTRA EN LA POSICION",CEN
REAL::SUMA PRINT*,"VALOR ENCONTRADO",X(CEN)
V=(/2.0,5.1,-1.1/) ELSE
U=(/1.2,3.5,4.1/) PRINT*,"VALOR NO ENCONTRADO"
SUMA=0 END IF
DO I=1,3 END PROGRAM PROBLEMA_43
SUMA = SUMA + V(I)*U(I)
END DO
PRINT*,"EL PRODUCTO VESTORIAL DE LOS VECTORES V y U
ES:",SUMA
END PROGRAM PROBLEMA_42

PROBLEMA 44
PROGRAM PROBLEMA_44
IMPLICIT NONE
PROBLEMA 43
INTEGER::I,M
PROGRAM PROBLEMA_43
INTEGER,DIMENSION(4)::X=(/2,3,5,9/)
INTEGER::SUMA_A,SUMA_B,PRODUCTO_A,PRODUCTO_B,MAXIMO PRINT*,"EL PRODUCTO DE TODOS LOS ELEMENTOS DEL VECTOR
VALOR_A,MAXIMOVALOR_B,MINIMOVALOR_A,MINIMOVALOR_B,PR B ",PRODUCTO_B
ODUC_ESC PRINT*,"EL MINIMO VALOR DE TODOS LOS ELEMENTOS DEL
INTEGER,ALLOCATABLE,DIMENSION(:)::VECTOR_A,VECTOR_B VECTOR A ",MINIMOVALOR_A
PRINT*,"INGRESE TAMANIO DEL VECTOR A Y B" PRINT*,"EL MINIMO VALOR DE TODOS LOS ELEMENTOS DEL
READ*,M VECTOR B ",MINIMOVALOR_B
ALLOCATE(VECTOR_A(M),VECTOR_B(M)) PRINT*,"EL MAXIMO VALOR DE TODOS LOS ELEMENTOS DEL
PRINT*,"INGRESE ELEMENTOS DEL VECTOR A" VECTOR A ",MAXIMOVALOR_A
read*,(VECTOR_A(I),I=1,M) PRINT*,"EL MAXIMO VALOR DE TODOS LOS ELEMENTOS DEL
PRINT*,"INGRESE ELEMENTOS DEL VECTOR B" VECTOR B ",MAXIMOVALOR_B
read*,(VECTOR_B(I),I=1,M) PRINT*,"EL PRODUCTO ESCALAR DE LOS VECTORES A Y B SON
PRINT*,"VECTOR A" ",PRODUC_ESC
PRINT*,(VECTOR_A(I),I=1,M) PRINT*,"LA POSICION MINIMA DEL VECTOR A
PRINT*,"VECTOR B" ES",MINLOC(VECTOR_A)
PRINT*,(VECTOR_B(I),I=1,M) PRINT*,"LA POSICION MINIMA DEL VECTOR B
SUMA_A=SUM(VECTOR_A) ES",MINLOC(VECTOR_B)
SUMA_B=SUM(VECTOR_B) END PROGRAM PROBLEMA_44
PRODUCTO_A=PRODUCT(VECTOR_A)
PRODUCTO_B=PRODUCT(VECTOR_B)
MAXIMOVALOR_A=MAXVAL(VECTOR_A)
MAXIMOVALOR_B=MAXVAL(VECTOR_B)
MINIMOVALOR_A=MINVAL(VECTOR_A)
MINIMOVALOR_B=MINVAL(VECTOR_B)
PRODUC_ESC=DOT_PRODUCT(VECTOR_A,VECTOR_B)

PRINT*,"LA SUMA DE TODOS LOS ELEMENTOS DEL VECTOR A


",SUMA_A
PRINT*,"LA SUMA DE TODOS LOS ELEMENTOS DEL VECTOR B
",SUMA_B
PRINT*,"EL PRODUCTO DE TODOS LOS ELEMENTOS DEL VECTOR
A ",PRODUCTO_A
C(I)=(A(I)+2*I)/B(I)
PROBLEMA 45 END DO
CODIFICACION DEL PROGRAMA: PRINT*,"VECTOR C"
INTEGER K(6) PRINT*,(C(I),I=1,3)
INTEGER,DIMENSION(6)::L=(/(I,I=1,6)/) END PROGRAM PROBLEMA_46
K=(/1,2,3,4,5,6/)
PRINT*,K
PRINT*,L
PRINT*,X
END
AL EJECUTAR EL PROGRAMA LA SALIDA DE DATOS ES LA
SIGUIENTE:

PROBLEMA 47
PROGRAM PROBLEMA_47
INTEGER::I,J
INTEGER,DIMENSION(3,4)::MATRIZ
PRINT*,"INGRESE 12 NUMEROS "
READ*,((MATRIZ(I,J),J=1,4),I=1,3)
PRINT*,"VISUALIZANDO 4 NUMEROS POR FILA"
DO I=1,3
PRINT*,(MATRIZ(I,J),J=1,4)
PROBLEMA 46
END DO
PROGRAM PROBLEMA_46
END PROGRAM PROBLEMA_47
INTEGER::I
REAL,DIMENSION(3)::A=(/1,2,3/),B=(/10,9,8/),C
PRINT*,"VECTOR A"
PRINT*,(A(I),I=1,3)
PRINT*,"VECTOR B"
PRINT*,(B(I),I=1,3)
DO I=1,3
PROBLEMA 48
PROGRAM PROBLEMA_48
IMPLICIT NONE
INTEGER::I
REAL::PRODUCTO,SUMA
INTEGER,DIMENSION(5)::A
PRINT*,"INGRESAR ELEMENTOS DEL VECTOR"
READ*,(A(I),I=1,5)
SUMA=0
DO I=1,5
SUMA=SUMA+A(I)**2
END DO
PRODUCTO=1
DO I=1,5
PRODUCTO=PRODUCTO*(1-A(I))
END DO

PRINT*,"LA SUMA DE LOS CUADRADOS DE LOS NUMEROS ES


",SUMA
PRINT*," EL PRODUCTO DE (1-a1) (1-a2)....(1-a5) ES:",PRODUCTO
END PROGRAM PROBLEMA_48

También podría gustarte