Você está na página 1de 20

Paso 3 – Construcción individual

Participantes:
José Leonardo Garnica Laverde
Código: 11.235.851
José Basilio Moreno Carranza
Código: 11235650

Tutor
Juan Monroy.

Grupo 2

Universidad Nacional Abierta y a Distancia – UNAD.


Escuela de ciencias básicas, tecnología e ingeniería.
Software avanzado para ingeniería
Octubre de 2019
Tabla de Contenidos ii

Introducción .................................................................................................................................... 1
Enlaces de los videos correspondientes a la práctica 2 ................................................................... 2
Recopilación de información .......................................................................................................... 3
Algoritmo (diagrama de flujo pseudocódigo) ............................................................................... 13
Interfaz gráfica .............................................................................................................................. 14
Conclusión .................................................................................................................................... 16
Referencias bibliográficas ............................................................................................................. 17
1
Introducción

A continuación, se presenta el desarrollo de la actividad correspondiente a la fase

3 llamada construcción individual, en la cual encontramos en primera instancia un cuadro

donde se relacionan los enlaces a los videos de YouTube, realizados por cada uno de los

participantes como desarrollo de la práctica 2, luego un resumen de la información

recopilada necesaria para la solución al problema del curso, el algoritmo (diagrama de

flujo o pseudocódigo) solución al problema del curso y una interfaz gráfica inicial del

problema.
2
Enlaces de los videos correspondientes a la práctica 2

Estudiante Enlace video publicado en YouTube


José Leonardo Garnica https://youtu.be/FzEEKSFR_Ms
Estudiante 2
Estudiante 3
Estudiante 4
Estudiante 5
Estudiante 6
3
Recopilación de información

José Leonardo Garnica Laverde:

La información que recopilé, considero es lo bastante concreta para disipar dudas


específicas, manejo de funciones y estructuras iterativas en LabView, entre esta
información se encuentran dos listas de reproducción de cursos de programación en
LabView de YouTube, también se encuentra la página de ayuda oficial de national
instruments, el OVI de la unidad 2 dispuesto en el entorno de conocimiento del curso, en
el cual se explican los tipos de datos y dos recursos de fundamentos ya vistos en la
actividad anterior, pero que considero son de gran utilidad. Las referencias bibliográficas
se encuentran en la última página de este trabajo y las 6 primeras corresponden a la
información mencionada.

José Basilio Moreno Carranza:

Arreglos en Dos Dimensiones

Un arreglo consiste de elementos y dimensiones. Los elementos son los puntos de datos
que componen el arreglo. Una dimensión es la longitud, altura o profundidad de un
arreglo. Un arreglo puede tener una o más dimensiones y tantos como (231)—1 elemento
por dimensión, si la memoria lo permite.

Figura 1. Arreglo en 2D

Fuente: http://www.ni.com/getting-started/labview-basics/esa/data-structures
4
Para añadir un arreglo multidimensional al panel frontal, haga clic con botón derecho en
la imagen del índice y seleccione Añadir Dimensión desde el menú de acceso directo.
También puede cambiar el tamaño de la imagen índice del arreglo hasta que obtenga la
cantidad de dimensiones que desea.

Iniciar Arreglos

Puede iniciar un arreglo o dejarlo sin inicializar. Cuando un arreglo es iniciado, usted
define el número de elementos en cada dimensión y el contenido de cada elemento. Un
arreglo sin inicializar contiene un número fijo de dimensiones pero no elementos. La
Figura 2, muestra un control arreglo en 2D sin configurar. Note que todos los elementos
están atenuados. Esto indica que el arreglo no está configurado.

Figura 2. Arreglo en 2D sin Configurar

Fuente: http://www.ni.com/getting-started/labview-basics/esa/data-structures

En un arreglo en 2D, después de que inició un elemento, cualquier elemento no iniciado


en esa columna y en columnas previas es iniciado y publicado con el valor
predeterminado para el tipo de datos. En la Figura 3, un valor de 4 fue proporcionado en
la columna 2, del arreglo basado en 0. Los elementos previos en la columna 0, 1 y 2 son
iniciados en 0, el cual es el valor predeterminado para el tipo de dato numérico.

Figura 3. Un Arreglo en 2D Iniciado con Nueve Elemento

Fuente: http://www.ni.com/getting-started/labview-basics/esa/data-structures
5
Videos:

https://www.youtube.com/watch?v=wqgYo1vjtUo

https://www.youtube.com/watch?v=v96SdUEx8Z8

https://www.youtube.com/watch?v=hyjBMPEGVVA

Generación de números aleatorios

Problema:
¿Cómo puedo generar números fuera del rango de cero a uno en LabVIEW?
Específicamente, ¿Cómo puedo generar números aleatorios entre un número mínimo y
máximo?

Solución:
A continuación se presenta una fórmula general para la generación de números aleatorios
entre un número máximo y mínimo determinado:

(Max - Min) * random(0 to 1) + Min = random(Min to Max)

