Beruflich Dokumente
Kultur Dokumente
FASE 3
PRESENTADO POR
CODIGO
1052401254
GRUPO NUMERO:
203037-50
PRESNETADO A
2019
INTRODUCCION
Para darle la forma a los controles modificamos las propiedades, damos doble
clic sobre el título del control y allí le ingresamos el nombre del control
Para que el control este siempre en el centro, definimos con el botón derecho
que el valor del centro sea el que tome por defecto
Con doble clic sobre cada etiqueta podemos cambiar el nombre para que se
adapte a lo que queremos.
6. La matriz que representa al rompecabezas la definiremos como un arreglo
de números. El arreglo está ubicado en
control/modern/array,matrix&cluster/array
El arreglo será el siguiente
ego buscamos un control numérico y lo incluimos dentro de la sombra gris del
arreglo, de modo que el arreglo será numérico
El indicador de índices del arreglo lo desplegamos hacia abajo para darle dos
dimensiones
Desde la esquina inferior derecha desplegamos la matriz para ver todos los
elementos
Eliminando los indicadores de las filas y columnas de la matriz y los botones de
incremento interno la matriz quedara limpia
Damos botón derecho sobre la matriz y seleccionamos que ítems queremos ver,
luego deseleccionamos Index Display
El mensaje es el siguiente
Luego cableamos la salida del valor cuadrado para que sea el límite del ciclo for
Dentro del ciclo for construimos el vector, iniciando con el valor inicial sumado al
índice de ciclo,
Decrementamos ese valor para generar el espacio al primer valor del arreglo
que será siempre el número cero, ese valor será el que represente la casilla
vacía para el rompecabezas
Formamos el vector con Build array
En el ciclo while existen varias variables que actualizaran sus valores entre ella
la matriz, por tanto al momento de ingresar la matriz al ciclo while debemos
ingresarla como registro de corrimiento para que su valor se actualice con cada
interacción. Para obtener el registro de corrimiento damos botón derecho sobre
el ciclo while
Luego de ellos aparecen un par de flechas a los lados del ciclo, sobre ellas
cableamos la matriz
Se han añadido otros registros de corrimiento para el movimiento vertical y
horizontal de la matriz
Los controles para movimiento horizontal y vertical se han limitado al valor del
orden de la matriz
Para ello invocamos a un nodo de propiedades dando botón derecho sobre las
variables horizontal y vertical
Cableamos el valor del orden para el máximo y el valor del mínimo pero de signo
contrario, de ese modo las barras tendrán un límite según el orden de la matriz
Dado que primero se debe mover el valor de casilla vacío y luego comparar si la
matriz está resuelta hemos usado una estructura flat sequence que primero
mueve la matriz y luego verifica si el movimiento da la solución
En esa posición donde está el cero debemos colocar ahora el número que
estaba arriba, pero aún no sabemos cuál es ese valor
Luego decrementamos el valor de la fila donde está el cero, el decremento
sucede porque hacia arriba la matriz disminuye su valor, ese valor será el que
ahora ocupa el sitio del cero, lo que estamos haciendo es intercambiando el valor
con la posición del cero
Ahora se pregunta si el valor siguiente es menor, eso quiere decir que debe bajar
la celda cero
Usamos un case de nuevo por si la opción es verdadera
En caso de ser verdadera entonces debemos ubicar nuevamente el cero e
intercambiarlo ahora con el número que está debajo del cero
Por último, si el valor no es mayor ni menor, quiere decir que no hubo movimiento
por lo tanto la matriz debe permanecer igual
Luego inicializamos en cero a ese nodo ingresando un control con valor de cero
en el punto del asterisco debajo de la flecha
Cada vez que se ingrese a ese case se sumara un intento mas
Solución del rompecabezas
Para verificar si la matriz ha sido ordenada añadimos otra flat a la secuencia que
incluimos al principio, dando clic derecho sobre el flat