当前位置:首页 >> 工学 >>

迷你计算器设计3


《嵌入式系统》课程设计说明书

迷你计算器设计
院 、 部: 学生姓名: 指导教师: 专 班 学 业: 级: 号:

完成时间:

湖南工学院嵌入式系统课程设计课题任务书
指导教师 课题名称 学生姓名

一、目标 在 GEC210 开发板上使用 QT 设计一个迷你计算器。 二、任务 根据控制要求,明确设计任务,拟定设计方案与进度计划,运用所学的理论知识, 进行迷你计算器原理设计、程序框架设计、创新设计,提高理论知识、系统调试能力、 分析问题与解决问题的能力。主要内容包括: 1. 嵌入式交叉开发环境搭建。 2. Linux 操作系统的移植。 3. 根据需求确定外围模块设计并完成相应驱动开发。 4. 应用程序原理及框架设计。 5. Linux 下应用程序编写及移植。 内 容 及 任 务 6. 系统总体功能调试。 7. 编写设计说明书。 三、要求 1.迷你计算器的功能显示界面示例如下:

2.能够完成十进制数的加、减、乘、除等简单计算。 3.对不正确的表达式能指出其错误。

I

[1]马忠梅,ARM & Linux 嵌入式系统教程(第 3 版)[M] 。北京:北京航空航天大学出版 社,2014 主 要 参 考 资 料 [2]曹忠明,程姚根。从实践中学嵌入式 Linux 操作系统[M] 。北京:电子工业出版社, 2012 [3]宋宝华,Linux 设备驱动开发详解(第二版) [M] 。北京:人民邮电出版社,2010。 [4]韦东山,嵌入式 Linux 应用开发完全手册[M] 。北京:人民邮电出版社,2008 [5] 陆文周,Qt5 开发及实例[M] 。北京:电子工业出版社,2015 [6] Stephen Prata,C Primer Plus[M] 。北京:人民邮电出版社,2005

教 研 室 意 见

教研室主任: (签字) 年 月 日

II





人类已经进入信息化时代。 信息技术日新月异,计算器已经进入人们生活的 各个领域,在现代生活中不可或缺,大型复杂的计算是人类大脑所不能胜任的, 而且较易出错。本文针对 Qt 计算器进行研究、开发运用,在普通计算器的基础 上增加了一些功能,给用户带来了一些方便,提高了运算速率。 本文从项目背景,需求分析,软件设计等方面详细说明了 Qt 科学计算器的 开发设计过程。软件采用 Linux 编写代码,Qt 设计界面来开发,计算器包含简 单计算功能。 计算器具有界面可视化, 方便用户操作等特点,别改计算器的算式提取与存 储功能使得算式计算更加快捷方便, 为用户进行大量复杂科学计算提供了有效保 证。

关键词 :Linux、Qt、算式提取

III





1 前言............................................................. 1 1.1 计算器简介 ................................................. 1

1.2Qt 简介....................................................... 1 1.3 设计要求..................................................... 2 2 系统设计 .......................................................... 2 2.1 2.2 2.3 系统流程图 ................................................. 3 模块划分 ................................................... 3 模块设计 ................................................... 4 2.3.1 2.3.2 2.3.3 界面显示模块.......................................... 4 基本功能模块.......................................... 5 记忆存储功能模块...................................... 8

3 系统运行和测试 .................................................... 9 3.1 Qt 环境搭建................................................. 9

3.2 运行及测试 ................................................. 10 参考文献........................................................... 12 致 谢............................................................. 13 附 录............................................................. 14

1

前言

1.1 计算器简介
早期的计算器为纯手动式,如算盘、算筹等。算盘通常是以滑动的珠子制 成。在西方,算盘在印度阿拉伯数字流行前使用了数个世纪,且在近代中国的记 帐与商务上仍广泛使用。后来出现机械计算器。17 世纪初,西方国家的计算工 具有了较大的发展, 英国数学家纳皮尔发明的"纳皮尔算筹",英国牧师奥却德发 明了计圆柱型对数算尺,这种计算尺不仅能做加减乘除、乘方、开方运算,甚至 可以计算三角函数, 指数函数和对数函数,这些计算工具不仅带动了计算器的发 展, 也为现代计算器发展奠定了良好的基础, 成为现代社会应用广泛的计算工具。 我们日常生活的开支, 大额数字或是多倍小数的计算都需要计算器的帮助, 处理数字的开方、正余弦都离不开计算器。虽然计算器现在价格比较低廉,但是 功能过于简单的不能满足个人需求,功能多的价格昂贵,操作不便不说,很多功 能根本用不到。 所以,我们可以运用自己所学的知识设计一款满足日常需求的简 易计算器。

