Está en la página 1de 17

Programación Estructurada

EJERCICIOS DE CLASE

Nombre Completo:
Asignatura: PROGRAMACION BASICA
Gpo:

Escriba el código fuente en Fortran para los siguientes ejercicios, traducir desde el algoritmo
(pseudocódigo o diagrama de flujo) previo.

1. Obtener la suma de dos constantes de tipo numérico.

PROGRAM EJER_1
REAL:: a, b, r
a=5
b=10
r=a+b
WRITE(*,*) r
END PROGRAM

2. Obtener la suma de dos variables.

PROGRAM EJER_2
REAL:: m1,m2,r
WRITE(*,*) "Ingrese el primer valor numerico para sumar"
READ*, m1
WRITE(*,*) "Ingrese el segundo valor numerico"
READ*, m2
r=m1+m2
WRITE(*,*) "El resultado es ",r
END PROGRAM

3. Obtener el cuadrado y el cubo de una variable x.

PROGRAM EJER_3
IMPLICIT NONE
REAL::X,C2,C3
WRITE(*,*) "Ingrese el valor que desea conocer el cuadrado y el cubo de este"
READ* X
C2= X**2
C3= X**3
WRITE(*,*) "El cuadrado del numero es ",c2
WRITE(*,*) "El cubo del numero es ",c3
END PROGRAM
4. Obtener un valor de la función z=x2 +y3.

PROGRAM EJER_4
IMPLICIT NONE
REAL:: N1,N2,Z
WRITE(*,*) "De acuerdo a la ecuacion z=x2+y3 ingrese los valores X, Y"
WRITE(*,*) "Ingrese X"
READ*, N1
WRITE(*,*) "Ingrese Y"
READ*, N2
Z= N1**2 + N2**3
WRITE(*,*) "El resulado de la ecuacion es ",Z
END PROGRAM

5. Obtener la división de dos variables.


PROGRAM EJER_5
IMPLICIT NONE
REAL::A,C,B
WRITE(*,*) "INGRESE EL VALOR DE A"
READ*, A
WRITE(*,*) "INGRESE EL VALOR DE B"
READ*, B
IF (B/=0) THEN
C=A/B
WRITE(*,*) A, "/", B, "=", C
ELSE
WRITE(*,*) "ERROR, NO HAY DIVISION ENTRE 0"
END IF
END PROGRAM

6. Leer dos valores numéricos a y b, e imprimir solamente el menor.

PROGRAM EJER_6
IMPLICIT NONE
REAL:: m1,m2
WRITE(*,*) 'Escriba dos numeros'
WRITE(*,*) 'Escriiba el primer numero'
READ*, m1
WRITE(*,*) 'Ingrese el segundo numero'
READ*, m2
IF (m1>m2) THEN
WRITE(*,*) "El numero menor es ", m2
ELSE
IF (m1==m2) THEN
WRITE(*,*) "Los numeros son iguales"
ELSE
WRITE(*,*) "El numero menor es ",m1
END IF
END IF
END PROGRAM
7. Hacer un algoritmo, usando un elemento de selección múltiple, indique al usuario que
deberá elegir solo una opción a realizar.
Opción 1 – EJERCICIO 3
Opción 2 – EJERCICIO 4
Opción 3 – EJERCICIO 5
Opción 4 – EJERCICIO 6

Opción default –Mostrar “verifique su selección”

PROGRAM EJER_7
IMPLICIT NONE
REAL:: m1,m2,X,C2,C3,N1,N2,Z,A,B,C
INTEGER:: MENU
WRITE(*,*) "SELECCIONE ALGUN EJERCICIO"
WRITE(*,*) "1- Obtener el cuadrado y el cubo de una variable x"
WRITE(*,*) "2- Obtener un valor de la función z=x^2+y^3"
WRITE(*,*) "3- Obtener la division de dos variables"
WRITE(*,*) "4- Leer dos valores numéricos a y b, e imprimir solamente el menor"
READ*,MENU
SELECT CASE (MENU)
CASE (1)
WRITE(*,*) "Ingrese el valor que desea conocer el cuadrado y el cubo de este"
READ*, X
C2= X**2
C3= X**3
WRITE(*,*) "El cuadrado del numero es ",c2
WRITE(*,*) "El cubo del numero es ",c3

