Sunteți pe pagina 1din 18

TRABAJO COLABORATIVO

CONSTRUCCION DE LA SOLUCION INDIVIDUAL

Curso:
Software para Ingeniera

Alumno:
CARLOS ALBERTO HOYA SANJUAN
Grupo No. 203036_25

Tutor:
JUAN MONROY

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA


Escuela de ciencias bsicas Tecnologa e Ingeniera
Ingeniera de telecomunicaciones
Barrancabermeja
2016
INTRODUCCIN

Mediante la construccin de esta solucin individual pretendemos apropiarnos de la hiptesis y


propuesta metodologa dispuesta y definida por el grupo para contribuir activamente en la
ejecucin de la propuesta metodolgica y as aportar en la construccin de la solucin del
problema planteado en la consolidacin del informe que recopile de manera sucinta la solucin al
problema planteado.
HIPTESIS PARA LA SOLUCIN DEL PROBLEMA.

Segn la propuesta por el grupo, donde se realiza una secuencia de las fases. Pienso
implementarla de la siguiente manera:

Estudiar de manera precisa el uso, manejo de las matrices en Matlab. Como una
manera de controlar la informacin, almacenamiento y manipulacin del bit que nos
informan en el problema.

Segn los ejercicios realizados en las prcticas se pueden utilizar para solucionar
el problema.

En la etapa de mostrar el tiempo de cada fase, me valdr de una matriz de 10*5 donde

mediante ciclos For ir transformndola en unos a medida que el tiempo transcurre.

En cada fase se controlara de manera independiente donde se podr introducir el


tiempo. y otra funcin donde se pueda realizar la secuencia de las fases una a una
indicando el tiempo restante, e informando cuando el tiempo haya terminado. Esto lo
hare con funciones que se presentan en Matlab.
Para hacer ms amigable y fcil la visualizacin, se pondrn colores para informar en
qu fase va. Esto se realizara con la herramienta e interface que Guide con la cual me
valdr para hacer ms interactivo el proceso
1. ALGORITMO DE LA SOLUCION DEL PROBLEMA.

Algoritmo para solucin propuesta de la matriz de led . Hecho en Matlab


con la interfaz grfica Guide.

Inicio = FASES
Inicio = software propio de Guide.

Leer Cuadro de texto 1


Leer Cuadro de texto 2
Leer Cuadro de texto 3

Funcin Botn Uno

Escribir Fase 1 en curso


Botn Uno = Amarillo
a = Cuadro de texto 1
M= matriz ceros[10,5]
b = M

b(2, 1:3)=1
b(2:8,3)=1
b(8,:) = 1

Escribir b
Escribir M
retro = a;

hacer para i = 1 : a;
hacer para j= 1:5
si retro = 0 entonces
Salir de ciclo
Fin si
retro = retro -1
M(i,j) = retro

Escribir = Cuadro de texto 5 = (M)


Esperar 1 segundo
M(i,j) = 1;
Escribir = Cuadro de texto 5 =M
Esperar 1 segundo
fin para
Fin para

Fin botn Uno

Funcin= Botn Dos


Escribir Fase 2 en curso
Botn dos = azul

c = Cuadro de texto 2
M = matriz ceros(10,5)
d= M;
d(2,:) = (1)
d(2:6,5) = (1);
d(6,:) = (1);
d(7:9,1) = (1);
d(9,:) = (1)
Escribir = Cuadro de texto 5, d
Esperar 5 segundos
retro2 = c;

Hacer para i = 1 a c
Hacer para j= 1 a 5
si retro2 = 0 entonces
Salir del ciclo
Fin si
retro2 = retro2 -1;
M(i,j) = retro2;
Escribir Cuadro de texto 5,M
Esperar 1 segundo
M(i,j) = 1
Escribir Cuadro de texto 5, M
Esperar 1 segundo
fin para
fin para
fin Botn Dos

Funcin Botn Tres


Escribir Fase 3 en curso
Boton Tres = Naranja

e = Cuadro de texto 3
M = Matriz ceros (10,5)
f = M;

f(2,:) = 1
f(6, :) = 1
f(9 ,:) = 1
f(2:9,5)= 1

Escribir Cuadro de texto 5, f


Esperar 5 segundos
Escribir Cuadro de texto 5 ,M

retro3 = e;

Hacer para i = 1 a e;
Hacer para j= 1 a 5
si retro3 = 0 Entonces
Salir del ciclo
Fin si
retro3 = retro3 -1
M(i,j) = retro3;
Escribir Cuadro de texto 5 , M
Esperar 1 segundo
M(i,j) = 1;
Escribir Cuadro de texto 5 ,M
Esperar 1 segundo
Fin para
Fin para
Fin Botn Tres

