Está en la página 1de 10

Análisis del problema Kakuro

Presentado por:

Diego Fernando mezu (201857083)

Duvan Alexander Tovar (201857135)

Tecnología en sistemas de información Tec. En sistemas de información Univalle


(sede norte) Docente: ING. Paula Andrea Figueroa Santander de Quilichao

2021
1.
A) Matriz Inicial B)Archivo texto C)Matriz con datos
organizados

D) asignación de sumas

E) suma horizontal F) suma vertical

G) Cambio de variable y comprobación vertical


2.

En este punto cambia los valores de la asignación superior debido a que ya llegó
hasta su posible última combinación en la parte inferior.

En este punto se intercambia el 9 en la posición de 7 debido a que la otra posible


suma es 8 y 8 pero como no está permitido tener combinaciones del mismo valor,
intercambia las dos posiciones.

El algoritmo asignará las respectivas sumas horizontales y cuando quiera


encontrar la suma vertical si los números asignados no son los que corresponden
a la suma, comenzará a intercambiar valares, se podría decir que reduciendo un
valor y aumentando el otro.
3.

Algoritmo kakuro

Variables

Suma1 [] <-arreglo entrada

Búsqueda []= {9, 8, 7, 6…….1} <- arreglo salida

Valores []=entero <-arreglo entrada

Números=enteros <- salida

Numero=bolean<-entrada

Inicio

1. organiza valores con la estructura de datos pila


2. búsqueda de posibles sumas con quicksort y algoritmo voraz
3. condicionales
4. aprobación de valores horizontales en posiciones 1,1-1,2 y 2,1-
2,2
5. retroceso al punto 2 al encontrar valores repetidos
6. aprobación de valores verticales en posiciones 1,1-2,1 y 1,2-2,2
7. retroceso al punto 2 al encontrar valores repetidos
8. ciclos para mostrar matrices
9. reducción de valores horizontales si no se cumple condición en
2,1-2,2
10. si se llega a 1 en la posición 2,1 sube a las posiciones 1,1-1,2 y
2,1-2,2 para reducirlas.
11. Resultado final
Fin.
Condicionales:

Cuando se encuentre la combinación de un número a operar, los valores serán


señalados con el valor 1, cuando se cumpla dicha condición, el valor que está
señalado será enviado a una de las posiciones de la matriz para ser mostrada.

 Una vez sean asignados los valores se sumaran y serán comprobados por
condicional if que comprobará que se cumpla la condición de que los
valores no se repitan horizontalmente y una vez compruebe que la suma es
correcta y no se repiten los valores, hará lo mismo con las sumas verticales.
 Si se comprueba que algún valor se repite o si la suma vertical no retorna el
resultado que esperamos, se hará uso de un condicional que hará que el
algoritmo siga buscando posibles sumas.

Ciclos:

Se estará haciendo uso de un ciclo para recorrer el arreglo de valores {9,8,7……1}


en búsqueda de las posibles combinaciones de números que den como resultado
el valor al que deseo llegar.

El algoritmo de búsqueda quicksort nos organizará por delante los valores que
estemos utilizando para asignar a la suma, dando prioridad de mostrar los valores
seleccionados.

También podría gustarte