Está en la página 1de 17

Unidad 2: paso 3

presentado por:
Marco Aurelio Ponguta Gutierrez
Codigo: 1054120926
Oscar Leonardo Alfonso
Codigo: 80432208
Gilberto Barrios García
Codigo: 80072939

Grupo: 203037_3

Presentado a: Juan Monroy

universidad nacional abierta y a distancia unad

zipaquira,

octubre de 2019
CONTENIDO

INTRODUCCIÓN .................................................................................................................. 3
OBJETIVOS ........................................................................................................................... 4
Actividades a desarrollar ................................................... Error! Bookmark not defined.
BIBLIOGRAFÍA ................................................................ Error! Bookmark not defined.
INTRODUCCIÓN

El presente trabajo corresponde a las actividades dadas por la guía de trabajo correspondiente
al paso 3 ya que se plantea el uso de programa VI el cual nos permite crear y diseñar un
programa virtual de manera gráfica y objetiva en LABVIEW, se crearán y diseñara nuevas
formas de trabajo para que el estudiante obtenga mayores fortalezas en el uso del aplicativo.

Por otra parte, se creará un grupo de trabajo el cual ejecutará actividades propias de uso de
algoritmo (diagrama de flujo o pseudocódigo) de la solución al problema planteado.
OBJETIVOS

 Determinar Tipos de datos, Estructuras condicionales, Estructuras Cíclicas

 Crear un instrumento virtual que genere una matriz cuadrada de números aleatorios

 Identificar el algoritmo (diagrama de flujo o pseudocódigo) de la solución al


problema planteado.
Marco aurelio ponguta Gutierrez
Actividades a desarrollar

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

Marco https://youtu.be/Gnwvtrydu7E
ponguta

Oscar https://www.youtube.com/watch?v=RHTY8hYh3aI
Leonardo

Gilberto https://www.youtube.com/watch?v=5JqW5yOOCTc&feature
Barrios =youtu.be

3. Releer el problema a resolver


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 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 ó 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.
 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

Movimientos
5 1 4 5 1 4 5 1 4 1 4
2 6 2 6 2 6 5 2 6
7 3 8 7 3 8 7 3 8 7 3 8
1. Arriba 2. Derecha 3. Derecha 4. Arriba
1 4 1 2 3 1 2 3
5 2 6 … 5 6 5 6
7 3 8 4 7 8 4 7 8
5. Derecha 30. Arriba 31. Izquierda
1 2 3 1 2 3 1 2 3 1 2 3
5 6 4 5 6 4 5 6 4 5 6
4 7 8 7 8 7 8 7 8
32. Izquierda 33. Abajo 34. Derecha 35. Derecha

Marco ponguta

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


(teorías, conceptos, manuales, videos, ejercicios resueltos, entre otros), resúmala y
digítela en un procesador de texto con sus respectivas referencias con normas APA

Ciclo For
Los ciclos for son lo que se conoce como estructuras de control de flujo cíclicas o
simplemente estructuras cíclicas, estos ciclos, como su nombre lo sugiere, nos permiten
ejecutar una o varias líneas de código de forma iterativa, conociendo un valor especifico
inicial y otro valor final, además nos permiten determinar.

Ciclo While
Los ciclos while son también una estructura cíclica, que nos permite ejecutar una o varias
líneas de código de manera repetitiva sin necesidad de tener un valor inicial e incluso a veces
sin siquiera conocer cuando se va a dar el valor final que esperamos, los ciclos while, no
dependen directamente de valores numéricos.

Estructura de caso
Es una estructura condicional Se ejecutará el caso correspondiente a su entrada Si el caso no
está especificado se ejecuta el que está por defecto
Matrices
una matriz es un arreglo bidimensional de números. Dado que puede definirse tanto la suma
como el producto de matrices, en mayor generalidad se dice que son elementos de un anillo.
Una matriz se representa por medio de una letra mayúscula (A, B) y sus elementos con la
misma letra en minúscula (a, b), con un doble subíndice donde el primero indica la fila y el
segundo la columna a la que pertenece.

Estructuras de Control

Las estructuras de control permiten modificar el flujo de ejecución de las instrucciones de un


