文档库 最新最全的文档下载
当前位置:文档库 › MatlabGUI计算器 - iCauculator

MatlabGUI计算器 - iCauculator

MatlabGUI计算器 - iCauculator
MatlabGUI计算器 - iCauculator

MatlabGUI计算器- iCauculator

GUI名称:GUI计算器-iCauculator

GUI功能:1、四则运算、三角函数运算、鼠标经过GUI有趣的变色

2、把运算结果保存到工作空间

一、设计GUI界面

GUI界面:包含菜单栏(帮助、退出、变色)、静态文本框(GUI标题),编辑文本框(输出窗口)、按钮(功能键),导入图片为GUI背景。

二、设计算法

1.四则运算:通过eval()函数。eval()函数的功能就是将括号内的字符串视为语句并运行。比如:eval('y1=sin(2)')和语句y1=sin(2)等价。通过设置一个公共变量handles.str来保存用户的输入,从而用eval()函数计算出结果显示在输出框上。其中assignin()就是把输出结果保存到工作空间并重新命名为calculator

function jisuan_Callback(hObject, eventdata, handles)

handles.str=num2str(eval(get(handles.shuchu,'string')))

set(handles.shuchu,'string',handles.str)

guidata(hObject, handles);

assignin('base','calculator',str2num(handles.str))

2.三角运算:访问共变量handles.str里的字符串,将其转化为数字,直接用sin()、cos()、tan()函数计算,如:handles.str=num2str(sin(handles.str)),用num2str()目的是把输出转换为字符串以方便输出到输出框上。

% --- Executes on button press in sin.

function sin_Callback(hObject, eventdata, handles)

handles.str=sin(str2num(get(handles.shuchu,'string'))*pi/180);

set(handles.shuchu,'string',num2str(handles.str))

鼠标经过GUI有趣的变色:通过WindowButtonMotionFcn函数来检测鼠标的移动,一旦移动就触发。设置一个公共变量handles.posdata的30行4列的矩阵,里面放各个控件的position属性[x y width heigt],设立一个pos变量用于存放当前鼠标在GUI中位置,如果pos鼠标范围在控件的x~x+ width和y~ y+ heigt范围内就,设置该控件前景色为另一颜色。

function iCalculator_OpeningFcn(hObject, eventdata, handles, varargin) handles.output = hObject;

handles.str=''

handles.posdata=zeros(30,4)

handles.posdata(1,:) = get(handles.num0,'position')

handles.posdata(2,:) = get(handles.num1,'position')

handles.posdata(3,:) = get(handles.num2,'position')

handles.posdata(4,:) = get(handles.num3,'position')

handles.posdata(5,:) = get(handles.num4,'position')

handles.posdata(6,:) = get(handles.num5,'position')

handles.posdata(7,:) = get(handles.num6,'position')

handles.posdata(8,:) = get(handles.num7,'position')

handles.posdata(9,:) = get(handles.num8,'position')

handles.posdata(10,:) = get(handles.num9,'position')

handles.posdata(11,:) = get(handles.dain,'position')

handles.posdata(12,:) = get(handles.jia,'position')

handles.posdata(13,:) = get(handles.jian,'position')

handles.posdata(14,:) = get(handles.cheng,'position')

handles.posdata(15,:) = get(handles.chu,'position')

handles.posdata(16,:) = get(handles.kuohao1,'position')

handles.posdata(17,:) = get(handles.kuohao2,'position')

handles.posdata(18,:) = get(handles.jisuan,'position')

handles.posdata(19,:) = get(handles.qingchu,'position')

handles.posdata(20,:) = get(handles.tuige,'position')

handles.posdata(21,:) = get(handles.sin,'position')

handles.posdata(22,:) = get(handles.cos,'position')

handles.posdata(23,:) = get(handles.tan,'position')

handles.posdata(24,:) = get(handles.shuchu,'position')

beijing=axes('units','normalized','position',[0 0 1 1]);

uistack(beijing,'down');

img=imread('.\1.bmp');

image(img); colormap gray;

set(beijing,'handlevisibility','off','visible','off');

guidata(hObject, handles);

