Vous êtes sur la page 1sur 3

Ing. William W.

Chauca Noiasco

CUARTA PRACTICA DE LENGUAJE DE PROGRAMACION - CICLO 2008-I

1.- Elaborar un programa que calcule la multiplicacion de dos matrices cuyas dimensiones son A(3x3) y
B(3x2), las matrices A y B deben ser inicializadas con los siguientes valores dentro del programa tal como se
muestra:
Donde los valores para la primera fila de B esta
0 1 2 1 0 dada por (2 – J )
A= B= Para la segunda fila de B esta dada por 2*(J - 1)
012 0 2
012 Para la tercera fila de B esta dada por 3*(2 – J)
3 0 Donde J varía des de 1 hasta 2
2.- Complete el programa en las lineas que falta

----------------------------------------
----------------------------------------
BB = RESHAPE( ( / ( ( 10*I+J, I = 1,2 ), J = 2,3 ) / ), ( / 2,2 /) )
PRINT 10,BB
-----------------------------------------
END ----------------------------------

3.- Elaborar un programa que permita visualizar el nombre de los doce meses del año y el número total de días de cada mes.
Utilizar valores de inicialización para los vectores correspondientes.

Enero 31
Febrero 28
Marzo 31
Abril 30
Mayo 31
Junio 30
Julio 31
Agosto 31
Septiembre 30
Octubre 31
Noviembre 30
Diciembre 31

4.- Elaborar un programa que permita el ingreso de 5 números enteros en un vector 11 22 33 44 55, y visualice los siguienes
elementos tal como se muestra;
22 33 44
33 44 55
11 22 33
11 33 55
22 44 55

5.- Elaborar un programa que inicialice una matriz A (3x4) con los siguientes valores que se muestran y se obtenga la transpuesta
de dicha matriz.

1 2 3 4
A=
5 6 7 8
9 10 11 12

6.- Calcule la magnitud de un vector cuyas componentes son: 3 4 y 5 , utilizar la lectura explicita para ignresar dichos valores ,
utilizar las funciones sqrt, sum para las operaciones de calculo

7.- Desarrolle un pograma sin utilizar la funcion MATMUL que calcule el producto de dos matrices A(M,N) y B(P,Q), donde N debe
ser igual a P; en caso contrario las matrices no son multiplicadas.

8.- Desarrolle un programa que calcule la determinante de una matriz cuadrada de oreden mayor o igual que tres

9.- Desarrolle un programa que permta el ingreso de un vector con los siguientes datos: 5 6 2 1 9 y visualice en orden ascendente.
Ing. William W. Chauca Noiasco

Pregunta 1
PROGRAM matmul_example
IMPLICIT NONE
INTEGER i, j
INTEGER, DIMENSION(3,3) :: A
INTEGER, DIMENSION(3,2) :: B, C
A(1,:) = (/ (j, j=0,2) /)
A(2,:) = (/ (j, j=0,2) /) !! initialize matrix A
A(3,:) = (/ (j, j=0,2) /)
B(1,:) = (/ ( (2-j), j=1, 2) /)
B(2,:) = (/ (2*(j-1), j=1, 2) /) !! initialize matrix B
B(3,:) = (/ (3*(2-j), j=1, 2) /)
C = MATMUL(A, B) !! matrix multiply
print *,'A'
do i=1,3
print *,A(i,:)
enddo
print *,'B'
do i=1,3
print *,B(i,:)
enddo
print *,'C'
do i=1,3
print *,C(i,:)
enddo
end PROGRAM matmul_example

Pregunta 2
INTEGER,DIMENSION(2,2)::BB
BB=RESHAPE((/((10*I+J,I=1,2),J=2,3)/),(/2,2/))
PRINT 10,BB
10 FORMAT(2I3)
END

Pregunta 3
PROGRAM NombreMes
INTEGER :: i
CHARACTER(10),DIMENSION(12)::Mes=(/ "Enero ","Febrero","Marzo", &
"Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre" /)
INTEGER,DIMENSION(12):: Diames=(/31,28,31,30,31,30,31,31,30,31,30,31/)
DO i = 1, 12
PRINT "(1X, A, I5)",Mes(i),DiaMes(i)
END DO
END PROGRAM NombreMes

Pregunta 4
PROGRAM demo_sections_1
INTEGER, DIMENSION(1:5) ::array = (/ 11, 22, 33, 44, 55 /)
PRINT "(3I5)", array(2:4) !Imprime un triplete paso default
PRINT "(3I5)", array(3:) !Impresion superior por default
PRINT "(3I5)", array(:3) !Impresion inferior por default
PRINT "(3I5)", array(1:5:2) !No default
PRINT "(3I5)", array((/ 2, 4, 5 /)) !Impresion de vector
END PROGRAM DEMO_SECTIONS_1

Pregunta 5
PROGRAM transpose_example
IMPLICIT NONE
INTEGER i, j
INTEGER, DIMENSION(3,4) :: A
INTEGER, DIMENSION(4,3) :: AT
A(1,:) = (/ (j, j=1,4) /)
A(2,:) = (/ (j, j=5,8) /) !! initialize matrix A
Ing. William W. Chauca Noiasco

A(3,:) = (/ (j, j=9,12) /)

AT = TRANSPOSE(A) !! take the transpose of A


print*,'A'
do i=1,3
print *,A(i,:)
enddo

print*,'AT = TRANSPOSE(A)'
do i=1,4
print *,AT(i,:)
enddo
END PROGRAM transpose_example

Vous aimerez peut-être aussi