Ing. William Chauca Nolasco
1|Página
Ing. William Chauca Nolasco
program sum_vect integer,dimension(10)::A integer::suma=0 print*,"Ingrese 10 elementos vector" read*,(A(i),i=1,10) !Calculando la suma de elementos del vector do i=1,10 suma=suma+A(i) end do !Imprimiendo la suma print*,"" print*,"La suma del vector es=",suma end program sum_vect
al
program informacion character(len=100),dimension(100)::nomb real,dimension(100)::prom integer::i,n,m integer::max,aux1 character(len=100)::aux2 print*,"Ingrese cantidad de alumnos" read*,n print*,"Ingrese nombres de los alumnos" read*,(nomb(i),i=1,n) print*,"Ingrese promedio de general de los alumnos" read*,(prom(i),i=1,n) m=i-1 !Proceso repetitivo 2|Página
Ing. William Chauca Nolasco
program sum_vect integer,dimension(10)::A integer::suma=0 print*,"Ingrese 10 elementos vector" read*,(A(i),i=1,10) !Calculando la suma de elementos del vector do i=1,10 suma=suma+A(i) end do !Imprimiendo la suma print*,"" print*,"La suma del vector es=",suma end program sum_vect
al
program informacion character(len=100),dimension(100)::nomb real,dimension(100)::prom integer::i,n,m integer::max,aux1 character(len=100)::aux2 print*,"Ingrese cantidad de alumnos" read*,n print*,"Ingrese nombres de los alumnos" read*,(nomb(i),i=1,n) print*,"Ingrese promedio de general de los alumnos" read*,(prom(i),i=1,n) m=i-1 !Proceso repetitivo 2|Página
Ing. William Chauca Nolasco
do i=1,m-1 max=prom(i) index=i !Busqueda del mayor valor e indice respectivo do j=i+1,m if(prom(j)>max) then max=prom(j) index=j end if end do aux1=prom(i) aux2=nomb(i) prom(i)=prom(index) nomb(i)=nomb(index) prom(index)=aux1 nomb(index)=aux2 end program informacion
3|Página
Ing. William Chauca Nolasco
CODIGO
program problema3 integer::i integer,dimension(10)::a,b,c do i=1,10 print*,"ingrese cantidad del producto ",i," en stock" read*,a(i) print*,"ingrese cantidad de productos pedidos por el cliente" read*,b(i) end do do i=1,10 if (a(i)==b(i))then c(i)=a(i) else if (b(i)>a(i))then c(i)=(b(i)-a(i))*2 else c(i)=b(i) end if end if 4|Página
Ing. William Chauca Nolasco
end do do i=1,10 print*,c(i) end do end program problema3
5|Página
Ing. William Chauca Nolasco
PROGRAM PROB_4 REAL,DIMENSION(1:6)::A INTEGER::I PRINT*,"VALORES DEL VECTOR "
READ*,(A(I),I=1,6) 6|Página
Ing. William Chauca Nolasco
PRINT*,"VECTOR A" DO I=1,6 PRINT*,A(I) CALL POSICION(A) END DO END PROGRAM PROB_4 SUBROUTINE POSICION(X) REAL,DIMENSION(1:6)::X REAL::B INTEGER::I PRINT*,"UNA POSICION A LA DERECHA DEL VECTOR" DO I=1,6 B=X(I) X(I)=X(6) X(6)=B END DO DO I=1,6 PRINT*,X(I) END DO END SUBROUTINE POSICION
Codigo program problema_5 implicit none integer::i,j,m,n 7|Página
Ing. William Chauca Nolasco
real,dimension(100,100)::A,B,TA,TB print*,"Ingrese filas para A y B" read*,m print*,"Ingrese columnas para A y B" read*,n print*,"Ingrese datos a la matriz A" read*,((A(i,j),j=1,n),i=1,n) print* print*,"Ingrese datos a la matriz B" read*,((B(i,j),j=1,n),i=1,n) print* do i=1,n do j=1,m TA(i,j)=A(j,i) end do end do do i=1,n do j=1,m TB(i,j)=B(j,i) end do end do print*,"La transpuesta de la matriz A es" do i=1,n print*,(TA(i,j),j=1,m) end do print*,"La transpuesta de la matriz B es" do i=1,n print*,(TB(i,j),j=1,m) end do end program problema_5
8|Página
Ing. William Chauca Nolasco
PROGRAM MATRIZ_TRANSPUESTA INTEGER,DIMENSION(:,:),ALLOCATABLE::A,At INTEGER::I,J INTEGER::M,N PRINT*,"INGRESAR FILAS Y COLUMNAS DE LA MATRIZ" READ*, M,N ALLOCATE(A(M,N),At(N,M)) PRINT*,"INGRESAR DATOS DE A" READ*,((A(I,J),J=1,N),I=1,M) PRINT*,"LA MATRIZ A " DO I=1,M PRINT*,(A(I,J),J=1,N) END DO DO I=1,M DO J=1,N At(J,I)=A(I,J) END DO END DO PRINT*, "LA TRANSPUESTA DE A" DO I=1,N PRINT*,(At(I,J),J=1,M) END DO END PROGRAM MATRIZ_TRANSPUESTA
9|Página
Ing. William Chauca Nolasco
PROGRAM MATMUL IMPLICIT NONE INTEGER,DIMENSION(100,100)::MxN,PxQ,PD INTEGER::I,J,K INTEGER::M,N,P,Q PRINT*,"INGRESAR FILAS Y COLUMNAS DE LA MATRIZ A" READ*,M,N PRINT*,"INGRESAR FILAS Y COLUMNAS DE LA MATRIZ A" READ*,P,Q IF(N==P)THEN PRINT*,"INGRESAR DATOS DE LA MATRIZ",M,"x",N READ*,((MxN(I,J),J=1,N),I=1,M) PRINT*,"INGRESAR 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 DO I=1,M DO J=1,Q PD(I,J)=0 DO K=1,N PD(I,J)=PD(I,J)+(MxN(I,K)*PxQ(K,J)) END DO END DO END DO PRINT*,"EL PRODUCTO DE MATRICES" DO I=1,M PRINT*,(PD(I,J),J=1,Q) END DO ELSE PRINT*,"LAS MATRICES NO SE PUEDEN MULTIPLICAR PORQUE EL NUMERO DE COLUMNAS DE A ES DIFERENTE AL NUMERO DE FILAS DE B=" 10 | P á g i n a
Ing. William Chauca Nolasco
END IF END PROGRAM MATMUL
PROGRAM DIAGONAL_PRINCIPAL IMPLICIT NONE INTEGER::M,N INTEGER,DIMENSION(100,100)::MT INTEGER::SU INTEGER::I,J PRINT*,"INGRESAR NUMERO DE FILAS Y COLUMNAS DE LA MATRIZ" READ*,M,N IF(M==N)THEN PRINT*,"INGRESAR DATOS DE LA MATRIZ",M,"x",N READ*,((MT(I,J),J=1,N),I=1,M) PRINT*,"MATRIZ INGRESADA" DO I=1,M PRINT*,(MT(I,J),J=1,N) END DO SU=0 DO I=1,M DO J=1,N IF(I==J)THEN SU=SU+MT(I,J) END IF END DO END DO PRINT*,"LA SUMA DE LOS ELEMENTOS DE LA DIAGONAL PRINCIPAL ES:",SU ELSE PRINT*,"NO SE PUEDE OPERAR PORQUE LA MATRIZ INGRESADA NO ES CUADRADA" END IF END PROGRAM DIAGONAL_PRINCIPAL
PROGRAM RESTA_DE_MATRICES 11 | P á g i n a
Ing. William Chauca Nolasco
INTEGER::I,J INTEGER,ALLOCATABLE,DIMENSION(:,:)::MT1,MT2,RESTA PRINT*,"INGRESAR FILAS Y COLUMNAS DE MATRICES A RESTAR" READ*,M,N ALLOCATE(MT1(M,N),MT2(M,N),RESTA(M,N)) PRINT*,"INGRESAR ELEMENTOS DE PRIMERA MATRIZ" READ*,((MT1(I,J),J=1,N),I=1,M) PRINT*,"INGRESAR ELEMENTOS DE SEGUNDA MATRIZ" READ*,((MT2(I,J),J=1,N),I=1,M) PRINT*,"MATRIZ 1" DO I=1,M PRINT*,(MT1(I,J),J=1,N) END DO PRINT*,"MATRIZ 2" DO I=1,M PRINT*,(MT2(I,J),J=1,N) END DO DO I=1,M DO J=1,N RESTA(I,J)=MT1(I,J)-MT2(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 RESTA_DE_MATRICES
12 | P á g i n a
Ing. William Chauca Nolasco
PROGRAM MATRIZ_CUADRADA 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) END DO C=0 DO I=1,N DO J=1,N IF(I/=J .AND. MATRIZ(I,J)==0 )THEN C=C+1 IF(C==N*(N-1))THEN PRINT*,"LA MATRIZ ES DE TIPO DIAGONAL" END IF END IF END DO END DO END PROGRAM MATRIZ_CUADRADA
PROGRAM NOMBRES_Y_EDADES IMPLICIT NONE INTEGER::I,M CHARACTER(LEN=15)::NOM_M CHARACTER(LEN=15),DIMENSION(10)::NOM INTEGER,DIMENSION(10)::E PRINT*,"INGRESAR EL NOMBRE Y SU EDAD " DO I=1,10 READ*, NOM(I),E(I) END DO 13 | P á g i n a
Ing. William Chauca Nolasco
M=E(1) DO I=1,10 IF (E(I)>M)THEN M=E(I) NOM_M=NOM(I) END IF END DO PRINT*,"EL NOMBRE DEL ALUMNO DE MAYOR EDAD=",NOM_M PRINT*,"SU EDAD ES=",M END PROGRAM NOMBRES_Y_EDADES
PROGRAM VECTORES INTEGER::N,I INTEGER,ALLOCATABLE,DIMENSION(:)::V1,V2 PRINT*,"INGRESAR TAMANO DE LOS VECTORES" READ*,N ALLOCATE(V1(N),V2(N)) PRINT*,"INGRESAR ELEMENTOS DE VECTOR 1" READ*,(V1(I),I=1,N) PRINT*,"VECTOR 1" !1,2,3,4,5 PRINT*,(V1(I),I=1,N) DO I=1,N V2(I+1)=V1(I) END DO PRINT*,"VECTOR 2" PRINT*,(V2(I),I=1,N) END PROGRAM VECTORES
14 | P á g i n a
Ing. William Chauca Nolasco
PROGRAM FILAS_Y_COLUMNAS IMPLICIT NONE INTEGER::I,J,C,MEN,SU INTEGER,DIMENSION(15,12)::MT PRINT*,"INGRESAR ELEMENTOS DEL ARREGLO" READ*,((MT(I,J),J=1,12),I=1,15) PRINT*,"MATRIZ" DO I=1,15 PRINT*,(MT(I,J),J=1,12) END DO MEN=MT(1,1) DO I=1,15 DO J=1,12 IF (MT(I,J)
Ing. William Chauca Nolasco
END DO END DO PRINT*,"CANTIDAD DE ELEMENTOS NEGATIVOS DE LA COLUMNA 5 A LA 9=",C END PROGRAM FILAS_Y_COLUMNAS
PROGRAM ELEMENTOS IMPLICIT NONE INTEGER::I INTEGER,DIMENSION(100)::A,B,C PRINT*,"ELEMENTOS DE VECTOR A" READ*,(A(I),I=1,100) PRINT* PRINT*,"ELEMENTOS DE VECTOR B" READ*,(B(I),I=1,100) PRINT* PRINT*,"VECTOR A" PRINT*,(A(I),I=1,100) PRINT* PRINT*,"VECTOR B" PRINT*,(B(I),I=1,100) PRINT* PRINT*,"SUMA DE VECTORES" DO I=1,100 C(I)=A(I)+B(I) END DO PRINT* PRINT*,(C(I),I=1,100) END PROGRAM ELEMENTOS
16 | P á g i n a
Ing. William Chauca Nolasco
PROGRAM MATRICES_CUADRADAS IMPLICIT NONE INTEGER,DIMENSION(12,12)::MT1,MT2 INTEGER,DIMENSION(12)::V1,V2 INTEGER::I,J,C PRINT*,"INGRESAR DATOS DE LA MATRIZ 1" READ*,((MT1(I,J),J=1,12),I=1,12) PRINT*,"INGRESAR DATOS DE LA MATRIZ 2" READ*,((MT2(I,J),J=1,12),I=1,12) PRINT*,"MATRIZ 1" DO I=1,12 PRINT*,(MT1(I,J),J=1,12) END DO PRINT*,"MATRIZ 2" DO I=1,12 PRINT*,(MT2(I,J),J=1,12) END DO !DIAGONAL PRINCIPAL PARA MATRIZ 1 DO I=1,12 DO J=1,12 IF (I==J)THEN V1(I)=MT1(I,J) END IF END DO END DO PRINT*,"VECTOR GUARDA ELEMENTOS DE LA DIAGONAL DEL VECTOR 1" PRINT*,(V1(I),I=1,12) !DIAGONAL PRINCIPAL PARA MATRIZ 2 DO I=1,12 DO J=1,12 IF(I==J)THEN V2(I)=MT2(I,J) END IF END DO END DO PRINT*,"VECTOR GUARDA ELEMENTOS DE LA DIAGONAL DEL VECTOR 1" PRINT*,(V2(I),I=1,12) C=0 DO I=1,12 17 | P á g i n a
Ing. William Chauca Nolasco
IF (V1(I)==V2(I))THEN C=C+1 IF (C==12)THEN PRINT*,"LAS DIAGONALES DE LAS MATRICES SON IGUALES" END IF END IF END DO END PROGRAM MATRICES_CUADRADAS
18 | P á g i n a
Ing. William Chauca Nolasco
PROGRAM CAMBIO_DE_NEGATIVO_A_CERO IMPLICIT NONE INTEGER::I,J INTEGER,DIMENSION(12,19)::MATRIZ PRINT*,"INGRESAR ELEMENTOS DE LA MATRIZ 12X19" READ*,((MATRIZ(I,J),J=1,19),I=1,12) PRINT*,"MATRIZ" DO I=1,12 PRINT*,(MATRIZ(I,J),J=1,19) END DO DO I=1,12 DO J=1,19 IF(MATRIZ(I,J)<0)THEN MATRIZ(I,J)=0 END IF END DO END DO PRINT*,"MATRIZ CON ELEMENTOS NEGATIVOS CONVERTIDOS A CERO" DO I=1,12 PRINT*,(MATRIZ(I,J),J=1,19) END DO END PROGRAM CAMBIO_DE_NEGATIVO_A_CERO
19 | P á g i n a
Ing. William Chauca Nolasco
PROGRAM CALIFICACION_PROMEDIO IMPLICIT NONE INTEGER,DIMENSION(100)::CL REAL::PROM,SU INTEGER::I,C PRINT*,"INGRESAR CALIFICACIONES DE LOS ESTUDIANTES" READ*,(CL(I),I=1,100) PRINT*,"VECTOR CALIFICACIONES" PRINT*,(CL(I),I=1,100) SU=0 DO I=1,100 SU=SU+CL(I) END DO PROM=SU/100. PRINT* PRINT*,"CALIFICACION PROMEDIO",PROM PRINT* C=0 DO I=1,100 IF (CL(I)>PROM)THEN C=C+1 END IF END DO PRINT*,"ESTUDIANTES QUE OBTUVIERON CALIFICACIONES ARRIBA DEL PROMEDIO=",C END PROGRAM CALIFICACION_PROMEDIO
PROGRAM MAGNITUD INTEGER::I REAL::M,SUR2 REAL,DIMENSION(100)::V PRINT*,"INGRESAR ELEMENTOS DEL VECTOR" READ*,(V(I),I=1,100) PRINT*,"VECTOR " PRINT*,(V(I),I=1,100) SUR2=0 DO I=1,100 20 | P á g i n a
Ing. William Chauca Nolasco
SUR2=SUR2+V(I)**2 END DO M=SQRT(SUR2) PRINT*,"LA MAGNITUD DEL VECTOR ES=",M END PROGRAM MAGNITUD
PROGRAM DIAGONAL_PRINCIPAL IMPLICIT NONE INTEGER::I,J,C,N INTEGER,DIMENSION(5,6)::MT PRINT*,"INGRESAR ELEMENTOS DE LA MATRIZ 5x6" READ*,((MT(I,J),J=1,6),I=1,5) PRINT*,"MATRIZ" DO I=1,5 PRINT*,(MT(I,J),J=1,6) END DO N=0 C=0 DO I=1,5 DO J=1,6 IF(MT(I,J)<0)THEN C=C+1 END IF IF(I==J .AND. MT(I,J)==0)THEN N=N+1 END IF END DO END DO PRINT*,"CANTIDAD DE NEGATIVOS=",C PRINT*,"ELEMENTOS DIAGONAL PRINCIPAL IGUALES A CERO=",N END PROGRAM DIAGONAL_PRINCIPAL
21 | P á g i n a
Ing. William Chauca Nolasco
PROGRAM PRODUCTO_DE_DOS_VECTORES IMPLICIT NONE INTEGER::I,PD INTEGER,DIMENSION(10)::V1,V2 PRINT*,"INGRESAR ELEMENTOS DEL PRIMER VECTOR" READ*,(V1(I),I=1,10) PRINT*,"INGRESAR ELEMENTOS DEL SEGUNDO VECTOR" READ*,(V2(I),I=1,10) PRINT*,"VECTOR 1" PRINT*,(V1(I),I=1,10) PRINT*,"VECTOR 2" PRINT*,(V2(I),I=1,10) PD=DOT_PRODUCT(V1,V2) PRINT*,"EL PRODUCTO DE LOS DOS VECTORES ES=",PD END PROGRAM PRODUCTO_DE_DOS_VECTORES
PROGRAM POSICION_DE_ELEMENTOS IMPLICIT NONE INTEGER::I,J,FILA,COLUMNA,NG 22 | P á g i n a
Ing. William Chauca Nolasco
INTEGER,DIMENSION(6,8)::MT PRINT*,"INGRESAR ELEMENTOS DE LA MATRIZ 6x8" READ*,((MT(I,J),J=1,8),I=1,6) PRINT*,"MATRIZ" DO I=1,6 PRINT*,(MT(I,J),J=1,8) END DO NG=MT(1,1) DO I=1,6 DO J=1,8 IF (MT(I,J)<=NG) THEN NG=MT(I,J) FILA=I COLUMNA=J END IF END DO END DO PRINT*,"FILA QUE OCUPA EL NEGATIVO=",FILA PRINT*," COLUMNA QUE OCUPA EL NEGATIVO=",COLUMNA END PROGRAM POSICION_DE_ELEMENTOS
PROGRAM SUMA_DE_REGLONES_Y_COLUMNAS IMPLICIT NONE INTEGER::I,J,SU_FIL,SU_COL,F,C INTEGER,DIMENSION(100)::FIL,COL INTEGER,ALLOCATABLE,DIMENSION(:,:)::MT PRINT*,"INGRESAR NUMERO DE FILAS Y COLUMNAS DE LA MATRIZ" READ*,F,C ALLOCATE(MT(F,C)) PRINT*,"INGRESAR ELEMENTOS DE LA MATRIZ" READ*,((MT(I,J),J=1,C),I=1,F) PRINT*,"MATRIZ" DO I=1,F PRINT*,(MT(I,J),J=1,C) END DO !PARA SUMA DE FILAS 23 | P á g i n a
Ing. William Chauca Nolasco
DO I=1,F SU_FIL=0 DO J=1,C SU_FIL=SU_FIL+MT(I,J) END DO FIL(I)=SU_FIL END DO PRINT*,"VECTOR QUE SUMA FILAS DE MATRIZ" PRINT*,(FIL(I),I=1,F) !PARA COLUMNAS DO I=1,C SU_COL=0 DO J=1,F SU_COL=SU_COL+MT(J,I) END DO COL(I)=SU_COL END DO PRINT*,"VECTOR QUE SUMA COLUMNAS DE MATRIZ" PRINT*,(COL(I),I=1,C) END PROGRAM SUMA_DE_REGLONES_Y_COLUMNAS
24 | P á g i n a
Ing. William Chauca Nolasco
PROGRAM PROBLEMA_25 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 PRODUCTO=1 DO I=1,5 DO J=1,5 IF(I==J)THEN PRODUCTO=PRODUCTO*MATRIZ(I,J) END IF END DO END DO PRINT*,"EL PRODUCTO DE LOS ELEMENTOS DE LA DIAGONAL PRINCIPAL ES:",PRODUCTO END PROGRAM PROBLEMA_25
PROGRAM PROBLEMA_26 IMPLICIT NONE INTEGER,DIMENSION(5,5)::MATRIZ INTEGER::I,J,SUMAPAR,SUMAIMPAR 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) 25 | P á g i n a
Ing. William Chauca Nolasco
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 ",SUMAPAR PRINT* PRINT*,"LA SUMA DE IMPARES END PROGRAM PROBLEMA_26
LOS NUMEROS PARES
LOS NUMEROS ",SUMAIMPAR
PROGRAM PROBLEMA_27 CHARACTER(LEN=15),DIMENSION(12)::MES INTEGER,DIMENSION(12,1)::DIAS MES=(/"ENERO","FEBRERO","MARZO","ABRIL","MAYO","JUNIO","JULIO","A GOSTO","SETIEMBRE","OCTUBRE","NOVIEMBRE","DICIEMBRE"/) 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 26 | P á g i n a
Ing. William Chauca Nolasco
PRINT*,MES(I),(DIAS(I,J),J=1,1) END DO END PROGRAM PROBLEMA_27
PROGRAM PROBLEMA_28 !22 33 44 !33 44 55 !11 22 33 !11 33 55 !22 44 55 INTEGER,DIMENSION(5)::V=(/11,22,33,44,55/) INTEGER,DIMENSION(3)::FILA1,FILA2,FILA3,FILA4,FILA5=(/2,4,5/)!FILA5 ESPESCIFICA LOS INDICES DE V FILA1=V(2:4) FILA2=V(3:5) FILA3=V(1:3) FILA4=V(1:5:2) FILA5=V(FILA5) PRINT*,FILA1 PRINT*,FILA2 PRINT*,FILA3 PRINT*,FILA4 PRINT*,FILA5 END PROGRAM PROBLEMA_28
27 | P á g i n a
Ing. William Chauca Nolasco
PROGRAM PROBLEMA_29 IMPLICIT NONE INTEGER,DIMENSION(2,4)::MAT_A=RESHAPE((/1,5,2,6,3,7,4,8/),(/2,4/)) INTEGER,DIMENSION(4,2)::MATRIZ_T INTEGER::I,J PRINT*,"MATRIZ A" DO I=1,2 PRINT*,(MAT_A(I,J),J=1,4) END DO DO I=1,2 DO J=1,4 MATRIZ_T(J,I)=MAT_A(I,J) END DO END DO PRINT*, "LA TRANSPUESTA DE A ES" DO I=1,4 PRINT*,(MATRIZ_T(I,J),J=1,2) END DO END PROGRAM PROBLEMA_23
PROGRAM PROBLEMA_30 IMPLICIT NONE INTEGER::I INTEGER,DIMENSION(3)::A REAL::MAG PRINT*,"INGRESAR VALORES 3, 4 Y 5" DO I=1,3 READ*,A(I) END DO PRINT*,"VECTOR A" PRINT*,(A(I),I=1,3) MAG=0 DO I=1,3 MAG=MAG+A(I)**2 END DO MAG=SQRT(MAG) 28 | P á g i n a
Ing. William Chauca Nolasco
PRINT*,"LA MAGNITUD DEL VECTOR ES=”, MAG END PROGRAM PROBLEMA_30
PROGRAM PROBLEMA_31 INTEGER,DIMENSION(100,100)::MXN,PXQ,PROD INTEGER::I,J INTEGER::M,N,P,Q PRINT*,"INGRESE FILAS Y COLUMNAS DE LA MATRIZ A" READ*,M,N PRINT*,"INGRESE FILAS Y COLUMNAS DE LA MATRIZ B" 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 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" PRINT*,"MATRIZ A ES DIFERENTE AL NUMERO DE FILAS" PRINT*,"DE LA MATRIZ B, !VUELVA A INTENTARLO! " END IF 29 | P á g i n a
Ing. William Chauca Nolasco
END PROGRAM PROBLEMA_31
PROGRAM PROBLEMA_32 INTEGER::I,J,K,L,N 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 L=K+1 DO I=L,N DO J=L,N MATRIZ(I,J)=(MATRIZ(K,K)*MATRIZ(I,J)MATRIZ(K,J)*MATRIZ(I,K))/MATRIZ(K,K) END DO END DO DET=DET*MATRIZ(K+1,K+1) END DO PRINT*,"DETERMINANTE DE LA MATRIZ" PRINT*,DET ELSE PRINT*,"NO SE PUEDE REALIZAR LA OPERACION PORQUE O NO ES MATRIZ CUADRARA O NO ES DE ORDEN MAYOR A 3" END IF END PROGRAM PROBLEMA_32
30 | P á g i n a
Ing. William Chauca Nolasco
PROGRAM PROBLEMA_33 IMPLICIT NONE REAL::TEMPORAL REAL,DIMENSION(50)::X INTEGER::N,I,J PRINT*,"NUMERO DE DATOS A LEER" READ*,N DO I=1,N PRINT*,"ELEMENTO",I READ*,X(I) END DO DO I=1,N DO J=N,I,-1 IF(X(J-1)>X(J)) THEN 31 | P á g i n a
Ing. William Chauca Nolasco
TEMPORAL=X(J-1) 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_33
PROGRAM PROBLEMA_34 INTEGER,DIMENSION(5)::V !LECTURA EXPLICITA PRINT*,"INGRESE VALORES DEL VECTOR" DO I=1,5 READ*,V(I) END DO DO I=5,1,-1 PRINT*,V(I) END DO END PROGRAM PROBLEMA_34
PROGRAM PROBLEMA_35 REAL,DIMENSION(4)::NOTAS1,NOTAS2,NOTAS3 S1=0 S2=0 S3=0 !INGRESANDO VALORES PARA LAS NOTAS DE LOS 3 ALUMNOS PRINT*, "INGRESE NOTAS DEL PRIMER ALUMNO" 32 | P á g i n a
Ing. William Chauca Nolasco
DO I=1,4 READ*, NOTAS1(I) END DO PRINT*, "INGRESE NOTAS DEL SEGUNDO ALUMNO" DO I=1,4 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_35
PROGRAM SUMA_DE_MATRICES 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) 33 | P á g i n a
Ing. William Chauca Nolasco
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 QUE LA MATRIZ NO ES CUADRADA" END IF END PROGRAM SUMA_DE_MATRICES
PROGRAM PROBLEMA_38 IMPLICIT NONE 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 34 | P á g i n a
Ing. William Chauca Nolasco
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)**2 END IF END DO END DO PRINT*,"LA SUMA DE LOS CUADRADOS DE LOS ELEMENTO DE LA DIAGONAL PRINCIPAL ES :",SUMA ELSE PRINT*,"NO SE PUEDE PROCEDER A OPERAR YA QUE LA MATRIZ INGRESADA NO ES CUADRADA" END IF END PROGRAM PROBLEMA_38
PROGRAM PROBLEMA_39 IMPLICIT NONE INTEGER,DIMENSION(100,100)::MXN,PXQ,PROD INTEGER::I,J,N ,M,P,Q PRINT*,"INGRESE NUMERO DE FILAS Y COLUMNAS DE LA PRIMERA MATRIZ" READ*,M,N PRINT*,"INGRESE NUMERO DE FILAS Y COLUMNAS DE LA SEGUNDA MATRIZ" READ*,P,Q IF(M==P .AND. N==Q)THEN PRINT*,"INGRESE DATOS DE LA MATRIZ 1" READ*,((MXN(I,J),J=1,N),I=1,M) PRINT*,"INGRESE DATOS DE LA MATRIZ 2" READ*,((PXQ(I,J),J=1,Q),I=1,P) 35 | P á g i n a
Ing. William Chauca Nolasco
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 PRINT*,"LAS MATRICES NO SE PUEDEN MULTIPLICAR PORQUE LAS MATRICES NO TIENEN LA MISMA ORDEN" END IF END PROGRAM PROBLEMA_39
PROGRAM ELEMENTO_MAYOR REAL,ALLOCATABLE,DIMENSION(:,:)::MATRIZ INTEGER::I,J,M,N 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) 36 | P á g i n a
Ing. William Chauca Nolasco
END IF END DO END DO PRINT*,"EL MAYOR VALOR ES",MAYOR END PROGRAM ELEMENTO_MAYOR
PROGRAM PROBLEMA_41 INTEGER::I REAL::MAG,SUM_R2 REAL,ALLOCATABLE,DIMENSION(:)::VECTOR PRINT*,"INGRESAR CANTIDAD DE ELEMENTOS DEL VECTOR" READ*,N ALLOCATE(VECTOR(N)) PRINT*,"INGRESAR ELEMENTOS DEL VECTOR" READ*,(VECTOR(I),I=1,N) SUM_R2=0 DO I=1,N SUM_R2=SUM_R2+VECTOR(I)**2 END DO 37 | P á g i n a
Ing. William Chauca Nolasco
MAG=SQRT(SUM_R2) PRINT*,"LA MAGNITUD DEL VECTOR ES:",MAG END PROGRAM PROBLEMA_41
PROGRAM MATRIZ_CUADRADA INTEGER::I,J,N INTEGER,ALLOCATABLE,DIMENSION(:,:)::MT PRINT*,"INGRESAR ORDEN DE LA MATRIZ" READ*,N ALLOCATE(MT(N,N)) DO I=1,N DO J=1,N IF(I==J)THEN MT(I,J)=1 ELSE MT(I,J)=0 END IF END DO END DO DO I=1,N PRINT*,(MT(I,J),J=1,N) END DO END PROGRAM MATRIZ_CUADRADA
PROGRAM PROBLEMA_43 REAL,DIMENSION(3)::A,B REAL::C PRINT*, "INGRESE VALORES PARA EL VECTOR A" DO I=1,3 READ*, A(I) END DO 38 | P á g i n a
Ing. William Chauca Nolasco
PRINT*, "INGRESE VALORES PARA EL VECTOR B" DO I=1,3 READ*, B(I) END DO P=0 DO I=1,3 P=P+A(I)*B(I) END DO C=P PRINT*, "EL PRODUCTO ESCALAR DEL VECTOR A CON EL VECTOR B ES",C PRINT*, "EL PRODUCTO DEL LOS VALORES DEL VECTOR A ES",PRODUCT(A) 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 PROBLEMA_43
PROGRAM PROBLEMA_44 IMPLICIT NONE REAL::TEMPORAL REAL,DIMENSION(50)::VECTOR INTEGER::N,I,J PRINT*,"INGRESE TAMANIO DEL VECTOR" READ*,N DO I=1,N PRINT*,"ELEMENTO",I READ*,VECTOR(I) END DO DO I=1,N DO J=N,I,-1 IF (VECTOR(J-1)>VECTOR(J)) THEN TEMPORAL=VECTOR(J-1) 39 | P á g i n a
Ing. William Chauca Nolasco
VECTOR(J-1)=VECTOR(J) VECTOR(J)=TEMPORAL END IF END DO END DO PRINT*,"ELEMENTOS ORDENADOS DE MENOR A MAYOR" DO I=1,N PRINT*,"ELEMENTO",I,"=",VECTOR(I) END DO END PROGRAM PROBLEMA_44
PROGRAM PROBLEMA_45 REAL::ESCALAR INTEGER,ALLOCATABLE,DIMENSION(:,:)::MATRIZ,MULT PRINT*,"INGRESAR NUMERO DE FILAS Y COLUMNAS DE LA MATRIZ:" READ*,M,N PRINT*,"INGRESAR ESCALAR A MULTIPLICAR" READ*,ESCALAR ALLOCATE(MATRIZ(M,N),MULT(M,N)) PRINT*,"INGRESAR ELEMENTOS DE LA MATRIZ" READ*,((MATRIZ(I,J),J=1,N),I=1,M) PRINT*,"MATRIZ " DO I=1,M PRINT*,(MATRIZ(I,J),J=1,N) END DO !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_45
40 | P á g i n a
Ing. William Chauca Nolasco
PROGRAM PROBLEMA_46 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 END PROGRAM PROBLEMA_46
PROGRAM PROBLEMA_47 INTEGER::I REAL::SUMA,PROM REAL,DIMENSION(12)::PRECIP=(/10.5,15.2,13.25,12.5,11.5,5.40,5.65,8.80,1 4.5,13.12,20.2,20.25/) SUMA=0 PRINT*,(PRECIP(I),I=1,12) DO I=1,12 41 | P á g i n a
Ing. William Chauca Nolasco
SUMA=SUMA+PRECIP(I) END DO PROM=SUMA/12 PRINT*,"EL PROMEDIO DE LAS PRECIPITACIONES MEDIA MENSUAL DURANTE EL ANIO 2005 ES:”, PROM
END PROGRAM PROBLEMA_47
PROGRAM PROBLEMA_48 IMPLICIT NONE REAL,DIMENSION(12)::PRECIP=(/10.5,15.2,13.25,12.5,11.5,5.40,5.65,8.80,1 4.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","JULIO","A GOSTO","SETIEMBRE","OCTUBRE","NOVIEMBRE","DICIEMBRE"/) MAYOR=PRECIP(1) MENOR=PRECIP(1) DO I=1,12 !PARA EL MAXIMO IF ( PRECIP(I)>MAYOR) THEN MAYOR=PRECIP(I) MESMAY=MES(I) END IF !PARA EL MENOR IF (PRECIP(I)
Ing. William Chauca Nolasco
END PROGRAM PROBLEMA_48
∑== ⋅
PROGRAM PROBLEMA_49 REAL,DIMENSION(3)::V REAL,DIMENSION(3)::U REAL::SUMA V=(/2.0,5.1,-1.1/) U=(/1.2,3.5,4.1/) SUMA=0 DO I=1,3 SUMA = SUMA + V(I)*U(I) END DO 43 | P á g i n a
Ing. William Chauca Nolasco
PRINT*,"EL PRODUCTO VESTORIAL DE LOS VECTORES V y U ES:",SUMA END PROGRAM PROBLEMA_49
PROGRAM PROBLEMA_50 INTEGER,DIMENSION(4)::X=(/2,3,5,9/) INTEGER::N,IZQ=1,DER=4,CEN,I PRINT*,(X(I),I=1,4) PRINT*,"INGRESE ELEMENTO A BUSCAR" READ*,N CEN=(IZQ+DER)/2 DO WHILE(N/=X(CEN) .AND. IZQX(CEN))THEN IZQ=CEN+1 ELSE DER=CEN-1 END IF CEN=(IZQ+DER)/2 END DO IF(N==X(CEN))THEN PRINT*,"EL VALOR SE ENCUENTRA EN LA POSICION",CEN PRINT*,"VALOR ENCONTRADO",X(CEN) ELSE PRINT*,"VALOR NO ENCONTRADO" END IF END PROGRAM PROBLEMA_50
44 | P á g i n a
Ing. William Chauca Nolasco
PROGRAM MANIPULACION_DE_ARRAY IMPLICIT NONE INTEGER::I,M INTEGER::MAX_A,MAX_B,MIN_A,MIN_B,SA,SB,PD_E,PD_A,PD_B INTEGER,ALLOCATABLE,DIMENSION(:)::VA,VB PRINT*,"INGRESAR TAMANO DEL VECTOR A Y B" READ*,M ALLOCATE(VA(M),VB(M)) PRINT*,"INGRESAR ELEMENTOS DEL VECTOR A" READ*,(VA(I),I=1,M) PRINT*,"INGRESAR ELEMENTOS DEL VECTOR B" READ*,(VB(I),I=1,M) PRINT*,"VA" PRINT*,(VA(I),I=1,M) PRINT*,"VB" PRINT*,(VB(I),I=1,M) SA=SUM(VA) SB=SUM(VB) PD_A=PRODUCT(VA) PD_B=PRODUCT(VB) MAX_A=MAXVAL(VA) MAX_B=MAXVAL(VB) MIN_A=MINVAL(VA) MIN_B=MINVAL(VB) PD_E=DOT_PRODUCT(VA,VB)Z PRINT*,"SUMA DE ELEMENTOS DEL VECTOR A=",SA PRINT*,"SUMA DE ELEMENTOS DEL VECTOR B=",SB PRINT*,"PRODUCTO DE ELEMENTOS DEL VECTOR A=",PD_A PRINT*,"PRODUCTO DE ELEMENTOS DEL VECTOR B=",PD_B PRINT*,"MINIMO VALOR DE ELEMENTOS DEL VECTOR A=",MIN_A PRINT*,"MINIMO VALOR DE ELEMENTOS DEL VECTOR B=",MIN_B PRINT*,"MAXIMO VALOR DE ELEMENTOS DEL VECTOR A=",MAX_A PRINT*,"MAXIMO VALOR DE ELEMENTOS DEL VECTOR B=",MAX_B PRINT*,"PRODUCTO ESCALAR DE LOS VECTORES A Y B=",PD_E PRINT*,"POSICION MINIMA DEL VECTOR A=",MINLOC(VA) PRINT*,"POSICION MINIMA DEL VECTOR B=",MINLOC(VB) END PROGRAM MANIPULACION_DE_ARRAY 45 | P á g i n a
Ing. William Chauca Nolasco
AL EJECUTAR EL NOS SALE:
PROGRAM PROBLEMA_53 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 46 | P á g i n a
Ing. William Chauca Nolasco
C(I)=(A(I)+2*I)/B(I) END DO PRINT*,"VECTOR C" PRINT*,(C(I),I=1,3) END PROGRAM PROBLEMA_53
PROGRAM PROBLEMA_54 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) END DO END PROGRAM PROBLEMA_54
PROGRAM PROBLEMA_55 IMPLICIT NONE INTEGER::I REAL::PD,SU INTEGER,DIMENSION(5)::A PRINT*,"INGRESAR ELEMENTOS DEL VECTOR" READ*,(A(I),I=1,5) SU=0 DO I=1,5 SU=SU+A(I)**2 END DO PD=1 DO I=1,5 PD=PD*(1-A(I)) END DO PRINT*,"LA SUMA DE LOS CUADRADOS DE LOS NUMEROS ES ",SU PRINT*," EL PRODUCTO DE (1-a1) (1-a2)....(1-a5) ES:",PD 47 | P á g i n a
Ing. William Chauca Nolasco
END PROGRAM PROBLEMA_55
program crear integer,dimension(100,100)::A integer::m,i,j print*,"Matriz cuadrada" print*,"Ingrese numero de filas y columnas" read*,m !numero de filas y columnas !Creando la matriz identidad do i=1,m do j=1,m if (i==j) then A(i,j)=5 else A(i,j)=0 end if end do end do !Imprimiendo la matriz identidad print*,"" print*,"Matriz identidad" do i=1,m print*,(A(i,j),j=1,m) 48 | P á g i n a
Ing. William Chauca Nolasco
end do end program crear
program matriz integer,dimension(7,7)::A integer::i,j,k k=0 !Creando matriz do i=1,7 do j=1,7
49 | P á g i n a
Ing. William Chauca Nolasco
if (i==j) then A(i,j)=-3+k else A(i,j)=0 end if end do k=k+1 end do !Imprimiendo matriz print*,"Matriz" 1 format(1x,1x,1x,1x,1x,1x,1x, format(1x,1x,1x,1x,1x,1x,1x,i4.1,i4.1,i4.1,i4.1,i4.1,i4.1,i4.1) i4.1,i4.1,i4.1,i4.1,i4.1,i4.1,i4.1) do i=1,7 print 1,(A(i,j),j=1,7) end do end program matriz 59.Elabore un programa para determinar la determinante de la matriz
2 5 6 [−63 47 12] CODIGO program problema59 integer::i,j real,dimension(3,3)::a !a=(/2,5,6/,/-6,7,1/,/3,4,2/) !a=(/2,5,6/,/-6,7,1/,/3,4,2/) print*,"Ingrese los valores asignados de la matriz" do i=1,3 do j=1,3 print*,"Ingrese el valor de la posicion (",i,",",j,")" read*,a(i,j) end do end do det1=(a(1,1)*((a(2,2)*a(3,3))-(a(2,3)*a(3,2)))) det2=(a(1,2)*((a(2,1)*a(3,3))-(a(2,3)*a(3,1)))) det3=(a(1,3)*((a(2,1)*a(3,2))-(a(2,2)*a(3,1)))) 50 | P á g i n a
Ing. William Chauca Nolasco
det=det1-det2+det3 print*,"La determinante es ",det end program problema59
PROGRAM INVERSA INTEGER,DIMENSION(1:3,1:3)::M INTEGER::I,J
M=RESHAPE((/1,1,0,5,1,-3,2,7,4/),(/3,3/)) PRINT*,"MOSTRAR LA MATRIZ M" DO I=1,3 PRINT*,(M(I,J),J=1,3) END DO
END PROGRAM INVERSA
51 | P á g i n a
Ing. William Chauca Nolasco
program visualizar integer,dimension(5,6)::A=reshape((/(i,i=2,17,3),(i,i=3,18,3),(i,i=4,19,3),(i,i= 5,20,3),(i,i=6,21,3)/),(/5,6/)),A1 52 | P á g i n a
Ing. William Chauca Nolasco
integer,dimension(3,6)::B=reshape((/(i,i=5,30,5),(i,i=30,55,5),(i,i=55,80,5)/), (/3,6/)) integer,dimension(9)::V=(/(i,i=99,91,-1)/) print*,"Matriz A" print*,((A(j,i),j=1,5),i=1,6) print*,"" print*,"Matriz B" print*,((B(j,i),j=1,3),i=1,6) print*,"" print*,"Vector V" print*,(V(i),i=1,9) end program visualizar
program vector_fila integer,dimension(17)::A=(/(i,i=1,33,2)/) print*,"Vector A" 1 format(i4.1,i4.1,i4.1,i4.1,i4.1,i4.1,i4.1,i4.1,i4.1,i4.1,i4.1,i4.1,i4.1,i4.1,i4.1,i4. 1,i4.1) print 1,(A(i),i=1,17) end program vector_fila
-15. program columna real,dimension(12)::A real::s=-14./11 do i=1,12 A(i)=3./11+i*s end do 53 | P á g i n a
Ing. William Chauca Nolasco
!Imprimiendo [A] print*,"Vector columna A" print*,"" do i=1,12 print*,A(i) end do end program columna
DIAGRAMA DE FLUJO CODIGO program problema67 integer::i,j=1 real,dimension(12,1)::a print*,"El primer elemento es -1 y el ultimo es -15" print*,"Ingrese los elementos restantes" do i=2,11 do j=1,1 read*,a(i,j) end do end do a(1,1)=-1 a(12,1)=-12 print*,"El vector se muestra a continuacion" do i=1,12 do j=1,1 print*,a(i,j) print* end do end do end program problema67 54 | P á g i n a
Ing. William Chauca Nolasco
UTILICE LA MATRIZ A PARA: A) CREAR UN VECTOR FILA DE 5 ELEMENTOS LLAMADO Va, QUE CONTENGA LOS ELEMENTOS DE LA SEGUNDA FILA DE A B) CREAR UN VECTOR FILA DE 6 ELEMENTOS LLAMADO Vb, QUE CONTENGA LOS ELEMENTOS DE LA CUARTA COLUMNA C) CREAR UN VECTOR FILA DE 10 ELEMETOS LLAMADO Vc, QUE CONTENGA LOS ELEMETOS DE LA PRIMERA Y SEGUNDA FILA D) CREAR UN VECTOR FILA DE 6 ELEMENTOS LLAMADO Vd, QUE CONTENGA LOS ELEMENTOS DE LA SEGUNDA A QUINTA COLUMNA DE A PROGRAM PROBLEMAS INTEGER,DIMENSION(1:3,1:5)::M 55 | P á g i n a
Ing. William Chauca Nolasco
INTEGER::I,J M=RESHAPE((/6,12,34,43,6,18,2,34,7,11,0,41,87,5,9/),(/3,5/)) PRINT*,"MOSTRAR LA MATRIZ M" DO I=1,3 PRINT*,(M(I,J),J=1,5) END DO CALL MATRIZ(M) END PROGRAM PROBLEMAS SUBROUTINE MATRIZ(Va) INTEGER,DIMENSION(1:5)::Va PRINT*,"EL VECTOR Va ES=" PRINT*,Va(2:14:3) END SUBROUTINE MATRIZ
56 | P á g i n a
Ing. William Chauca Nolasco
Utilice C para: a) Crear un vector columna de tres elementos llamado ua, que contenga los elementos de la tercera columna de C. program matriz_c integer,dimension(3,5)::C integer,dimension(3)::ua integer::i print*,"Ingrese matriz C" do i=1,3 read*,(C(i,j),j=1,5) end do !Creando vector ua do i=1,3 ua(i)=C(i,3) end do !Imprimiendo vector ua print*,"" print*,"Vector ua" do i=1,3 print*,ua(i) end do end program matriz_c b) Crear un vector columna de cinco elementos llamado ub, que contenga los elementos de la segunda fila de C program matriz_c integer,dimension(3,5)::C
57 | P á g i n a
Ing. William Chauca Nolasco
integer,dimension(5)::ub integer::i print*,"Ingrese matriz C" do i=1,3 read*,(C(i,j),j=1,5) end do !Creando vector ub do j=1,5 ub(j)=C(2,j) end do !Imprimiendo vector ub print*,"" print*,"Vector ub" do j=1,5 print*,ub(j) end do end program matriz_c
c) Crear un vector columna de nueve elementos llamado uc, que contenga los elementos de la primera, tercera y quinta columna de C. program matriz_c integer,dimension(3,5)::C integer,dimension(5)::uc integer::i,k=1 print*,"Ingrese matriz C" do i=1,3 read*,(C(i,j),j=1,5) end do !Creando vector uc do j=1,5,2 do i=1,3 uc(k)=C(i,j) k=k+1 end do end do !Imprimiendo vector uc print*,"" 58 | P á g i n a
Ing. William Chauca Nolasco
print*,"Vector uc" do i=1,9 print*,uc(i) end do end program matriz_c
d) Crear un vector columna de diez elementos llamado ud, que contenga los elementos de la primera y segunda fila de C. program matriz_c integer,dimension(3,5)::C integer,dimension(5)::ud integer::i,k=1 print*,"Ingrese matriz C" do i=1,3 read*,(C(i,j),j=1,5) end do !Creando vector ud do i=1,3,2 do j=1,5 ud(k)=C(i,j) k=k+1 end do end do !Imprimiendo vector ud print*,"" print*,"Vector ud" do i=1,10 print*,ud(i) end do end program matriz_c
59 | P á g i n a
Ing. William Chauca Nolasco
program coeficiente real,dimension(6)::F=(/12.5,23.5,30.3,61.2,118.1,294.5/) real,dimension(6)::u integer,dimension(6)::masa=(/2,4,5,10,20,50/) real,parameter::g=9.81 real::prom,suma=0 !Calculando u y utotal do i=1,6 u(i)=F(i)/(masa(i)*g) suma=suma+u(i) end do prom=suma/6 !Imprimiendo u print*,"" print 2 2 format(8x,"masa(i)",6x,"F(i)",10x,"u(i)",i2.1,f2.2,f5.4) do i=1,6 print*,masa(i),F(i),u(i) end do end program coeficiente
( + )
60 | P á g i n a
Ing. William Chauca Nolasco
CODIGO program problema75 integer::i real,dimension(12)::x=(/-2.5,-2.,-1.5,-1.,-0.5,0.,0.5,1.,1.5,2.,2.5,3./) real,dimension(12)::y do i=1,12 y(i)=(((x(i)**2)+1)**3)*(x(i)**3) end do print*,"X Y" do i=1,12 print*,x(i)," ",y(i) end do end program problema75
integer,dimension(10)::t=(/(i,i=1,10)/) real,dimension(10)::d
61 | P á g i n a
Ing. William Chauca Nolasco
real,parameter::g=9.81 !Calculando distancia do i=1,10 d(i)=0.5*g*t(i)**2 end do !Imprimiendo distancia print 2 2 format(10x,"t(i)",7x,"d(i)",i2.1,f5.4) do i=1,10 print*,t(i),d(i) end do end program profundidad
program funcion integer,dimension(5)::x=(/(i,i=2,10,2)/),y=(/(i,i=3,15,3)/) real,dimension(10)::z do i=1,5 z(i)=(x(i)*y(i)+y(i)/real(x(i)))/real((x(i)+y(i)**(y(i)x(i))))+12**(x(i)/real(y(i))) end do !Imprimiendo z print 2 2 format(10x,"X(i)",7x,"Y(i)",8x,"Z(i)",i2.1,i2.1,f5.4) do i=1,5 print*,x(i),y(i),z(i) end do end program función
62 | P á g i n a