Está en la página 1de 14

Universidad Estatal a Distancia Escuela de Ciencias Exactas y Naturales Diplomado en Informtica

PROYECTO 2

Lgica para Computacin Cdigo: 3071 Grupo N 1

Karen Esquivel Gonzlez Cdula: 030440801 Telfono: 84068699 E-mail: kmelissa.17@gmail.com

Centro Universitario de Cartago III Cuatrimestre, 2012

TABLA DE CONTENIDO

INTRODUCCIN ......................................................... 2 DESARROLLO ............................................................ 3 ANLISIS DEL PROBLEMA ........................................... 3 ALGORITMO ........................................................... 5 PRUEBAS DE ESCRITORIO ........................................ 11 CONCLUSIONES ....................................................... 12 BIBLIOGRAFA ......................................................... 13

INTRODUCCIN

El presente trabajo, describe los pasos y secuencias lgicas a seguir en un truco denominado Cuadro Mgico, este consiste en ingresar una matriz , donde cada una de las filas, columnas y diagonales sumen lo mismo. El objetivo general es verificar si la matriz cuadrada ingresada es mgica. Su importancia radica en un med io computacional que agiliza la verificacin de ciertos nmeros ingresados y distribuidos en una matriz corresponden a un cuadro mgico. Las limitaciones esta del presente para trabajo, matrices lentitud por cuanto cuyas

suma todas las filas, columnas y diagonales. Por otro lado la matriz declarada cuadradas dimensin sea menor o igual a treinta.

DESARROLLO

ANLISIS DEL PROBLEMA

PRIMERA ETAPA

En esta parte se espera como datos de salida los siguientes: La matriz ingresada por el usuario. Si la matriz es un cuadrado mgico o no.

SEGUNDA ETAPA

En

esta

etapa

se

tiene

que

los

datos

de

entrada

son

los

siguientes: La dimensin del cuadrado mgico. Cada una de las entradas del cuadrado mgico.

TERCERA ETAPA

En esta etapa se programan los siguientes procesos: Entrada de la matriz.

Validacin suma de Diagonales: verifica que la suma de las diagonales den el mismo resultado y reporta True y en caso contrario reporta False. Validacin suma de Horizontales: verifica que la suma de las filas den el mismo resultado y reporta True y en caso contrario reporta False. Validacin suma de Verticales: verifica que la suma de las columnas den el mismo resultado y reporta True y en caso contrario reporta False.

ALGORITMO

Algoritmo CUADRADOMAGICO Cuadrado Mgico 1. Declaraciones Variables n, sumaDiag, sumaHoriz , sumaVert: Entero valideDiag,valideHoriz , valideVert: Booleano desea=Carcter matriz: Arreglo[30][30] Entero sumFila, sumColumna: Arreglo [30] Entero

2. Mtodo Principal a. Do 1. 2. 3. 4. Llamar Lee_Matriz Llamar I mprime_Matriz Llamar Valida_Diagonales I F valideDiag=True THEN a. Llamar Valide_Verticales b. I F valideVert=True THEN 1. IF ((sumaDiag=sumaHoriz )and(suma Diag=sumaVert)) THEN a. I mprimir El cuadrado ingresado es un CUADRADO MGICO 2. ELSE

a.

I mprimir El cuadrado

ingresado No es un cuadrado mgico 3. ENDIF c. ELSE 1. I mprimir El cuadrado ingresado No es un cuadrado mgico d. ENDIF 5. ELSE a. I mprimir El cuadrado ingresado No es un cuadrado mgico 6. ENDIF b. I mprimir Desea validar otro cuadrado? (S/N) c. Solicitar desea d. Leer desea e. WHI LE desea=S f. Fin Mtodo Principal

3. Mtodo Lee_Matriz a. I mprimir Qu dimensin tiene su cuadrado? b. Solicitar n c. Leer n d. FOR fila=1; fila<=4; fila++ 1. FOR columna =1; columna<=n; a. I mprimir Ingrese el +columna+ elemento de la fila +fila+ que tendra su cuadrado b. Leer matriz[fila][columna] columna++

2. e. ENDFOR

ENDFOR

f. Fin Mtodo Lee_Matriz

4. Mtodo Imprime_Matriz a. I mprimir El cuadrado mgico que ingreso es el siguiente: b. FOR fila=1; fila<=4; fila++ 1. FOR columna =1; columna<=n; a. I mprimir matriz[fila][columna] 2. c. ENDFOR d. Fin Mtodo Imprime_Matriz ENDFOR columna++