CASE (2)
WRITE(*,*) "De acuerdo a la ecuacion z=x2+y3 ingrese los valores X, Y"
WRITE(*,*) "Ingrese X"
READ*, N1
WRITE(*,*) "Ingrese Y"
READ*, N2
Z= N1**2 + N2**3
WRITE(*,*) "El resulado de la ecuacion es ",Z

CASE (3)
WRITE(*,*) "INGRESE EL VALOR DE A"
READ*, A
WRITE(*,*) "INGRESE EL VALOR DE B"
READ*, B
IF (B/=0) THEN
C=A/B
WRITE(*,*) A, "/", B, "=", C
ELSE
WRITE(*,*) "ERROR, NO HAY DIVISION ENTRE 0"
END IF

CASE (4)
WRITE(*,*) 'Escriba dos numeros'
WRITE(*,*) 'Escriiba el primer numero'
READ*, m1
WRITE(*,*) 'Ingrese el segundo numero'
READ*, m2
IF (m1>m2) THEN
WRITE(*,*) "El numero menor es ", m2
ELSE
IF (m1==m2) THEN
WRITE(*,*) "Los numeros son iguales"
ELSE
WRITE(*,*) "El numero menor es ",m1
END IF
END IF

CASE DEFAULT
WRITE(*,*) "NO ES VALIDA LA OPCION"

END SELECT

END PROGRAM

8. Generar e imprimir los números del 1, 2, 3, hasta el 10.

PROGRAM EJER_8
IMPLICIT NONE
INTEGER::X
X= 1
DO WHILE (X<=10)
WRITE(*,*)X
X=X+1
END DO
END PROGRAM

PROGRAM EJER_8B
IMPLICIT NONE
INTEGER::X
DO X = 1, 10, 1
WRITE (*,*) x
END DO
END PROGRAM
9. Generar e imprimir los primeros 40 números pares.

PROGRAM EJER_9
IMPLICIT NONE
INTEGER::X,P
X= 1
P= 2
DO WHILE (X<=40)
WRITE(*,*)P
P= P+2
X=X+1
END DO
END PROGRAM

10. Generar e imprimir los primeros 30 números impares.

PROGRAM EJER_10
IMPLICIT NONE
INTEGER::X,P
X= 1
P= 1
DO WHILE (X<=30)
WRITE(*,*)P
P= P+2
X=X+1
END DO
END PROGRAM

11. Hallar e imprimir los cuadrados de la numeración del 100, 99, 98 hasta el 1.
100, 10000
99, 9801

PROGRAM EJER_23
IMPLICIT NONE
INTEGER:: k, IP
k= 1
IP=100
DO WHILE (k<=100)
WRITE(*,*) "VUELTA ", IP, " Su cuadrado es ", IP**2
IP=IP-1
k=k+1
END DO
END PROGRAM
12. Obtener la suma de los primeros 100 números de manera inversa, es decir,
100+99+98+…+2+1=5050. Muestre la numeración y la suma total.

PROGRAM EJER_12
IMPLICIT NONE
INTEGER:: N, R, S
N= 1
R= 100
S= 100
DO WHILE (N<= 100)
WRITE(*,*) "Vuelta N", N, " ", R, " Suma ", S
R= R-1
S= R+S
N= N+1
END DO
WRITE(*,*) "La suma total es ", S
END PROGRAM

13. Obtener la suma de los 100 primeros números impares. Mostrar la serie y la suma total.

PROGRAM EJER_13
IMPLICIT NONE
INTEGER:: IMPX, SMIM
IMPX= 1
SMIM= 0
DO WHILE (IMPX<=199)
WRITE(*,*) IMPX
SMIM= SMIM + IMPX
IMPX= IMPX + 2
END DO
WRITE(*,*) "La suma de los primeros 100 impares es ", SMIM
END PROGRAM

14. Obtener el promedio de 10 calificaciones, las cuales deben de estar en el rango de 0 a 10, sí la
calificación no es válida no entra al promedio, mostrar el promedio de las calificaciones válidas
solamente. Por lo tanto, puede que no exista el promedio sí ninguna de las 10 calificaciones fue
válida.

PROGRAM EJER_14
REAL:: cal, prom, N, t, cn, s
N= 1
t= 0
cn= 0
WRITE(*,*) "Ingrese 10 calificaciones en una rango de 0 a 10"
DO WHILE (N<=10)
WRITE(*,*) "Ingrese la calificacion N. ", N
READ*, cal
IF (cal>= 0 .AND. cal<=10) THEN
t= cal + t
s= t+t
ELSE
WRITE(*,*) "ESTA CALIFICACION NO ES VALIDA, POR LO TANTO NO SE AGREGARA
AL PROMEDIO FINAL0"
cn= cn+1
END IF
N= N+1
END DO
IF (cn>=10) THEN
WRITE(*,*) "El promedio no existe, las colificaciones son invalidas"
ELSE
prom= t/(10-cn)
WRITE(*,*) "El promedio es ",prom
END IF
END PROGRAM

