Está en la página 1de 8

SOFTWARE PARA INGENIERIA

Paso 5 – Construcción individual

Presentado por:

Yerson Leonardo Romero Ortega

Cod: 1094350176

Grupo: 203036_54

Tutor: Diego Fernando Vasco

Universidad Nacional Abierta y a Distancia (UNAD)


Escuela de Ciencias Básicas Tecnología e Ingeniería (ECBTI)
Programa de: INGENIERÍA DE TELECOMUNICACIONES
Cúcuta – 08/Abril/2020
Tema de investigación: Forma de implementación de un juego similar a una batalla naval
para una empresa de juegos didácticos.

MARCO TEORICO.

1. Fundamentación teórica.

1.1 Definición
La batalla naval (juego de los barquitos o hundir la flota, nombre con el que se
comercializó en España el juego de mesa; hundiendo barquitos, en algunos
lugares de Hispanoamérica), del nombre en inglés battleship, es un juego tradicional
de estrategia y algo de suerte, que involucra a dos participantes.
Se ha comercializado como juego de mesa en distintos formatos por varias marcas.
El primero en sacarlo al mercado fue Milton Bradley Company, en 1931, y se
jugaba con lápiz y papel. En 2012 se estrenó una película basada en el juego,
titulada en inglés Battleship. (wikipedia, 2019)

1.2 Matlab
MATLAB es un programa computacional que ejecuta una gran variedad de
operaciones y tareas matemáticas. Es una herramienta poderosa, y puede manejar
los cálculos involucrados en problemas de ingeniería y ciencia. Su nombre
significa «MATrix LABoratory» (laboratorio de matrices) y fue diseñado en un
principio para trabajar con vectores y matrices. Ya hoy abarca muchísimo más.
Como MATLAB es el programa más dominante del mundo técnico, muchos
ingenieros y científicos requieren manejarlo para poder desempeñarse bien en sus
nuevos puestos de trabajo.
MATLAB puede ser usado para resolver un gran abanico de problemas técnicos
relacionados con matemática, desde la evaluación de una simple función hasta la
resolución numérica de sistemas de ecuaciones diferenciales parciales, por ejemplo.
También puede resolver problemas simbólicos y presentar los resultados de forma
agradable y visual de manera que los resultados obtenidos sea más fáciles de
comunicar a otros colaboradores que no trabajen directamente con la ingeniería de
los problemas prácticos. (Raquez, 2017)

1.2.1 Comandos.

Imread lee la imagen del archive especificado por filename, deduciendo el


formato del archive de su contenido. Si filename es un archivo de
imágenes múltiples, entonces lee la primera imagen del archivo.
Rgb2gray convierte imagen RGB o mapa de colores a escalas de grises.
Imresize cambia el tamaño de la imagen.
Size leer el tamaño de una matriz en filas y columnas.
Cat concatenar matrices a lo largo de la dimensión especifica.
Montage mostrar múltiples marcos de imagen como montaje rectangular
Double (c) convierte en números ASCII cada carácter
Char (v) convierte un vector de números v en una cadena de caracteres
Char (cl, c2) crea una matriz de caracteres, completando con blancos las cadenas
más cortas
Deblank (c) elimina los blancos al final de una cadena de caracteres
Disp (c) imprime el texto contenido en la variable c
ischar(c) detecta si una variable es una cadena de caracteres
isletter() detecta si un carácter es una letra del alfabeto. Devuelve un vector o
matriz de unos y ceros
isspace() detecta si un carácter es un espacio en blanco. Devuelve un vector o
matriz de unos y ceros
strcmp(c1,c2) comparación de cadenas. Si las cadenas son iguales devuelve un uno,
y si no lo son, devuelve un cero (funciona de modo diferente que la
correspondiente función de C)
strcmpi(c1,c2) igual que strcmp(c1,c2), pero ignorando la diferencia entre
mayúsculas y minúsculas
strncmp(c1,c2, n) compara los n primeros caracteres de dos cadenas
c1==c2 compara dos cadenas carácter a carácter. Devuelve un vector o matriz
de unos y ceros
s=[s,' y más'] concatena cadenas, añadiendo la segunda a continuación de la primera
findstr(c1,c2) devuelve un vector con las posiciones iniciales de todas las veces en
que la cadena más corta aparece en la más larga
strmatch(cc,c) devuelve los índices de todos los elementos de la matriz de caracteres
(o vector de celdas) cc, que empiezan por la cadena c
strrep(c1,c2,c3) sustituye la cadena c2 por c3, cada vez que c2 es encontrada en c1
[p,r]=strtok(t) separa las palabras de una cadena de caracteres t. Devuelve la primera
palabra p y el resto de la cadena r
int2str(v) convierte un número entero en cadena de caracteres
num2str(x,n) convierte un número real x en su expresión por medio de una cadena
de caracteres, con cuatro cifras decimales por defecto (pueden
especificarse más cifras, con un argumento opcional n) (Mendez
Vicente, 2012)
vc=cellstr(cc) convierte una matriz de caracteres cc en un vector de celdas vc,
eliminando los blancos adicionales al final de cada cadena. La función
char() realiza las conversiones opuestas
sprintf Convierte valores numéricos en cadenas de caracteres, de acuerdo con las
reglas y formatos de conversión del lenguaje C. Esta es la función más general
para este tipo de conversión y se verá con más detalle en otro lugar
Con las funciones anteriores se dispone en MATLAB de una amplia gama de posibilidades
para trabajar con cadenas de caracteres.