Funcin Botn Cuatro

Hacer para t = 1 a 3

Elegir caso t ;
Caso 1
Escribir Fase 1 en curso
Botn 1 = Amarillo
a = Cuadro de texto 1
M= matriz ceros[10,5]
b = M

b(2, 1:3)=1
b(2:8,3)=1
b(8,:) = 1

Escribir Cuadro de texto 5 , b


Escribir Cuadro de texto 5 , M
retro = a;

hacer para i = 1 : a;
hacer para j= 1:5
si retro = 0 entonces
Salir de ciclo
Fin si
retro = retro -1
M(i,j) = retro

Escribir = Cuadro de texto 5 = M


Esperar 1 segundo
M(i,j) = 1;
Escribir = Cuadro de texto 5 =M
Esperar 1 segundo
fin para
Fin para

Caso 2

Escribir Fase 2 en curso


Boton dos = azul

c = Cuadro de texto 3
M = matriz ceros(10,5)
d= M;

d(2,:) = (1)
d(2:6,5) = (1);
d(6,:) = (1);
d(7:9,1) = (1);
d(9,:) = (1)
Escribir = Cuadro de texto 5 , d
Esperar 5 segundos
retro2 = c;

Hacer para i = 1 a c
Hacer para j= 1 a 5
si retro2 = 0 entonces
Salir del ciclo
Fin si
retro2 = retro2 -1;
M(i,j) = retro2;
Escribir Cuadro de texto 5 ,M
Esperar 1 segundo
M(i,j) = 1
Escribir Cuadro de texto 5 , M
Esperar 1 segundo
fin para
fin para

Caso 3
Escribir Fase 3 en curso
Boton Tres = Naranja

e = Cuadro de texto 3
M = Matriz ceros (10,5)
f = M;

f(2,:) = 1
f(6, :) = 1
f(9 ,:) = 1
f(2:9,5)= 1

Escribir Cuadro de texto 5 , f


Esperar 5 segundos
Escribir Cuadro de texto 5 ,M

retro3 = e;

Hacer para i = 1 a e;
Hacer para j= 1 a 5
si retro3 = 0 Entonces
Salir del ciclo
Fin si
retro3 = retro3 -1
M(i,j) = retro3;
Escribir Cuadro de texto 5 , M
Esperar 1 segundo
M(i,j) = 1;
Escribir Cuadro de texto 5 ,M
Esperar 1 segundo
Fin para
Fin para

Fin Botn Tres

Fin elegir Caso


Fin hacer para
Fin Botn Cuatro
Fin Fase

2. CODIGO FUENTE EN MATLAB Y GUIDE.

function edit1_CreateFcn(hObject, eventdata, handles)

