Está en la página 1de 3

// SOLUCION DEL PARCIAL CORTE 1

ENTERO HALLA_PRODUCTO ( ENTERO MAT[][] , ENTERO LIM )

PROC HALLAR_PRIMO ( ENTERO MAT[][] , ENTERO M, ENTERO *X , ENTERO *Y)

PROGRAMA MAIN

INICIO

// VARIABLES LOCALES

ENTERO M [30][30] , N , I , K , F , C , Y

ESCRIBA “ INGRESE EL TAMAÑO DE LA MATRIZ “

LEA N

SI ( N < 5 || N > 29 || N MOD 2 = 0 ) ENTONCES

ESCRIBA “ TAMAÑO INVALIDO” , N

SINO

PARA I = 1, N , +1 HAGA // LECTURA DE LA MATRIZ

PARA K = 1, N , +1 HAGA

ESCRIBA “ INGRESE UN NUMERO “

LEA M [I] [K]

FIN-PARA

FIN-PARA

Y = HALLA_PRODUCTO ( M , N ) // INVOCA LA FUNCION

HALLAR_PRIMO ( M , N , &F , &C ) // INVOCA EL PROCEDIMIENTO

ESCRIBA “EL PRODUCTO DE LOS PARES ES : “, Y

ESCRIBA “ LA POSICION DE LA CELDA CON NUMERO PRIMO ES :” , F, C

FIN-SI

FIN_MAIN
ENTERO HALLA_PRODUCTO ( ENTERO MAT[][] , ENTERO LIM )
INICIO
ENTERO I , PRODUCTO, K
PRODUCTO = 1
PARA I = 1, [LIM/2] , +1 HAGA // [ ] es el operador truncado
SI ( MAT [I][I ] MOD 2 = 0 ) ENTONCES // área de la diagonal principal a11 a12 a13 a14 a15 a16 a17
PRODUCTO = PRODUCTO * MAT [I] [I] a21 a22 a23 a24 a25 a26 a27
FIN-SI a31 a32 a33 a34 a35 a36 a37
FIN-PARA a41 a42 a43 a44 a45 a46 a47
PARA I = ( LIM +1 )/2 , LIM , +1 HAGA // área vertical de la y a51 a52 a53 a54 a55 a56 a57
SI ( MAT [I] [ ( LIM + 1 ) / 2] MOD 2 = 0 ) ENTONCES a61 a62 a63 a64 a65 a66 a67
PRODUCTO = PRODUCTO * MAT [I] [I] a71 a72 a73 a74 a75 a76 a77
FIN-SI
FIN-PARA
PARA K = 1 , [ LIM / 2 ] , +1 HAGA // área horizontal de la y
SI ( MAT [ LIM ] [ K ] MOD 2 = 0 ) ENTONCES
PRODUCTO = PRODUCTO * MAT [I] [I]
FIN-SI
FIN-PARA
K = LIM
PARA I = 1, [LIM/2] , +1 HAGA // [ ] es el operador truncado
SI ( MAT [ I] [ K ] MOD 2 = 0 ) ENTONCES // área de la diagonal secundaria
PRODUCTO = PRODUCTO * MAT [I] [I]
FIN-SI
K = K -1
FIN-PARA
RETURN ( PRODUCTO )
FIN_HALLA_PRODUCTO
EJEMPLO : PARA UNA MATRIZ DE TAMAÑO 5 :
PROC HALLAR_PRIMO ( ENTERO MAT[][] , ENTERO M, ENTERO *X , ENTERO
*Y) 45 21 19 75 11
INICIO
ENTERO I , K
8 6 29 24 86
*X = 0 1 5 4 3 6
*Y = 0 77 88 55 31 90
PARA I = 1 , M HAGA 10 9 8 7 4
PARA K = 1 , M HAGA
SI I > K ENTONCES //DETECTA SI ESTA POR DEBAJO DE DIAGONAL
NUM = MAT [ I ] [ K ] NOTACION SUBINDICADA :
CONTA = 0
PARA P = 1 , NUM HAGA // AVERIGUA SI ES PRIMO O NO A11 A12 A13 A14 A15
SI ( NUM MOD P = 0 ) ENTONCES A21 A22 A23 A24 A25
CONTA++
FIN-SI A31 A32 A33 A34 A35
FIN-PARA A41 A42 A43 A44 A45
SI CONTA = 2 ENTONCES A51 A52 A53 A54 A55
*X = I
*Y = K
FINSI
FINSI
FIN-PARA
FIN-PARA
FIN

También podría gustarte