Sie sind auf Seite 1von 8

Paso 5:

Construcción Individual.

Curso:

Software para Ingeniería.

Grupo: 203036_65.

Estudiante:

Edgar Elías Pulido Samper.

Tutor:

Alexander Flórez.

Universidad Nacional Abierta y a Distancia UNAD.

Escuela de Ciencias Básicas, Tecnología e Ingeniería.

Ingeniería Electrónica.

Octubre de 2019.
INTRODUCCIÓN

El uso de la herramienta Matlab permite desarrollar diferentes operaciones matriciales, con el fin de dar
soluciones a diferentes problemas basados en el desarrollo de la rúbrica logrando mostrar el desempeño
de un futuro ingeniero.

En el siguiente trabajo se mostrará una propuesta de algoritmo para dar solución al problema del juego
del rompecabezas numérico utilizando la herramienta Matlab. Se mostrará la utilización de comandos,
sentencias de control de flujo, lógica de vectores y matrices.
Desarrollo de la actividad.

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.

Para el diseño del problema propuesto (implementar un juego de rompecabezas numérico), se elaborará
su diseño y código con la herramienta Matlab.

Se puede usar una GUI de Matlab o usar el “command Windows” para visualizar la matriz que se va
actualizando.

Dentro del código se deben declarar ciertas variables globales, puede ser dentro de una función como
sigue:

Las variables globales se deben declarar en cada función que creemos en el script de MATLAB para poder
ser utilizadas de manera “GLOBAL” como lo dice su nombre. Cualquier cambio que se haga en aquellas
variables afectará su valor en todas las funciones donde son declaradas.

En este caso se usan 4 variables globales que son: matriz, matriz actual, movimientos y puntaje, estas con
el fin de poder controlar las matrices de juego, sumar movimientos y sumar el puntaje. Se usan variables
globales ya que cada “push botón” (botón) de la interfaz necesita una función que capture el clic.

Elementos de la interfaz (GUIDE) de Matlab:

En caso de usar una GUI en Matlab se utilizarán EDIT TEXT, PUSH BOTTON, LIST BOX como instrucciones
principales.

Para configurar la interfaz, se coloca la instrucción “guide” en la consola.


Capturar y enviar valores de los elementos de la interfaz:

valor_actual = get(handles.btn9,'String'); % Se captura el valor actual de la casilla vacía.


set(handles.btn1,'String',matriz_actual(1,1)); % Enviar valores a la GUIDE.
tipo_juego = get(handles.tipo_juego,'Value'); % Captura de un listbox tipo juego, 1 horizontal 2 vertical.

Con la variable “handles” accedo a la GUIDE y para acceder al elemento que deseamos le añadimos un
punto y el identificador del mismo (ej: handles.btn1).

Activar o desactivar un elemento en la guide

set(handles.btn1,'enable','off');

set(handles.btn1,'enable','on');

visualizar o no un elemento en la guide

set(handles.btn1,'visible' ,'off');

set(handles.btn1,'visible' ,'on');

Recibir variables y retornar variables de una función creada manualmente en Matlab:

function [type] = verificar_x(posición, valor)

La variable “type” es la que se va a retornar en una variable donde se va a llamar la función

Las variables “posición” “valor” son los parámetros que recibe la función.

Imprimir en consola:

Con la instrucción “disp” se imprime en consola o en la línea de código no se coloca el punto y coma (;)
al final. (EJ disp(“texto a variable a imprimir”); o variable = 1)
Crear una matriz y un vector:

Para crear un vector se declara de la siguiente forma:

vector = [1 2 3 4 5 6];

Para obtener un valor de dicho vector se accede colocando la posición que se desee.

disp(vector(1));

disp(vector(2));

Para crear una matriz se declara de la misma forma del vector, pero para crear una fila nueva se coloca
el símbolo (;)

matriz = [1 1 1, 2 2 2, 4 4 4];

Para obtener un valor de dicha matriz se accede colocando la posición de la fila como de la columna

disp(matriz(1,2)); % matriz(posicionfila, posicioncolumna)

Para recorrer un vector:

for i=1:(tamano_vector)

disp(vector(i)); %imprimir el vector.

end

Para recorrer una matriz

for i=1:(tamano_matriz_filas) %recorrer la matriz.

for j=1:(tamano_matriz_columnas)

disp(matriz(i,j)); %imprimir la matriz

end
end

Comparar si una matriz es igual a otra:

if(matriz_actual == matriz)

disp("has ganado");

end

Generar una alerta en Matlab:

warndlg('Has ganado el juego','GANASTE!');


CONCLUSIONES.

 En la construcción individual, se logra evidenciar que funciones se van a trabajar, permitiendo


tener una idea más clara del juego a desplegar logrando identificar los resultados a obtener.

 Aunque aún no se ha decidido cual opción es más viable si crear una GUI o usar todo desde
consola, la idea del algoritmo es la misma en los dos casos.

 Lo más difícil en esta parte de la solución del problema (Juego del rompecabezas numérico) fue
encontrar y reunir los diferentes comandos de Matlab que nos pueden servir. A pesar de que
existen los manuales, tutoriales, videotutoriales, blogs, etc. No se me hizo fácil entender el
funcionamiento de ciertos comandos los cuales se esperaría que con la práctica o un desarrollo
rutinario pueda solventarse.
REFERENCIAS.

 beginners, S. f. (2013). Recuperado el 21 de septiembre de 2019, de


https://www.scilab.org/tutorials/scilab-beginners-%E2%80%93-tutorial

 Gil, R. M. (2003). Introducción rápida a Matlab y Simulink para ciencia e ingeniería. (E. D. Santos,
Editor) Recuperado el 21| de septiembre de 2019, de
http://bibliotecavirtual.unad.edu.co:2077/lib/unadsp/reader.action?ppg=1&docID=11059428&t
m=1479848795401

 Hudson, S. (2014). Scilab Lectures. Recuperado el 21 de septiembre de 2019, de


http://users.tricity.wsu.edu/~hudson/Teaching/EE221/Text/03%20Programming%20structures.
pdf

 Monroy, J. (2014). PLE Matlab-Scilab. Recuperado el 21 de septiembre de 2019, de


http://www.netvibes.com/juanolmv#Donde_relacionarme_con_otros

 Monroy, J. (2016). Conceptos Básicos de programación. [Archivo de video] . Recuperado el 21 de


septiembre de 2019, de http://hdl.handle.net/10596/10293

 Monroy, J. (2018). Fundamentos de Programación en Software de Tratamiento Matemático.


[Archivo de video]. Recuperado el 21 de septiembre de 2019, de
http://hdl.handle.net/10596/22302

Das könnte Ihnen auch gefallen