Software Avanzado para La Ingeniería. Unidad 1

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 17

SOFTWARE AVANZADO PARA LA INGENIERIA

Unidad 1: Ciclo de la tarea 1

Presentado por lo estudiantes:

BRAHIAN STEVEN ARIAS


ESNER OMAR CAMARGO
FRANK CARLOS CHAMORRO
ROBERTO MARIO SIERRA
JHON EDINSON CANIZALEZ

GRUPO 203037_43

Presentado al tutor:
ALEXANDER FLOREZ

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD


ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA
13 DE MARZO DE 2020
Introducción

Con las tecnologías y los avances a gran escala hoy en día, se pueden dar soluciones a
múltiples problemas que presentamos y que días pasados por falta herramientas procesos y
quizás estudios no se tenía la facilidad para la solución de problemas de distintas índoles.
Con la programación en software especializados, que permiten ordenarles tareas e
indicaciones por medio de microprocesadores y computadores, el trabajo en diferentes ramas
se ha automatizado permitiendo un margen de error inferior, comparándolo con el manejo
constante del ser humano. Es por eso que la utilización y aplicación de estos programas es de
vital importancia para el desarrollo como profesionales y nos permite idearnos formas y
maneras de solucionar problemas por medio de los softwares.
PRACTICA 1 LINK
BRAHIAN STEVEN ARIAS https://youtu.be/OVSz6Lf1Jo0
ESNER OMAR CAMARGO https://youtu.be/DHLaSVU2XQI
FRANK CARLOS CHAMORRO
ROBERTO MARIO SIERRA https://youtu.be/0u_gRg__CU8
JHON EDINSON CANIZALEZ https://youtu.be/rMDnFY76aX0

Problema

La empresa de juegos didácticos en línea TOYs2020, quiere implementar un juego similar


a batalla naval, para sus usuarios, para ello requiere un prototipo que genere una matriz
para ubicar sus barcos de forma aleatorio y le brinde la posibilidad al usuario de derribar
los barcos con disparos consecutivos así:

• Establecer el orden de la matriz donde va a contener los barcos, puede elegir entre 8
a 10 filas y entre 8 a 10 columnas.
• El usuario debe poder indicar la casilla sobre la cual desea verificar si hay un barco o
no (disparar)
• Tener la opción de rendirse en el juego
• Decidir que barcos ubicar, nombrados así: porta-aviones (5 casillas), acorazado (4
casillas) y lancha (3 casillas)
• Leer las reglas de la puntuación con la que se valorará su desarrollo (las define como
programador)

Cuando el usuario termine de hundir los barcos o haya decidido no continuar con el juego,
el aplicativo debe:

• Indicar la cantidad de disparos hechos


• Nombre de los barcos hundidos
• Puntos logrados
El aplicativo, en su funcionamiento debe cumplir con las siguientes características:
• Los barcos que se ubiquen deben estar dentro de la matriz, ya se horizontal o
verticalmente, no es posible ubicar los barcos de forma diagonal
• Los barcos no pueden estar superpuestos dentro de la matriz
• Cuando un disparo de en un barco se indicará con símbolo que acertó en un barco y
con otro símbolo que golpeó el agua.
• Cuando se acierten todas las casillas de un barco se debe indicar el nombre del barco
hundido.
• Hundidos todos los barcos indicar la finalización del juego y su puntuación
• Exportar la puntuación y cantidad de disparos hechos a una hoja electrónica.
• Mostrar solo una matriz en pantalla, ir actualizándola a medida que se van realizando
los disparos, para dar sensación de continuidad en el juego.

Actividades a desarrollar

Tabla 1. Descripción de la idea propuesta


Idea 1.

Item a Respuesta: BRAHIAN STIVEN ARIAS


resolver
Información Dimensión de la matriz, que habría que restringirle con una
de entrada condicional no inferior a 8 y no mayor a 8.
La dirección del movimiento para este caso el contador que será el
que ayude a desplazar la casilla donde se ubique los barcos
Para la opción de si el usuario desea continuar con el juego, o no
tendrá que oprimir una tecla. Se podría hacerlo por medio de un menú
(switch).

Procesos Utilización de sentencias como if-else.


