matriz

Upload: julioalvarado

Post on 06-Mar-2016

224 views

Category:

Documents


0 download

DESCRIPTION

jiji

TRANSCRIPT

!Elaborar un programa que determine !el promedio de las 4 mejores notas!de un total de 5 notas.!La variable notas debe estar inicializada!con 5 notas!notas=(/10 12 11 13 11/) calcular el promedio!promedio = (12+11+13+11)/4 mo se condidera!la nota mas baja!program asignacion_notas!real,dimension(5)::notas=(/13,10,11,12,11/)!real::suma,prom,menor !menor variable auxiliar!integer::i!variable inicializada!suma=0!menor=notas(1)!do i=1,5 !suma=suma+notas(i) !if (menor>notas(i)) then !menor=notas(i) !end if!end do!calculo del promedio!prom=(suma-menor)/4.0!print*,"promedio de las 4 mejores notas =",prom!end program asignacion_notas

!Usando la funcion reshape para rango > 1!program asigna!integer,dimension(4,6)::mat1=reshape((/1,2,3,4,5,6,7,8,9,10,11,12,13,14,&!& 15,16,17,18,19,20,21,22,23,24/),(/4,6/))!vamoa a mostra los valores de mat1!do i=1,4 !print*,(mat1(i,j),j=1,6)!end do!print*!print*,"otra forma de visualizar la variable mat1"!print*,mat1

!end program asigna

!asignacion de datos a vectores/tablas con do implicitos !program asigna !INTEGER,DIMENSION(100)::v=0!INTEGER,DIMENSION(5)::v1=(/(i,i=1,5)/)!INTEGER,DIMENSION(100)::v2=(/(i,i=100,1,-1)/)!INTEGER,DIMENSION(20)::v3=(/((0,i=1,4),5*j,j=1,4)/)!print*,"mostrando los valores asignados de v1"!print*,3*v1!print*!print*,"mostrando los valores asignados de v2"!print*,2*v2!print*,"mostrando los valores asignados de v3"!print*,4*v3!print*,"mostrando los valores asignados de v"!do i=1,100!print*,v(i)!end do!end program asigna

!funciones para vectores y matrices!funcion es matmul(A,B) ! 1 2 34 5! 2 1 11 1!2 2!N de col (1era matriz) = N de filas (2da matriz)!la matriz producto sera de 2x2!program multiplicacion!integer,dimension(2,3)::A,B(3,2),C(2,2)!A=RESHAPE((/1,2,2,1,3,1/),(/2,3/))!B=RESHAPE((/4,1,2,5,1,2/),(/3,2/))!C=MATMUL(A,B)!DO I=1,2! PRINT*,(C(I,J),J=1,2)!END DO!END PROGRAM multiplicacion

!usando la funcion dot_product!program dot!integer,dimension(4)::A,B!integer::C!A=(/1,2,2,3/)!B=(/4,1,2,5/)!C=DOT_PRODUCT(A,B)!PRINT*,C!END PROGRAM dot

!funcion transpose(A)PROGRAM TRAMPOSOinteger,dimension(3,3)::A,ATINTEGER,DIMENSION(1)::MAYOR(3),MENORA=RESHAPE((/1,2,3,4,5,6,7,8,9/),(/3,3/))!147!258!369AT=TRANSPOSE(A)!VISUALIZANDO LA MATRIZ APRINT*,"MATRIZ A"DO I=1,3 PRINT*,(A(I,J),J=1,3)END DOPRINT*!VISUALIZANDO LA MATRIZ TRANSPUESTAPRINT*,"MATRIZ AT"DO I=1,3 PRINT*,(AT(I,J),J=1,3)END DO!USANDO LAS FUNCIONES!MAXVAL Y MINVALMAYOR=MAXVAL(A,DIM=2)MENOR=MINVAL(A)PRINT*,"MAYORES"PRINT*,MAYOR !,MAXLOC(A)PRINT*,"MENORES"PRINT*,MENOR,MINLOC(A)END PROGRAM TRAMPOSO