Sei sulla pagina 1di 20

PASO 3 – CONSTRUCCIÓN INDIVIDUAL

LUIS BARRERA URIBE


CODIGO: 1.102.844.048
TUTOR: CAMILO ARTURO LAGOS
SOFTWARE AVANZADO PARA INGENIERIA

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD


ESCUELA DE CIENCIAS BÁSICAS TECNOLOGIA E INGENIERIA
OCTUBRE DE 2019
INTRODUCCIÓN

El siguiente trabajo se presenta con el fin de dar solución al problema propuesto por la guía de

actividades el cual se debe llevar a cabo con el desarrollo de un rompecabezas el cual le permita

al usuario escoger el nivel de dificultad, l amanera de realizar el movimiento para formar el

rompecabezas ya sean estos de forma vertical u horizontal, también por cada movimiento

generado por el usuario se debe mostrar la matriz generada, a su vez se muestra la solución de la

practica 2 de la guía de actividades.


Actividades a resolver

1. Descargar la guía para el desarrollo del componente práctico que encuentra en el entorno de

aprendizaje práctico y desarrollar la práctica No 2 descrita allí.

2. Crear y publicar un video (en su cuenta de YouTube), donde se explique el funcionamiento

de los programas desarrollados para dar solución a la actividad práctica No 2, tanto a nivel de

programador (código) como de usuario.

3. Releer el problema a resolver

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 cuadrada de orden m, de números aleatorios, donde se

almacenen m-1 números enteros consecutivos, dejando una casilla vacía; el aplicativo debe darle

al usuario la posibilidad de:

 Determinar el tamaño de la matriz (m=>3 y m<=5)

 Establecer el primer número de los m-1 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.

 Cuando logre ordenar el rompecabezas informarle al usuario que lo terminó.

4. Recopile información concreta que le permita construir la solución del problema

(teorías, conceptos, manuales, videos, ejercicios resueltos, entre otros).

Función array

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 arraypuede

ser de cualquier tipo excepto otro array, chart o graph se accede a cada elemento de un arrya

mediante un índice, el cual es cero base, es decir va de 0a 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 de icono array Shell de la paleta array y cluster del menú de controls, con un

objeto de datos que puede ser numérico, booleano o string

CICLO WHILE

Los ciclos infinitos son un error común de programación que involucra un ciclo que nunca se

detiene si elterminal condicional es stop i true suted coloca la termina de un control boleano

afuera de un ciclo while, si el control es false cuando el ciclo comienza, provoca un ciclo

infinito, el ciclo whileestá ubicado en la plaetastructures. Seleccione el ciclo while en la

paltea y después use el cursor para arrastrar una selección rectangular alrededor de la sección
del diagrama de bloques que desea repetir cuando suelte el botón del mouse un borde del

ciclo while encierra la sección que selecciono, cuando cablea un terminal condicional,

solamente el avlor true o false del parámetro de status del cluster de error pasa a la terminal

elementos del menú stop if true y continúeif true cambian a stop if error y continúe while

error.

CICLOS FOR:

Un ciclo for ejecuta un subdiagrama un número de veces establecido

Figura 1. Ciclo for.

El ciclo for está en la paleta structures también puede colocar un ciclo while en el diagrama

de bloques dar clic con botón derecho en el ciclo while y seleccionar raplacewitchforloop en

el menú de acceso directo para cambiar un cclowhileloop a ciclo for.

ESTRUCTURAS DE CASOS

Una estructura de casos tiene dos o más subdiagramas o casos. Solamente un subdiagrama es

visible a la vez y la estructura ejecuta solamente un caso a la vez un valor de entrada

determina cual subdiagrama se ejecuta la estructura de caso es similar a las instrucciones del

interruptor o las instrucciones si… después… en lenguajes de programación basados en texto.


ESTRUCTURAS CONDICIONALES

Las estructuras condicionales comparan una variable contra otro(s) valor (es), para que en

base al resultado de esta comparación, se siga un curso de acción dentro del programa. Cabe

mencionar que la comparación se puede hacer contra otra variable o contra una constante,

según se necesite. Existen tres tipos básicos, las simples, las dobles y las múltiples.

SELELCIONAR CASO:

Para seleccionar un caso proporcione el valor en el identificador del selector de casos o use la

herramienta de etiquetado para editar los valores después que selecciono otro caso

Imagen 2 cambiar la vista de casos de una estructura de casos.


REGISTROS DE DESPLAZAMIENTO

Use los registros de desplazamiento cuando quiera pasar valores de iteraciones anteriores a

través del ciclo a la siguiente iteración un registro de desplazamiento aparece como un par de