Ciclos como while
Menu como switch-break
Contadores_ = cont
Para imprimir en pantalla = fprinft
Información El desplazamiento de la casilla vacía que será la que me permita jugar
de salida con batalla naval, que permita tener un juego aleatorio
Un menú, en donde se pueda visualizar por una opción reglas,
puntuación y resultados.
Descripción Inicialmente solicitarse al usuario que digite el rango de su matriz no
de la idea inferior a 8 y no mayor a 8.
(Algoritmo ó Si se ejecuta en Matlab con el comando de(Dimensión) matriz
texto cuadrada, se incluyen el rango de la matriz.
explicativo) Para que se genere aleatoriamente los números con el comando rand.
Nos permite tener Números aleatorios distribuidos uniformemente.
Para que pueda irse moviendo la celda vacía habría que con el
comando contador de números, indicarle la dirección del movimiento,
con restricción de los movimientos en los bordes, es decir si esta al final
no puede iniciar en la casilla 1, debe retroceder y así sucesivamente para
sus laterales y parte superior.
Si el usuario desea parar su juego deberá crearse una condición en
donde al pulsar una tecla este pregunte si desea continuar o salir. Puede
crearse un ciclo con el comando while.
Finalmente, si el usuario continuo con el juego y lo finaliza deberá
mostrar en pantalla la cantidad de movimientos y la puntuación obtenida.
Esto se podría ejecutar con un contador, para que me muestra las veces
que hubo desplazamiento de esa celda. Y la puntuación habría que
entablar unas reglas y de acuerdo con eso establecer la puntuación
dependiendo del tiempo y movimientos.
Temas a https://la.mathworks.com/help/matlab/ref/rand.html
consultar con la
referencia https://la.mathworks.com/academia.html?s_tid=gn_acad
bibliográfica de
donde lo va a https://www.monografias.com/trabajos94/matlab-y-sus-
extraer comandos/matlab-y-sus-comandos2.shtml

https://la.mathworks.com/help/matlab/learn_matlab/entering-
commands.html

Item a resolver Respuesta: ESNER OMAR CAMARGO


Debemos elegir el tipo de matriz o tabla, es
Información de entrada mejor una de 10 x 10, y jugar con mínimo 2 barcos,
uno en forma horizontal y otro en forma vertical.
Determinar las condiciones dadas en el ejercicio
Procesos planteado, se pueden usar contadores, arrays,
swicht entre otros de acuerdo al programa deseado,
para así poder jugar la batalla naval.
Información de salida Derrotar todos los barcos instalados en la matriz,
llevar la sumatoria de todos los disparos y terminar
el juego al momento de derribar todos los barcos.
Descripción de la idea en función de Realizar una matriz de 8 x 8 0 de 10 x 10 según
los datos anteriores el acuerdo entre el grupo el cual será el área de
batalla, dentro de esa matriz debemos instalar
mínimo 2 barcos de tal forma que esos barcos de
deben derribar y llevar un control de todos los
comandos accionados y por ultimo que cuando
derribemos el ultimo, termine el juego y nos diga
cuantos disparos se hicieron.
Temas a consultar con la referencia Matrices, arreglos, contadores del software
bibliográfica de donde lo va a extraer LabVIEW.

Ítem a resolver Respuesta


Descripción de la idea Solución Planteada:
de solución
1 pantalla Inicio (Bienvenido a su aplicación) se
muestra un demo con el armado de la aplicación combate
marítimo.

2 descripción de reglamento del juego, acepto las


condiciones, No acepto las condiciones (Se muestra el
reglamento donde se determina la edad mínima del
participante y la compactibilidad del equipo o pc con el
programa)

2.1 No acepto las condiciones aparece la opción de


salir y el programa efectuará el cierre del aplicativo.

2.2 Acepto las condiciones de juego aparece la opción


continuar, Aparece la descripción y condiciones para
iniciar el juego.

a- selecciona si se desarrolla contra un rival humano


selecciona la opción (1) y suministra un nombre para el
jugador, o contra un rival virtual entregado por la
maquina donde se selecciona la opción 2 a quien
igualmente se le debe dar un nombre.
b- se escoge el armado u ubicación en un área de 10
filas y 10 columnas del porta-aviones con una ocupación
de 5 casillas, el acorazado con una selección de 4 casillas
y la lancha con una selección de 3 casillas

c- cada barco instalado debe elegir la columna desde


la letra A hasta la letra J y la ubicación de la fila con un
número del 1 al 10 (la selección solo se realiza de manera
horizontal o vertical no aplica la ubicación o movimiento
diagonal).

d- el juego tiene un total de 200 puntos, quien obtenga


la mayor cantidad de puntos será el vencedor, quien
impacte el barco portaaviones obtendrá un total de 30
puntos, si se impacta el acorazado un total de 40 puntos
y cuando se impacte la lancha un total de 10 puntos, caga
jugador tendrá un total de 9 lanzamientos, los cuales al
momento de finalizar la partida se contarán la cantidad
pendiente de lanzamientos y por cada uno de estos
obtendrá 20 puntos.

e- Se entregará la cantidad de puntos obtenidos cuando


se finalice la partida e informará el jugador con mayor
número de puntos, paso al punto 3

3- se activará el inicio de nueva partida, donde el