% ---------------------------变色小功能-------------------------------% --- Executes on mouse motion over figure - except title and menu. function jisuanqi_WindowButtonMotionFcn(hObject, eventdata, handles) % hObject handle to jisuanqi (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

pos = get(gcf,'currentpoint')

color=rand(1,3)

set(handles.biaoti,'foregroundcolor',color)

for i=1:24

a=handles.posdata(i,1)

b=handles.posdata(i,3)

maxx=a+b

c=handles.posdata(i,2)

d=handles.posdata(i,4)

maxy=c+d

x=pos(1,1)

y=pos(1,2)

if ( x>a && xc && y < maxy )

switch i

case 1

set(handles.num0,'backgroundcolor',[1 1 0])

case 2

set(handles.num1,'backgroundcolor',[1 1 0])

case 3

set(handles.num2,'backgroundcolor',[1 1 0])

case 4

set(handles.num3,'backgroundcolor',[1 1 0])

case 5

set(handles.num4,'backgroundcolor',[1 1 0])

case 6

set(handles.num5,'backgroundcolor',[1 1 0])

case 7

set(handles.num6,'backgroundcolor',[1 1 0])

case 8

set(handles.num7,'backgroundcolor',[1 1 0])

case 9

set(handles.num8,'backgroundcolor',[1 1 0])

case 10

set(handles.num9,'backgroundcolor',[1 1 0])

case 11

set(handles.dain,'backgroundcolor',[1 1 0])

case 12

set(handles.jia,'backgroundcolor',[1 1 0])

case 13

set(handles.jian,'backgroundcolor',[1 1 0])

case 14

set(handles.cheng,'backgroundcolor',[1 1 0])

case 15

set(handles.chu,'backgroundcolor',[1 1 0])

case 16

set(handles.kuohao1,'backgroundcolor',[1 1 0])

case 17

set(handles.kuohao2,'backgroundcolor',[1 1 0])

case 18

set(handles.jisuan,'backgroundcolor',[1 1 0])

case 19

set(handles.qingchu,'backgroundcolor',[1 1 0])

case 20

set(handles.tuige,'backgroundcolor',[1 1 0])

case 21

set(handles.sin,'backgroundcolor',[1 1 0])

case 22

set(handles.cos,'backgroundcolor',[1 1 0])

case 23

set(handles.tan,'backgroundcolor',[1 1 0])

case 24

set(handles.shuchu,'HorizontalAlignment','left');set(handles.shuchu,'fo regroundcolor',[1 1 0]);

end

else

switch i

case 1

set(handles.num0,'backgroundcolor',[0.5 0.5 0.5])

case 2

set(handles.num1,'backgroundcolor',[0.5 0.5 0.5])

case 3

set(handles.num2,'backgroundcolor',[0.5 0.5 0.5])

case 4

set(handles.num3,'backgroundcolor',[0.5 0.5 0.5])

case 5

set(handles.num4,'backgroundcolor',[0.5 0.5 0.5])

case 6

set(handles.num5,'backgroundcolor',[0.5 0.5 0.5])

case 7

set(handles.num6,'backgroundcolor',[0.5 0.5 0.5])

case 8

set(handles.num7,'backgroundcolor',[0.5 0.5 0.5])

case 9

set(handles.num8,'backgroundcolor',[0.5 0.5 0.5])

case 10

set(handles.num9,'backgroundcolor',[0.5 0.5 0.5])

case 11

set(handles.dain,'backgroundcolor',[0.5 0.5 0.5])

case 12

set(handles.jia,'backgroundcolor',[0.5 0.5 0.5])

case 13

set(handles.jian,'backgroundcolor',[0.5 0.5 0.5])

case 14

set(handles.cheng,'backgroundcolor',[0.5 0.5 0.5]) case 15

set(handles.chu,'backgroundcolor',[0.5 0.5 0.5])

case 16

set(handles.kuohao1,'backgroundcolor',[0.5 0.5 0.5]) case 17

set(handles.kuohao2,'backgroundcolor',[0.5 0.5 0.5]) case 18

set(handles.jisuan,'backgroundcolor',[0.5 0.5 0.5]) case 19

set(handles.qingchu,'backgroundcolor',[0.5 0.5 0.5]) case 20

set(handles.tuige,'backgroundcolor',[0.5 0.5 0.5])

case 21

set(handles.sin,'backgroundcolor',[0.5 0.5 0.5])

case 22

set(handles.cos,'backgroundcolor',[0.5 0.5 0.5])

case 23

set(handles.tan,'backgroundcolor',[0.5 0.5 0.5])

case 24

set(handles.shuchu,'HorizontalAlignment','right');set(handles.shuchu,'f oregroundcolor',[1 1 1]);

end

end

end

即实现鼠标经过变色,其中还涉及到了静态文本(标题)字母变色,编辑文本框(输出显示)的文字变色和文字居右、居左。

3.GUI图片背景:在文件打开时即在OpeningFcn处就画一张图,并用uistack把图片置底。

function iCalculator_OpeningFcn(hObject, eventdata, handles, varargin) ……

beijing=axes('units','normalized','position',[0 0 1 1]);

uistack(beijing,'down');

img=imread('.\1.bmp');

image(img); colormap gray;

set(beijing,'handlevisibility','off','visible','off');

guidata(hObject, handles);

4.菜单栏(帮助、退出、变色):

帮助——调用另一个GUI

function help_Callback(hObject, eventdata, handles)

% hObject handle to help (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

run('help')

退出——close

function tuichu_Callback(hObject, eventdata, handles)

% hObject handle to tuichu (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

close(iCalculator)

变色——so funny

function bianse_Callback(hObject, eventdata, handles)

% hObject handle to bianse (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

for i=1:24

color=rand(1,3)

set(handles.biaoti,'foregroundcolor',[1 1 0])

switch i

case 1

set(handles.num0,'backgroundcolor',rand(1,3))

case 2

set(handles.num1,'backgroundcolor',rand(1,3))

case 3

set(handles.num2,'backgroundcolor',rand(1,3))

case 4

set(handles.num3,'backgroundcolor',rand(1,3))

case 5

set(handles.num4,'backgroundcolor',rand(1,3))

case 6

set(handles.num5,'backgroundcolor',rand(1,3))

case 7

set(handles.num6,'backgroundcolor',rand(1,3))

case 8

set(handles.num7,'backgroundcolor',rand(1,3))

case 9

set(handles.num8,'backgroundcolor',rand(1,3))

case 10

set(handles.num9,'backgroundcolor',rand(1,3))

case 11

set(handles.dain,'backgroundcolor',rand(1,3))

case 12

set(handles.jia,'backgroundcolor',rand(1,3))

case 13

set(handles.jian,'backgroundcolor',rand(1,3))

case 14

set(handles.cheng,'backgroundcolor',rand(1,3))

case 15

set(handles.chu,'backgroundcolor',rand(1,3))

case 16

set(handles.kuohao1,'backgroundcolor',rand(1,3)) case 17

set(handles.kuohao2,'backgroundcolor',rand(1,3)) case 18

set(handles.jisuan,'backgroundcolor',rand(1,3)) case 19

set(handles.qingchu,'backgroundcolor',rand(1,3)) case 20

set(handles.tuige,'backgroundcolor',rand(1,3))

case 21

set(handles.sin,'backgroundcolor',rand(1,3))

case 22

set(handles.cos,'backgroundcolor',rand(1,3))

case 23

set(handles.tan,'backgroundcolor',rand(1,3))

case 24

set(handles.shuchu,'foregroundcolor',rand(1,3));

end

pause(0.1)

end

附源代码(iCalculator_export_lijinhong_ultimate.m):

注意:edit with matlab2012b

function varargout = iCalculator_export_lijinhong_ultimate(varargin) % ICALCULATOR_EXPORT_LIJINHONG_ULTIMATE MATLAB code for

% Last Modified by GUIDE v2.5 09-Jan-2015 20:12:37

% Begin initialization code - DO NOT EDIT

gui_Singleton = 1;

gui_State = struct('gui_Name', mfilename, ...

'gui_Singleton', gui_Singleton, ...

'gui_OpeningFcn',

@iCalculator_export_lijinhong_ultimate_OpeningFcn, ...

'gui_OutputFcn',

@iCalculator_export_lijinhong_ultimate_OutputFcn, ...

'gui_LayoutFcn',

@iCalculator_export_lijinhong_ultimate_LayoutFcn, ...

'gui_Callback', []);

if nargin && ischar(varargin{1})

gui_State.gui_Callback = str2func(varargin{1});

end

if nargout

[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});

else

gui_mainfcn(gui_State, varargin{:});

end

% End initialization code - DO NOT EDIT

% --- Executes just before iCalculator_export_lijinhong_ultimate is made visible.

function iCalculator_export_lijinhong_ultimate_OpeningFcn(hObject, eventdata, handles, varargin)

% This function has no output args, see OutputFcn.

% hObject handle to figure

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% varargin command line arguments to

iCalculator_export_lijinhong_ultimate (see VARARGIN)

% Choose default command line output for

iCalculator_export_lijinhong_ultimate

handles.output = hObject;

handles.str=''

handles.posdata=zeros(30,4)

handles.posdata(1,:) = get(handles.num0,'position')

handles.posdata(2,:) = get(handles.num1,'position')

handles.posdata(3,:) = get(handles.num2,'position')

handles.posdata(4,:) = get(handles.num3,'position')

handles.posdata(5,:) = get(handles.num4,'position')

handles.posdata(6,:) = get(handles.num5,'position')

handles.posdata(7,:) = get(handles.num6,'position')

handles.posdata(8,:) = get(handles.num7,'position')

handles.posdata(9,:) = get(handles.num8,'position')

handles.posdata(10,:) = get(handles.num9,'position')

handles.posdata(11,:) = get(handles.dain,'position')

handles.posdata(12,:) = get(handles.jia,'position')

handles.posdata(13,:) = get(handles.jian,'position')

handles.posdata(14,:) = get(handles.cheng,'position')

handles.posdata(15,:) = get(handles.chu,'position')

handles.posdata(16,:) = get(handles.kuohao1,'position')

handles.posdata(17,:) = get(handles.kuohao2,'position')

handles.posdata(18,:) = get(handles.jisuan,'position')

handles.posdata(19,:) = get(handles.qingchu,'position')

handles.posdata(20,:) = get(handles.tuige,'position')

handles.posdata(21,:) = get(handles.sin,'position')

handles.posdata(22,:) = get(handles.cos,'position')

handles.posdata(23,:) = get(handles.tan,'position')

handles.posdata(24,:) = get(handles.shuchu,'position')

% assignin('base','handles.posdata',handlesposdata)

% Update handles structure

% II=imread('D:\Desktop\1.bmp'); image(II); colormap gray;

beijing=axes('units','normalized','position',[0 0 1 1]);

uistack(beijing,'down');

img=imread('.\1.bmp');

image(img); colormap gray;

set(beijing,'handlevisibility','off','visible','off');

guidata(hObject, handles);

% UIWAIT makes iCalculator_export_lijinhong_ultimate wait for user response (see UIRESUME)

% uiwait(handles.jisuanqi);

% --- Outputs from this function are returned to the command line.

function varargout =

iCalculator_export_lijinhong_ultimate_OutputFcn(hObject, eventdata, handles)

% varargout cell array for returning output args (see VARARGOUT);

% hObject handle to figure

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Get default command line output from handles structure

varargout{1} = handles.output;

% --- If Enable == 'on', executes on mouse press in 5 pixel border.

% --- Otherwise, executes on mouse press in 5 pixel border or over shuchu. function shuchu_ButtonDownFcn(hObject, eventdata, handles) %

% hObject handle to shuchu (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% --- Executes on button press in tuige.

function tuige_Callback(hObject, eventdata, handles)

% hObject handle to tuige (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

n=length(handles.str)

handles.str=handles.str(1:n-1)

set(handles.shuchu,'string',handles.str)

guidata(hObject, handles)

% --- Executes on button press in jisuan.

function jisuan_Callback(hObject, eventdata, handles)

% hObject handle to jisuan (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

handles.str=num2str(eval(get(handles.shuchu,'string')))

set(handles.shuchu,'string',handles.str)

guidata(hObject, handles);

assignin('base','calculator',handles.str)

% --- Executes on button press in jian.

function jian_Callback(hObject, eventdata, handles)

% hObject handle to jian (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) handles.str=strcat(handles.str,'-')

set(handles.shuchu,'string',handles.str)

guidata(hObject, handles);

% --- Executes on button press in chu.

function chu_Callback(hObject, eventdata, handles)

% hObject handle to chu (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) handles.str=strcat(handles.str,'/')

set(handles.shuchu,'string',handles.str)

guidata(hObject, handles);

% --- Executes on button press in cheng.

function cheng_Callback(hObject, eventdata, handles)

% hObject handle to cheng (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) handles.str=strcat(handles.str,'*')

set(handles.shuchu,'string',handles.str)

guidata(hObject, handles);

% --- Executes on button press in jia.

function jia_Callback(hObject, eventdata, handles)

% hObject handle to jia (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) handles.str=strcat(handles.str,'+')

set(handles.shuchu,'string',handles.str)

guidata(hObject, handles);

% --- Executes on button press in num1.

function num1_Callback(hObject, eventdata, handles)

% hObject handle to num1 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) handles.str=strcat(handles.str,'1')

set(handles.shuchu,'string',handles.str)

guidata(hObject, handles);

% --- Executes on button press in num2.

function num2_Callback(hObject, eventdata, handles)

% hObject handle to num2 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA) handles.str=strcat(handles.str,'2')

set(handles.shuchu,'string',handles.str)

guidata(hObject, handles);

% --- Executes on button press in num3.

function num3_Callback(hObject, eventdata, handles)

% hObject handle to num3 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) handles.str=strcat(handles.str,'3')

set(handles.shuchu,'string',handles.str)

guidata(hObject, handles);

% --- Executes on button press in num4.

function num4_Callback(hObject, eventdata, handles)

% hObject handle to num4 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) handles.str=strcat(handles.str,'4')

set(handles.shuchu,'string',handles.str)

guidata(hObject, handles);

% --- Executes on button press in num5.

function num5_Callback(hObject, eventdata, handles)

% hObject handle to num5 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) handles.str=strcat(handles.str,'5')

set(handles.shuchu,'string',handles.str)

guidata(hObject, handles);

% --- Executes on button press in num6.

function num6_Callback(hObject, eventdata, handles)

handles.str=strcat(handles.str,'6')

set(handles.shuchu,'string',handles.str)

guidata(hObject, handles);

% --- Executes on button press in num7.

function num7_Callback(hObject, eventdata, handles)

handles.str=strcat(handles.str,'7')

set(handles.shuchu,'string',handles.str)

guidata(hObject, handles);

% --- Executes on button press in num8.

function num8_Callback(hObject, eventdata, handles)

handles.str=strcat(handles.str,'8')

set(handles.shuchu,'string',handles.str)

guidata(hObject, handles);

% --- Executes on button press in num9.

function num9_Callback(hObject, eventdata, handles)

handles.str=strcat(handles.str,'9')

set(handles.shuchu,'string',handles.str)

guidata(hObject, handles);

% --- Executes on button press in num0.

function num0_Callback(hObject, eventdata, handles)

handles.str=strcat(handles.str,'0')

set(handles.shuchu,'string',handles.str)

guidata(hObject, handles);

% --- Executes on button press in dian.

function dain_Callback(hObject, eventdata, handles)

handles.str=strcat(handles.str,'.')

set(handles.shuchu,'string',handles.str)

guidata(hObject, handles);

% --- Executes on button press in qingchu.

function qingchu_Callback(hObject, eventdata, handles)

% hObject handle to qingchu (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) handles.str=''

set(handles.shuchu,'string',handles.str)

guidata(hObject, handles);

% --- Executes on button press in kuohao1.

function kuohao1_Callback(hObject, eventdata, handles)

% hObject handle to kuohao1 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) handles.str=strcat(handles.str,'(')

