Ejemplo pseudocódigo

Anuncio
Pseudocódigo
vacio principal {
entero A[m][n];
entero B[p][q];
entero opcion;
inicializa(A,m,n);
inicializa(B,p,q);
hacer {
menu(opcion);
según (opcion) {
1 : capturar(A,m,n);
2 : capturar(B,p,q);
3 : sumaMatriz(A,B,m,n,p,q);
4 : multiplicaMatriz(A,B,m,n,p,q);
5 : transpuesta(A,m,n);
6 : transpuesta(B,p,q);
}
} mientras !(opcion==7)
}
//------------------------------vacio menu(entero opcion) {
limpia();
irxy(10,10);
escribir(“[1] Captura matriz A”);
irxy(10,11);
escribir(“[2] Captura matriz B”);
irxy(10,12);
escribir(“[3] Suma (A+B)”);
irxy(10,13);
escribir(“[4] Multiplicación (AB)”);
irxy(10,14);
escribir(“[5] Transpuesta A”);
irxy(10,15);
escribir(“[6] Transpuesta B”);
irxy(10,16);
escribir(“[7] Salir”);
irxy(10,18);
escribir(“OPCION: ”);
pedir(opcion);
}
//------------------------------vacio inicializa(entero[][] M, entero r, entero c) {
para(entero i=0; i<r; i++) {
para(entero j=0; j<c; j++) {
M[i][j] = 0;
}
}
}
//------------------------------vacio captura (entero[][] M, entero r, entero c){
para(entero i=0; i<r; i++) {
para(entero j=0; j<c; j++) {
limpiar();
irxy(10,10);
escribir(“Elemento en la posición [”, i, “] [”, j, “] : ”);
pedir(M[i][j]);
}
}
}
//------------------------------vacio sumaMatriz(entero[][] A,entero rA, entero cA,
entero[][] B, entero rB, entero cB) {
limpiar();
si (rA==rB && cA==cB) {
para(entero i=0; i<rA; i++) {
para(entero j=0; j<cA; j++) {
irxy(10+i,10+j*4);
escribir(A[i][j]+B[i][j]);
}
}
sino {
irxy(10,10);
escribir(“ERROR: matrices no son del mismo tamaño”);
}
}
//------------------------------vacio multiplicaMatriz(entero[][] A,entero rA, entero cA,
entero[][] B, entero rB, entero cB) {
entero aux;
limpiar();
si (cA==rB) {
para(entero i=0; i<rA; i++) {
para(entero j=0; j<cB; j++) {
aux = 0;
para(entero k=0; i<rB; k++) {
aux = aux + A[i][k]*B[k][j];
}
irxy(10+i,10+j*4);
escribir(aux);
}
}
sino {
irxy(10,10);
escribir(“ERROR: matrices no se pueden multiplicar”);
}
}
//------------------------------vacio transpuesta(entero[][] M, entero r, entero c) {
limpiar();
para(entero i=0; i<r; i++) {
para(entero j=0; j<c; j++) {
irxy(10+i,10+j*4);
escribir(M[i][j]);
}
}
}
//-------------------------------
Documentos relacionados
Descargar