1.2Qt 简介
Qt 是一个 1991 年由奇趣科技开发的跨平台 C++图形用户界面应用程序开发框架。 它提供给应用程序开发者建立艺术级的图形用户界面所需的所用功能。 它既可以 开发 GUI 程序,也可用于开发非 GUI 程序,比如控制台工具和服务器。Qt 是完 全面向对象的很容易扩展并且允许真正地组件编程。Qt 是面向对象的框架,使 用特殊的代码生成扩展(称为元对象编译器(Meta Object Compiler, moc))以及 一些宏, 易于扩展, 允许组件编程。 2014 年 4 月, 跨平台集成开发环境 Qt Creator 3.1.0 正式发布, 实现了对于 iOS 的完全支持, 新增 WinRT、 Beautifier 等插件, 废弃了无 Python 接口的 GDB 调试支持,集成了基于 Clang 的 C/C++代码模块, 并对 Android 支持做出了调整,至此实现了全面支持 iOS、Android、WP。 Qt 作为面向对象的软件开发工具,它使用信号 Signal/槽 slot 机制来进行对象 间的通信。信号/槽机制是 Qt 的一个中心特征并且也许是 Qt 与其它工具包的最 不相同的部分。 这样便解决了我们在用户界面上的操作如单击某个按钮与内部对 象之间的信号传输。Qt 运行速度快、执行效率高再加上它提供了一组更容易理 解的 GUI 类信号与槽易使用它所拥有的插入体系结构使得我们可以将代码加载 到一个应用中而无需进行重新编译或重链接等优点为我们本次设计增色不少能

1

使图形界面看起来更加舒服使用起来更加灵活。

1.3 设计要求
在程序设计中,通过设计、编制、调试一个模拟计算器的程序,加深对语 法及语义分析原理的理解,并实现对命令语句的灵活运用。在程序设计中,可以 用两种放法解决问题: 一是传统的结构化程序设计方法,二是更先进的面向对象 程序设计方法。 而在面向对象程序设计中关键是如何将问题域中的实体(即日常 所见的概念)抽取出来,作为 C++中的类,而属性与行为作为类的两类要素通常 是必不可少的,甚至还考虑类必须满足的约束,我们选择的是第二类实现方法, 采用结构化与面向对象两种解决问题的方法。 本次设计的计算器应具有以下功能:? (1)能够实现常用的加减乘除功能; (2)能够实现开方,乘方,返回的功能; (3)定能够实现数值的记忆存储功能? (4)当输入错误时,输出错误; (5)可以一键回复计算器到初始状态.

2 程序设计
2

2.1 系统流程图
系统流程图如下所示:

图 1: 系统流程图

2.2 模块划分
程序主要有分为两大部分 : 一是界面显示模块 ;二是逻辑功能实现模块 . 其 中功能模块又分为两部分 .一是基本功能模块,即加减乘除,清除退格功能;另一 部分是额功能模块,包括求开方,乘方,倒数,负数功能和数据存储记忆功能.本人 负责的是数据存储记忆功能,另一组员负责剩余额外功能模块. 模块结构图 2 如下所示:

图 2: 模块结构图

3

2.3 模块设计
2.3.1 界面显示模块 计算器界面如图 3 所示:

图 3:计算器界面