set(handles.shuchu,'string',handles.str)

guidata(hObject, handles);

% --- Executes on button press in kuohao2.

function kuohao2_Callback(hObject, eventdata, handles)

% hObject handle to kuohao2 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) handles.str=strcat(handles.str,')')

set(handles.shuchu,'string',handles.str)

guidata(hObject, handles);

% --- Executes on button press in cos.

function cos_Callback(hObject, eventdata, handles)

handles.str=cos(str2num(get(handles.shuchu,'string'))*pi/180);

set(handles.shuchu,'string',num2str(handles.str))

% --- Executes on button press in sin.

function sin_Callback(hObject, eventdata, handles)

handles.str=sin(str2num(get(handles.shuchu,'string'))*pi/180);

set(handles.shuchu,'string',num2str(handles.str))

% --- Executes on button press in tan.

function tan_Callback(hObject, eventdata, handles)

handles.str=tan(str2num(get(handles.shuchu,'string'))*pi/180);

set(handles.shuchu,'string',num2str(handles.str))

% --------------------------------------------------------------------function help_Callback(hObject, eventdata, handles)

% hObject handle to help (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

run('help')

function jisuanqi_CreateFcn(hObject, eventdata, handles)

% hObject handle to help (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

%

---------------------------±?é?D?1|?ü-----------------------------------------

% --- Executes on mouse motion over figure - except title and menu. function jisuanqi_WindowButtonMotionFcn(hObject, eventdata, handles)

% hObject handle to jisuanqi (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

pos = get(gcf,'currentpoint')

color=rand(1,3)

set(handles.biaoti,'foregroundcolor',color)

for i=1:24

a=handles.posdata(i,1)

b=handles.posdata(i,3)

maxx=a+b

c=handles.posdata(i,2)

d=handles.posdata(i,4)

maxy=c+d

x=pos(1,1)

y=pos(1,2)

if ( x>a && xc && y < maxy )

switch i

case 1

set(handles.num0,'backgroundcolor',[1 1 0])

case 2

set(handles.num1,'backgroundcolor',[1 1 0])

case 3

set(handles.num2,'backgroundcolor',[1 1 0])

case 4

set(handles.num3,'backgroundcolor',[1 1 0])

case 5

set(handles.num4,'backgroundcolor',[1 1 0])

case 6

set(handles.num5,'backgroundcolor',[1 1 0])

case 7

set(handles.num6,'backgroundcolor',[1 1 0])

case 8

set(handles.num7,'backgroundcolor',[1 1 0])

case 9

set(handles.num8,'backgroundcolor',[1 1 0])

case 10

set(handles.num9,'backgroundcolor',[1 1 0])

case 11

set(handles.dain,'backgroundcolor',[1 1 0])

case 12

set(handles.jia,'backgroundcolor',[1 1 0])

case 13

set(handles.jian,'backgroundcolor',[1 1 0])

case 14

set(handles.cheng,'backgroundcolor',[1 1 0])

case 15

set(handles.chu,'backgroundcolor',[1 1 0])

case 16

set(handles.kuohao1,'backgroundcolor',[1 1 0])

case 17

set(handles.kuohao2,'backgroundcolor',[1 1 0])

case 18

set(handles.jisuan,'backgroundcolor',[1 1 0])

case 19

set(handles.qingchu,'backgroundcolor',[1 1 0])

case 20

set(handles.tuige,'backgroundcolor',[1 1 0])

case 21

set(handles.sin,'backgroundcolor',[1 1 0])

case 22

set(handles.cos,'backgroundcolor',[1 1 0])

case 23

set(handles.tan,'backgroundcolor',[1 1 0])

case 24

set(handles.shuchu,'HorizontalAlignment','left');set(handles.shuchu,'fo regroundcolor',[1 1 0]);

end

else

switch i

case 1

set(handles.num0,'backgroundcolor',[0.5 0.5 0.5])

case 2

set(handles.num1,'backgroundcolor',[0.5 0.5 0.5])

case 3

set(handles.num2,'backgroundcolor',[0.5 0.5 0.5])

case 4

set(handles.num3,'backgroundcolor',[0.5 0.5 0.5])

case 5

set(handles.num4,'backgroundcolor',[0.5 0.5 0.5])

case 6

set(handles.num5,'backgroundcolor',[0.5 0.5 0.5])

case 7

set(handles.num6,'backgroundcolor',[0.5 0.5 0.5])

case 8

set(handles.num7,'backgroundcolor',[0.5 0.5 0.5])

case 9

set(handles.num8,'backgroundcolor',[0.5 0.5 0.5])

case 10

set(handles.num9,'backgroundcolor',[0.5 0.5 0.5])

case 11

set(handles.dain,'backgroundcolor',[0.5 0.5 0.5])

case 12

set(handles.jia,'backgroundcolor',[0.5 0.5 0.5])

case 13

set(handles.jian,'backgroundcolor',[0.5 0.5 0.5])

case 14

set(handles.cheng,'backgroundcolor',[0.5 0.5 0.5])

case 15

set(handles.chu,'backgroundcolor',[0.5 0.5 0.5])

case 16

set(handles.kuohao1,'backgroundcolor',[0.5 0.5 0.5]) case 17

set(handles.kuohao2,'backgroundcolor',[0.5 0.5 0.5]) case 18

set(handles.jisuan,'backgroundcolor',[0.5 0.5 0.5])

case 19

set(handles.qingchu,'backgroundcolor',[0.5 0.5 0.5]) case 20

set(handles.tuige,'backgroundcolor',[0.5 0.5 0.5])

case 21

set(handles.sin,'backgroundcolor',[0.5 0.5 0.5])

case 22

set(handles.cos,'backgroundcolor',[0.5 0.5 0.5])

case 23

set(handles.tan,'backgroundcolor',[0.5 0.5 0.5])

case 24

set(handles.shuchu,'HorizontalAlignment','right');set(handles.shuchu,'f oregroundcolor',[1 1 1]);

end

end

end

function shuchu_Callback(hObject, eventdata, handles)

% hObject handle to shuchu (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

handles.str=get(hObject,'string');

guidata(hObject, handles);

% Hints: get(hObject,'String') returns contents of shuchu as text

% str2double(get(hObject,'String')) returns contents of shuchu as a double

% --- Executes on button press in pushbutton36.

function pushbutton36_Callback(hObject, eventdata, handles)

% hObject handle to pushbutton36 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% --------------------------------------------------------------------

% ----------------------------2?μ¥à???--------------------------------function bianse_Callback(hObject, eventdata, handles)

% hObject handle to bianse (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

for i=1:24

color=rand(1,3)

set(handles.biaoti,'foregroundcolor',[1 1 0])

switch i

case 1

set(handles.num0,'backgroundcolor',rand(1,3))

case 2

set(handles.num1,'backgroundcolor',rand(1,3))

case 3

set(handles.num2,'backgroundcolor',rand(1,3))

case 4

set(handles.num3,'backgroundcolor',rand(1,3))

case 5

set(handles.num4,'backgroundcolor',rand(1,3))

case 6

set(handles.num5,'backgroundcolor',rand(1,3))

case 7

set(handles.num6,'backgroundcolor',rand(1,3))

case 8

set(handles.num7,'backgroundcolor',rand(1,3))

case 9

set(handles.num8,'backgroundcolor',rand(1,3))

case 10

set(handles.num9,'backgroundcolor',rand(1,3))

case 11

set(handles.dain,'backgroundcolor',rand(1,3))

case 12

set(handles.jia,'backgroundcolor',rand(1,3))

case 13

set(handles.jian,'backgroundcolor',rand(1,3))

case 14

set(handles.cheng,'backgroundcolor',rand(1,3))

case 15

set(handles.chu,'backgroundcolor',rand(1,3))

case 16

set(handles.kuohao1,'backgroundcolor',rand(1,3))

case 17

set(handles.kuohao2,'backgroundcolor',rand(1,3))

case 18

set(handles.jisuan,'backgroundcolor',rand(1,3))

case 19

set(handles.qingchu,'backgroundcolor',rand(1,3))

case 20

set(handles.tuige,'backgroundcolor',rand(1,3))

case 21

set(handles.sin,'backgroundcolor',rand(1,3))

case 22

set(handles.cos,'backgroundcolor',rand(1,3))

case 23

set(handles.tan,'backgroundcolor',rand(1,3))

case 24

set(handles.shuchu,'foregroundcolor',rand(1,3));

end

pause(0.1)

end

% --------------------------------------------------------------------function tuichu_Callback(hObject, eventdata, handles)

% hObject handle to tuichu (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

close(iCalculator_export_lijinhong_ultimate)

% --------------------------------------------------------------------function kaishi_Callback(hObject, eventdata, handles)

% hObject handle to kaishi (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% ----------------------fig??---------------------------------

% --- Creates and returns a handle to the GUI figure.

function h1 = iCalculator_export_lijinhong_ultimate_LayoutFcn(policy) % policy - create a new figure or use a singleton. 'new' or 'reuse'. persistent hsingleton;

if strcmpi(policy, 'reuse') & ishandle(hsingleton)

h1 = hsingleton;

return;

end

appdata = [];

appdata.GUIDEOptions = struct(...

'active_h', 206.023*********, ...

'taginfo', struct(...

'figure', 2, ...

'text', 10, ...

'pushbutton', 37, ...

'edit', 6, ...

'slider', 2, ...

'uitable', 2, ...

'uipanel', 4, ...

'axes', 4, ...

'radiobutton', 2), ...

'override', 0, ...

'release', 13, ...

'resize', 'none', ...

'accessibility', 'callback', ...

'mfile', 1, ...

'callbacks', 1, ...

'singleton', 1, ...

'syscolorfig', 1, ...

'blocking', 0, ...

'lastSavedFile',

'D:\Desktop\iCalculator_export_lijinhong_ultimate.m', ...

'lastFilename', 'D:\Desktop\iCalculator.fig');

https://www.wendangku.net/doc/a510229256.html,stValidTag = 'jisuanqi';

appdata.GUIDELayoutEditor = [];

appdata.initTags = struct(...

'handle', [], ...

'tag', 'jisuanqi');

h1 = figure(...

'Units','characters',...

'PaperUnits','points',...

'Color',[0.941176470588235 0.941176470588235 0.941176470588235],...

'Colormap',[0 0 0.5625;0 0 0.625;0 0 0.6875;0 0 0.75;0 0 0.8125;0 0 0.875;0 0 0.9375;0 0 1;0 0.0625 1;0 0.125 1;0 0.1875 1;0 0.25 1;0 0.3125 1;0 0.375 1;0 0.4375 1;0 0.5 1;0 0.5625 1;0 0.625 1;0 0.6875 1;0 0.75 1;0 0.8125 1;0 0.875 1;0 0.9375 1;0 1 1;0.0625 1 1;0.125 1 0.9375;0.1875 1 0.875;0.25 1 0.8125;0.3125 1 0.75;0.375 1 0.6875;0.4375 1 0.625;0.5 1 0.5625;0.5625 1 0.5;0.625 1 0.4375;0.6875 1 0.375;0.75 1 0.3125;0.8125 1 0.25;0.875 1

0.1875;0.9375 1 0.125;1 1 0.0625;1 1 0;1 0.9375 0;1 0.875 0;1 0.8125 0;1 0.75 0;1 0.6875 0;1 0.625 0;1 0.5625 0;1 0.5 0;1 0.4375 0;1 0.375 0;1 0.3125 0;1 0.25 0;1 0.1875 0;1 0.125 0;1 0.0625 0;1 0 0;0.9375 0 0;0.875 0 0;0.8125 0 0;0.75 0 0;0.6875 0 0;0.625 0 0;0.5625 0 0],...

'IntegerHandle','off',...

'InvertHardcopy',get(0,'defaultfigureInvertHardcopy'),...

'MenuBar','none',...

'Name','iCalculator à??úoê 20130511031',...

'NumberTitle','off',...

'PaperPosition',[7.09200297864125 70.9200297864125 226.94409531652

170.20807148739],...

'PaperSize',[595.275552 841.889736],...

'PaperType','A4',...

'Position',[103.8 41.6923076923077 79.2 45.3846153846154],...

'Renderer',get(0,'defaultfigureRenderer'),...

'RendererMode','manual',...

'Resize','off',...

'WindowButtonMotionFcn',@(hObject,eventdata)iCalculator_export_lijinhon

g_ultimate('jisuanqi_WindowButtonMotionFcn',hObject,eventdata,guidata(h Object)),...

'CreateFcn', {@local_CreateFcn,

@(hObject,eventdata)iCalculator_export_lijinhong_ultimate('jisuanqi_Cre ateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...

'HandleVisibility','callback',...

'UserData',[],...

'Tag','jisuanqi',...

'Visible','on');

appdata = [];

https://www.wendangku.net/doc/a510229256.html,stValidTag = 'num1';

h2 = uicontrol(...

'Parent',h1,...

'Units','characters',...

'BackgroundColor',[0.501960784313725 0.501960784313725

0.501960784313725],...

'Callback',@(hObject,eventdata)iCalculator_export_lijinhong_ultimate('n um1_Callback',hObject,eventdata,guidata(hObject)),...

'FontSize',10,...

'Position',[25.0000000000001 24.2307692307693 10.2 3.92307692307692],... 'String','1',...

'ButtonDownFcn',@(hObject,eventdata)iCalculator_export_lijinhong_ultima te('num1_ButtonDownFcn',hObject,eventdata,guidata(hObject)),...

'Tag','num1',...

'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );

appdata = [];

https://www.wendangku.net/doc/a510229256.html,stValidTag = 'num7';

h3 = uicontrol(...

'Parent',h1,...

'Units','characters',...

'BackgroundColor',[0.501960784313725 0.501960784313725

0.501960784313725],...

'Callback',@(hObject,eventdata)iCalculator_export_lijinhong_ultimate('n um7_Callback',hObject,eventdata,guidata(hObject)),...

'FontSize',10,...

'Position',[25.0000000000001 16.3846153846154 10.2 3.92307692307692],... 'String','7',...

'Tag','num7',...

'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );

appdata = [];

https://www.wendangku.net/doc/a510229256.html,stValidTag = 'cheng';

h4 = uicontrol(...

'Parent',h1,...

'Units','characters',...

'BackgroundColor',[0.501960784313725 0.501960784313725

0.501960784313725],...

'Callback',@(hObject,eventdata)iCalculator_export_lijinhong_ultimate('c heng_Callback',hObject,eventdata,guidata(hObject)),...

'CData',[],...

'Position',[55.4 24.2307692307693 10.2 3.92307692307692],...

'String','X',...

'UserData',[],...

'Tag','cheng',...

'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );

appdata = [];

https://www.wendangku.net/doc/a510229256.html,stValidTag = 'num6';

h5 = uicontrol(...

'Parent',h1,...

'Units','characters',...

'BackgroundColor',[0.501960784313725 0.501960784313725

0.501960784313725],...

'Callback',@(hObject,eventdata)iCalculator_export_lijinhong_ultimate('n um6_Callback',hObject,eventdata,guidata(hObject)),...

'FontSize',10,...

'Position',[45.2000000000004 20.3076923076924 10.2 3.92307692307692],... 'String','6',...

'Tag','num6',...

'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );

简单的四则运算计算器程序

简单的四则运算计算器程序

注:1、报告内的项目或内容设置,可根据实际情况加以调整和补充。 2、教师批改学生实验报告时间应在学生提交实验报告时间后10日内。

附件:程序源代码 // sizheyunsuan.cpp : Defines the entry point for the console application. #include #include const int MAX=100; class Operand{ private: double operS; public: Operand(){} Operand(double opers){ operS=opers; } void set(double opers){ operS=opers; } double get() { return operS;} }; class Operator{ private: char operF; int priority; public: Operator(){} Operator(char operf) { operF=operf; switch(operf) { case'(':priority=-1;break; case'+':priority=0;break; case'-':priority=0;break; case'*':priority=1;break; case'/':priority=1;break; case')':priority=2;break; } } void set(char operf){ operF=operf; } char get(){ return operF;} int getpriority(){ return priority; } };

同步二进制加法计数器

同步二进制加法计数器 F0302011 5030209303 刘冉 计数器是用来累计时钟脉冲(CP脉冲)个数的时序逻辑部件。它是数字系统中用途最广泛的基本部件之一,几乎在各种数字系统中都有计数器。它不仅可以计数,还可以对CP 脉冲分频,以及构成时间分配器或时序发生器,对数字系统进行定时、程序控制操作。此外,还能用它执行数字运算。 1、计数器的特点: 在数字电路中,把记忆输入CP脉冲个数的操作叫做计数,能实现计数状态的电子电路称为计数器。特点为(1)该电路一般为Moore型电路,输入端只有CP信号。 (2)从电路组成看,其主要组成单元是时钟触发器。 2、计数器分类 1) 按CP脉冲输入方式,计数器分为同步计数器和异步计数器两种。 同步计数器:计数脉冲引到所有触发器的时钟脉冲输入端,使应翻转的触发器在外接的CP脉冲作用下同时翻转。 异步计数器:计数脉冲并不引到所有触发器的时钟脉冲输入端,有的触发器的时钟脉冲输入端是其它触发器的输出,因此,触发器不是同时动作。 2) 按计数增减趋势,计数器分为加法计数器、减法计数器和可逆计数器三种。 加法计数器:计数器在CP脉冲作用下进行累加计数(每来一个CP脉冲,计数器加1)。 3) 按数制分为二进制计数器和非二进制计数器两类。 二进制计数器:按二进制规律计数。最常用的有四位二进制计数器,计数范围从0000到1111。 异步加法的缺点是运算速度慢,但是其电路比较简单,因此对运算速度要求不高的设备中,仍不失为一种可取的全加器。同步加法优点是速度快,虽然只比异步加法快千分之一甚至几千分之一秒,但对于计数器来讲,却是十分重要的。所以在这个高科技现代社会中,同步二进制计数器应用十分广泛。 下图为三位二进制加法计数器的电路图。 图1 三位二进制计数器 图示电路为对时钟信号计数的三位二进制加法计数器或称为八进制加法计数器。 该电路的经典分析过程: 1.根据电路写出输出方程、驱动方程和状态方程 2. 求出状态图 3.检查电路能否自启动 4.文字叙述逻辑功能 解:

汇编语言实现十进制加减计算器

课程设计 题目十进制数加减计算器学院计算机科学与技术 专业计算机科学与技术 班级计算机0808班 姓名何爽 指导教师袁小玲 2010 年12 月31 日

课程设计任务书 学生姓名:何爽专业班级:计算机0808班 指导教师:袁小玲工作单位:计算机科学与技术学院 题目: 十进制数加减计算器的设计 初始条件: 理论:学完“汇编语言程序设计”、“课程计算机概论”、“高级语言程序设计”和“数字逻辑”。 实践:计算机学院科学系实验中心提供计算机和软件平台。如果自己有计算机可以在其上进行设计。 要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求) (1)十进制数加减计算器的设计。 (2)程序应有操作提示、输入和输出,界面追求友好,最好是菜单式的界面。 (3)设计若干用例(测试数据),上机测试程序并分析(评价)所设计的程序。 (4)设计报告格式按附件要求书写。课程设计报告书正文的内容应包括: 在正文第一行写课程设计题目; 1.需求说明(要求、功能简述)或问题描述; 2.设计说明(简要的分析与概要设计); 3.详细的算法描述; 4.源程序与执行结果(含测试方法和测试结果); 5.使用说明; 6.总结,包括设计心得(设计的特点、不足、收获与体会)和展望(该 程序进一步改进扩展的设想)。 时间安排: 设计时间一周:周1:查阅相关资料。 周2:系统分析,设计。 周3~4:编程并上机调试。 周5:撰写课程设计报告。 设计验收安排:20周星期五8:00起到计算机学院科学系实验中心进行上机验收。 设计报告书收取时间:20周的星期五下午5:00之前。 指导教师签名: 2010年12月31日 系主任(或责任教师)签名: 2010年12月31日

计算器使用说明书

计算器使用说明书目录 取下和装上计算器保护壳 (1) 安全注意事项 (2) 使用注意事项 (3) 双行显示屏 (7) 使用前的准备 (7) k模式 (7) k输入限度 (8) k输入时的错误订正 (9) k重现功能 (9) k错误指示器 (9) k多语句 (10) k指数显示格式 (10) k小数点及分隔符 (11) k计算器的初始化 (11) 基本计算 (12) k算术运算 (12) k分数计算 (12) k百分比计算 (14) k度分秒计算 (15) kMODEIX, SCI, RND (15) 记忆器计算 (16) k答案记忆器 (16) k连续计算 (17) k独立记忆器 (17) k变量 (18) 科学函数计算 (18) k三角函数/反三角函数 (18) Ch。6 k双曲线函数/反双曲线函数 (19) k常用及自然对数/反对数 (19) k平方根﹑立方根﹑根﹑平方﹑立方﹑倒数﹑阶乘﹑ 随机数﹑圆周率(π)及排列/组合 (20) k角度单位转换 (21) k坐标变换(Pol(x, y)﹐Rec(r, θ)) (21) k工程符号计算 (22) 方程式计算 (22) k二次及三次方程式 (22) k联立方程式 (25) 统计计算 (27)

标准偏差 (27) 回归计算 (29) 技术数据 (33) k当遇到问题时 (33) k错误讯息 (33) k运算的顺序 (35) k堆栈 (36) k输入范围 (37) 电源(仅限MODEx。95MS) (39) 规格(仅限MODEx。95MS) (40) 取下和装上计算器保护壳 ?在开始之前 (1) 如图所示握住保护壳并将机体从保护壳抽出。 ?结束后 (2) 如图所示握住保护壳并将机体从保护壳抽出。 ?机体上键盘的一端必须先推入保护壳。切勿将显示屏的一端先推入保护壳。 使用注意事项 ?在首次使用本计算器前务请按5 键。 ?即使操作正常﹐MODEx。115MS/MODEx。570MS/MODEx。991MS 型计算器也必须至少每3 年更换一次电池。而MODEx。95MS/MODEx。100MS型计算器则须每2 年更换一次电池。电量耗尽的电池会泄漏液体﹐使计算器造成损坏及出现故障。因此切勿将电量耗尽的电池留放在计算器内。 ?本机所附带的电池在出厂后的搬运﹑保管过程中会有轻微的电源消耗。因此﹐其寿命可能会比正常的电池寿命要短。 ?如果电池的电力过低﹐记忆器的内容将会发生错误或完全消失。因此﹐对于所有重要的数据﹐请务必另作记录。 ?避免在温度极端的环境中使用及保管计算器。低温会使显示画面的反应变得缓慢迟钝或完全无法显示﹐同时亦会缩短电池的使用寿命。此外﹐应避免让计算器受到太阳的直接照射﹐亦不要将其放置在诸如窗边﹐取暖器的附近等任何会产生高温的地方。高温会使本机机壳褪色或变形及会损坏内部电路。 ?避免在湿度高及多灰尘的地方使用及存放本机。注意切勿将计算器放置在容易触水受潮的地方或高湿度及多灰尘的环境中。因如此会损坏本机的内部电路。 双行显示屏

Java带计算过程的计算器课程设计报告

保存计算过程的计算器 Java程序设计课程设计报告保存计算过程的计算器 目录 1 概述.............................................. 错误!未定义书签。 1.1 课程设计目的............................... 错误!未定义书签。 1.2 课程设计内容............................... 错误!未定义书签。 2 系统需求分析.......................................... 错误!未定义书签。 2.1 系统目标................................... 错误!未定义书签。 2.2 主体功能................................... 错误!未定义书签。 2.3 开发环境................................... 错误!未定义书签。 3 系统概要设计.......................................... 错误!未定义书签。 3.1 系统的功能模块划分......................... 错误!未定义书签。 3.2 系统流程图................................. 错误!未定义书签。4系统详细设计........................................... 错误!未定义书签。 5 测试.................................................. 错误!未定义书签。 5.1 测试方案................................... 错误!未定义书签。 5.2 测试结果................................... 错误!未定义书签。 6 小结.................................................. 错误!未定义书签。参考文献................................................ 错误!未定义书签。附录................................................ 错误!未定义书签。 附录1 源程序清单...................................... 错误!未定义书签。

十进制4位加法计数器设计

洛阳理工学院 十 进 制 4 位 加 法 计 数 器 系别:电气工程与自动化系 姓名:李奇杰学号:B10041016

十进制4位加法计数器设计 设计要求: 设计一个十进制4位加法计数器设计 设计目的: 1.掌握EDA设计流程 2.熟练VHDL语法 3.理解层次化设计的内在含义和实现 设计原理 通过数电知识了解到十进制异步加法器的逻辑电路图如下 Q3 则可以通过对JK触发器以及与门的例化连接实现十进制异步加法器的设计 设计内容 JK JK触发器的VHDL文本描述实现: --JK触发器描述 library ieee; use ieee.std_logic_1164.all; entity jk_ff is

port( j,k,clk: in std_logic; q,qn:out std_logic ); end jk_ff; architecture one of jk_ff is signal q_s: std_logic; begin process(j,k,clk) begin if clk'event and clk='0' then if j='0' and k='0' then q_s <= q_s; elsif j='0' and k='1' then q_s <= '0'; elsif j='1' and k='0' then q_s <= '1'; elsif j='1' and k='1' then q_s <= not q_s; end if; end if; end process; q <= q_s; qn <= not q_s; end one; 元件门级电路: 与门VHDL文本描述实现: --与门描述library ieee; use ieee.std_logic_1164.all;

实用计算器程序

目录 1.基本功能描述 (1) 2.设计思路 (1) 3.软件设计 (10) 3.1设计步骤 (10) 3.2界面设计 (10) 3.3关键功能实现 (12) 4.结论与心得 (14) 5.思考题 (15) 6.附录 (17) 6.1调试报告 (17) 6.2测试结果 (18) 6.3关键代码 (21)

实用计算器程序 1.基本功能描述 (1)可以计算基本的运算:加法、减法、乘法、除法。 (2)可以进行任意加减乘除混合运算。 (3)可以进行带任意括号的任意混合运算。 (4)可以进行单目科学运算:1/x、+/-、sqrt、x^2、e^2等。 (5)可以对显示进行退格或清除操作。 (6)可以对计算结果自动进行存储,并在用户需要的时候查看,并且可在其基础上进行再运算操作。 (7)界面为科学型和普通型,可在两界面间通过按钮转换。 2.设计思路 计算器属于桌面小程序,适合使用基于对话框的MFC应用程序设计实现。首先要思考的问题是:我的程序需要实现什么样的功能?需要哪些控件?需要哪些变量?需要哪些响应? 我们知道基于对话框的MFC应用程序的执行过程是:初始化、显示对话框,然后就开始跑消息循环列表,当我们在消息循环列表中获取到一个消息后,由相应的消息响应函数执行相应的操作。根据这个流程我们制定出计算器程序的程序框架主流程图,如下页图1所示。 根据程序主流程图可以看出,我们需要一些能响应用户操作的响应函数来实现我们的计算器相应按键的功能。

图1 程序主流程图 说明:所以流程图由深圳市亿图软件有限公司的流程图绘制软件(试用版)绘制,转 存PDF后导出为图片加入到word中的,所以可能会打印效果不好,但确实为本人绘制。

verilog HDL十进制加减法计数器报告

十进制加减法计数器 1.实验要求 (1)在Modelsim环境中编写十进制加减法计数器程序; (2)编译无误后编写配套的测试程序; (3)仿真后添加信号,观察输出结果。 2.设计程序如下 module decade_counter #(parameter SIZE=4) (input clock,load_n,clear_n,updown, input [SIZE-1:0]load_data, output reg [SIZE-1:0]q ); always @(negedge load_n,negedge clear_n,posedge clock) if (!load_n) q<=load_data; else if (!clear_n) q<=0; else //clock??? if(updown) q<=(q+1)%10; else begin if(q==0) q<=9; else q<=q-1; end endmodule 3.测试程序如下 `timescale 1ns/1ns module test_decade_counte; reg clock,load_n,clear_n,updown; reg [3:0]load_data; wire [3:0]q; decade_counter T1(clock,load_n,clear_n,updown,load_data,q); initial begin clock=0;clear_n=0;

#30 clear_n=1;load_n=0;load_data=7; #30 load_n=1;updown=0; #300 updown=1; #300 updown=0; #300 updown=1; #300 $stop; end always #10 clock=~clock; always @(q) $display("At time%t,q=%d",$time,q); endmodule 4.波形如下 5.测试结果如下 # At time 0,q= 0 # At time 30,q= 7 # At time 70,q= 6 # At time 90,q= 5 # At time 110,q= 4 # At time 130,q= 3 # At time 150,q= 2 # At time 170,q= 1 # At time 190,q= 0 # At time 210,q= 9 # At time 230,q= 8 # At time 250,q= 7 # At time 270,q= 6 # At time 290,q= 5 # At time 310,q= 4 # At time 330,q= 3

用计算器计算课件

用计算器计算 教学目标: 1、使学生在具体的活动中了解计算器的结构和基本功能,能正确地运用计算器进行较大数目的一、两步式题的计算。 2、能用计算器探索一些基本的教学规律、解决一些简单的实际问题。初步感受应根据计算的需要灵活确定不同的计算方式。 教学重难点: 1、重点:使学生了解计算器的基本功能,会使用计算器进行大 数目的计算。 2、难点:使学生通过计算探索发现一些简单的数学规律。 教学过程: 一、创设情境,引入计算器 1.在过去,我们有许多计算工具,如算筹,算盘来计算数据,但 随着这计算越来越复杂,我们会用什么来计算呢?(计算器,电子计算机等等)。 (1)小组合作,认识计算器。 今天我们继续探讨计算器的有关知识。 小组交流: (2)在哪见到过计算器?已经了解计算器的哪些知识? (3)计算器的外部特征、构造及基本功能? (4)计算器主要键的作用、功能及操作方法? 2、学生汇报、操作:

(1)对以上问题进行汇报。出示课件:认识计算器上重要按键的名称和作用。 (2)学生尝试开机、关机。 (3)同桌互相说一说自己已经了解的按键的作用,并可以动手试一试。 二、自主探索,会用计算器。 1. 摸着石头过河 (1)学生尝试完成加法: 386+179=。 指名学生汇报输入过程,然后说出结果。电脑课件实际演示计算过程。 (2)尝试计算加法: 4468+1792=, 指名学生汇报输入过程,然后说出结果。电脑课件实际演示计算过程。 (3)用计算器计算平均成绩。学生探讨求平均成绩的方法,然后计算出结果。 2. 龟兔赛跑。 现在我们已经了结了计算器主要按键的作用,接下来我们来见识一下计算器的能力怎么样?男生用计算器计算,然后把算出的结果记在纸上,女生用笔算。 课件出示

实验十进制加减法计数器

实验1 十进制加减法计数器 实验地点:电子楼218 实验时间:2012年10月19日指导老师:黄秋萍、陈虞苏 实验要求:设计十进制加减法计数器,保留测试程序、设计程序、仿真结果 1.设计程序: module count(EN,CLK,DOUT,F,RST); input EN,CLK,F,RST; output [3:0]DOUT; reg [3:0]DOUT; always@(posedge CLK) begin :abc if(EN) if(!RST) if(F) begin :a DOUT=DOUT+1; if(DOUT==10) DOUT=0; end //END A else begin :b DOUT=DOUT-1; if(DOUT==15) DOUT=9; end else DOUT=0; else DOUT=DOUT; end endmodule 2.测试程序 `timescale 10ns/1ns module test_count; wire [3:0] DOUT; reg EN,F,RST,CLK; count M(EN,CLK,DOUT,F,RST); initial begin :ABC CLK=0; EN=0;

RST=1; F=1; #100 EN=1; #200 RST=0; #1500 F=0; #3000 $stop; end always #50 CLK=~CLK; initial $monitor("EN=%b,F=%b,RST=%b,DOUT%D",EN,F,RST,DOUT); endmodule 3.测试结果 # EN=0,F=1,RST=1,DOUT x # EN=1,F=1,RST=1,DOUT x # EN=1,F=1,RST=1,DOUT 0 # EN=1,F=1,RST=0,DOUT 0 # EN=1,F=1,RST=0,DOUT 1 # EN=1,F=1,RST=0,DOUT 2 # EN=1,F=1,RST=0,DOUT 3 # EN=1,F=1,RST=0,DOUT 4 # EN=1,F=1,RST=0,DOUT 5 # EN=1,F=1,RST=0,DOUT 6 # EN=1,F=1,RST=0,DOUT 7 # EN=1,F=1,RST=0,DOUT 8 # EN=1,F=1,RST=0,DOUT 9 # EN=1,F=1,RST=0,DOUT 0 # EN=1,F=1,RST=0,DOUT 1 # EN=1,F=1,RST=0,DOUT 2 # EN=1,F=1,RST=0,DOUT 3 # EN=1,F=1,RST=0,DOUT 4 # EN=1,F=1,RST=0,DOUT 5 # EN=1,F=0,RST=0,DOUT 5 # EN=1,F=0,RST=0,DOUT 4 # EN=1,F=0,RST=0,DOUT 3 # EN=1,F=0,RST=0,DOUT 2 # EN=1,F=0,RST=0,DOUT 1 # EN=1,F=0,RST=0,DOUT 0 # EN=1,F=0,RST=0,DOUT 9 # EN=1,F=0,RST=0,DOUT 8 # EN=1,F=0,RST=0,DOUT 7 # EN=1,F=0,RST=0,DOUT 6 # EN=1,F=0,RST=0,DOUT 5

人教版四年级上册数学《用计算器计算》教案

人教版四年级上册数学《用计算器计算》教案 【教学目标】: 1、让学生初步认识计算器,了解计算器的基本功能,会使用计算器进行大数目的一两步连续运算,并通过计算探索发现一些简单数学规律。 2、让学生体验计算器计算的方便与快捷,进一步培养对数学学习的兴趣,感受计算器在人们生活和工作中的价值。 【教学重点、难点】: 通过计算发现一些简单的数学规律。 【教学准备】: 课件、练习纸、计算器 【教学过程】: 一、游戏导入,激发兴趣。 谈话:同学们,你们玩过“快乐联想”的游戏吗?还想玩吗? 课件依次出示四个提示 提示一 提示二 提示三 提示四 完美 基督教 医院

三三两两 师:你能想到什么? 生1:我猜是十字架。 生2:我想可能是……。 出示提示四 生3:我猜是十。 答对的同学,给予肯定。 师:还想玩吗? 课件依次出示提示 提示一 提示二 提示三 提示四 知错能改 小巧 学习用品 计算工具 生1:我猜是橡皮 生2:我也认为是橡皮。 出示了提示四后 生3:计算器。 表扬答对的同学。 今天我们来学习用计算器计算。

课件出示课题,并板书。 二、自主探究,解决问题。 1、认识计算器。 同学们,你们在哪里见过计算器?(根据同学回答,依次出示课件中的图片) 表述:看来计算器已经深入我们生活中。瞧,老师手中就有一个计算器,你们观察过计算器吗?看老师手中的计算器,你们看到了什么?(根据学生回答,依次板书数字键、符号键、功能键、键盘、显 示器) 指出:有些功能键由于我们所学知识有限,现在还不需要用,今后我们可以再慢慢认识它们。 2、认识开机键、关机键。 用计算器前,先按什么键?(ON键,根据学生回答指出开机键) 用完后呢?(OFF键,指出关机键) 3、尝试用计算器计算。 有多少同学会用计算器?真会?那我们来“试着瞧瞧”。 (课件出示38+27=30×18=) 指名说第一题计算过程。 师:你是怎么输入的? (先输入3和8,再输入加号键,输入3和7和等号键,等于65。) 追问:想知道得数,需要输入什么键?(等号键) 指出:算完后,我们可以口算或者笔算验算计算结果。 4、用计算器计算“试一试”。

10进制加法计数器课程设计

西北师范大学知行学院 数字电子实践论文 课题:74ls161组成的十进制加法计数器 (置数法) 班级:14电本 学号:14040101114 姓名:于能海

指导老师:崔用明 目录 第1章前言 (1) 1.1 摘要 (1) 1.2 设计目的 (2) 1.3 设计内容及要求 (2) 第2章设计方案 (3) ....................................................................................................................... 错误!未定义书签。 2.1主要芯片功能介绍 (3) 2.2.1 四位二进制计数器74161介绍 (3) ............................................................................................................... 错误!未定义书签。 2.2 工作原理 (4) 第3章硬件设计 (4) 3.1 单元电路设计 (4) 3.2 总硬件电路图 (5) 第4章仿真与试验 (6) 4.1 仿真结果 (6) 4.2 调试中遇到的问题 (7) 第5章结论和体会 (8)

第1章前言 1.1 摘要在数字电路技术的课程中,计数器的功能是记忆脉冲的个数,它是数字系统中应用最广泛的基本时序逻辑构件。计数器在微型计算机系统中的主要作用就是为CPU和I/O设备提供实时时钟,以实现定时中断、定时检测、定时扫描、定时显示等定时控制,或者对外部事件进行计数。一般的微机系统和微机应用系统中均配置了定时器/计数器电路,它既可当作计数器作用,又可当作定时器使用,其基本的工作原理就是"减1"计数。计数器:CLK输入脉冲是一个非周期事件计数脉冲,当计算单元为零时,OUT输出一个脉冲信号,以示计数完毕。 本十进制加法计数器是基于74161芯片而设计的, 该十进制加法计数器设计理念是用于工厂流水线上产品计数,自动计数,方便简单。 关键词:74ls161计数器 Introduction In the course of digital circuit technology, the counter memory function is the number of pulses, it is a digital system, the most widely used basic sequential logic components. The main role of the counter in the micro-computer system is to provide real-time clock for the CPU and I / O devices to achieve the timer interrupt, timing detection, scheduled scanning, the timing display timing control, or to count external events. General computer systems and computer application systems are equipped with a timer / counter circuit, it can as a counter action, but also as a timer, the basic working principle is "minus 1" count. Counter: CLK input pulse is a non-periodic event count pulses to zero when calculating unit, OUT outputs a pulse signal, to show the count is completed. The decimal addition counter is designed based on the 74161 chip, the low potential sensor senses when to rely on external signals, sensors in an object within the sensing range, otherwise it is a high potential. Within the sensing range of the sensor when an object is moved out of date, sensor potential from high to low and then high, appears on the edge. Counter is automatically incremented and displayed on a digital control. The decimal addition counters have two seven-segment LED. It can count from 0 to 99 objects, and easy to expand. The design concept of decimal addition counter is used to count on a factory assembly line products, automatic counting, convenient and simple. Keywords:74ls161counter

JAVA保存计算过程的计算器课程设计报告

JAVA保存计算过程的计算器课程设计 报告 1 2020年4月19日

保存计算过程的java计算器 目录 1 概述................................................................................. 错误!未定义书签。 1.1 课程设计目的 ............................................... 错误!未定义书签。 1.2 课程设计内容 ............................................... 错误!未定义书签。 2 系统需求分析 .................................................................... 错误!未定义书签。 2.1 系统目标 ....................................................... 错误!未定义书签。 2.2 主体功能 ....................................................... 错误!未定义书签。 2.3 开发环境 ....................................................... 错误!未定义书签。 3 系统概要设计 .................................................................... 错误!未定义书签。 3.1 系统的功能模块划分.................................... 错误!未定义书签。 3.2 系统流程图 ................................................... 错误!未定义书签。4系统详细设计 .................................................................... 错误!未定义书签。 5 测试 .................................................................................... 错误!未定义书签。 5.1 测试方案 ....................................................... 错误!未定义书签。 5.2 测试结果 ....................................................... 错误!未定义书签。 6 小结 .................................................................................... 错误!未定义书签。参考文献 ............................................................................... 错误!未定义书签。附录.................................................................................... 错误!未定义书签。

用计算器计算(教案)

课题:用计算器计算 教学内容:三年级下册第48—51页内容 教学目标: 1、在运算中了解计算器的结构和基本功能;能正确、熟练地运用计算器进行一、两步的式题运算。 2、能运用计算器解决一些简单的实际问题,探索一些基本的数学规律。 3、培养观察、比较、分析、归纳、概括等能力。 教学过程: 一、尝试运用 师:开学到现在,我们一直在学习计算,下面这些题,哪些你一眼能看出来答案的,直接说的得数。 1、初步尝试 90+56= 45×99≈ 87546—3469= 42×30= 2102÷30≈ 43×365= 师:最后两道看来有困难,列竖式算算。 师:先不报答案,要你自己检验做的对不对,你准备怎么样?试一试用计算器来验算,你们会吗? 师:谁愿意带上你的竖式计算上来展示意下,向大家演示一下你用计算器验算的过程可以吗?(鼓励和表扬) 师:看来,大家还真的会用计算器!想不想“再显身手”? 2、再次尝试:探索用计算器进行混合运算的方法 ①546×28-4276 ②2940 ÷28+763 ③15021-87×99 ④25120÷(449-289) (1)这4题与上面4题相比,有什么不一样?会做吗?请试一试。 (2)交流操作方法。 (3)你有没有感觉到这4道题在计算过程中有什么不一样? (4)用计算器计算③、④该怎么操作呢?我们以第③题为例,谁来介绍介绍?

(突出“记住中间数”、“使用MR键”、倒减等方法。) (①、②两题只要按顺序依次输入,③、④题要先算后一步,③④可以“记住过程得数”,③还可以倒减等) (5)介绍用存储键计算,尝试用“MR键”计算③④题。 二、解决生活问题 师:通过这几道题计算,你感觉计算器怎么样?你们喜欢用计算器吗?下面我们就发挥计算器的作用,用它来完成一个非常有价值的问题。 1、出示:一个水龙头滴水的动态画面。据统计一个没有关紧的水龙头,每天大约滴18千克的水,这些水就这样白白流掉了。 (1)照这样计算一年(按365天计算)要浪费多少千克水? (2)把这些水分别装在饮水桶中(每桶约重15千克)算算大约能装多少桶? (3)你家每月用几桶水?算算这些水够你家用几个月?大约合多少年? 师:目前我国西南大旱,一些地区粮食因为缺水绝收。云南山区的孩子们喝脏水解渴。联系我们刚才的这些计算数据,你想到什么? 三、探索计算规律: 师:既然人们发明了这么好的计算器,我们就应该更好地运用它。让我们来挑战一下自己,探索计算的规律好不好? 1、找出规律后再填写每组的后2题得数,并用计算器检验。 19+9×9= 118+98×9= 1117+987×9= 11116+9876×9= 111115+98765×9= 学生汇报自己的发现。按这样一种规律写下去,下一题该是什么样的? 2、自己探索规律。 1122÷34= 111222÷334= 11112222÷3334= …… 111…1222…2÷333…34= 2001个1 2001个2 2000个3

小学数学五年级上册《用计算器计算》教案

小学数学五年级上册用计算器计算教案 教学目标: 1、使学生在具体的活动中了解计算器的结构和基本功能,能正确地运用计算器进行较大数目的一、两步式题的计算。 2、能用计算器探索一些基本的教学规律、解决一些简单的实际问题。初步感受应根据计算的需要灵活确定不同的计算方式。 教学重难点: 1、重点:使学生了解计算器的基本功能,会使用计算器进行大 数目的计算。 2、难点:使学生通过计算探索发现一些简单的数学规律。 教学过程: 一、创设情境,引入计算器 1.在过去,我们有许多计算工具,如算筹,算盘来计算数据,但 随着这计算越来越复杂,我们会用什么来计算呢?(计算器,电子计算机等等)。 (1)小组合作,认识计算器。 今天我们继续探讨计算器的有关知识。 小组交流: (2)在哪见到过计算器?已经了解计算器的哪些知识? (3)计算器的外部特征、构造及基本功能? (4)计算器主要键的作用、功能及操作方法? 2、学生汇报、操作:

(1)对以上问题进行汇报。出示课件:认识计算器上重要按键的名称和作用。 (2)学生尝试开机、关机。 (3)同桌互相说一说自己已经了解的按键的作用,并可以动手试一试。 二、自主探索,会用计算器。 1. 摸着石头过河 (1)学生尝试完成加法: 386+179=。 指名学生汇报输入过程,然后说出结果。电脑课件实际演示计算过程。 (2)尝试计算加法: 4468+1792=, 指名学生汇报输入过程,然后说出结果。电脑课件实际演示计算过程。 (3)用计算器计算平均成绩。学生探讨求平均成绩的方法,然后计算出结果。 2. 龟兔赛跑。 现在我们已经了结了计算器主要按键的作用,接下来我们来见识一下计算器的能力怎么样?男生用计算器计算,然后把算出的结果记在纸上,女生用笔算。 课件出示

加法计算器

十进制加法计算器设计报告 目录 1、摘要----------------------------------------------------------------------2 2、设计任务和要求--------------------------------------------------------2 3、单片机简要原理--------------------------------------------------------2 3.1 AT89C51的介绍------------------------------------------------3 3.2 单片机最小系统------------------------------------------------6 3.3 七段共阳极数码管---------------------------------------------7 4、硬件设计-----------------------------------------------------------------7 4.1 键盘电路的设计-------------------------------------------------8 4.2 显示电路的设计-----------------------------------------------9 5、软件设计------------------------------------------------------------10 5.1 系统设计------------------------------------------------------10 5.2 显示与按键设计---------------------------------------------12 6、系统调试.-------------------------------------------------------------13 6.1系统初始状态的调试------------------------------------------13 6.2键盘输入功能的调试-----------------------------------------14 6.3系统运算功能的调试------------------------------------------16 7、心得体会与总结---------------------------------------------------------16 参考文献---------------------------------------------------------------------17 附录1 系统硬件电路图--------------------------------------------------18 附录2 程序清单-----------------------------------------------------------19 -----------

JAVA保存计算过程的计算器课程设计报告

J A V A保存计算过程的 计算器课程设计报告-CAL-FENGHAI-(2020YEAR-YICAI)_JINGBIAN

保存计算过程的java计算器 目录 1 概述 ....................................................................................................... 错误!未定义书签。 课程设计目的....................................................................... 错误!未定义书签。 课程设计内容....................................................................... 错误!未定义书签。 2 系统需求分析 .......................................................................................... 错误!未定义书签。 系统目标............................................................................... 错误!未定义书签。 主体功能............................................................................... 错误!未定义书签。 开发环境............................................................................... 错误!未定义书签。 3 系统概要设计 .......................................................................................... 错误!未定义书签。 系统的功能模块划分........................................................... 错误!未定义书签。 系统流程图........................................................................... 错误!未定义书签。4系统详细设计 .......................................................................................... 错误!未定义书签。 5 测试........................................................................................................... 错误!未定义书签。 测试方案............................................................................... 错误!未定义书签。 测试结果............................................................................... 错误!未定义书签。 6 小结........................................................................................................... 错误!未定义书签。参考文献...................................................................................................... 错误!未定义书签。附录 .......................................................................................................... 错误!未定义书签。 附录1 源程序清单 ...................................... 错误!未定义书签。

相关文档
相关文档 最新文档