if ispc && isequal(get(hObject,'BackgroundColor'),


get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');

end

% Cuadro de texto editable donde se coloca el tiempo para la segunda


% Fase 2.**************************************************************

function edit2_Callback(hObject, eventdata, handles)

function edit2_CreateFcn(hObject, eventdata, handles)

% Se cambia el color de fonde del cuadro de texto.


if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end

% Cuadro de texto editable donde se coloca el tiempo para la tercera


% Fase.**************************************************************

function edit3_CreateFcn(hObject, eventdata, handles)

% Se cambia el color de fonde del cuadro de texto.


if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end

% ***********************************************************************
% Funcin del boton de arranque de la primera fase.
%************************************************************************
function pushbutton1_Callback(hObject, eventdata, handles)
% Se al pulsar se cambia de color a amarillo cambia de nombre el
% el boton
set(handles. pushbutton1,'String','Fase 1 en curso ')
set(handles.edit5,'BackGroundColor','yellow')

% se transforma el dato texto en nmero Double ejemplo = 5.2

a = str2double(get(handles.edit2,'String'));

% Se realiza la validacin de los datos para que esten entre 5


% 50

if a <=5
set(handles. text3,'String','Ingrese un numero mayor 5 ')
return
esperar 2 segundos;
end

if a > 50
set(handles. text3,'String','Ingrese un numero mayor 5 ')
return
esperar 2 segundos;
end

% Se crea una matriz de vacia de 10*5


M = zeros(10,5);
b = M;

% Se cambian los valores en las filas o columnas por unos en la matriz

b(2, 1:3)=(1);
b(2:8,3)=(1);
b(8,:) = (1)

% Se da salidad por medio del cuadro de texto edit 5 se transforma


% la variable numerica double a tipo String.

set(handles.edit5,'String',num2str(b));
pause (5)% Se espera 5 segundos

set(handles.edit5,'String',num2str(M));

retro = a;

% Se comienza los ciclos for donde se realiza la cuenta regresiva


% del tiempo tomado en edit 1. y se muestra en edit 5 por medio de la
% matriz vacia cambiando la posicin por el tiempo restante, luego lo
% pasa a " 1" asi hasta cumplir el tiempo.

for i = 1 : a;
for j= 1:5
if retro == 0
return
end
retro = retro -1
M(i,j) = retro;
set(handles.edit5,'String',num2str(M));
pause(1)
M(i,j) = 1;
set(handles.edit5,'String',num2str(M));
pause(1)

end

% Aqui se aplica un reset para dejar todo como estaba

set(handles. pushbutton1,'String','Star Fase 1 ')


set(handles. text3,'String','Termino fase 1 ')
pause(1)
set(handles. text3,'String',' ')

end

% ***********************************************************************
% Funcin del boton de arranque de la Segunda fase.
%************************************************************************

function pushbutton2_Callback(hObject, eventdata, handles)

% Se al pulsar se cambia de color a amarillo cambia de nombre el


% el boton
set(handles. pushbutton2,'String','Fase 2 en curso ')
set(handles.edit5,'BackGroundColor','blue')

c = str2double(get(handles.edit3,'String'));

% Se realiza la validacin de los datos para que esten entre 5


% 50

if c <=5
set(handles. text3,'String','Ingrese un numero mayor 5 ')
return
esperar 2 segundos;
end

if c > 50
set(handles. text3,'String','Ingrese un numero mayor 50 ')
return
esperar 2 segundos;
end

% Se crea una matriz de vacia de 10*5


M = zeros(10,5);
d= M;

% Se cambian los valores en las filas o columnas por unos en la matriz


d(2,:) = (1);
d(2:6,5) = (1);
d(6,:) = (1);
d(7:9,1) = (1);
d(9,:) = (1)
set(handles.edit5,'String',num2str(d))

pause (5);

set(handles.edit5,'String',num2str(d));

retro2 = c;

% Se comienza los ciclos for donde se realiza la cuenta regresiva


% del tiempo tomado en edit 1. y se muestra en edit 5 por medio de la
% matriz vacia cambiando la posicin por el tiempo restante, luego lo
% pasa a " 1" asi hasta cumplir el tiempo.

for i = 1 : c;
for j= 1:5
if retro2 == 0
return
end
retro2 = retro2 -1;
M(i,j) = retro2;
set(handles.edit5,'String',num2str(M));
pause(1)
M(i,j) = 1;
set(handles.edit5,'String',num2str(M));
pause(1)
home
end

% Aqui se aplica un reset para dejar todo como estaba


% Fase 3 en curso a Star Fase 2

set(handles. pushbutton1,'String','Star Fase 2 ')


set(handles. text3,'String','Termino fase 2 ')
pause(1)
set(handles. text3,'String',' ')

end

% ***********************************************************************
% Funcin del boton de arranque de la Tercera fase.
%************************************************************************

function pushbutton3_Callback(hObject, eventdata, handles)

e = str2double(get(handles.edit4,'String'));

% Se realiza la validacin de los datos para que esten entre 5


% 50

if e <=5
set(handles. text3,'String','Ingrese un numero mayor 5 ')
return
esperar 2 segundos;
end

if e > 50
set(handles. text3,'String','Ingrese un numero mayor 5 ')
return
esperar 2 segundos;
end

% Se crea una matriz de vacia de 10*5

M = zeros(10,5);
f = M;
% Se cambian los valores en las filas o columnas por unos en la matriz
f(2,:) = (1);
f(6, :) = (1);
f(9 ,:) = (1);
f(2:9,5) = (1)

set(handles.edit5,'String',num2str(f));
pause (5)
set(handles.edit5,'String',num2str(M));

retro3 = e;

% Se comienza los ciclos for donde se realiza la cuenta regresiva


% del tiempo tomado en edit 1. y se muestra en edit 5 por medio de la
% matriz vacia cambiando la posicin por el tiempo restante, luego lo
% pasa a " 1" asi hasta cumplir el tiempo.

for i = 1 : e;
for j= 1:5
if retro3 == 0
return
end
retro3 = retro3 -1;
M(i,j) = retro3;
set(handles.edit5,'String',num2str(M));
pause(1)
M(i,j) = 1;
set(handles.edit5,'String',num2str(M));
pause(1)
end

% Aqui se aplica un reset para dejar todo como estaba


% Fase 3 en curso a Star Fase 3

set(handles. pushbutton1,'String','Star Fase 3 ')


set(handles. text3,'String','Termino fase 3 ')
pause(1)
set(handles. text3,'String',' ')

end
% ***********************************************************************
% Funcin del boton de arranque de la primera fase hasta la fase tres
%************************************************************************

function pushbutton4_Callback(~, ~, handles)

% ******EL CODIGO ES EL MISMO QUE EN LAS FASES INDIVIDUALES***********

% Por medio de un ciclo for y mediante un selector de caso se


% se realiza el proceso de las tres fases

for t = 1 : 3 ;

switch t ;
case 1 % *****COMIENZA LA FASE 1 ********************

a = str2double(get(handles.edit2,'String'));
M = zeros(10,5);
b = M;

b(2, 1:3)=(1);
b(2:8,3)=(1);
b(8,:) = (1)

set(handles.edit5,'String',num2str(b));
pause (5)
set(handles.edit5,'String',num2str(M));

retro = a;

for i = 1 : a;
for j= 1:5
if retro == 0
break
end
retro = retro -1
M(i,j) = retro;
set(handles.edit5,'String',num2str(M));
pause(1)
M(i,j) = 1;
set(handles.edit5,'String',num2str(M));
pause(1)
home
end

end

set(handles.edit5,'String',' hola 1');


pause (2)

case 2 % *****COMIENZA LA FASE 2 ********************

c = str2double(get(handles.edit3,'String'));
M = zeros(10,5);
d= M;

d(2,:) = (1);
d(2:6,5) = (1);
d(6,:) = (1);
d(7:9,1) = (1);
d(9,:) = (1)
set(handles.edit5,'String',num2str(d))

pause (5);

set(handles.edit5,'String',num2str(d));

retro = c;

for i = 1 : c;
for j= 1:5
if retro == 0
break
end
retro = retro -1
M(i,j) = retro;
set(handles.edit5,'String',num2str(M));
pause(1)
M(i,j) = 1;
set(handles.edit5,'String',num2str(M));
pause(1)
home
end

end

set(handles.edit5,'String',' hola 22');


pause(2)

case 3 % *****COMIENZA LA FASE 3 ********************

e = str2double(get(handles.edit4,'String'));
M = zeros(10,5);
f = M;

f(2,:) = (1);
f(6, :) = (1);
f(9 ,:) = (1);
f(2:9,5) = (1)
set(handles.edit5,'String',num2str(f));
pause (5)
set(handles.edit5,'String',num2str(M));

retro = e;

for i = 1 : e;
for j= 1:5
if retro == 0
break
end
retro = retro -1
M(i,j) = retro;
set(handles.edit5,'String',num2str(M));
pause(1)
M(i,j) = 1;
set(handles.edit5,'String',num2str(M));
pause(1)
home
end

end

set(handles.edit5,'String',' hola 33');


pause(2)

end

end

% ******** TERMINA EL PROGRAMA ***********************************


CONCLUSION

Mediante el proceso tomado se llega a una solucin propuesta con base en los
fundamentos y los conocimientos adquiridos durante el proceso de formacin para que
mediante la construccin de esta solucin individual nos apropiemos de la hiptesis y
propuesta metodologa dispuesta y definida por el grupo para contribuir activamente en
la ejecucin de la propuesta metodolgica y as aportar en la construccin de la
solucin del problema planteado en la consolidacin del informe que recopile de
manera sucinta la solucin al problema planteado.
BIBLIOGRAFIA

TheMathWorks. (2009). [en Lnea]. Extrado el 31 de octubre de2013,


dehttp://www.mathworks.com/help/pdf_doc/matlab/getstart.pdf
Captulo 1. Pginas 26-29

Aprenda matlab 7.0. (2005). [en Lnea] .Extrado el 31 de julio de 2013.


http://mat21.etsii.upm.es/ayudainf/aprendainf/Matlab70/matlab70prime
ro.pdf

Captulo 6. Pginas 63-83

Video Fundamentos de programacin Scilab. Extrado 1 de junio de


2014. https://www.youtube.com/watch?v=rO_EZskFW5Q

Aprenda matlab 7.0. (2005). [en Lnea] .Extrado el 31 de julio de 2013.


http://mat21.etsii.upm.es/ayudainf/aprendainf/Matlab70/matlab70pri
mero.pdf.

Captulo 8. Pginas 108-119

Toolbox matlab [En lnea]. Extrado el 1 de junio de 2014.


http://www.mathworks.es/es/help/database/getting-started-withdatabase-
toolbox.html

Simulink. [En lnea]. Extrado el 2 de junio de 2014.


http://www.mathworks.es/products/simulink/videos.html

S-ar putea să vă placă și