您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 其它相关文档 > 计算机组成原理课程设计说明书
《计算机组成原理》课程设计说明书(课题三)专业计算机科学与技术学生姓名XX班级XX学号XX指导教师XX完成日期2010年1月9日信息工程学院目录1课程设计的目的............................................................................................................................................22设计内容与要求............................................................................................................................................23主要技术指标及特点....................................................................................................................................23.1登录窗体...........................................................................................................................................23.2算法实现界面................................................................................................................................54设计小结..................................................................................................................................................36参考文献..........................................................................................................................................................362计算机组成原理算法实现(三)1课程设计的目的本课程设计是在学完本课程教学大纲规定的全部内容、完成所有实践环节的基础上,旨在深化学生学习的计算机组成原理课程基本知识,进一步领会计算机组成原理的一些算法,并进行具体实现,提高分析问题、解决问题的综合应用能力。2设计内容与要求能够实现逻辑运算(逻辑非、逻辑加、逻辑乘、逻辑异)、定点整数的单符号位补码加减运算、定点整数的原码一位乘法运算和浮点数的加减运算。3主要技术指标及特点3.1登录窗体系统进入(主)窗体的设计:菜单需要在输入口令正确后方可激活使用。如下图:口令输入错误时给出重新输入口令的提示,如下图:3三次口令输入错误应该禁止使用,如下图:实现代码如下:publicvoidInitTabbedPane(intnType){intnLength=5;_nCurrent=nType;_Container.removeAll();switch(nType){case0:if(_nPassWord0){_JPanels[0]=newJPanel();_JPanels[0].add(newJLabel(计算机组成原理算法实现(三)));_JPanels[1]=newJPanel();_JPanels[1].add(newJLabel(输入口令:));_JPassword=newJPasswordField();_JPassword.setColumns(30);_JPassword.setEchoChar('*');_JPanels[1].add(_JPassword);_JPanels[2]=newJPanel();_JButton_OK=newJButton(STR_OK);_JPanels[2].add(_JButton_OK);_Container.add(_JPanels[0]);_Container.add(_JPanels[1]);_Container.add(_JPanels[2]);4_Container.setLayout(newBoxLayout(_Container,BoxLayout.PAGE_AXIS));_JButton_OK.addActionListener(this);}else{System.exit(-1);return;}break;case1:_JPanels[0]=newJPanel();for(inti=0;iSTR_TAB_NAME.length;i++){_JButtons[i]=newJButton(STR_TAB_NAME[i]);_JButtons[i].addActionListener(this);_JPanels[0].add(_JButtons[i]);}_Container.add(_JPanels[0]);_Container.setLayout(newBoxLayout(_Container,BoxLayout.PAGE_AXIS));break;输入密码正确之后,进入如下界面:5实现代码如下:publicclassMainCanvasextendsJFrameimplementsActionListener{staticfinalString[]STR_TAB_NAME={逻辑运算,定点整数单符号位补码加减法,定点整数原码乘法,浮点加减法,帮助};staticfinalString[]STR_TAB_DATA={逻辑运算,定点整数的单符号位补码加减运算,定点整数的原码乘法,浮点数的加减运算,帮助};staticString_strInput_1;staticfinalcharCHAR_0='0';staticfinalcharCHAR_1='1';staticchar_char='0';staticString_strData;Container_Container=getContentPane();JButton_JButton_OK;JButton[]_JButtons=newJButton[7];JPanel[]_JPanels=newJPanel[7];JTextField[]_JTextFields=newJTextField[8];JPasswordField_JPassword;int_nCurrent=0;int_nPassWord=3;3.2算法实现界面选择主窗体中“逻辑运算”时进入下图所示的窗体:6在上面的窗体中按“输入”按扭时,将输入焦点设置为最上面的一个文本框上。依次输入两个(或一个)二进制数(如110101或110101)后,按“逻辑非”、“逻辑加”、“逻辑乘”或“逻辑异”按扭中的任一个后,将在第三个文本框中显示对应操作的结果。选择“返回”按扭时回到主窗体。case2:nLength=5;for(inti=0;inLength;i++)_JPanels[i]=newJPanel();_JPanels[0].add(newJLabel(STR_TAB_DATA[0]));_JPanels[1].add(newJLabel(请输入第一个数:));_JTextFields[0]=newJTextField(30);_JPanels[1].add(_JTextFields[0]);_JPanels[2].add(newJLabel(请输入第二个数:));_JTextFields[1]=newJTextField(30);_JPanels[2].add(_JTextFields[1]);_JPanels[3].add(newJLabel(结果为:));_JTextFields[2]=newJTextField(30);_JPanels[3].add(_JTextFields[2]);for(inti=0;iSTR_BUTTOM[0].length;i++){7_JButtons[i]=newJButton(STR_BUTTOM[0][i]);_JButtons[i].addActionListener(this);System.out.println(i);_JPanels[4].add(_JButtons[i]);}for(inti=0;inLength;i++)_Container.add(_JPanels[i]);_Container.setLayout(newBoxLayout(_Container,BoxLayout.PAGE_AXIS));break;publicStringGetResultCompute(intType,Stringstr1,Stringstr2){Stringstr=null;switch(Type){case0://逻辑非str=GetLogicalNot(str1);break;case1://逻辑加str=GetLogicPlus(str1,str2);break;case2://逻辑乘str=GetLogicMultiplication(str1,str2);break;case3://逻辑异str=GetLogicXOR(str1,str2);break;case4://定点加str=GetPointPlus(str1,str2);break;case5://定点减str=GetPointMinus(str1,str2);break;case6://定点乘str=GetPointMultiplication(str1,str2);break;}returnstr;}进行定点整数单符号位补码加减法、定点整数原码乘法、浮点加减法的实现时都是在主窗体选择对应的菜单项后进入对应窗体再进行具体操作。操作时首先选择“输入”按扭输入参与运算的数据,然后8再选操作按扭。各自窗体的参考图如下所示:实现代码如下:case3:nLength=6;for(inti=0;inLength;i++)_JPanels[i]=newJPanel();_JPanels[0].add(newJLabel(STR_TAB_DATA[1]));_JPanels[1].add(newJLabel(请输入第一个数:));_JTextFields[0]=newJTextField(30);_JPanels[1].add(_JTextFields[0]);_JPanels[2].add(newJLabel(请输入第二个数:));_JTextFields[1]=newJTextField(30);_JPanels[2].add(_JTextFields[1]);_JPanels[3].add(newJLabel(加法结果为:));_JTextFields[2]=newJTextField(30);_JPanels[3].add(_JTextFields[2]);_JPanels[4].add(newJLabel(减法结果为:));9_JTextFields[3]=newJTextField(30);_JPanels[4].add(_JTextFields[3]);for(inti=0;iSTR_BUTTOM[1].length;i++){_JButtons[i]=newJButton(STR_BUTTOM[1][i]);_JButtons[i].addActionListener(this);_J
本文标题:计算机组成原理课程设计说明书
链接地址:https://www.777doc.com/doc-3188568 .html