5. Mtodo Valida_Diagonales a. sumDiag=0 b. sumDiag2=0 c. i=1 d. m=n e. DO 1. sumDiag=sumDiag+matriz [i][i] f. WHILE i<n g. I mprimir La suma de la diagonal 1 es: +sumDiag h. i=1 i. DO 1. sumDiag2=sumDiag2+matriz [i][m -j+1]

2.

i=i+1

j. WHILE i<n k. I mprimir La suma de la diagonal 2 es: +sumDiag2 l. I F sumDiag=sumDiag2 1. 2. m. ELSE 1. n. ENDIF valideDiag=False valideDiag=True sumaDiag=sumDiag2

6. Mtodo Valida_Horiz ontales a. i=1 b. DO 1. 2. 3. sumFila[i]=0 j=0 DO a. j=j+1 b. sumFila[i]=sumFila[i]+matriz [i][j] 4. 5. 6. d. i=0 e. DO 1. 2. i=i+1 I F sumFila[i]=sumFila[ i+1] a. valideHoriz =True WHILE j<=n I mprimir La suma de la fila +i+ es i=i+1

+sumFila[i] c. WHILE i<n

3. 4.

ELSE a. v alideHoriz =False ENDIF

f. WHI LE ((i<=n)OR NOT(sumFila[i]=sumFila[i+1])) g. I F valideHoriz=True THEN 1. h. ENDIF i. Fin Mtodo Valida_Horiz ontales sumaHoriz =sumFila[i]

7. Mtodo Valida_Verticales a. j=1 b. DO 1. 2. 3. sumColumna[j]=0 i=0 DO a. i=i+1 b. sumColumna[j]=sumColumna [j]+matriz [i][j] 4. 5. 6. d. j=0 e. DO 1. 2. j=j+1 I F sumColumna[j]=sumColumna[j+1] a. valideVert=True WHILE i<=n I mprimir La suma de la columna +j+ j=j+1

es +sumColumna[j] c. WHILE j<n

3. 4.

ELSE a. valideVert=False ENDIF

f. WHILE ((j<=n)OR NOT(sumColumna[j]=sumColumna [j+1])) g. I F valideVert=True THEN 1. h. ENDIF i. Fin Mtodo Valida_Verticales sumaVert=sumFila[j]

10

PRUEBAS DE ESCRITORIO

DATOS DE ENTRADA

VALORES (EN DLARES)

Dimensin de la Matriz El primer elemento de la fila 1 El cuarto elemento de la fila 4


PROCESOS Y SALIDAS

4 16 1 16 3 10 6 15 2 11 7 14 13 8 12 1

El cuadro mgico que ingreso es:

5 9 4

Resultado:
DATOS DE ENTRADA

El cuadrado ingresado es un CUADRADO MGICO


VALORES (EN DLARES)

Dimensin de la Matriz El primer elemento de la fila 1 El tercer elemento de la fila 3


PROCESOS Y SALIDAS

3 1 9 1 2 5 8 3 6 9

El cuadro mgico que ingreso es: Resultado:

4 7

El cuadrado ingresado NO es un CUADRADO MGICO

11

CONCLUSIONES

Segn

la

prueba los

de

escritorio

el

algoritmo La parte

cumple

las

expectativas dado que se lograron las salidas planteadas y se satisfizo objetivos propuestos. matemtica involucrada en los procesos no se sale de la aritmtica bsica de las operaciones fundamentales y el c lculo de porcentajes. Por otro lado, la extensin de los clculos es mnima y adems no est cargado de ciclos por lo que el tiempo de ejecucin es tambin mnimo, por ser un algoritmo lineal. Este trabajo puede ampliarse, en busca de incluir otros

subprogramas o tareas que faciliten la ejecucin de apuestas.

12

BIBLIOGRAFA

La deduccin Lgica. del 2012 desde

(n.d.). Extrado el 12 de Noviembre

http://cibernous.com/logica/enunciados/deduccion.html Lpez Romn, Leobardo / Ramrez, Felipe. Lgica para Com putacin. Primera Edicin Revisada. Alfa omega Grupo Editor, 2006. Curso/Tutorial de Diseo de Algoritm os (n.d.). Extrado el 03 de Octubre del 2012 desde http://www.carlospes.com/curso_de_algoritmos/

13

También podría gustarte