participante iniciará con 0 puntos, si durante el desarrollo
del juego se realiza un lanzamiento no efectivo este
restará 20 puntos del total de puntos posibles

(sigue paso 4).


4- Cada lanzamiento se actualiza la pantalla con la
cantidad de lanzamientos pendientes, sigue paso (5)

5- en este punto es el punto de finalización de la


partida y se puede dar en dos casos, los cuales continúan
al paso 6

5.1 La partida se queda sin lanzamientos por parte de


los dos jugadores y se dará por terminada donde se
entrega la cantidad de puntos y mostrando un mensaje de
felicitación al ganador.

5.2 Se da por finalizada la partida de manera forzada


mostrando la cantidad de lanzamientos realizados y la
puntuación final.

6- se presentarán 2 opciones la primera es llevarlo al


punto 2.1 opción cierre de la aplicación (Salir) o también
la opción 3 donde se activará inicio de nueva partida.

Item a resolver Respuesta: Frank Carlos Chamorro

Información de entrada Según las referencias de los puntos 2.1 y 2.2, donde
incluimos inicio, dirección de armado y cierre de la
aplicación.
Procesos 1. Diseño e implementación del entorno gráfico de la aplicación,
esto incluye:
A. Pantalla de inicio (paso 1).
B. Pantalla de reglamento y condiciones del juego (paso 2).
C. Pantalla de ingreso de datos de inicio (paso 3).
D. Pantalla de juego (paso 4).
E. Pantalla de indicadores parciales (paso 4)
F. Pantalla de indicadores finales (paso 5).
G. Pantalla de cierre y despedida de la aplicación (paso 5).
2. Diseño e implementación de la lógica de la aplicación, esto
incluye:
A. Captura de datos.
B. Validaciones.
C. Registro de puntos.
D. Núcleo del juego.
E. Detención y cierre.
Información de salida Como fue especificado en el punto 5 donde se entrega de
finalización y cierre entregando los datos de puntuación y
cantidad de lanzamientos y las dos maneras por las cuales se
finaliza la partida.

Descripción de la idea en función El participante debe establecer el tipo de matriz a utilizar y la


de los datos anteriores ubicación de los barcos como lo determina en el punto 2.2. literal
c-.

El programa debe entregar información del resultado del


lanzamiento de cada jugador en una hoja electrónica.

Temas que consultar con la • Monroy, J. (2017). Fundamentos de instrumentos


referencia bibliográfica de donde lo virtuales. [Archivo de video] Recuperado
va a extraer de: http://hdl.handle.net/10596/12742
• Monroy, J. (2018). Fundamentos de programación de
instrumentos virtuales. [Archivo de video] Recuperado
de: http://hdl.handle.net/10596/22785

Ítem a Respuesta: JHON CANIZALEZ


resolver
Información -Número de columnas
de entrada -Número de filas
-Tipos y cantidad de barcos
Procesos -Armar la matriz de juego
-Mostrar las reglas del juego
-Se ubican los barcos de forma aleatoria
-Introducir las coordenadas del disparo
-Mostrar si dio en un barco o el agua
-Verificar si dio en todos los puntos de un barco
-Verificar si ya hundió todos los barcos
-Si ganó o decidió abandonar la partida, terminar el juego
Información -Cantidad disparos realizados
de salida -Indicar cuales barcos hundió
-Puntuación obtenida
Descripción Con los datos del tamaño de la matriz y los barcos a usar, se forma la matriz y se
de la idea en ubican los barcos de forma aleatoria dentro de la matriz. Se muestran las reglas de
función de los juego y un botón para dar “Aceptar”. Al introducir un coordenada verificar si dio en
datos anteriores el blanco. Debe haber un botón para poder abandonar la partida en cualquier
momento.
Ir contando los disparos acertados, dar 5 puntos por cada acierto.
Indicar cada vez que se hunda un barco. Al hundir todos los barcos o abandonar la
partida, dar por finalizado el juego.
Mostrar la cantidad de disparos realizados, los barcos hundidos y la puntuación
obtenida, un botón para finalizar la lectura de resultados.
Temas a ➢ Trabajo con Matrices
consultar con la ➢ Ciclos For y While
referencia ➢ Arreglos
bibliográfica de ➢ Trabajo con gráficos
donde lo va a
extraer Lajara, V. J. R. (2007). LabVIEW: entorno gráfico de programación. Barcelona, ES:
Marcombo. Capítulo 1. pág. 3-36. Recuperado
de:http://bibliotecavirtual.unad.edu.co:2077/lib/unadsp/reader.action?docID
=10204103
National Instruments Corporation (2015) [Software LabView]. Recuperado
de: https://lumen.ni.com/nicif/esa/acadevallvdl/content.xhtml