El código adjunto demuestra esta fórmula. El Rand_num.vi genera un único número


aleatorio y es compatible con LabVIEW 5.0 y posterior. El Rand_ary.vi genera una
matriz de números aleatorios de un cierto tamaño y puede seleccionar aleatoriamente un
rango de números. El VI Rand_ary es compatible con LabVIEW 6.0 y versiones
posteriores.
6

Imagen 1: Uso de Rand_num.vi para generar un número aleatorio entre valor máximo y mínimo
determinado.
Fuente: National Instruments

Imagen 2: Uso de Rand_ary.vi para generar una matriz llena de números aleatorios entre valor máximo y
mínimo determinado.
Fuente: National Instruments

Funciones.

Figura 4. Paletas de control LabView


Fuente: https://personales.unican.es/corcuerp/LabView/Slides/Intro_LabView.pdf

Videos:
7
https://youtu.be/4kXNsgjAK0I
https://youtu.be/7Zd-jKwr6oo

Figura 5. Paletas de control LabView


Fuente: https://personales.unican.es/corcuerp/LabView/Slides/Intro_LabView.pdf

Ciclos While.
Similar a un Ciclo Do o a un Ciclo Repeat-Until en lenguajes de programación basados
en texto, un Ciclo While, que se muestra en la Figura 1, ejecuta el código que contiene
hasta que ocurre una condición.

(1) Ciclo While de LabVIEW | (2) Diagrama de Flujo | (3) Código Pseudo
8
La Figura 1 muestra un Ciclo While en LabVIEW, un diagrama de flujo equivalente a la funcionalidad de
Ciclo Whiley un código de ejemplo pseudo de la funcionalidad del Ciclo While.

Fuente: National Instruments

El Ciclo While está ubicado en la paleta Structures. Seleccione el Ciclo While en la


paleta 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 seleccionó.

Añada objetos del diagrama de bloques al Ciclo While al arrastrarlos dentro del Ciclo
While.

El Ciclo While ejecuta el código que contiene hasta la terminal condicional, una terminal
de entrada, recibe un valor Booleano específico.

También puede realizar manejo básico de error usando la terminal condicional de un


Ciclo While. Cuando cablea un cluster de error a la terminal condicional, solamente el
valor True o False del parámetro de estatus del cluster de error pasa a la terminal.
También, los elementos del menú Stop if True y Continue if True cambian a Stop if Error
y Continue while Error.

La terminal de iteración es una terminal de salida que contiene el número de iteraciones


terminadas.

La cantidad de iteraciones para el Ciclo While siempre comienza en cero.

Nota: El Ciclo While siempre se ejecuta por lo menos una vez.

Ciclos Infinitos

Los ciclos infinitos son un error común de programación que involucra un ciclo que
nunca se detiene.
9
Si la terminal condicional es Stop if True, usted coloca la terminal de un control
Booleano afuera de un Ciclo While. Si el control es FALSE cuando el ciclo comienza,
provoca un ciclo infinito.

Figura 2. Control Booleano Fuera del Ciclo While

Fuente: National Instruments

Cambiar el valor del control no detiene al ciclo infinito ya que el valor es de lectura una
vez y eso sucede antes que el ciclo inicie. Para usar un control para detener un Ciclo
While, debe colocar la terminal del control dentro del ciclo. Para detener un ciclo infinito,
debe abortar e VI al dar clic en el botón Abort Execution de la barra de herramientas.

En la Figura 3 el Ciclo While se ejecuta hasta que la salida de la función Random


Number es mayor o igual que 10.00 y el control Enable esTrue. La función Añadir
regresa True solamente su ambas entradas son True. De lo contrario, regresa False.

En la Figura 3, hay un ciclo infinito ya que la función Random nunca generara un valor
igual o mayor que 10.0 0.
10

Figura 3. Ciclo Infinito

Fuente: National Instruments

Túneles de Estructura

Los túneles alimentan datos desde y hacia estructuras. El túnel aparece como un bloque
sólido en el borde el Ciclo While. El bloque es el color del tipo de datos cableado al
túnel. Los datos salen fuera de un ciclo después de que el ciclo termina. Cuando un túnel
pasa datos a un ciclo, el ciclo se ejecuta solamente después que los datos llegan al túnel.

En la Figura 4, la terminal de iteración está conectada a un túnel. El valor en el túnel no


pasa al indicador de iteraciones hasta que el Ciclo While termina de ejecutarse.

Figura 4. Túnel de Ciclo While

Fuente: National Instruments


11
Solamente el último valor de la terminal de iteración se muestra en el indicador de
iteraciones.

Ciclos For

Un Ciclo For ejecuta un subdiagrama un número de veces establecido. La Figura


5muestra un Ciclo For en LabVIEW, un diagrama de flujo equivalente a la funcionalidad
de Ciclo For y un código de ejemplo pseudo de la funcionalidad del Ciclo For.