计算器界面主要有一个 widgets 窗口和一个 LineEdit 部件及若干个 Button 部件 组成.界面设计中最重要的是界面的布局.由于大部分窗口部件为按钮.固定义了 一个 button 类,专为生成统一风格的按钮所用. 程序中创建的 Button 类继承自 QToolButton 类.类中方法主要功能为定义按 钮的类型,大小策略及按钮的文本显示方式 . 构造函数中的 setSizePolicy()是 按钮可以水平扩展的方式去填补界面的空缺 .如果没有这个方法,创建不同的按 钮将会显示不同的宽度 . 在 sizeHint() 方法中 . 我们把 height 设置为在默认 QToolButton 大小的基础上增加了 20,设置 width 至少和 height 一样大.这样就 保证了按钮可以按照表格布局一样整齐分布在 Dialog 中.如果没有 sizeHint(), 界面布局将如图 4 所示:

图4
4

2.3.2 基本功能模块 1)当用户单击"+"或"-"按钮时,系统将会调用 additiveOperatorClicked() 槽,additiveOperatorClicked()实现代码如下: void Widget::additiveOperatorClicked() { QPushButton *clickedButton = qobject_cast<QPushButto*>(sender()); QString clickedOperator = clickedButton->text(); double operand = ui->display->text().toDouble(); if (!pendingMultiplicativeOperator.isEmpty()) { if (!calculate(operand, pendingMultiplicativeOperator)) { abortOperation(); return; } ui-> display->setText(QString::number(factorSoFar)); operand = factorSoFar; factorSoFar = 0.0; pendingMultiplicativeOperator.clear(); } if (!pendingAdditiveOperator.isEmpty()) { if (!calculate(operand, pendingAdditiveOperator)) { abortOperation(); return; } ui->display->setText(QString::number(sumSoFar)); } else { sumSoFar = operand; } pendingAdditiveOperator = clickedOperator; waitingForOperand = true; }
5

进入这个函数后,会根据 QPushButton *clickedButton =qobject_cast<QPushButto*>(sender()); 这句代码实现区分+还是-, 并且判断存储前运算符变量中是否有值,如果有则将 前面的值先算出。如果没有,则将第一个值存入,并将运算符存入。并且继续等 待接下来的按钮,或者等号。 2)当我们单击"×"或"÷"按钮时,系统将调用 void Widget::multiplicativeOperatorClicked() { QPushButton *clickedButton = qobject_cast<QPushButton *>(sender()); QString clickedOperator = clickedButton->text(); double operand = ui->display->text().toDouble(); if (!pendingMultiplicativeOperator.isEmpty()) { if (!calculate(operand, pendingMultiplicativeOperator)) { abortOperation(); return; } ui->display->setText(QString::number(factorSoFar)); } else { factorSoFar = operand; } pendingMultiplicativeOperator = clickedOperator; waitingForOperand = true; } 由于乘除的优先级比加减高,当我们进行混合运算,前面是加减法,再进行乘或除 时,比如 2+3*8,这是会计算 3*8=24,将 24 存入。此时计算公式相当于 2+24。 3) 程序中 backspaceClicked()用来实现退格功能.它会移除显示的数值的最 后一位.如果显示屏中为空字符串,按下退格键将会显示 0.waitingForOperand 被设置为 0. 退格功能实现代码如下: void Calculator::backspaceClicked() { if (waitingForOperand) return;

6

QString text = display->text(); text.chop(1); if (text.isEmpty()) { text = "0"; waitingForOperand = true; } display->setText(text); } Clear()函数槽的功能相当于若干次 backspaceClicked()的功能,它会一次清除 显示屏中的数值.功能实现代码如下: void Calculator::clear() { if (waitingForOperand) return; display->setText("0"); waitingForOperand = true; } clearAll()函数会实现计算器的初始化状态,代码如下: void Calculator::clearAll() { sumSoFar = 0.0; factorSoFar = 0.0; pendingAdditiveOperator.clear(); pendingMultiplicativeOperator.clear(); display->setText("0"); waitingForOperand = true; } 4)界面中 sqrt 和 x^2 是通过直接对界面设置值的方式实现, 其代码如下所示 void Widget::sqrClicked() { double sqr = ui->display->text().toDouble(); ui->display->setText(QString::number(sqrt(sqr))); waitingForOperand = true; } void Widget::squareClicked()
7