15. Serie de ULAM: Solicitar al usuario un número Natural, sí es par divídalo entre 2 y sí es impar
multiplique por 3 y aumente en 1. Se obtendrán enteros positivos repitiendo el proceso hasta llegar
a 1. Ejemplo sí empezamos en 5 la serie a mostrar sería: 5, 16, 8, 4, 2, 1.

PROGRAM EJER_15
IMPLICIT NONE
INTEGER:: N
WRITE(*,*) "A continuacion se realizar la serie ULAM"
WRITE(*,*) "Por favor ingrese un numero natural mayor a cero"
READ*, N
IF (N>0) THEN
DO WHILE (N/=1)
IF (MOD(N,2)==0) THEN
N = N/2
ELSE
N = N*3+1
END IF
WRITE(*,*) N
END DO
ELSE
WRITE(*,*) "El numero debe de ser positivo o mayor a 0"
END IF
END PROGRAM
16. Obtener y mostrar elementos de la serie de Fibonacci, preguntar el usuario ¿cuantos elementos
desea ver? Serie de Fibonacci: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89…

PROGRAM EJER_17
IMPLICIT NONE
INTEGER:: T,L,F,G,H
F= (-1)
G= 1
T= 0
WRITE (*,*) "¿CUANTOS ELEMENTOS DE LA SERIE DE FIBONACCI DESEA VER?"
READ*, L
IF (L>=0) THEN
DO WHILE (T<=L)
H= F+G
F= G
G= H
T= T+1
WRITE(*,*) H
END DO
END IF
END PROGRAM

17. Almacenar en un arreglo de 100 elementos de tipo entero los números del 1 al 100, mostrar cada
dato del arreglo al finalizar.
PROGRAM EJER_17
IMPLICIT NONE
INTEGER:: I, ARREGLO(100)
DO I=1, 100
ARREGLO (I)=I

END DO
DO I=1, 100
WRITE(*,*) ARREGLO (I)
END DO
WRITE(*,*) ARREGLO (32)
WRITE(*,*) ARREGLO (50)
END PROGRAM

18. Almacenar en un arreglo de 100 elementos de tipo entero los números del 100 al 1, mostrar cada
dato del arreglo al finalizar.

PROGRAM EJER_18
IMPLICIT NONE
INTEGER:: I, ARREGLO(100)
DO I=100, 1,-1
ARREGLO (I)=I
END DO
DO I=100, 1, -1
WRITE(*,*) ARREGLO (I)
END DO
WRITE(*,*) ARREGLO (32)
WRITE(*,*) ARREGLO (50)
END PROGRAM

19. Guardar en un arreglo los primeros 50 números pares, mostrar cada dato del arreglo al finalizar.

PROGRAM EJER_19
IMPLICIT NONE
INTEGER:: I, AR(50), C=2
DO I=1, 50
AR(I)=C
C=C+2
END DO
DO I=1, 50
WRITE(*,*)AR(I)
END DO
END PROGRAM

20. Guardar en un arreglo los primeros 80 números impares, mostrar cada dato del arreglo al finalizar.

PROGRAM EJER_20
IMPLICIT NONE
INTEGER:: I, C(80), V=1
DO I=1,80,1
C(I)=V
V=V+2
END DO
DO I=1,80,1
WRITE(*,*) C(I)
END DO
END PROGRAM

21. Almacenar 5 datos de tipo real que de él usuario, en un arreglo llamado datos, mostrar cada dato
del arreglo al finalizar.

PROGRAM EJER_21
IMPLICIT NONE
REAL:: C(5)
INTEGER:: I
WRITE(*,*) "Ingrese 5 valores"
DO I=1,5,1
WRITE(*,*) "INGRESE EL ELEMENTO NUMERO",I
READ*, C(I)
END DO
DO I=1,5,1
WRITE(*,*) C(I)
END DO
END PROGRAM

22. Leer dos vectores A y B de 10 elementos de tipo real y obtener el vector C, donde los elementos
de C sean la suma de A + B. Imprimir A, B, C.