terminales directamente opuestas en las opuestas en las artes verticales del borde de ciclo. La

terminal en la parte derecha del ciclo contiene una flecha hacia arriba y almacena datos de la

terminación de una iteración.

Labview transfiere los datos conectados en la parte derecha del registro a la próxima iteración

después que el ciclo se ejecuta, la terminal en la parte derecha del ciclo regresa al último

valor almacenado en el registro de desplazamiento.

COMO SE CREA EL REGISTRO DE DESPLAZAMIENTO:

Se da clic con botón derecho en el borde izquierdo o derecho de un ciclo y seleccione

AddShiftRegister en el menú de acceso directo. Un registro de desplazamiento trasfiere

cualquier tipo de datos y cambia automáticamente al tipo de datos del primer objeto cableado

al registro de desplazamiento. Los datos que usted cablea a las terminales década registro de

desplazamiento deben ser del mismo tipo. Puede añadir más de un registro de desplazamiento

a un ciclo. Si tiene múltiples operaciones que usan valores de iteraciones anteriores en su

ciclo, use múltiples registros de desplazamiento para almacenar los valores de datos desde

esos procesos en la estructura.


5. Diseñar la primera interfaz o panel frontal que tendrá la solución al problema, explicar

el objetivo de cada uno de los elementos que la componen a nivel de usuario y

programador.

ESTRUCTURA DEL PROGRAMA


PANEL FRONTAL DEL PROGRAMA

XPLICACION:

Panel Frontal (A Nivel de Usuario)

1. Para el ingreso del orden de la matriz utilizamos un control numérico que se obtiene en

/ControlsPalette/Modern/Numeric/Numeric Control.
Editamos el Label y le asignamos el nombre Orden de la Matriz

2. El valor del orden de la matriz debe estar en el rango de 3 a 5 ambos incluidosPara ello damos

botón derecho al control y seleccionamos propiedades

Al desplegarse el menú properties, escogemos Data Entry


En ese submenú, se definen los puntos límites de entrada en el orden de la matriz, de ese

modo el control solo aceptara los valores 3,4 y 5

3. Para establecer el primer número de la secuencia, utilizamos un control ubicado en

/ControlsPalette/Modern/Numeric/Numeric Control.

4. El modo en el que el usuario podrá mover la celda cero (celda que se tomará como el

valor vacío, será la celda que se moverá), será a través de un control pero en forma de

slide. Ubicado en /ControlsPalette/Modern/Numeric/Numeric Control/Vertical Progress

Bar.
Ese control se usará tanto para el movimiento horizontal como el vertical.El control horizontal

se encuentra en /ControlsPalette/Modern/Numeric/Numeric Control/ horizontal Progress Bar.

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, definamos con el botón derecho que el valor

del centro sea el que tome por defecto


El botón finalizar se ubica en /ControlsPalette/Modern/Boolean/Stop Button
Al dar doble clic sobre el nombre del botón cambiamos su nombre a finalizar

El número de intentos se mostrarán como un indicador numérico. Este indicador se ubica

en /ControlsPalette/Modern/Numeric/NumericIndicator.

Al dar doble clic sobre la etiqueta del nombre lo cambiamos a Intentos

5. Por ultimo ubicamos un menú de selección para que el usuario decida si el ordenamiento

será vertical u horizontal.


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:

Luego 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.

Luego damos de nuevo botón derecho dentro de algún elemento de la matriz y

deseleccionamos Increment/decrement

La matriz se verá así


7. Por último las indicaciones y el puntaje, para ello escribimos las instrucciones con la

paleta de texto.

El mensaje es el siguiente

El puntaje se obtendrá restando del valor de 100 el número de intentos

Incluimos un numericindicator.
8. La pantalla frontal se reordeno y el aspecto final es este:
BIBLIOGRAFÍA.

 http://www.ni.com/getting-started/labview-basics/esa/execution-structures

 https://www.youtube.com/watch?v=O4YDOqDrA98https://www.google.com/search?sxsr

f=ACYBGNTYmmVz7nMUILR36JBgaSsvzm9sjQ%3A1572249900778&ei=LKG2Xem

SL_Dy5gKSgpzoDw&q=ciclo+while+en+labview&oq=ciclo+++en+labview&gs_l=psy-

ab.1.1.0i7i30l5j0i7i5i30l5.24246.30710..35923...0.3..0.177.2659.0j18......0....1..gws-

wiz.......0i71j35i304i39j0j0i8i30j0i8i10i30j0i8i7i10i30j0i8i7i30.giVprdmnI80

Potrebbero piacerti anche