programa. Quiere decir, que permite que unas condiciones se lleven a cabo cuando el
programador lo desee, ya sea un número determinado de veces o hasta un cierto error, etc.
Las estructuras de control tienen un único punto de entrada y un único punto de salida, por
lo que están estructuradas.
Se clasifica en
Estructura de bifurcación: Se utilizan cuando en el programa se debe decidir en qué situación
se tiene que cumplir una cierta condición. Su estructura básica es el IF o el SWITCH.
Estructuras repetitivas: Se utilizan cuando hay que repetir más de una vez un grupo de
instrucciones. Pueden ser FOR o WHILE.
Sentencias break y continúe: Se utilizan para manipular el comportamiento normal de los
bucles.
Estructuras repetitivas: Se utilizan cuando hay que repetir más de una vez un grupo de
instrucciones. Hay dos tipos fundamentales:
1. Bucle FOR: Una variable tomará valores desde un número inicial, hasta uno final, con un
determinado paso (que es la distancia entre dos valores). En Matlab, el paso por defecto es
de valor 1, pero se puede cambiar. Cada vez que la variable cambie su valor, se realizarán las
operaciones que se hayan programado después.
El bucle FOR se utiliza cuando se sabe previamente el número de iteraciones que se van a
realizar.
El parámetro inicial, final y el paso pueden ser variables previamente definidas. El paso
puede ser negativo, siempre que el valor inicial sea mayor que el final.

Oscar leonardo Alfonso


1. Recopile información concreta que le permita construir la solución del problema
(teorías, conceptos, manuales, videos, ejercicios resueltos, entre otros), resúmala y
digítela en un procesador de texto con sus respectivas referencias con normas APA

Ciclo For
Es usado para ejecutar una sección del código un número determinado de veces El código
que necesita ser ejecutado repetidas veces es ingresado en el lazo. El número de iteraciones
se especifica en la N del cuadro si es cero el lazo no se ejecutará, i es un contador ascendente

Ciclo While
Se ejecutará hasta que se cumpla una condición y se entregue el valor boleano de parada El
terminal condicional se ubica en la parte inferior derecha del lazo. Puede usar túneles
Usualmente mas usado que el For loop porque tiene un mecanismo para abortar la ejecución
y el tener la capacidad de detener la ejecución es muy importante en cualquier programa.
Estructura de caso
Es una estructura condicional Se ejecutará el caso correspondiente a su entrada Si el caso no
está especificado se ejecuta el que está por defecto

Matrices
De forma predeterminada, los controles e indicadores de matriz muestran más de un elemento
y muestran barras de desplazamiento para ambas dimensiones. Debido a que un control
matricial es una definición de tipo , los menús contextuales para los controles matriciales
excluyen las opciones Agregar dimensión y Eliminar dimensión e incluyen opciones de
definición de tipo
No puede limitar el tamaño de una matriz a un número fijo de elementos. Sin embargo,
cuando establece los valores predeterminados de un control matricial, puede establecer el
tamaño predeterminado.
No haga que el tamaño predeterminado de una matriz sea más grande de lo necesario. Si
establece un tamaño predeterminado grande para una matriz, los datos predeterminados para
cada elemento de la matriz se guardan con el VI y aumentan el tamaño del VI en el disco.
Cuando agrega un control de matriz al panel frontal, el control inicialmente representa una
matriz vacía. Cada dimensión es 0, y los elementos de la matriz están atenuados. Un control
matricial del panel frontal tiene dos valores predeterminados: un valor predeterminado de
matriz, un valor predeterminado de coma flotante o complejo, y un valor predeterminado en
cada celda.
Colaborativo

1. Elaborar algoritmo (diagrama de flujo o pseudocódigo) de la solución al problema


planteado.

Diagrama de flujo

Inicio

Determinar
Valor de números de m
la matriz a almacenar
(m) aleatorios

Movimiento
Restricción de
s
movimientos Continuar

Mostrar avance de No
juego Si

Si
Error Terminaste
Armar vertical o horizontal

Has
ganado Reglas de juego
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.

Ítem a resolver Respuesta