{ double sqr = ui->display->text().toDouble(); ui->display->setText(QString::number(sqr*sqr)); waitingForOperand = true; } 2.3.3 记忆存储功能模块 功能实现代码如下: void Calculator::clearMemory() { sumInMemory = 0.0; } void Calculator::readMemory() { display->setText(QString::number(sumInMemory)); waitingForOperand = true; } void Calculator::setMemory() { equalClicked(); sumInMemory = display->text().toDouble(); } void Calculator::addToMemory() { equalClicked(); sumInMemory += display->text().toDouble(); } clearMemory()函数可以清除存储的数值,readMemory()函数为显示存储的数 值.setMemory()函数可以用当前显示的数值代替存储的数值,即设置数值功 能,addToMemory(0 函数可以把已经存储的数值加上当前显示的值并存储.

8

3 系统运行和测试

3.1 Qt 环境搭建
本次报告所编写的拼图小游戏是在 LINUX 环境下使用 QT4.6 编写完成的而 LINUX 操作系统我选择的是 red hat 9.0 这就涉及到怎样在 red hat 下安装 QT 和使用 QT 实现计算器的功能。 在 red hat 下搭建 QT 的编译环境如下: 1:下载 Qt 4.5.2 for X11 OpenSource 版。 2:下载过来的是 qt-x11-opensource-src-4.5.2.tar.gz 文件用 tar 命令 解压一下。 tar zxvf qt-x11-opensource-src-4.5.2.tar.gz 3:把这个目录移到/usr/local 目录下?改名为 qt。 4:修改?可以使用 vi 编辑器或者 gedit ?自己目录下的.bash_profile 或 者 .profile 或者是/etc/profile 这个文件?加入下面的代码? QTDIR=/usr/local/qt PATH=$QTDIR/bin:$PATH MANPATH=$QTDIR/man:$MANPATH LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH export QTDIR PATH MANPATH LD_LIBRARY_PATH 5:注销一下用户或者 source .bash_profile 一下?使配置文件生效。 6:进入 QT 的目录?开始编译 ./configure 输入 yes 同意 GPL/QPL 协议。 7:开始 make 这步要一两个小时 make 8:开始 install make install 9:进入 QT 的目录?进入 bin 目录?然后运行 ./designer ?就可以看到图形界 面了. Qt Designer 界面如图 5 所示:

9

图 5: Qt 界面

3.2 运行及测试
在虚拟机 Qt 环境下运行 main.cpp 启动计算器,main.cpp 代码如下: #include <QApplication> #include "calculator.h" int main(int argc, char *argv[]) { QApplication app(argc, argv); Calculator calc; calc.show(); return app.exec(); } ① 输入 5 后按"+"键,再输入 5,按"="键.计算器显示 10.如图 6 所示:

图6

② 输入 5 后按"x^2"键,计算器显示如图 7 所示:

10

图7

在计算器中输入 5/0,结果如图 8 所示。

图8

继续执行多次运算,计算器显示皆无误.关闭计算器,重启再执行运算,运算 也无误,故此可断定程序设计正确.

11

参考文献
[1]曹忠明,程姚根。从实践中学嵌入式 Linux 操作系统[M] 。北京:电子工业出版社,2012 [2]宋宝华,Linux 设备驱动开发详解(第二版) [M] 。北京:人民邮电出版社,2010 [3]韦东山,嵌入式 Linux 应用开发完全手册[M] 。北京:人民邮电出版社,2008 [4]陆文周,Qt5 开发及实例[M] 。北京:电子工业出版社,2015 [5]Stephen Prata,C Primer Plus[M] 。北京:人民邮电出版社,2005 [6]皱思铁,嵌入式 Linux 设计与应用 [M] 。北京:清华大学出版社,2002 [7]郭兵,嵌入式软件开放式集成开发平台体系结构研究[D]。成都:电子科技大学,2002

12





历时将近两周的时间终于将这篇论文写完, 在论文的写作过程中遇到了无数 的困难和障碍, 都在同学和老师的帮助下度过了。尤其要强烈感谢我的课设老师 罗泽老师,他对我进行了无私的指导和帮助,不厌其烦的帮助进行论文的修改和 改进。另外,在校图书馆查找资料的时候,培训的同学也给我提供了很多方面的 支持与帮助。在此向帮助和指导过我的各位老师和同学表示最中心的感谢! 感谢我的同学和朋友, 在我写论文的过程中给予我很多素材以及各个模块的 知识点, 还在论文的撰写和排版灯过程中提供热情的帮助。由于我的学术水平有 限,所写论文难免有不足之处!请老师见谅。

13





附 录:程序清单
Widget.h: #ifndef WIDGET_H #define WIDGET_H #include <QWidget> #include <QPushButton> #include <cmath> #include <QString> #include <QDebug> namespace Ui { class Widget; } class Widget : public QWidget { Q_OBJECT public: explicit Widget(QWidget *parent = 0); ~Widget(); private: Ui::Widget *ui; double sumInMemory; double sumSoFar; double factorSoFar; bool waitingForOperand; QString pendingAdditiveOperator; QString pendingMultiplicativeOperator; public slots: void digitClicked(); void clearall(); void point();
14

void additiveOperatorClicked(); void multiplicativeOperatorClicked(); void abortOperation(); void equalClicked(); void sqrClicked(); void squareClicked(); void backspaceClicked(); bool }; #endif // WIDGET_H Widget.cpp: #include "widget.h" #include "ui_widget.h" Widget::Widget(QWidget *parent) :QWidget(parent),ui(new Ui::Widget) { this->move(190,60); ui->setupUi(this); sumInMemory = 0.0; sumSoFar = 0.0; factorSoFar = 0.0; waitingForOperand = true; pendingAdditiveOperator.clear(); pendingMultiplicativeOperator.clear(); ui->display->setText("0"); connect(ui->bnt_0,SIGNAL(clicked()),this,SLOT(digitClicked())); connect(ui->bnt_1,SIGNAL(clicked()),this,SLOT(digitClicked())); connect(ui->bnt_2,SIGNAL(clicked()),this,SLOT(digitClicked())); connect(ui->bnt_3,SIGNAL(clicked()),this,SLOT(digitClicked())); connect(ui->bnt_4,SIGNAL(clicked()),this,SLOT(digitClicked())); connect(ui->bnt_5,SIGNAL(clicked()),this,SLOT(digitClicked())); connect(ui->bnt_6,SIGNAL(clicked()),this,SLOT(digitClicked())); connect(ui->bnt_7,SIGNAL(clicked()),this,SLOT(digitClicked())); connect(ui->bnt_8,SIGNAL(clicked()),this,SLOT(digitClicked())); calculate(double rightOperand, const QString &pendingOperator);