1.2.2 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 continue: 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.
El bucle FOR escribe en Matlab del siguiente modo:
For variable = inicial : paso : final(grupo de instrucciones)
End

Veremos un ejemplo del bucle FOR para calcular un factorial.

2. Bucle WHILE: Se da una condición que se tiene que evaluar, que se realizará siempre
que sea verdadera. En el momento en el que la condición sea falsa, cesará. Por tanto, no se
conoce de antemano el número de iteraciones a realizar.
Las variables utilizadas tienen que estar inicializadas antes del bucle, que cumplan la
condición la primera vez por lo menos y cambiar de valor en cada iteración dentro del bucle
(de lo contrario se producirá un bucle infinito). En Matlab, se escribe como:
While (condición lógica)
(grupo de instrucciones)
End
veremos un ejemplo de bucle WHILE para calcular un factorial.
Hay una variante del bucle WHILE que es el DO-WHILE, que es similar, pero con la
diferencia de que las instrucciones se tienen que cumplir por lo menos una vez, y una vez
cumplida, se evalúa la condición. Si la condición se cumple, se entra en el bucle hasta que
sea falsa, que se acaba la iteración. Se escribe de este modo:
(instrucciones 1)
While (condición lógica)
(instrucciones 1)
End
2.1 matrices
Ya que el diseño y programación del juego en la interfaz de Matlab se basa en la inclusión
de método de matrices vamos a conocer el manejo de este tema en el programa.
 Siempre para crear matrices dentro de matlab debemos hacerlo parecido a como lo
hicimos en la entrada de Vectores, donde los elementos de la matriz deben ir dentro
de corchetes “[]” y cada columna debe ir separado por comas “,” o espacios y cada
fila debe ir separado por punto y coma “;”

2.1.1 Matrices predeterminadas en Matlab

Forma rápida

 zeros (n) Crea una matriz cuadrada n x n de ceros.


 zeros (m,n) Crea una matriz m x n de ceros.
 ones (n) Crea una matriz cuadrada n x n de unos.
 ones (m,n) Crea una matriz m x n de unos.
Crea una matriz cuadrada n x n de números aleatorios con distribución
 rand (n)
uniforme (0,1).
 rand (m,n) Crea una matriz m x n de números aleatorios con distribución uniforme (0,1).
Crea una matriz cuadrada n x n de números aleatorios con distribución
 randn (n)
normal (0,1).
 randn (m,n) Crea una matriz m x n de números aleatorios con distribución normal (0,1).
 eye (n) Crea una matriz cuadrada n x n de unos en la diagonal y ceros el resto.
 eye (m,n) Crea una matriz m x n de unos en la diagonal y ceros el resto.
 magic (n) Crea una matriz cuadrada n x n de enteros de modo que sumen lo mismo las
filas y las columnas.
Crea una matriz cuadrada n x n de Hilbert, es decir, los elementos (i,j)
 hilb (n)
Responden a la expresión (1/(i+j-1)).
 invhilb (n) Crea una matriz cuadrada n x n que es la inversa de la matriz de Hilbert.

3.1 Elementos de código de la práctica 2


3.1.1 Matriz = randi([ValorMin,ValorMax], orden_m, orden_m)

Le daría uso a este elemento o comando para indicar el valor de nuestra matriz la cual
va hacer el campo de juego.
3.1.2 [fila,columna]=find(Matriz==Buscar);

Este comando lo utilizaría para hallar el lugar donde se ha realizado un disparo al


campo contrario.
REFERENCIAS BIBLIOGRAFICAS

 http://matlabtrabajo.wikidot.com/4-estructuras-de-control
 https://controlautomaticoeducacion.com/matlab/crear-matrices-en-matlab/
 https://www.youtube.com/watch?v=LNAHYhup33s&t=7s
En este video hay una explicación del método básico de diseño del juego batalla naval
pero en un programa distinto a matlab, llamado Pseint.

También podría gustarte