PROGRAM EJER_22
IMPLICIT NONE
INTEGER:: A1(10), A2(10), A3(10), I
REAL:: V1,V2,VR
DO I=1, 10, 1
A1(I)= V1
WRITE(*,*) "VECTOR NUMERO 1, INGRESE EL VALOR N. ", I
READ*, V1
END DO
DO I=1, 10, 1
A2(I)= V2
WRITE(*,*) "VECTOR NUMERO 2, INGRESE EL VALOR N. ", I
READ*, V2
END DO
DO I=1, 10, 1
VR=V1+V2
WRITE(*,*) "lA SUMA DE LOS VECTORES ES ",V1,"+",V2,"=", VR
END DO
END PROGRAM

23. Leer un vector de 5 elementos de tipo entero y guardar estos elementos en otro vector, pero en
forma inversa, imprimir ambos vectores.
PROGRAM EJER_23
IMPLICIT NONE
INTEGER:: A1(5), I=1
REAL:: V1
DO I=1, 5, 1
WRITE(*,*) "VECTOR NUMERO 1, INGRESE EL VALOR N. ", I
READ*, V1
A1(I)= V1
END DO
DO I=5, 1, -1
WRITE(*,*) "ORDEN INVERSO ", A1(I)
END DO
WRITE(*,*) A1(5)
END PROGRAM

24. Solicite al usuario el grado de la ecuación -que no sea mayor a 20 el grado del polinomio-
almacene en un arreglo esa ecuación. –coeficientes-
Para obtener la derivada en otro arreglo.
Imprimir ambos arreglos.

PROGRAM EJER_24
IMPLICIT NONE
REAL::DERI(20),POLI(21)
INTEGER::I,C
WRITE(*,*)'INGRESE EL GRADO QUE TIENE SU POLINOMIO'
READ*,C
IF(C<21.AND.C>0)THEN
DO I=1,C+1,1
WRITE(*,*)'INGRESE EL COEFICIENTE N. : ',I-1,'DE SU POLIMONIO'
READ*,POLI(I)
END DO
WRITE(*,*)'LOS COEFICIENTES DE LOS POLINOMIOS SON LOS SIGUIENTES'
DO I=C+1,1,-1
WRITE(*,*)POLI(I)
END DO
DO I=C,1,-1
DERI(I)=POLI(I+1)*I
END DO
WRITE(*,*)'LOS COEFICIENTES DE LA DERIVADA SON '
DO I=C,1,-1
WRITE(*,*)DERI(I)
END DO
ELSE
WRITE(*,*)'EL POLINOMIO REVASA EL ALCANSE PERMITIDO'
END IF
END PROGRAM

25. Almacenar en un arreglo de 3X3 solo uno´s, imprimir en pantalla la matriz.


PROGRAM EJER_25
IMPLICIT NONE
INTEGER:: F,C, M(3,3)
DO F=1,3
DO C=1,3
M(F,C)=1
END DO
END DO
DO F=1,3
DO C=1,3
WRITE(*,*) M(F,C)
END DO
END DO
WRITE (*,*)
WRITE (*,*) M
WRITE (*,*)
WRITE (*,*) "La matriz es "
DO F=1, 3
WRITE (*,*) (M(F,C), C=1, 3)
END DO
END PROGRAM

26. Almacenar en un arreglo de 4X4 la numeración del 1 al 16, imprimir en pantalla la matriz.

PROGRAM EJER_26
IMPLICIT NONE
INTEGER:: F,C, M(4,4), a=1
DO F=1,4
DO C=1,4
M(F,C)=a
a=a+1
END DO
END DO
DO F=1,4
DO C=1,4
WRITE(*,*) M(F,C)
END DO
END DO
WRITE (*,*)
WRITE (*,*) M
WRITE (*,*)
WRITE (*,*) "La matriz es "
DO F=1, 4
WRITE (*,*) (M(F,C), C=1, 4)
END DO
END PROGRAM

27. Leer una matriz de 3X3 de tipo real e imprimir la matriz.

PROGRAM EJER_27
IMPLICIT NONE
INTEGER:: F,C
REAL:: M(3,3)
WRITE(*,*) "INGRESE LOS 9 VALORES DE LA matriz POR FILA"
DO F=1,3
DO C=1,3
READ*, M(F,C)
END DO
END DO
WRITE (*,*) "La matriz es "
DO F=1, 3
WRITE (*,*) (M(F,C), C=1, 3)
END DO
END PROGRAM