15

connect(ui->bnt_9,SIGNAL(clicked()),this,SLOT(digitClicked())); connect(ui->bnt_c,SIGNAL(clicked()),this,SLOT(clearall())); connect(ui->bnt_op,SIGNAL(clicked()),this,SLOT(point())); connect(ui->bnt_ad,SIGNAL(clicked()),this,SLOT(additiveOperatorClicke d())); connect(ui->bnt_su,SIGNAL(clicked()),this,SLOT(additiveOperatorClicke d())); connect(ui->bnt_mu,SIGNAL(clicked()),this,SLOT(multiplicativeOperator Clicked())); connect(ui->bnt_di,SIGNAL(clicked()),this,SLOT(multiplicativeOperator Clicked())); connect(ui->bnt_eq,SIGNAL(clicked()),this,SLOT(equalClicked())); connect(ui->bnt_sqr,SIGNAL(clicked()),this,SLOT(sqrClicked())); connect(ui->bnt_squ,SIGNAL(clicked()),this,SLOT(squareClicked())); connect(ui->bnt_back,SIGNAL(clicked()),this,SLOT(backspaceClicked())) ; } Widget::~Widget() { delete ui; } void Widget::digitClicked() { QPushButton *>(sender()); int digitValue = clickedButton->text().toInt(); if (ui->display->text() == "0"&& digitValue == 0.0) return; if (waitingForOperand) *clickedButton = qobject_cast<QPushButton

16

{ ui->display->clear(); waitingForOperand = false; } ui->display->setText(ui->display->text() QString::number(digitValue)); } void Widget::clearall() { sumInMemory = 0.0; sumSoFar = 0.0; factorSoFar = 0.0; waitingForOperand = true; pendingAdditiveOperator.clear(); pendingMultiplicativeOperator.clear(); ui->display->setText("0"); } void Widget::point() { if (waitingForOperand) ui->display->setText("0"); if (!ui->display->text().contains(".")) ui->display->setText(ui->display->text() + tr(".")); waitingForOperand = false; } void Widget::additiveOperatorClicked() { QPushButton *>(sender()); QString clickedOperator = clickedButton->text(); double operand = ui->display->text().toDouble(); if (!pendingMultiplicativeOperator.isEmpty()) { *clickedButton = qobject_cast<QPushButton +

17

if (!calculate(operand, pendingMultiplicativeOperator)) { abortOperation(); return; } ui-> display->setText(QString::number(factorSoFar)); operand = factorSoFar; factorSoFar = 0.0; pendingMultiplicativeOperator.clear(); } if (!pendingAdditiveOperator.isEmpty()) { if (!calculate(operand, pendingAdditiveOperator)) { abortOperation(); return; } ui->display->setText(QString::number(sumSoFar)); } else { sumSoFar = operand; } pendingAdditiveOperator = clickedOperator; waitingForOperand = true; } bool { if (pendingOperator == tr("+")) { sumSoFar += rightOperand; } else if (pendingOperator == tr("-")) { sumSoFar -= rightOperand; } else if (pendingOperator == tr("*")) Widget::calculate(double rightOperand, const QString &pendingOperator)

18

{ factorSoFar *= rightOperand; } else if (pendingOperator == tr("/")) { if (rightOperand == 0.0) { pendingAdditiveOperator.clear(); pendingMultiplicativeOperator.clear(); sumSoFar = 0; factorSoFar = 0; sumInMemory = 0; return false; } factorSoFar /= rightOperand; } return true; } void Widget::multiplicativeOperatorClicked() { QPushButton *clickedButton = qobject_cast<QPushButton *>(sender()); QString clickedOperator = clickedButton->text(); double operand = ui->display->text().toDouble(); if (!pendingMultiplicativeOperator.isEmpty()) { if (!calculate(operand, pendingMultiplicativeOperator)) { abortOperation(); return; } ui->display->setText(QString::number(factorSoFar)); } else { factorSoFar = operand; }

19

pendingMultiplicativeOperator = clickedOperator; waitingForOperand = true; } void Widget::equalClicked() { double operand = ui->display->text().toDouble(); if (!pendingMultiplicativeOperator.isEmpty()) { if (!calculate(operand, pendingMultiplicativeOperator)) { abortOperation(); return; } operand = factorSoFar; factorSoFar = 0.0; pendingMultiplicativeOperator.clear(); } if (!pendingAdditiveOperator.isEmpty()) { if (!calculate(operand, pendingAdditiveOperator)) { abortOperation(); return; } pendingAdditiveOperator.clear(); } else { sumSoFar = operand; } ui->display->setText(QString::number(sumSoFar)); sumSoFar = 0.0; waitingForOperand = true; } void Widget::sqrClicked()

