Está en la página 1de 11

SOFTWARE PARA INGENIERIA

CÓDIGO: 203036

PASO 3 - EXPERIMENTACIÓN

Presentado a:
JESUS OMAR VARGAS
Tutor

Entregado por:
JUAN JOSE GONZALEZ MORALES
Código 91540940

MARIO ENRIQUE JAIMES TORRES


Código 88160426

DOLLY CLARETH MARIN MEJIA


Código 1098750579

Grupo: 43

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD


ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA
Octubre de 2019
INTRODUCCION

Las siguientes investigaciones y propuestas son desarrolladas para cumplir con el problema
planteado de la actividad individual, para luego recopilar información y proponer la solución
más adecuada a la situación planteada para escoger una de las ideas y desarrollar un trabajo
colaborativo que conlleve al desarrollo e implementación del juego de rompecabezas.
1. Volver a leer el problema a resolver en el curso.

Una empresa de juegos didácticos virtuales, quieren implementar un juego de rompecabezas


numérico, junto con sus respectivas reglas de puntuación, para ello es necesario diseñar un
aplicativo que genere una matriz de números aleatorio de 3x3 donde se almacenen 8 números
entero consecutivos y le dé la posibilidad al usuario de:
 Establecer el primer número de los ocho posibles a almacenar, (los demás serán
consecutivos).
 El usuario debe poder determinar cómo mover la casilla vacía, indicando si el
movimiento lo hace hacia arriba ó abajo, derecha ó izquierda.
 Tener la opción de no continuar con el armado del rompecabezas.
 Decidir si el armado lo dese hacer horizontal o vertical.
 Leer las reglas de la puntuación con la que se valorará su desarrollo.
Una vez el usuario termine de ordenar el rompecabezas o haya decidido no continuar con el
armado, el aplicativo debe:
 Indicar la cantidad de movimientos realizados
 Puntuación obtenida
El aplicativo, en su funcionamiento debe cumplir con las siguientes características:
 Permitir el movimiento de una celda a la vez.
 En los bordes de la matriz restringir los movimientos, es decir que de la última
columna no es posible desplazarse a la primera o viceversa, igual con las filas, de la
primera fila no es posible llegar a la última y viceversa.
 Mostar solo una matriz en pantalla, ir actualizándola a medida que se van realizando
los movimientos, para dar la sensación de desplazamiento de los números.
 Cuando logre ordenar el rompecabezas informarle al usuario que lo terminó.
Ejemplo de movimientos realizados para armar el rompecabezas horizontalmente.
Suponiendo que el aplicativo genera la siguiente matriz, se muestra cada uno de los cambios
que se deben dar al interior de la matriz, para mostrársela al usuario, entre cambio y cambio
se debe borrar la matriz anterior y sobrescribir en pantalla la nueva.
Valor inicial: 1
Tipo de armado: Horizontal
Matriz generada:
5 1 4
2 6 8
7 3
• Presente una idea solución al problema a resolver diligenciando la siguiente tabla
Tabla 1. Descripción de la idea propuesta para resolver el problema (no las
prácticas)

Juan José González Morales

Ítem a resolver Respuesta


Descripción de la idea,
realizarla a través de
Algoritmo o texto
explicativo.
Generación automática de estados
El estado inicial para un determinado juego de rompecabezas numérico es
generado de manera aleatoria, tienen fichas etiquetadas con números del
uno al ocho, con uno de sus cuadros vacío y el propósito es mover estas
fichas para alcanzar una configuración objetivo (números ordenados de
menor a mayor).

Tamaño de la Tabla
El tamaño de la tabla quedo determinada en una matriz 3x3 en base a la
propiedad del juego. El juego tiene 9 casillas, por lo tanto se podrán realizar
9! = 362 880 permutaciones diferentes. De la misma manera se medirá la
efectividad de la función hash la cual se determina mediante la fórmula

𝑒𝑓𝑒𝑐𝑡𝑖𝑣𝑖𝑑𝑎𝑑 𝑑𝑒 𝑓𝑢𝑛𝑐𝑖ó𝑛 ℎ𝑎𝑠ℎ = # 𝑑𝑒 𝑎𝑐𝑐𝑒𝑠𝑜𝑠 𝑑𝑖𝑟𝑒𝑐𝑡𝑜𝑠/ # 𝑑𝑒 𝑎𝑐𝑐𝑒𝑠𝑜𝑠 𝑡𝑜𝑡𝑎𝑙𝑒𝑠 ∗ 100

Número de Nodos generados


Es la cantidad total de nodos que se han ido generando durante el proceso
de búsqueda. El número de nodos generados es un indicador que nos
permite medir la complejidad de tiempo para un determinado tipo de
búsqueda.

Número de Nodos en memoria


Es la cantidad total de nodos que después de ser generados han sido
guardados en algún TAD (Tipo Abstracto de Datos), la cual, según sea el
caso, puede tratarse de una pila o cola. El número de nodos en memoria es
un indicador que nos permite medir la complejidad de espacio para un
determinado tipo de búsqueda.

Profundidad del árbol de búsqueda


Existen dos medidas de la profundidad: la profundidad máxima del espacio
de estados, la cual nos indica el nivel máximo hasta el cual se expande el
árbol; y la profundidad de solución de menor costo, la cual nos indica la
profundidad en la cual se encontró la solución.

Información de entrada Numero elegido inicialmente en la matriz


Ubicación del espacio en blanco
Procesos Mover las piezas del rompecabezas según las reglas del juego
Generar los estados a los que se puede llegar a partir del estado actual
Contador de movimientos
Contador de puntaje
Información de salida Estado de la matriz después de cada movimiento
La matriz con los números ya ordenados
Puntaje final obtenido
Numero de movimientos realizados
Temas a consultar y la
referencia bibliográfica de
donde lo va a extraer.
MathWorks. (2009). TheMathworks. Recuperado
de: http://www.mathworks.com/help/pdf_doc/matlab/getstart.pdf

Eike Rietsch. (2010). An Introduction to Scilab from a Matlab User's Point


of View. Version 5.2. Recuperado
de: https://wiki.scilab.org/Tutorials?action=AttachFile&do=get&target=S
cilab4Matlab.pdf

Hahn Brian D. (2007). Essential Matlab for Engineers and Scientist.


(ThirdEdition). Elsevier. Recuperado de:
http://bibliotecavirtual.unad.edu.co/login?url=http://search.ebscohost.com
/login.aspx?direct=true&db=nlebk&AN=485981&lang=es&site=eds-
live&scope=site

Hunt Brian R. (2001), A guide to Matlab for beginners and experienced


users. Cambridge University: Press. Recuperado
de: http://bibliotecavirtual.unad.edu.co/login?url=http://search.ebscohost.c
om/login.aspx?direct=true&db=edshlc&AN=edshlc.009017307.4&lang=e
s&site=eds-live&scope=site

Jorge Valverde-Rebaza, Problema del 8 puzzle y Búsqueda No Informada


4/24/2009. Tomado de: http://jc-info.blogspot.com/2009/04/problema-del-
8-puzzle-y-busqueda-no.html

www.mathworks.com/matlabcentral/cody/problems/42842-the-sliding-
puzzle-15

Oscar José, Sliding puzzle 3×3, 6 septiembre, 2015. Tomado de:


https://aiiteso.wordpress.com/2015/09/06/sliding-puzzle-3x3/
Mario Enrique Jaimes Torres

Ítem a resolver Respuesta


Descripción de la idea,  Se genera una matriz de 3x3, generando, con límites en los bordes
realizarla a través de para que el jugador no puede traspasar dicha barrera.
Algoritmo ó texto
explicativo.  Creación de base para guardar la información del jugador, de ahí se
guarda el posible puntaje que el jugador gane.
 Se solicita al jugador con que ficha desea empezar a jugar, se indica
por medio de señales cuales son las posibles direcciones que debe
escoger.
 Crear un ambiente del juego por niveles

Información de entrada Código o usuario para guardar puntaje

Procesos Ubicación de las fichas de forma ordenada dentro del juago, procurar que
el jugador cree estrategias para una solución eficaz del juego
Información de salida Puntaje obtenido, y rango en el que queda
Temas a consultar y la WikiHow, W. (2017, 16 septiembre). programar un juego. Recuperado 23
referencia bibliográfica de septiembre, 2019, de https://es.wikihow.com/programar-un-jueg
donde lo va a extraer.
PDF de programación - MATLAB Para Ingenieros. (2018, 3 febrero).
Recuperado 20 septiembre, 2019, de
https://www.lawebdelprogramador.com/pdf/8584-MATLAB-Para-
Ingenieros.htmlo

INTRODUCTION TO SCILAB. (2010, 3 enero). Recuperado 25


septiembre, 2019, de
https://mars.uta.edu/mae3183/simulation/introscilab_baudin.pdf
Dolly Clareth Marín Mejía

Ítem a resolver Respuesta


