Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Calculadora básica
Autor Mayerly Siachoque
I.
II. INTRODUCTION
(15-6)
(8*5)
uicontrol(p,'style','push','string','=','p
osition',[94 8 35 35]);
uicontrol(p,'style','push','string','+','p
osition',[137 8 35 35]);
uicontrol(p,'style','push','string','1','p
osition',[8 51 35 35]);
uicontrol(p,'style','push','string','2','p
osition',[51 51 35 35]);
uicontrol(p,'style','push','string','3','p
osition',[94 51 35 35]);
uicontrol(p,'style','push','string','-','p
osition',[137 51 35 35]);
uicontrol(p,'style','push','string','4','p
osition',[8 94 35 35]);
uicontrol(p,'style','push','string','5','p
osition',[51 94 35 35]);
uicontrol(p,'style','push','string','6','p
function calculadora osition',[94 94 35 35]);
uicontrol(p,'style','push','string','*','p
% Calculadora básica% osition',[137 94 35 35]);
uicontrol(p,'style','push','string','7','p
figure('MenuBar','none','NumberTitle','off osition',[8 137 35 35]);
','Name','Calculadora',... uicontrol(p,'style','push','string','8','p
'position',[200 200 200 osition',[51 137 35 35]);
280],'resize','off'); uicontrol(p,'style','push','string','9','p
centerfig(gcf); osition',[94 137 35 35]);
uicontrol(p,'style','push','string','/','p
p=uipanel(gcf,'units','pixels','position', osition',[137 137 35 35]);
[10 10 180 200]); set(findobj('parent',p),'callback',@calcFc
n,'FontSize',14);
pantalla=uicontrol('style','text','string'
,'',... % Guarda y evalua los cálculos
'position',[10 230 180 function calcFcn(src,~)
40],'HorizontalAlignment','right',... global cnum ceval
% cnum - Guarda cadena numérica
'FontSize',20,'FontWeight','b','FontName', % ceval - Guarda cadena a evaluar
'Courier'); pres=get(src,'str');
if ~any(strcmp(pres,
% Botón AC (Limpiar) {'*','/','+','-','='}))
uicontrol('style','push','string','AC','po cnum=[cnum,pres];
sition',[60 195 40 15],... set(pantalla,'str',cnum);
elseifany(strcmp(pres,
'backgroundcolor','r','callback',@acFcn,'f {'+','-','*','/'}))
oregroundcolor','w',... ceval=[ceval,cnum,pres];
'fontweight','b'); cnum='';
elseif strcmp(pres,'=')
% Botón OFF (Apagar) ceval=[ceval,cnum];
uicontrol('style','push','string','OFF','p
osition',[100 195 40 15],... set(pantalla,'str',str2DOUBLE(ceval));
ceval=get(pantalla,'str');
'backgroundcolor','b','callback',@offFcn,' cnum='';
foregroundcolor','w',... end
'fontweight','b'); end
end
% "Apaga" la calculadora
function offFcn(~,~)
clearvars('-
global','cnum','ceval');
set(pantalla,'str','');
end
end