20

{ double sqr = ui->display->text().toDouble(); ui->display->setText(QString::number(sqrt(sqr))); waitingForOperand = true; } void Widget::squareClicked() { double sqr = ui->display->text().toDouble(); ui->display->setText(QString::number(sqr*sqr)); waitingForOperand = true; } void Widget::backspaceClicked() { if (waitingForOperand) return; QString text = ui->display->text(); text.chop(1); if (text.isEmpty()) { text = "0"; waitingForOperand = true; } ui->display->setText(text); } void Widget::abortOperation() { clearall(); ui-> display->setText(tr("####")); Main.cpp: #include "widget.h" #include <QApplication> int main(int argc, char *argv[]) { QApplication a(argc, argv);

21

Widget w; w.show(); return a.exec(); }

22


相关文章:
迷你计算器设计3.doc
迷你计算器设计3 - 单片机C语言课程设计迷你计算器设计... 迷你计算器设计3_工学_高等教育_教育专区。单片机C语言课程设计迷你计算器设计 《嵌入式系统》课程设计说明...
迷你计算器设计.doc
迷你计算器设计 - *** 实践教学 *** 兰州理工大学 计算机与通信学院 2
迷你计算器.doc
迷你计算器 - 1 *** 实践教学 *** 兰州理工大学 计算机与通信学院 2
3《计算器程序设计》课程设计.pdf
3计算器程序设计》课程设计 - 成都理工大学 C#计算器 课程设计报告 (计算机科学与技术学院) 题目: 计算器 班级: 姓名: XX XXX XXX 指导教师: 2013-...
小小计算器的教学设计.doc
小小计算器的教学设计 - 《小小计算器》的教学设计 一、教学内容 教学内容选用北京市海淀区实验教材《小学信息技术第一册》中的“第十五课---小小计 算器” ,...
迷你计算器说明书.doc
迷你计算器说明书 - 目摘前正 1. 2. 3. 4. 5. 6. 总 录 要
迷你计算器说明书.doc
迷你计算器说明书 - 摘 要 本设计要求学生设计、开发出一个简单的计算器。 通过该题目的设计, 培养学生面向对象程序设计的思想,要求学生达到熟练 掌握Java语言的...
(3)计算器软件概要设计说明书要点.doc
(3)计算器软件概要设计说明书要点 - 文档版本 密级 共 14 页 计算机学院程序设计基础实践 所属范围 软件概要设计说明书 拟制: Prepared by 审核: Reviewed ...
项目3 一位加法计算器的设计与制作_图文.ppt
项 目 一位加法计算器设计制作 目录 学习目标 项目要求项目引导 项目学习 制作指导 项目验收 学习目标知识目标了解编码器、译码器、常用显示器、显示译码器...
(3)计算器软件概要设计说明书.doc
3 总体设计 3.1 模块结构标识符 1 2 3 4 模块名称 计算器输入处理模 块 计算器运算处理模 块 计算器显示模块 异常出错提示模块 模块功能描述 键值输入、运算...
3《C#计算器程序设计》课程设计报告.pdf
3《C#计算器程序设计》课程设计报告 - C#程序设计 课程设计报告 (计算机学院) 题目: 计算器的开发与应用 班级: 姓名: 网络 XX 班 XXX XXX 指导教师: 20...
《计算器》课件3_图文.ppt
计算器》课件3 - 四年级数学上册 用计算器计算 本节课我们主要来学习用计算器计 算,同学们要了解计算工具的发展 历史,掌握计算器的使用方法,能 够应用计算器...
c#简易计算器实训(3).doc
c#简易计算器实训(3) - 青岛大学软件技术学院 C 语言程序设计 实训报告 姓名专业班级 指导教师 李奥康 计算机信息管理 12 级计管 1 曲翠璐 二0一 年 月 ...
4第3.3讲计算器的设计与实现_图文.ppt
4第3.3计算器设计与实现 - 复习 ? 通过赋值语句可以将值或表达式赋给变
简易计算器设计电路图.pdf
简易计算器设计电路图 - 1 2 VCC 3 4 CODCIN DCIN 1 P
用计算器计算3PPT_图文.ppt
计算器计算3PPT - 用计算器计算 显示屏 键盘 功能键 运算符号键 数字键 用计算器计算下面各题 38+27= 816÷68×27= 72 ×75 5400 ÷45 120 +4747 1
青岛版数学四上《计算器 》教学设计3.doc
青岛版数学四上《计算器 》教学设计3 - 计算器 一、教学目标: 1.初步认识计算器, 学会用计算器进行一些简单的必要的计算,学会用计算器探 索一些数学规律。 2...
单片机 简易计算器 设计报告3.doc
单片机 简易计算器 设计报告3_理学_高等教育_教育专区。单片机 简易计算器 设计报告 设计报告 1.题目:简易计算器 2. 总体设计:设计键盘输入部分并转换为相应的...
...教版数学四年级上册优质课公开课教学设计用计算器计....doc
小学新沪教版数学四年级上册优质课公开课教学设计计算器计算3. - (沪教版)四年级数学上册教案 用计算器计算 3 教学内容: 用计算器计算 教材解读: 在三年级...
简易计算器-3.doc
简易计算器-3 - 简易计算器-3 import java.awt.*; imp
更多相关标签: