Está en la página 1de 17

Software Avanzado para Ingeniería

Unidad 2 Paso 3. Construcción individual

Presentado por:

WILLIAN ALFONSO TORRES

Código Grupo: 203037_53

Presentado a:

OSCAR IVAN VALDERRAMA


Tutor

Universidad Nacional Abierta y a Distancia UNAD


Escuela de Ciencias Básicas Tecnología e Ingeniería
2019

1
Introducción

El siguiente documento tiene el desarrollo de la actividad Unidad 2 Paso 3. Construcción

individual, que tiene como enfoque identificar diferentes temáticas como: Tipos de datos,

estructuras condicionales y estructuras cíclicas. Se presenta como requisito para la valoración del

curso software avanzado para ingeniería Grupo: 203037_53

2
Desarrollo de Actividad

Problema:
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 a 5x5 según elección del usuario
donde se almacenen los n números enteros consecutivos -1 y le dé la posibilidad al usuario de:
• Establecer el primer número de los 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 o abajo, derecha o 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ó.
3
1. Tabla Enlaces video YouTube

Tabla 1. Enlace de videos YouTube

Estudiante Enlace vídeo YouTube

WILLIAN http://youtu.be/XNBjxeoHhv0?hd=1
ALFONSO
TORRES

Información recopilada por cada uno de los integrantes del grupo para la construcción de

la solución del problema

Un array es una colección de datos todos ellos del mismo tipo. Puede tener una o más dimensiones

y hasta 2 elementos por dimensión, según la memoria disponible. Un array puede ser de cualquier

tipo excepto otro array, chart o graph . Se accede a cada elemento de un array mediante un índice,

el cual es cero base, es decir, va de 0 a N-1 donde N es el número de elementos.

4
La creación de arrays de control o indicadores en el panel frontal se hace mediante la combinación

del icono array shell de la paleta Array & Cluster del menú controls, con un objeto de datos, que

puede ser numérico, booleano o string.

Un array de n-dimensiones necesita de n índices (cero-base) para localizar un elemento. En la

figura siguiente hay un array de N columnas por M filas, conteniéndolo N veces M elementos.

Se pueden añadir dimensiones a un array control o indicador de dos maneras: Desplegando el menú

de index display (visualizador del índice) y a continuación, escogiendo la opción Add Dimensión

(añadir dimensión) o situando el cursor sobre el index display y arrastrando hacia abajo tantas

dimensiones como queramos.

Podemos indexar e introducir elementos dentro de los arrays en bordes de las estructuras For Loop

y White Loop de manera automática. Esto es lo que se llama auto-indexing (autoindexado). La

figura inferior presenta un ejemplo de ello; cada iteración crea el siguiente elemento del array; una
5
vez que se ha completado, el array pasa al indicador. Observar que el cable se hace más grueso al

cambiar a array.

Si queremos introducir elementos en un array de dos dimensiones podríamos usar un For Loop

dentro de otro For Loop. El interior crea los elementos de columna, mientras que el exterior crea

los elementos de fila.

6
Elaboración Propia"

2. Colaborativo
.

1. Algoritmo (diagrama de flujo pseudocódigo) de la solución al


problema planteado en el curso.

inicio

A=0

“ingrese un

número”

“La matriz

es”

7
A=
sí No
1

Mover arriba Mover debajo

sí No
A=+
Mover Mover derecha
1
izquierda

Cantidad
A=+
No de
1
movimient

o realizado
sí Puntuación

obtenida

Mover arriba

sí No
Mover izquierda A=
Mover
+1
derecha

A=+ 8

1
sí No
izquierda derecha

A=+1
debajo
arriba sí No

A=
izquierda
No
8

si

Derecha

“Cantidad de movimientos

realizado y puntuación

obtenida es”

fin

9
2. Interfaz gráfica y descripción de cada uno de los elementos que la
componen a nivel de usuario y programador.

- Buscando dar solución a la primera parte (necesario diseñar un aplicativo que


genere una matriz de números aleatorio de 3x3 a 5x5 según elección del usuario
donde se almacenen los n números). Desde mi punto de vista podemos utilizar
este algoritmo con el cual con unas pequeñas modificaciones podemos obtener la
matriz requerida según la elección del usuario:

Ilustración 1: Creación de Matriz cuadrada N x N. (2019-10-28). "Elaboración Propia"

- Establecer el primer número de los posibles a almacenar, (los demás serán consecutivos).
Dentro de la misma función descrita anteriormente vamos a definir una captura de
usuario donde él nos indicara el numero inicial para dicho llenado de la matriz

10
Ilustración 2: Numero inicial, (2019-10-28). "Elaboración Propia"

- Decidir si el armado lo desee hacer horizontal o vertical.

A través de la función transpose 2D array podemos establecer el orden con el cual se llenará u

ordenará la matriz

Ilustración 3: Armado H o V. (2019-10-28). "Elaboración Propia"

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

11
Para obtener la información de cantidad de movimientos y puntuación obtenida es posible

establecer uno o dos contadores con los cuales se lleve este registro.

Ilustración 4: Establecimiento de contadores. (2019-10-28). "

Para el desarrollo de este proyecto requerido por la empresa de juegos didácticos se necesita la

creación de una matriz cuadrada de 3 x 3. Iniciando el juego pidiendo el número inicial para llenar

la matriz y continuando con el llenado en desorden de la matriz con los 7 números en consecutivos

a la inicial.

Se debe de mover la casilla en blanco por la matriz organizando los números, además, los

movimientos deben de ser limitados, es decir, cada movimiento debe de estar condicionado que si

está en el borde de la matriz no puede moverse fuera de esta.

Se empezarán a contar los movimientos realizados por el usuario para determinar el puntaje de

cada uno de los intentos.

Para poder cumplir con estos requerimientos se debe de investigar todo lo relacionado con el

software LabView, la estructura de este software, el manejo de matrices, la implementación y uso

de condicionales y bucles, el manejo de mensajes en la pantalla.

LabView

Un array es una colección de datos todos ellos del mismo tipo. Puede tener una o más dimensiones

y hasta 2 elementos por dimensión, según la memoria disponible. Un array puede ser de cualquier
12
tipo excepto otro array, chart o graph. Se accede a cada elemento de un array mediante un índice,

el cual es cero base, es decir, va de 0 a N-1 donde N es el número de elementos.

La creación de arrays de control o indicadores en el panel frontal se hace mediante la combinación

del icono array shell de la paleta Array & Cluster del menú controls, con un objeto de datos, que

puede ser numérico, booleano o string.

Un array de n-dimensiones necesita de n índices (cero-base) para localizar un elemento. En la

figura siguiente hay un array de N columnas por M filas, conteniéndolo N veces M elementos.

Se pueden añadir dimensiones a un array control o indicador de dos maneras: Desplegando el menú

de index display (visualizador del índice) y a continuación, escogiendo la opción Add Dimensión

(añadir dimensión) o situando el cursor sobre el index display y arrastrando hacia abajo tantas

dimensiones como queramos.

13
Podemos indexar e introducir elementos dentro de los arrays en bordes de las estructuras For Loop

y White Loop de manera automática. Esto es lo que se llama auto-indexing (autoindexado). La

figura inferior presenta un ejemplo de ello; cada iteración crea el siguiente elemento del array; una

vez que se ha completado, el array pasa al indicador. Observar que el cable se hace más grueso al

cambiar a array.

Si queremos introducir elementos en un array de dos dimensiones podríamos usar un For Loop

dentro de otro For Loop. El interior crea los elementos de columna, mientras que el exterior crea

los elementos de fila.

14
15
Conclusiones

Dentro del desarrollo de las prácticas se ha podido adquirir conocimientos en el manejo del

software Labview, esta herramienta es bastante efectiva, puesto que permite modelar los

proyectos de una manera dinámica, pero posee bastantes instrumentos aun desconocidos que

dificultan realizar algunos procedimientos dentro del desarrollo de cada actividad propuesta.

16
Referencias Bibliográficas

Lajara, V. J. R. (2007). LabVIEW: entorno gráfico de programación. Barcelona, ES: Marcombo.


Capítulo 2. pág. 37-90. Recuperado
de:http://bibliotecavirtual.unad.edu.co:2077/lib/unadsp/reader.action?docID=10204103

Monroy, J. (2017). Tipos de datos. [Archivo de video] Recuperado


de:http://hdl.handle.net/10596/12744

National Instruments Corporation (2014). [Tipos de datos y Estructuras]. Recuperado


de:http://www.ni.com/academic/students/learnlabview/esa/datatypes.htm

National Instruments Corporation (2014). [Estructuras de ejecución]. Recuperado


de:http://www.ni.com/academic/students/learnlabview/esa/execstructures.htm

Corbí Bellot, A. (2001). Fundamentos de programación. Digitalia. Recuperado el 12 de febrero


de 2019, de
http://bibliotecavirtual.unad.edu.co/login?url=http://search.ebscohost.com/login.aspx?dire
ct=true&db=nlebk&AN=318057&lang=es&site=eds-
live&scope=site&ebv=EB&ppid=pp_Cover

Grupo STRIMH. (2014). Curso básico de programación en LabVIEW. Recuperado el 5 de abril


de 2019, de www.masterhacks.net

NATIONAL INSTRUMENTS. (s.f.). Introducción a LabVIEW. Recuperado el 26 de Febrero de


2019, de http://www.ni.com/getting-started/labview-basics/esa/
prometec. (s.f.). Recuperado el 26 de Febrero de 2019, de https://www.prometec.net/matriz-led-
8x8/

17