28. Solicitar al usuario un arreglo A de 3X3 de tipo entero, contar los números pares, mostrar el número
total del conteo.

PROGRAM EJER_28
IMPLICIT NONE
INTEGER:: F,C, M(3,3), X=0, Y
WRITE(*,*) "INGRESE LOS 9 VALORES DE LA matriz POR FILA"
DO F=1,3
DO C=1,3
READ*, M(F,C)
Y=MOD(M(F,C),2)
IF (Y==0) THEN
X=X+1
END IF
END DO
END DO
WRITE (*,*) "LA MATRIZ ESCRITA ES:"
DO F=1, 3
WRITE (*,*) (M(F,C), C=1, 3)
END DO
WRITE(*,*)
WRITE(*,*) "LA CANTIDAD DE NUMEROS PÁRES ES: ",X
END PROGRAM

29. Leer un arreglo de 3X3 con datos reales, e imprimir en pantalla solamente los elementos de la
diagonal principal y obtener e imprimir la suma de los elementos de la diagonal principal.

PROGRAM EJER_29
IMPLICIT NONE
REAL::M(3,3), SUMA=0
INTEGER::I,J
WRITE(*,*)'INGRESE LOS VALORES DE LA MATRIZ POR FILA'
DO I=1,3
DO J=1,3
READ*,M(I,J)
END DO
END DO
WRITE(*,*)'LA MATRIZ M ES'
DO I=1, 3
WRITE(*,*) (M(I,J), J=1, 3)
END DO
WRITE(*,*)'LOS ELEMENTOS DE LA DIAGONAL PRINCIPAL SON'
DO I=1,3
DO J=1,3
IF(I==J) THEN
WRITE(*,*) M(I,J)
SUMA=SUMA+M(I,J)
END IF
END DO
END DO
WRITE(*,*) 'LA SUMA DE LSO ELEMENTOS DE LA DIAGONAL ES:', SUMA
END PROGRAM

30. Solicitar al usuario un arreglo de 3X3 de tipo real, para almacenar los elementos de la diagonal
principal en otro vector. Imprimir el vector almacenado y el arreglo en forma de matriz.

PROGRAM EJER_30
IMPLICIT NONE
INTEGER:: I, J, K
REAL:: M(3,3), D(3)
WRITE(*,*) "INGRESE LOS ELEMENTOS DE LA MATRIZ POR COLUMNA"
READ*, ((M(I,J), I=1,3), J=1, 3)
WRITE (*,*) "LA MATRIZ M ES:"
DO I=1,3
WRITE(*,*) (M(I,J), J=1, 3)
END DO
WRITE(*,*)
DO I=1,3
D(I) = M(I,I)
END DO
WRITE(*,*) "LOS ELEMENTOS DE LA DIAGONAL PRINCIAL SON: "
WRITE(*,*) D
WRITE(*,*)
END PROGRAM

31. Leer un arreglo A de 3X3 de tipo real para almacenar su transpuesta de A en otra matriz B.
Imprima A y B en forma de matriz.

PROGRAM EJER_31
IMPLICIT NONE
REAL:: M(3,3), MT(3,3)
INTEGER:: I, J
WRITE (*,*) "INGRESE LOS ELEMENTOS DE LA MATRIZ POR COLUMNA"
READ*, ((M(I,J), I=1, 3), J=1, 3)
WRITE (*,*) "LA MATRIZ M ES: "
DO I=1, 3
WRITE (*,*) (M(I,J), J=1, 3)
END DO
WRITE (*,*)
DO I=1,3
DO J=1,3
MT(I,J)=M(J,I)
END DO
END DO
WRITE (*,*) "LA MATRIZ MT ES: "
DO I=1,3
WRITE (*,*) (MT(I,J), J=1,3)
END DO
WRITE (*,*)
END PROGRAM

32. Leer dos matrices de 4 x 4 de tipo entero, almacenar las diagonales en vectores diferentes, obtener
la suma de los diagonales –suma de vectores- en otro vector.

Ejemplo de 2X2:

M[2][2] R[2][2] Diagonal1[2] Diagonal2[2] Suma[2]


3 2 5 6 3 5 8
4 5 7 9 5 9 14