Descripción de la idea Algoritmo, pasos secuenciales VI a desarrollar e implementar
(Algoritmo ó texto en LabVIEW:
explicativo) 1. Inicializar variables:
a. contador puntaje=0
b. acumulador movimientos=0
c. matriz mínima 3x3 cargada con 0.
2. Ingresar tamaño matriz m.
a. Condicional: Números posibles 3, 4 o 5.
3. Proceso construir matriz, agregar a matriz mínima las
filas y columnas indicadas por la variable matriz m.
4. Ingresar número inicial n.
a. Condicional: Números 1 ≥ n ≤ m2-1.
5. Ingresar dirección de armado.
a. Condicional: Horizontal o Vertical.
6. Proceso de llenado de la matriz, ubicar en posiciones
aleatorias de la matriz los números consecutivos a n
hasta llegar a n= m2-1. La casilla faltante se llena con un
0 que indica o simboliza la casilla vacía a mover.
7. Iniciar partida.
8. Mostrar matriz resultado o actualizada.
9. Mostrar cuenta de movimientos
10. Mostrar suma acumulada de puntaje.
11. Proceso de movimiento de la casilla vacía, puede ser un
movimiento arriba, abajo, derecha o izquierda.
a. Condicional: Fila y Columna destino existen.
12. Incrementar cuenta de movimientos.
13. Proceso de validación de orden:
a. Caso 1: Si dirección de llenado es Horizontal,
validar números consecutivos desde 1 hasta m2-1
de forma horizontal.
b. Caso 2: Si dirección de llenado es Vertical,
validar números consecutivos desde 1 hasta m2-1
de forma vertical.
14. Sumar y acumular puntaje.
15. Mostrar matriz resultado o actualizada.
16. Mostrar cuenta de movimientos
17. Mostrar suma acumulada de puntaje.
18. Proceso de validación OK?
a. SI, pasar al paso 18.
b. NO, volver al paso 11.
19. Terminar partida. Mensaje Ganador.
Información de entrada  Tamaño m matriz cuadrada, puede ser 3, 4 o 5.
 Numero inicial n el cual debe cumplir que 1 ≥ n ≤ m2-1.
 Tipo armado, horizontal o vertical.
Procesos  Construir matriz.
 Llenar matriz a partir de n
 Movimiento casilla arriba.
 Movimiento casilla abajo.
 Movimiento casilla a la derecha.
 Movimiento casilla a la izquierda.
 Acumular puntaje.
 Contador movimientos.
 Validación orden consecutivo.
 Mostrar matriz resultado.
 Abandonar partida.
 Iniciar partida.
Información de salida  Matriz.
 Puntaje.
 Cantidad de movimientos.

Podemos utilizar esta opción para determinar el tamaño de la matriz y a su vez, almacenar
los números aleatorios según se solicita

Ciclo While

2. Con el diagrama mostrado lo que se pretende como vimos anteriormente es generar


aleatoriamente una matriz que nos permita mezclar nos números en posiciones
diferentes dentro del arreglo, esto se realiza dando una instrucción inicio de juego o
nuevo juego.
Ciclo For

Proceso de entrada
Procesos a obtener resultado según

Procesos de salida
Conclusiones

 Se identificaron varios aspectos que influyeron tanto en la práctica como en la


selección del ejercicio ya que al trabajar este tipo de programación se observó que los
diagramas mostrados anteriormente vistos y generados arrojan una matriz la cual
tiene que dar números aleatorios y adicional mezclarlos entre sí para generar varias
posiciones

 Por otra parte, se desarrollarlo un ejercicio práctico el cual ayudo al manejo del
programa LabVIEW, sus comandos, principales funciones y la manera didáctica de
como programar de forma sencilla. Dando así que el estudiante entienda y aprenda a
programar de forma más rápida y eficaz.
Referencias bibliográficas

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


Marcombo. Capítulo 4. pág. 91-114. Recuperado de:
de:http://bibliotecavirtual.unad.edu.co:2077/lib/unadsp/reader.action?docID=10204103

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


Marcombo. Capítulo 13-14. pág. 313-356. Recuperado de:
de:http://bibliotecavirtual.unad.edu.co:2077/lib/unadsp/reader.action?docID=10204103

 Monroy, J. (2017). Optimización de instrumentos virtuales. [Archivo de video]


Recuperado de: http://hdl.handle.net/10596/12747

También podría gustarte