Descripción de la idea, Para este problema se utilizará un rompecabezas de 9 cuadritos en
realizarla a través de
una figura de 3x3 cuadros y un cuadro vacío. Se escribe un
Algoritmo ó texto
explicativo. programa que dada la configuración inicial del rompecabezas
determine cuál es el número mínimo de pasos que se tienen que
realizar para armar el rompecabezas. Se considera un paso el
mover una pieza cualquiera hacia el espacio vacío.
Información de entrada El programa deberá leer del teclado la configuración inicial del
rompecabezas. La configuración inicial estará dada por una
secuencia de 10 números entre el 0 y el 9, donde el 0 representa al
cuadro vacío y los números del 1 al 9 representan a las piezas. Por
ejemplo, la secuencia de números {1 2 0 4 6 3 7 5 8 9} representa
la configuración:
1 2 0
4 6 3
7 5 8
9

Procesos Deslizar las piezas de nuestro rompecabezas hasta obtener su


finalidad total siguiendo las reglas del juego
Información de salida La información de salida es la imagen que se muestra en el juego
con el proceso de matriz, también deberá escribir en la pantalla un
único número que indica la cantidad mínima de movimientos que se
requieren para armar el rompecabezas.

Temas a consultar y la  https://matlab.softonic.com/?ex=DSK-1260.5


referencia bibliográfica
 Hahn Brian D. (2007). Essential Matlab for Engineers and
de donde lo va a extraer.
Scientist. (ThirdEdition). Elsevier. Recuperado de:
http://bibliotecavirtual.unad.edu.co/login?url=http://search.eb
scohost.com/login.aspx?direct=true&db=nlebk&AN=485981
&lang=es&site=eds-live&scope=site
 Monroy, J. (2016). Conceptos Básicos de programación.
[Archivo de video] Recuperado de:
http://hdl.handle.net/10596/10293
 Establecer como mínimo un criterio de viabilidad puede ser: técnico, de interacción,
económico, entre otros, para que posteriormente en grupo los apliquen y puedan
seleccionar la mejor de las ideas.

Tabla 2. Criterio propuesto para evaluar las ideas

Descripción del criterio Rango de puntuación a


proponer
Interactividad del programa con el usuario 1 - 100
Trabajo Técnico 1 - 100
Investigación del Problema 1 - 100

Actividades colaborativas:

1. Diligenciar la siguiente tabla con el ánimo de aplicar los criterios de viabilidad a


cada una de las ideas y seleccionar la que sea evaluada con más puntos.
Tabla 3. Selección de la idea a desarrollar

Trabajo Investigación Total


Interactividad Criterio 4 Criterio 5
Técnico del Problema Puntos
Idea 1
90 70 80 240
Juan José
Idea 2
50 40 40 130
Mario Enrique
Idea 3
70 70 60 200
Dolly Clareth
Idea 4
Idea 5

2. Diseñar una propuesta metodológica (pasos a seguir para lograr construir la


solución con base en la idea seleccionada).

Tabla 4. Propuesta metodológica

Idea seleccionada: Idea 1


Paso 1: Analizar nuevamente el problema
Paso 2: Realizar propuestas y correcciones a la idea de solución
Paso 3: Creación de las reglas del juego
Paso 4: Análisis de la complejidad del programa a desarrollar
Desarrollo de la programación en Matlab o Scilab para el
Paso 5:
juego.
Revisión y comprobación de la funcionalidad del programa
Paso 6:
creado
Paso 7: Implementación final del Juego
CONCLUSIÓN

 Es este solo el principio del desarrollo de un programa para la creación de la mejor


solución a la situación planteada, existirán muchos errores pero la idea es ir
familiarizándose con el software para el desarrollo del programa e ir corrigiendo los
fallos en la medida que avanzamos en la capacidad de programación y de
conocimiento en la implementación del programa.
REFERENCIA BIBLIOGRAFICAS GENERALES

 Monroy, J. (2014). PLE Matlab-Scilab. Recuperado de


http://www.netvibes.com/juanolmv#Donde_relacionarme_con_otros

 Scilab for very beginners. (2013). Capítulos 1-3. pág. 1-18. Recuperado de
https://www.scilab.org/tutorials/scilab-beginners-%E2%80%93-tutorial

 Scott Hudson (2014). Scilab Lectures. Pág. 1-9. Recuperado de


http://users.tricity.wsu.edu/~hudson/Teaching/EE221/Text/03%20Programming%20stru
ctures.pdf

 Gil, R. M. (2003). Introducción rápida a Matlab y Simulink para ciencia e ingeniería.


Madrid, ES: Ediciones Díaz de Santos. Capítulo 1. pág. 1-21. Capítulo 3. pág. 35-37
Recuperado de
http://bibliotecavirtual.unad.edu.co:2077/lib/unadsp/reader.action?ppg=1&docID=11059
428&tm=1479848795401

También podría gustarte