(1) Ciclo For de LabVIEW | (2) Diagrama de Flujo | (3) Código Pseudo
Figura 5. Ciclo For

Fuente: National Instruments

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 Replace
with For Loop en el menú de acceso directo para cambiar un Ciclo While Loop a Ciclo
For.

La terminal de conteo es una terminal de entrada cuyos valores indican cuantas veces se
repite el subdiagrama.

La terminal de iteración es una terminal de salida que contiene el número de iteraciones


terminadas.

La cantidad de iteraciones para el Ciclo For siempre comienza en cero.


12
El Ciclo For difiere del Ciclo While en que el Ciclo For ejecuta un número de veces
establecido. Un Ciclo While detiene la ejecución solamente si existe el valor en la
terminal condicional.

El Ciclo For en la Figura 6 genera un número aleatorio cada segundo por 100 segundos y
muestra los números aleatorios en un indicador numérico.

Figura 6. Ejemplo de Ciclo For

Fuente: National Instruments

Video:

https://www.youtube.com/watch?v=swEfaxLzNkY

Estudiante 3.

Estudiante 4.

Estudiante 5.

Estudiante 6.
13
Algoritmo (diagrama de flujo pseudocódigo)

A continuación, encontramos el algoritmo (diagrama de flujo) diseñado para la

solución al problema.
14
Interfaz gráfica

A continuación, mostramos lo que sería la interfaz gráfica de la solución al

problema.

En el anterior diseño de una interfaz gráfica para el desarrollo solución al

problema, encontramos varios elementos que dinamizan y hacen agradable el juego, en la

parte superior se haya un cuadro de texto en donde aparecerán las reglas del juego, para el

programador es un indicador de tipo String, a la izquierda un control tipo perilla que nos

determinará la dificultad del juego, para el programador será el que determine el orden de

la matriz cuadrada, luego un control en el que el usuario ingresa el número inicial de la


15
secuencia del juego, y un indicador que al final debe mostrar la cantidad de

movimientos realizados por el usuario, a la derecha se encuentra un interruptor con dos

led’s para escoger el orden de armado del rompecabezas, para el programador son un

control con dos indicadores de tipo booleano, un botón de stop para detener el juego

cuando se desee y un indicador que le mostrará al usuario el puntaje obtenido en el juego,

por ultimo en la parte central se encuentra el rompecabezas y los botones de

desplazamiento, para el programador es una matriz que se condicionará al nivel de

dificultad establecido por el usuario y generará un orden entre 3 y 5 y los botones de tipo

booleano para determinar el movimiento.


16
Conclusión

Como resultado principal del presente trabajo, se obtuvo más información valiosa,

que nos permite avanzar hacia la correcta solución al problema del curso, creando una

interfaz gráfica inicial, esto nos dio una idea de cómo desarrollarla de tal manera que sea

sencilla de manejar y entendible al usuario final, también el desarrollo de la práctica 2

nos introduce en el manejo de las funciones y las estructuras iterativas, las cuales son de

gran importancia y de frecuente uso, sobre todo según el algoritmo desarrollado como

solución del problema planteado.


17
Referencias bibliográficas

Corbí Bellot, A. (2001). Fundamentos de programación (Vol. 2a ed). [Alicante]:


Digitalia. Recuperado 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.

Joyanes, A. L., & Zahonero, M. I. (2005). Programación en c: metodología, algortimos y


estructura de datos (2a. ed.) Recuperado de: https://bibliotecavirtual.unad.edu.co:2538.

YouTube ACADENAS. (2019). Todo el curso Programación con LabVIEW. Recuperado


de:
https://www.youtube.com/watch?v=CXPbDnItzpo&list=PLb_ph_WdlLDkiwqtPD6kv7O
fchsD819ss.

YouTube Hackers e ingenieros. (2018). Curso de Programación en LabView. Recuperado


de:
https://www.youtube.com/watch?v=mLDL1P4GBjI&list=PLPOv7bTzpLUuQmuIaFcAa
GZiXBf4rUZAc.
YouTube LabVIEW para todos. (2017). Tutorial de números aleatorios. Recuperado de:
https://www.youtube.com/watch?v=PI42LVTRCxQ

Usar Ayuda sobre Productos de NI LabVIEW - National Instruments. (2019).


Recuperado de: http://www.ni.com/getting-started/labview-basics/esa/product-help.

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


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

Estructuras de datos en LabView. Sin Fecha. National Instruments. Recuperado de:


http://www.ni.com/getting-started/labview-basics/esa/data-structures
18
Diseño de interfaz grafica en LabView. Sin fecha. National Instruments. Recuperado
de: http://www.ni.com/tutorial/10728/es/
Generación de números aleatorios fuera de rango 0-1. National Instruments. Recuperado
de: http://digital.ni.com/public.nsf/allkb/09CB2BEA10EF3E8E86257DD30061D6A9

Estructuras de ejecución en LabView. Sin fecha. National Instruments. Recuperado de:


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

Você também pode gostar