Item a Respuesta: ROBERTO MARIO SIERRA


resolver
Información -numero de columnas y filas
de entrada -tipo de barcos

Procesos -iniciar juego o retirarse


-Reglas de juego
-generar matriz
-ubicar barcos
-indicar ubicación del disparo
-mostrar si impacto un barco o el agua
-actualizar pantalla
Información -cantidad disparos
de salida -pantalla con el resultado del juego
-puntuacion
Descripción Primero mostrar las opciones iniciar, salir o leer reglas de juego, si inicia solicitar el
de la idea en tamaño de la matriz. Mostar la imagen de barcos q puede seleccionar, generar la matriz
función de los con los barcos seleccionados.
datos Dar inicio al juego indicando la opción de disparar o salir del juego.
anteriores Al salir o terminar de hundir los barcos, hacer el conteo de los disparos para de
acuerdo a las reglas mostrar la puntuación.
Reglas: si acierta el 100% de los disparos 100 puntos, por cada disparo fallido restar
5 puntos, si llega a cero finalizar el juego (game over)
Temas a • Estructuras
consultar con • Condicionales
la referencia • Case
bibliográfica • Gráficos
de donde lo va • matrices
a extraer • Lajara, V. J. R. (2007). LabVIEW: entorno gráfico de programación. Barcelona,
ES: Marcombo. Capítulo 1. pág. 3-36. Recuperado
de:http://bibliotecavirtual.unad.edu.co:2077/lib/unadsp/reader.action?docID=10
204103
• National Instruments Corporation (2015) [Software LabView]. Recuperado
de: https://lumen.ni.com/nicif/esa/acadevallvdl/content.xhtml
1. 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


Accesible El juego debe ser llamativo y tener tres niveles de
dificultad para que puedas acceder todos.
Gratis Debe ser fácil de descargar o jugar en línea, para que
puedan acceder muchas personas.
entendible Debe tener un manual del usuario que tengas muy
claramente la explicación de las reglas del juego.

Criterios
Descripción del criterio Rango de puntuación a
proponer
Contar con el software especializado para el diseñador con 1 - 10
licencia, de manera que no restringa ningún comando y se pueda
trabajar ampliamente en la necesidad del cliente. Sin afectar su
proceso.
Excelentes equipos para la implementación del programa, 1 - 10
herramientas, de última tecnología que garanticen el óptimo
funcionamiento del proceso.

Criterio Criterio Criterio Criterio Criterio Total


1 2 3 4 5 Puntos
Idea 1. 8 Puntos 8 Puntos 8 Puntos 8 Puntos 8 Puntos 40
Roberto Puntos
Sierra
Idea 2 5 Puntos 5 Puntos 5 Puntos 5 Puntos 5 Puntos 25
Brahian Puntos
Arias
Idea 3 8 Puntos 8 Puntos 8 Puntos 8 Puntos 8 Puntos 40
Jhon Puntos
Canizalez

Idea 4 9 Puntos 9 Puntos 9 Puntos 9 Puntos 9 Puntos 45


Frank Puntos
Chamorro
Idea 5 7 7 7 7 7 35
Esner
Camargo
Conclusiones

✓ Tendremos que identificar el software en el cual ejecutaremos el programa ya sea


SCILAB o MATLAB. Conocer cuál es el mejor y el más factible de acuerdo con el
problema planteado.

✓ Todas las ideas planteadas, buscan la solución al mismo problema, pero aun así son
similares las ideas, lo que facilita un acuerdo en conjunto de como plasmar la solución
tomando pequeños aportes de cada idea.

✓ De acuerdo con el problema, el grupo como tal solo diseña el programa en el cual se
plasmarán las indicaciones, lo cual sugiere se utilicen herramientas y equipos que
permitan llevar a ejecutarse satisfactoriamente el programa con excelentes
tecnologías.
Referencias bibliográficas

Aprenda LabVIEW: Introducción a programación gráfica en NI LabVIEW - National


Instruments. (2019). Retrieved 3 October 2019, from http://www.ni.com/getting-
started/labview-basics/esa/

Introducción de comandos- MATLAB & Simulink- MathWorks América Latina. (2019).


Retrieved 3 October 2019, from
https://la.mathworks.com/help/matlab/learn_matlab/entering-commands.html

sz1, s. (2019). Números aleatorios distribuidos uniformemente - MATLAB rand-


MathWorks América Latina. Retrieved 3 October 2019, from
https://la.mathworks.com/help/matlab/ref/rand.html

Monroy Vásquez, J. ( 27,07,2017). Fundamentos de instrumentos virtuales. [Archivo de


video]. Recuperado de: https://repository.unad.edu.co/handle/10596/12742

También podría gustarte