PROGRAM EJER_32
IMPLICIT NONE
REAL:: M1(4,4), V1(4), M2(4,4), V2(4), S(4)
INTEGER:: I,J,K
WRITE(*,*) "INGRESE LOS ELEMENTOS DE LA MATRIZ 1 POR COLUMNA"
READ*, ((M1(I,J), i=1,4), j=1,4)
WRITE(*,*)
WRITE(*,*) "INGRESE LOS ELEMENTOS DE LA MATRIZ 2 POR COLUMNA"
READ*, ((M2(I,J), i=1,4), j=1,4)
WRITE(*,*)
WRITE(*,*) "LA MATRIZ M1 ES:"
DO I=1,4
WRITE(*,*)(M1(I,J), J=1, 4)
END DO
WRITE(*,*)
DO I=1,4
V1(I)=M1(I,I)
END DO
WRITE(*,*)
WRITE(*,*) "LOS ELEMENTOS DE LA DIAGONAL M1 PRICIPAL ES "
WRITE(*,*) V1
WRITE(*,*)
WRITE(*,*) "LA MATRIZ M2 ES"
DO I=1,4
WRITE(*,*) (M2(I,J), J=1, 4)
END DO
WRITE(*,*)
DO I=1,4
V2(I)= M2(I,I)
END DO
WRITE(*,*)
WRITE(*,*) "LOS ELEMENTOS DE LA DIAGONAL PRICIPAL DE M2 SON"
WRITE(*,*) V2
DO I=1,4
S(I)=V1(I)+ V2(I)
END DO
WRITE(*,*)
WRITE(*,*) "LA SUMA DE LOS ELEMENTOS DIAGONALES PRINCIPALES DE AMBAS MATRICES ES
:"
WRITE(*,*) S
END PROGRAM

33. Leer dos matrices de 3X3 de tipo real y obtener una tercera que sea la suma de las dos anteriores.
Imprimir la matriz resultante.

PROGRAM EJER_33
IMPLICIT NONE
REAL:: M1(3,3), M2(3,3), M3(3,3)
INTEGER:: I, J
WRITE (*,*) "INGRESE LOS ELEMENTOS DE LA MATRIZ 1 POR COLUMNA"
READ *, ((M1(I,J), I=1, 3), J=1, 3)
WRITE (*,*) "INGRESE LOS ELEMENTOS DE LA MATRIZ 2 POR COLUMNA"
READ*, ((M2(I,J), I=1, 3), J=1, 3)
DO I=1, 3
DO J= 1,3
M3(I,J)=M1(I,J)+ M2(I,J)
END DO
END DO
WRITE (*,*) "LA MATRIZ M1 ES: "
DO I=1, 3
WRITE (*,*) (M1(I,J), J=1, 3)
END DO
WRITE (*,*) "LA MATRIZ M2 ES: "
DO I=1, 3
WRITE (*,*) (M2(I,J), J=1, 3)
END DO
WRITE (*,*) "LA MATRIZ M3 ES: "
DO I=1, 3
WRITE (*,*) (M3(I,J), J=1, 3)
END DO
END PROGRAM

34. Almacenar un arreglo de 4X4 de tipo entero, para obtener una segunda matriz de tal forma que
solo guarde los valores que dio el usuario sí son múltiplos de 7, en caso de no ser múltiplo de 7,
agregar valores múltiplos de 7. Indiquen cuantos valores se modificaron y cuantos no. Imprimir
ambas matrices.

PROGRAM EJER_34
IMPLICIT NONE
INTEGER:: F,C,A(4,4), B(4,4),V,Z, CNM=0, CM=0
DO F=1,4
DO C=1,4
WRITE(*,*) "INGRESE LOS VALORES DE LA MATRIZ"
READ*, V
A(F,C)=V
END DO
END DO
DO F=1,4
DO C=1,4
Z=MOD(A(F,C),7)
IF (Z==0) THEN
B(F,C)= A(F,C)
CNM= CNM+1
ELSE
DO
WRITE(*,*) "INGRESE LOS MULTIPLOS DE 7"
READ*, V
Z=MOD(V,7)
B(F,C)=V
CM=CM+1
IF (Z==0) EXIT
END DO
END IF
END DO
END DO
WRITE(*,*) "LA MATRIZ ES"
DO F=1,4
WRITE(*,*) (A(F,C), C=1,4)
END DO
WRITE(*,*) "SOLO CON LOS MULTIPLOS DE 7"
DO F=1, 4
WRITE(*,*) (B(F,C), C=1,4)
END DO
WRITE(*,*) "SE MODIFICARON ", CM, "DATOS"
WRITE(*,*) "SE CONVIRTIERON", CNM, "DATOS"
END PROGRAM

También podría gustarte