计算机课程设计说明书(C++,包括代码)

计算机课程设计说明书(C++,包括代码)
计算机课程设计说明书(C++,包括代码)

数学与计算机学院

课程设计说明书

课程名称: 面向对象程序设计-课程设计课程代码:

题目: 计算器

年级/专业/班: 学生姓名: 学号: 开始时间:2011 年 5 月28日

完成时间:2011 年6月 27 日

课程设计成绩:

学习态度及平时成绩(30)技术水平与实际

能力(20)

创新(5)说明书撰写质量(45)

总分

(100)

指导教师签名:年月日

目录

1 引言 (1)

1.1问题的提出 (1)

1.2任务与分析 (1)

2.1加法功能 (2)

2.2减法功能 (2)

2.3乘法功能 (2)

2.4除法功能 (2)

2.5开平方功能 (2)

2.6四则混合运算功能 (2)

2.7显示功能 (2)

3 程序运行平台 (3)

4 总体设计 (3)

5 程序类的说明 (4)

6 模块分析 (6)

6.1加法模块 (6)

6.2减法模块 (7)

6.3乘法模块 (8)

6.4除法模块 (10)

6.5开方模块 (11)

6.6求余模块 (13)

6.7四则混合运算模块 (14)

7 系统测试 (22)

8 结论 (27)

参考文献 (28)

摘要

本课程设计是为了实现一个简单计算器,该计算器类似于windows附件中自

带的计算器。分析了现在人们对数据的处理需求,利用系统平台Windows 2000XP,

程序设计语言采用面向对象程序设计语言C++,利用Visual C++编程实现了该系

统。该系统具有数据录入,数据修改,数据处理,数据显示等功能。用户根据系

统界面提示,输入需要处理的数据,系统根据要求实现加、减、乘、除以及开方等功能。

关键词:计算器;程序设计;C++

1 引言

1.1 问题的提出

在现在这个现代化的经济社会中,经常会涉及到大量数据的处理。这时计算器就显得相当重要,计算器系统允许人们录入大量数据,实现各种运算功能。

本课程设计主要在运算过程中,如果通过计算器来完成,就会减少计算量,该程序即可以在简单计算器键面下进行简单运算,也可以在科学计算器键面下进行高级的科学计算。并且可以分别计算弧度、角度的三角函数的计算等较为复杂的运算。

1.2任务与分析

本课程设计的主要目的是通过计算器的来完成各种功能的运算过程,这样可以减少计算量。该计算器可以实现加、减、乘、除运算以及平方根运算,也可以实现四则混合运算。数据操作既可以实现整数操作也可以实现实数的操作。

2 程序的主要功能

2.1加法功能

可以实现整数和实数的相加运算。

2.2减法功能

可以实现整数和实数的相减运算。

2.3 乘法功能

可以实现整数和实数的乘法运算。

2.4除法功能

可以实现整数和实数的除法运算。

2.5开平方功能

可以实现整数和浮点数的求平方根运算

2.6四则混合运算功能

可以实现整数和实数的四则混合运算。

2.7显示功能

显示用户输入的数据,并显示处理后的结果。

3 程序运行平台

VC++6.0

具体操作如下:建立工程Calculator ,添加相应的源文件Main 和Mixoperation.h ,最后编译,链接,执行。

4 总体设计

由本系统的要求可以得到相应的总体设计模块:

图4.1 计算机总体框架图

计算器

减法运算加法运算求余运算开方运算除法运算乘法运算

显示功能

5 程序类的说明

Operation类的声明

//-----operation类(+ 、-、 *、 / 、remainder、sqrt、mixopertion)定义----- class operation

{

double first;

double second;

public:

void get()

{

cout<<"输入第一操作数:\n";

cin>>first;

cout<<"输入第二操作数:\n";

cin>>second;

cout<<"操作结果:";

} //输入操作数函数

void add()

{

cout<

} //加法定义

void subtract()

{

cout<

} //减法定义

void multiplication()

{

cout<

} //乘法定义

void divide()

{

cout<

cin>>first;

cout<

} //开方运算定义

void FindRemainder()

{

cout <

cout<<" ***********************************************\n";

cout<<" * *\n";

cout<<" * 相加运算 *\n";

cout<<" * *\n";

cout<<" * *\n";

cout<<" ***********************************************\n";

operation a; //调用类

a.get ();

a.add();}

6.2 减法模块

用户根据需要选择减法功能,输入需要处理数据,实现整数和实数的相减功能

减法流程图:

开始

第一操作get()

第二操作数get()

结果显示

结束

图 6.2减法流程图

实现减法功能的主要代码:

void Minus()

{ system("cls");

cout<<" ***********************************************\n";

cout<<" * *\n";

cout<<" * 减法运算 *\n";

cout<<" * *\n";

cout<<" * *\n";

cout<<" ***********************************************\n";

operation b;

b.get ();

b.subtract();

}

6.3 乘法模块

用户根据需要选择乘法功能,输入需要处理数据,实现整数和实数的相减功能

乘法流程图如下:

开始

第一操作get()

第二操作数get()

结果显示

结束

图 6.3 乘法流程图

实现乘法功能的主要代码:

void Multiplication()

{

system("cls");

cout<<" ***********************************************\n";

cout<<" * *\n";

cout<<" * 乘法运算 *\n";

cout<<" * *\n";

cout<<" * *\n";

cout<<" ***********************************************\n";

operation c;

c.get ();

c.multiplication ();

}

6.4 除法模块

用户输入系统功能,输入数据实现整数与实数的除法功能除法流程图:

开始

第一操作get()

第二操作数get()

结果显示

结束

图 6.4 除法流程图实现除法功能主要代码:

void Divide()

{

system("cls");

cout<<" ***********************************************\n";

cout<<" * *\n";

cout<<" * 除法运算 *\n";

cout<<" * *\n";

cout<<" * *\n";

cout<<" ***********************************************\n";

operation d;

d.get();

d.divide();

}

6.5开方模块

用户选择功能,输入处理数据,实现整数和实数的开方功能

开方流程图:

开始

第一操作get()

第二操作数get()

结果显示

结束

图 6.5 开方流程图

实现开方功能主要代码:

void OpenSqrt()

{

system("cls");

cout<<" ***********************************************\n";

cout<<" * *\n"; cout<<" * 开方运算 *\n";

cout<<" * *\n";

cout<<" * *\n";

cout<<" ***********************************************\n";

operation e;

e.square();

}

6.6 求余模块

用户选择功能,输入数据,实现整数的求余

求余流程图:

开始

第一操作get()

第二操作数get()

结果显示

结束

图 6.6 求余流程图实现求余功能的主要代码:

void Remainder()

{

operation f;

f.get();

f.FindRemainder();

}

6.7四则混合运算模块

用户选择功能,输入需要进行处理的多项式(不能输入空格符),实现整数和实数的四则混合运算

混合运算流程图:

开始

输入多项式

处理函数

mixoperation()

结果显示

结束

图 6.7 四则混合运算流程图

实现四则混合运算功能的主要代码:

#include

using namespace std;

int check(char *c) //检查字符串中是否有除了 0-9, +,-,*,/,(,),之外的其他字符,有返回0无则为1,正确输出

{

int k=0;

while(*c!='\0')

{

if((*c>='0' && *c<='9') || *c=='+' ||

*c=='-' || *c=='*' || *c=='/' ||

*c=='.' || *c=='(' || *c==')' )

}

else

{

cout<<"input error, there have the char not the math expression char!\n"; return 0;

}

if(*c=='(')

k++;

else if(*c==')')

k--;

c++;

}

if(k!=0)

{

cout <<"input error, there is not have correct bracket '()'!\n";

return 0;

}

return 1;

}

void move(char *f, double *s,int p) //将当前已经完成运算的运算符消去,同时将数值数组的位置调整以进行下一次运算

{

int i=0,len=strlen(f);

for(i=p; i

f[i]=f[i+1];

s[i]=s[i+1];

}

s[i]=s[i+1];

f[len-1]='\0';

}

double convnum(char *c)// 将输入的字符串先将其小数点以前的部分复制到temp[]数组中

{

double num=0.0;

double a=1.0;

int i=0,p=0,len=0;

char temp[100];

int tempi=0;

int start=0;

int f=1; //正负符号指示器,若为1则为正数,为-1,此数为负数

len=strlen(c);

if(c[0]=='-')

{

start=1;

f=-1;

}

for(i=start; i

{

计算机网络课程设计任务书通信091

山东建筑大学课程设计任务书 指导教师(签字):教研室主任(签字): 年月日

山东建筑大学课程设计指导书 课程名称:数据通信与计算机通信网课程设计 设计题目:某办公楼局域网系统设计 使用班级:通信091指导教师:庄华伟 计算机网络就是利用通信设备和线路将处于不同地理位置的、功能独立的多个计算机系统连接起来,以功能完善的网络软件(即网络通信协议、网络操作系统等)实现网络资源共享和信息传递的系统。开发某办公楼局域网系统设计的总体目标主要是:本课程注重提高通信工程专业学生的网络设计和应用能力。开设课程设计的目的,就是将理论与实践有机结合起来,通过课程设计,使学生进一步巩固和加强对理论的理解和认识,同时提高学生的实际操作能力要求分析出各种需要的功能并进行总结,具体设计步骤: 1.系统需求分析,对系统的各种需要功能进行分析论证。 2.IP地址的分配,采用DHCP技术。 这需要为服务器添加一项DHCP服务,这个服务能自动提供给每台客户机一个安全、唯一的IP地址。具体包括:安装DHCP、创建DHCP作用域、配置DHCP服务、客户端的DHCP网络配置等。 3.网络传输媒体的选择,交换机类型选择 1). 网络传输媒体的选择具体包括:有线传输介质(同轴电缆、双绞线、光纤)和无线传输介质 2). 交换机类型选择,局域网交换机是交换式局域网的核心设备,交换机属于OSI模型中数据链路层设备,它的功能与局域网桥相近,由多端口的网桥发展而来,在这里要选择一款具体类型的交换机,指明型号及相关参数。 4.网络操作系统的选择,采用Windows NT操作系统 Microsoft的Windows NT Server 4.0中文版(以下简称Windows NT Server 4.0)是一个局域网操作系统。它是一个具有很强联网功能的32位操作系统,支持与Windows 9X相同的API接口,能够兼容Windows 9X中的32位应用程序(如Office 95)。它同时具有与Windows 9X类似的用户界面,因此可以减少学习时间与费用。也可以将Windows NT Server 4.0用作个人计算机操作系统,直接在其上运行各种应用软件。 5.DNS以及HTTP服务器的设置 DNS服务器是(Domain Name System或者Domain Name Service)域名系统或者域名服务,域名系统为Internet上的主机分配域名地址和IP地址。用户使用域名地址,该系统就会自动把域名地址转为IP地址。域名服务是运行域名系统的Internet工具。执行域名服务的服务器称之为DNS服务器,通过DNS服务器来应答域名服务的查询。 7.中心机房位置选择,网络布线,网络连通性测试 中心机房位置选择应该选择楼宇中心位置;使用Cisco Packet Tracer软件进行网络布线,模拟网络运行的任何细节,自动捕获各种类型的数据包,分析IP数据包的结构,更加直观的学习网络协议、分析网络性能;采用防火墙技术。 其他各个模块功能分析可以参照这部分格式完成,写在设计说明书中。希望同学们尽量自己能设计出其他模块或者将以上模块重新划分(可以合并或拆分某些模块)。8.总体方案总结,撰写设计说明书。

计算机科学与技术课程设计

一、课程设计题目 二叉平衡排序树 摘要问题描述:从一棵空树开始创建,在创建过程中,保证树的有序性,同时还要针对树的平衡性做些调整。最终要把创建好的二叉排序树转换为二叉平衡排序树。 基本要求:1.创建(插入、调整、改组) 2.输出 开发工具:windows XP操作系统,Microsoft visual c++ 6.0 编译系统; 关键词:C++ ; 二、设计主要目的及意义 目的: 1.熟悉掌握二叉树的基本操作 2.熟悉二叉树的创建(插入、调整、改组),输出以及把二叉排序树转换为二 叉平衡排序树 3.更进一步掌握有关二叉排序树的操作 意义: 软件课程设计是计算机科学与技术专业软件方向的一个重要环节,是语言类课程学习的总结。通过课程设计使我们加深对程序设计的理解,掌握程序开发的基本方法,深化学生面向对象的编程设计思想和新一代程序设计的逻辑思维方式,把课堂上所学到的多个单元串到一起,提高我们在软件设计过程中分析问题和解决问题的实际动手能力,使我们的理论知识和实践技能得到共同发展,最终提高我们解决问题和分析问题的能力。为我们踏上工作岗位之前提供了一次专业研究和项目开发的宝贵实践机会,为今后的工作积累经验。

三、课程设计的过程 主要算法说明: 1.主要数据结构定义 typedef struct node node ; Struct node { Node*parent; Node*left; Node*right; Int balance;//左右子树高度之差 Int key; } 2.主要函数说明 Int scarchNode(int key, node* root, node*parent):按key查找结点 Node* minNode(node* root):树root的最小结点 Node* maxNode(node* root):树root的最大结点 Node* preNode(node* target):求前驱结点 Node* nextNode(node* targer):求后继结点 node* adjustAVL(node* root, node* parent, node* child);调整,保证二叉树的平衡性 Node* insertNode(int key, node* root):插入 Node* deletevode(int key, node* root):删除 Node*createAVL(int* data, int size):创建新的二叉树 Void interordertraverse (node*root):中序遍历 Void preordertraverse(node* root):先序遍历 3.二叉排序树的插入和删除 a.二叉排序树的插入 在二叉排序树插入新结点,要保证插入后的二叉树仍符合二叉排序树的定义 插入过程:若二叉排序树正存在,则返回根结点;

计算机操作系统原理课程设计

上海电力学院 课程设计报告 课程名称:操作系统原理 题目名称:采用可变分区存储管理,模拟主存空间的分配和回收 姓名: xxx 学号: xxx 班级: 2013054 同组姓名: xxx 课程设计时间: 2015.7.6~2015.7.10 评语: 成绩:

课程设计题目 一、设计内容及要求 可变分区存储管理模拟 设计内容:编写程序模拟实现可变分区存储管理。 具体要求: 编写程序模拟实现可变分区存储管理,实现存储管理的基本功能,包括内存的分配、内存的回收、地址变换等。 输入:1、输入新进程名称及使用内存的大小(可创建多个进程); 2、撤销某个指定的进程; 3、某个进程的逻辑地址; 输出:显示每次创建进程或者撤销进程后内存使用的状况,包括每一个进程占据的内存的位置和大小; 计算并输出给定逻辑地址对应的物理地址。 必须分别使用以下分配算法完成模拟: 1、首次适应算法; 2、最佳适应算法; 3、最差适应算法; 小组分工: 程序设计讨论: 程序主体设计: 程序调试及修改: 实验报告设计: 总结: (要求注明小组分工情况) 二、详细设计 1)原理概述 对于可变分区存储管理的内存分配与回收,主要为设计以下几个部分: 1、设计动态输入空闲分区表的程序 2、设计内存分配的程序 3、设计内存回收的程序 首次适应算法: FF算法要求空闲分区表或空闲分区链以地址递增的次序链接。在分配内时,从链首开始查找,直至找到一个大小能满足要求分区为止;然后再按照作业大小,从该分区中划一块内存空间分配给请求者,余下的空闲分区仍留在空闲链中。如从链首直至链尾都不能找到一个能满足要求的分区,则此次分配失败,返回 最佳适应算法: BF算法是指每次为作业分配内存,总是把满足要求、又是最小的空闲分区分配给作业,避免“大材小用”。为了加速寻找,该算法要求所有的空闲分区按其容量以从小到大的顺序形成一空闲分区链。这样,第一次找到能满足要求的空闲区,

计算机组成原理课程设计(微程序)报告

微程序控制器的设计与实现

目录 1设计目的 (3) 2设计内容 (3) 3具体要求 (3) 4设计方案 (3) 5 调试过程 (11) 6 心得体会 (12)

微程序控制器的设计与实现 一、设计目的 1)巩固和深刻理解“计算机组成原理”课程所讲解的原 理,加深对计算机各模块协同工作的认识 2)掌握微程序设计的思想和具体流程、操作方法。 3)培养学生独立工作和创新思维的能力,取得设计与调 试的实践经验。 4)尝试利用编程实现微程序指令的识别和解释的工作 流程 二、设计内容 按照要求设计一指令系统,该指令系统能够实现数据传送,进行加、减运算和无条件转移,具有累加器寻址、寄存器寻址、寄存器间接寻址、存储器直接寻址、立即数寻址等五种寻址方式。 三、设计要求 1)仔细复习所学过的理论知识,掌握微程序设计的思 想,并根据掌握的理论写出要设计的指令系统的微程 序流程。指令系统至少要包括六条指令,具有上述功 能和寻址方式。 2)根据微操作流程及给定的微指令格式写出相应的微 程序 3)将所设计的微程序在虚拟环境中运行调试程序,并给 出测试思路和具体程序段 4)尝试用C或者Java语言实现所设计的指令系统的加 载、识别和解释功能。 5)撰写课程设计报告。 四、设计方案 1)设计思路 按照要求设计指令系统,该指令系统能够实现数据传送,进行加、减运算和无条件转移,具有累加器寻址、寄存器寻

址、寄存器间接寻址、存储器直接寻址、立即数寻址等五种寻址方式。从而可以想到如下指令:24位控制位分别介绍如下: XRD :外部设备读信号,当给出了外设的地址后,输出此信号,从指定外设读数据。 EMWR:程序存储器EM写信号。 EMRD:程序存储器EM读信号。 PCOE:将程序计数器PC的值送到地址总线ABUS上。 EMEN:将程序存储器EM与数据总线DBUS接通,由EMWR 和EMRD决定是将DBUS数据写到EM中,还是 从EM读出数据送到DBUS。 IREN:将程序存储器EM读出的数据打入指令寄存器IR 和微指令计数器uPC。 EINT:中断返回时清除中断响应和中断请求标志,便于下次中断。 ELP: PC打入允许,与指令寄存器的IR3、IR2位结合,控制程序跳转。 MAREN:将数据总线DBUS上数据打入地址寄存器MAR。 MAROE:将地址寄存器MAR的值送到地址总线ABUS上。 OUTEN:将数据总线DBUS上数据送到输出端口寄存器OUT 里。 STEN:将数据总线DBUS上数据存入堆栈寄存器ST中。 RRD:读寄存器组R0-R3,寄存器R?的选择由指令的最低两位决定。 RWR:写寄存器组R0-R3,寄存器R?的选择由指令的最低两位决定。 CN:决定运算器是否带进位移位,CN=1带进位,CN=0不带进位。 FEN:将标志位存入ALU内部的标志寄存器。 X2:X1:X0: X2、X1、X0三位组合来译码选择将数据送到DBUS上的寄存器。具体如下: X2 X1 X0 输出寄存器 0 0 0 IN_OE 外部输入门 0 0 1 IA_OE 中断向量 0 1 0 ST_OE 堆栈寄存器 0 1 1 PC_OE PC寄存器

C语言课程设计参考模板

C语言课程设计 题目 XXXXXXX 二级学院电子与信息工程学院 班级 1X级XXXXX 专业X班 姓名 XXX 学号 XXX 指导教师梁建勇 2016年07月01日

通讯录管理系统 电子与信息工程学院C语言课程设计任务书

2014022061 刘言松 通讯录管理系统 刘言松安康学院 2014级电子与信息工程系电子信息工程2班 摘要:通讯录管理系统是生活中不可缺少的部分编写了一个通讯录管理系统是十分必要的。本程序设计具有通讯信息的输入,进行保存、查找、删除等功能,操作界面简洁美观,易于操作。程序用了条件、循环、结构体等知识点。可运用于小的管理软件。软件运用菜单实现交互式管理,用户轻松的按键既可实现对软件的操作,操作简单易懂,功能丰富,可以很好的满足的需要。通过对通讯录管理系统的设计,进一步理解和掌握C语言这门课程的知识点,能够熟练的调用各种函数,把各种C语句有机的结合起来,提高自己C语言程序设计的能力,为今后解决实际问题打下良好基础。 关键词:通讯录管理系统;结构体;条件语句;循环结构;指针 1引言 学习了C语言程序设计这门课程之后,使我对程序设计有了一定的了解,为了熟练掌握C 语言的语法特点、及其数据结构,提高自身编写程序的能力。通过课程设计实现理论知识与实际情况的结合,使所学知识能够在现实社会中起到一定的作用,防止所编写的程序脱离实际,让程序可以更好的发挥作用,以便减轻实际工作中所遇到的繁琐步骤,提高现实工作中的效率。此外通过课程设计提高逻辑思考能力和解决实际问题的能力。程序设计中,语句的语法和常量变量的定义都有严格的要求,有时输了一个中文标点、打错了一个字母,编译就不通过,程序无法正常运行。因此,程序设计初学阶段,学生经常会犯这样的错误,可能要通过几次乃至十多次的反复修改、调试,才能成功,但这种现象会随着学习的深入而慢慢改观。这当中就有一个严谨治学、一丝不苟的科学精神的培养,又有一个不怕失败、百折不挠品格的锻炼。通讯录信息管理系统是生活中不可缺少的部分编写了一个通讯录信息管理系统是十分必要的。通过程序设计,达到理论与实际应用相结合,提高对信息管理系统的分析能力,能够根据实际应用,初步实现系统功能模块及算法的设计,通过编程基本实现信息管理系统。 2设计方案 2.1设计思路 建立一个函数,用来添加、显示、删除、查询、修改等信息,完成通讯录的功能。主函数可以调用五个子函数,分别完成添加记录、显示记录、删除记录、查询记录、修改记录、退出系统等功能。在主函数中可以以1、2、3、4、5、数字键分别可以执行某个功能模块 3程序设计与实施 3.1根据该流程图定义数据类型建立函数 typedef struct { char score; //编号 char name[10]; //姓名 char num[15]; //电话号码

软件综合课程设计任务书

软件综合课程设计任务书

————————————————————————————————作者: ————————————————————————————————日期: ?

软件综合课程设计任务书 一、课程设计的目的、要求 目的:软件综合课程设计是一个综合性的设计型实验教学环节,旨在使学生通过软件开发的实践训练,进一步掌握设计开发软件的方法与技术,学会数据的组织方法,提高软件开发的实际能力,培养创造性的工程设计能力和分析、解决问题的能力。 实现以下目标: 1.深化已学的理论知识,完成理论到实践的转化 通过软件开发的实践,进一步加深对软件工程方法和技术的了解,将所学的理论知识运用于开发实践中,并在实践中逐步掌握软件工具的使用。 2. 提高分析和解决实际问题的能力 课程设计不仅是一次软件工程实践的模拟训练,同时通过软件开发的实践,积累经验,提高分析问题和解决问题的能力; 3. 培养“开拓创新”能力 大力提倡和鼓励在开发过程中使用新方法、新技术,激励学生实践的积极性和创造性,开拓思路,设计新算法、新创意,培养创造性的工程设计能力; 要求:学生组成开发小组(2~4人),以小组为单位选择并完成一个规模适度的软件项目,在教师的指导下以软件设计为中心,独立完成从需求分析到软件测试的开发过程。 二、设计步骤安排 1.确定课题 由教师命题并给出各课题的具体需求,学生根据课题涉及的知识领域及自己对该领域的熟悉程度和对该课题的兴趣,选择课题,经教师调整审定后确定; 2. 需求分析 建立系统的分析模型,这是系统开发的重要阶段。主要工作是: 分析确定系统应具备的功能、性能,并从经济上、技术上进行可行性分析,建立“需求分析模型”确定开发计划。 3. 软件设计 具体工作是:对系统的分析模型进行修改、细化,进行系统的结构设计,用户界面设计,数据管理部件设计(若系统涉及到数据库,要对数据库结构进行设计) 4. 编码与测试 根据项目的应用领域及语言的特点,选择编程语言进行编码,要求给出程序的详细注释(包括模块名、模块功能、中间过程的功能及变量说明); 由开发小组进行除验收测试以外的测试工作(包括单元测试、组装测试与系统(确认)测试)。所有测试过程都要求采用综合测试策略,先进行静态分析,再进行动态测试。要求制定测试计划、记录测试过程与结果、保留测试用例、写出测试报告。 5. 验收测试 由教师组织验收测试的实施,内容包括:系统能否正确运行,实际系统与设计方案是否一致,是否实现了需求所确定的功能与性能,系统设计有无特色,算法有无创新,系统结构是否合理、新颖,系统界面是否友好、美观,操作是否简单,使用是否方便。6.总结和整理课程设计报告

计算机控制技术课程设计报告

《计算机控制技术》课程设计单闭环直流电机调速系统

1 设计目的 计算机控制技术课程是集微机原理、计算机技术、控制理论、电子电路、自动控制系统、工业控制过程等课程基础知识一体的应用性课程,具有很强的实践性,通过这次课程设计进一步加深对计算机控制技术课程的理解,掌握计算机控制系统硬件和软件的设计思路,以及对相关课程理论知识的理解和融会贯通,提高运用已有的专业理论知识分析实际应用问题的能力和解决实际问题的技能,培养独立自主、综合分析与创新性应用的能力。 2 设计任务 2.1 设计题目 单闭环直流电机调速系统 实现一个单闭环直流电机调压调速控制,用键盘实现对直流电机的起/停、正/反转控制,速度调节要求既可用键盘数字量设定也可用电位器连续调节,需要有速度显示电路。扩展要求能够利用串口通信方式在PC上设置和显示速度曲线并且进行数据保存和查看。 2.2 设计要求 2.2.1 基本设计要求 (1)根据系统控制要求设计控制整体方案;包括微处理芯片选用,系统构成框图,确定参数测围等; (2)选用参数检测元件及变送器;系统硬件电路设计,包括输入接口电路、逻辑电路、操作键盘、输出电路、显示电路; (3)建立数学模型,确定控制算法; (4)设计功率驱动电路; (5)制作电路板,搭建系统,调试。 2.2.2 扩展设计要求 (1)在已能正常运行的微计算机控制系统的基础上,通过串口与PC连接; (2)编写人机界面控制和显示程序;编写微机通信程序;实现人机实时交互。

3方案比较 方案一:采用继电器对电动机的开或关进行控制。这个方案的优点是电路较为简单,缺点是继电器的响应时间慢、机械结构易损坏、寿命较短、可靠性不高。 方案二:采用电阻网络或数字电位器调整电动机的分压,从而达到调速的目的。但是电阻网络只能实现有级调速,而数字电阻的元器件价格比较昂贵。更主要的问题在于一般电动机的电阻很小,但电流很大;分压不仅会降低效率,而且实现很困难。 方案三:采用由电力电子器件组成的H 型PWM 电路。用单片机控制电力电子器件使之工作在占空比可调的开关状态,精确调整电动机转速。这种电路由于工作在电力电子器件的饱和截止模式下,效率非常高;H 型电路保证了可以简单地实现转速和方向的控制;电子开关的速度很快,稳定性也极佳,是一种广泛采用的PWM 调速技术。 兼于方案三调速特性优良、调整平滑、调整围广、过载能力大,因此本设计采用方案三。 4单闭环直流电机调速系统设计 4.1单闭环调速原理 4.1.1 闭环系统框图 4.1.2 调速原理 直流电机转速有: 常数Ke Ka 不变,Ra 比较小。 所以调节Ua 就能调节n 。 n n I K R K U K R I U n d d a e e d ?-=Φ -Φ=-=0φa a a U I U ≈-

计算机操作系统课程设计

计算机操作系统课程设计 班级:计091-1 姓名: 学号: } 使用语言:C++ 指导老师: 学院:

一、] 二、系统要求 1、实验目的 通过一个简单多用户文件系统的设计,加深理解文件系统的内部功能及内部实现。 2、实验内容 为linux系统设计一个简单的二级文件系统。要求做到以下几点: (1)可以实现下列几条命令(至少4条); login 用户登陆 dir 列文件目录 create 创建文件 ` delete 删除文件 open 打开文件 close 关闭文件 read 读文件 write 写文件 (2)列目录时要列出文件名、物理地址、保护码和文件长度; (3)源文件可以进行读写保护。 二、系统分析 1、设计思想 - 本文件为二级文件系统,即要实现对文件的增删改查,同时又具备登陆系统、注册用户的功能,各个用户之间的文件系统互不干扰。 本文件系统采用两级目录,其中第一级对应于用户账号,第二级对应于用户帐号下的文件。另外,为了简便文件系统未考虑文件共享,文件系统安全以及管道文件与设备文件等特殊内容。 系统采用结构体来存储用户、文件目录、文件数据内容:

0 48*5 48*5+44*50 48*5+44*50+264*200 、 每个分区都是由结构体组成,每个个去的结构体的个数由格式化系统是决定。整个系统的编码构成主要分为: 定义了每个分区的结构体; 声明了对系统操作的各种方法; 声明了对文件操作的各种方法; 整个系统的主函数,操作入口; \ 包含了,实现了操作系统的各种方法; 包含了,实现了操作文件的各种方法; 2、主要数据结构 文件的内容: struct s_user 登录"<

计算机组成课程设计

计算机组成课程设计 Company Document number:WUUT-WUUY-WBBGB-BWYTT-1982GT

计算机组成原理课程设计 目录 1.第一部分复杂模型计算机的设计任务 (3) 设计目的 (3) 设计任务 (3) 设计指标 (3) 实验类型 (3) 实验设备 (3) 2.第二部分模型计算机的总体设计 (4) 主要部件的工作原理 (4) 微程序的设计 (5) 微地址转移逻辑的设计 (7) 3.第三部分模型及的组装的调试 (9) 模型机的组装 (9) 模型机的调试 (10) 实验步骤 (11) 4.第四部分附 录 (11) 八位数据原理总图 (12) 微程序流程图 (12) 微程序控制器原理图 (13)

微程序代码表(十六位) (14) 机器码汇............17 编程序 (18) 5.第五部分小 结 (18) 第一部分复杂模型计算机的设计任务一、设计目的: 建立清晰完整的整机概念; 学习设计与调试计算机的基本方法与步骤; 培养严谨的科研风格与独立的工作能力。 二、设计任务: 综合运用所学计算机原理知识,按给定的指令系统 和数据格式,在所提供设备的范围内,设计一台字 长八位的由微程序控制的模型计算机。设计并实现 较为完整的八位模型计算机。 设计微程序控制器的逻辑原理电路图; 设计微地址转移的逻辑电路图; 设计说明书。 三、设计指标: 字长八位; 时钟源MF=QB=1μs; 内存容量不得小于2^8; 指令系统不得小于十四条。要求算术逻辑指令七

条,访问内存和程序控制指令四条、输入输出指令 两条、其他指令一条。 四、实验类型:设计型实验 五、实验设备: CM++试验仪一台; 双总示波器一台; 集成电路芯片及排线若干。 第二部分模型计算机的总体设计总体设计的主要任务是根据设计要求选出所需要的主要器件,计算机的工作过程实质是不同的数据流在控制信号的作用下,在限定的数据通道中进行传送。数据通路的不同指令所通过的操作过程也不同,机器结构也各不相同。因此对数据通道的设计及其应用也是非常重要的。总体设计的原则是性价比好,尽量使用大规模的集成电路器件,以便大大减少接线的工作量。 一、主要部件的工作原理: 通常把许多寄存器之间传送信息的通道称为“数据通路”。信息从什么地方开始,中间进过哪些寄存器,最后传到哪个寄存器,都要加以控制。这些工作是由称为“操作控制器”的不见来完成的。对数据通路和时序部分,直接使用CM++实验仪器的现成电路。这次设计主要是微程序控制部分。对一台数字计算机基本

C语言课程设计报告-模板

C语言课程设计报告 班级:16 物联网 一、题目说明 (1)读取输入信息,能正确进行数字运算

(2)拥有记忆功能,可查询最近几次计算结果并继续进行数字运算。 二、基本功能实现 (1)能实现两个数之间的加减,乘,除,乘方,开方等运算。 (2)实现记忆功能,可保留近十位结果,可用#键查看。(3)*键作为清0键,清除当前屏幕上的值为0表示重新开三、设计流程(可以画流程图,可以直接写说明)

四、代码 #include #include #include #include double yunsuan(double a, char operate, double b); //处理数值之间的运算void PutRes(double array[], double res, int *i); //保存该次运算结果 int main() { char str[40]; double a = 0; double b = 0; double res = 0; double history[10] = {0,0,0}; char opt; int i = 0; printf("欢迎进入计算功能(eg: 1 \n+ 1 ; '#':查询历史结果; 'q':退出程序)·\n"); while(1){

fgets(str,40,stdin); //将从键盘的一整行标准输入保存在字符串str中 if(sscanf(str,"%lf", &a) == 1){ //将str以长浮点型的格式放入a中,如果返回值为1,说明输入的是数值, scanf("%c %lf", &opt, &b); //获取操作符的值和另外一个操作数的值 res = yunsuan(a,opt,b); //调用yunsuan()函数计算,并将结果给res printf("%lf %c %lf = %lf\n\n",a, opt, b, res); PutRes(history, res, &i); //调用函数PutRes()将本次结果保存到数组history中(i用引用传递) // printf("%d\n", i); }else if(sscanf(str,"%c",&opt) == 1){ //将str以字符型的格式放入opt中,如果返回值为1,说明输入的是字符 if(opt == '#'){ //如果opt为‘#’,则显示history 中的数值 int j = 0; for(j = 0; j < i; ++j){ //i为history中存放的数值个数 printf(" %lf ", history[j]); } printf("\n");

华中科技大学计算机学院操作系统课程设计报告[1]

华中科技大学 嵌入式操作系统课程设计实验报告 院系: 计算机科学与技术学院 专业: 班级: 姓名: 指导老师: 报告时间:

计算机科学与技术学院 目录 1.课程设计目的 (3) 2.课程设计环境搭建 (3) 3.内容一:熟悉和理解Linux编程环境 3.1 内容要求 (5) 3.2 设计过程及实现 (5) 4.内容二:掌握添加系统调用的方法 4.1 内容要求 (9) 4.2 设计过程及实现 (9) 5.内容三:掌握添加设备驱动程序的方法 5.1 内容要求 (17) 5.2 设计过程及实现 (17) 6.内容四:理解和分析/proc文件 6.1 内容要求 (22) 6.2 设计过程及实现 (22)

1 课程设计目的 (1)掌握Linux操作系统的使用方法; (2)了解Linux系统内核代码结构; (3)掌握实例操作系统的实现方法。 2 课程设计环境搭建 (1)windows 7上,利用虚拟机软件VMware软件搭建的linux平台:◎Ubuntu 11.10 (安装包:ubuntu-11.10-desktop-i386) ◎内核:linux-headers-3.0.0-12-generic (2)更改root登录: 在现阶段Ubuntu的系统中,是不允许直接以root身份登录系统的,但是在做课设的过程中,需要大量的使用root权限来进行命令的操作。如果以普通用户登录ubuntu,会连编辑一个文件都非常周折。为此,我找到了一种修改系统文件,以达到直接使用root身份登录的方法: ◎开始的时候,只能以普通用户登录,用Ctrl+Alt+T打开终端: 初始化/修改root密码 sudo passwd root 用vi编辑器修改这个文件: sudo vi /etc/lightdm/lightdm.conf 在文件最后加入这么一行代码: greeter-show-manual-login=true 然后保存退出,sudo reboot 重启系统。之后就可以输入root用户登录。(3)在添加系统调用中用到的其他内核包: ◎下载和当前实验环境最为接近的系统版本(这点很重要) 使用apt-get install linux-source-3.0.0 命令, ◎下载结果是linux-source-3.0.0.tar.bz2 ◎解压命令:tar –xjvf linux-source-3.0.0.tar.bz2 –C /usr/src ◎解压后,在/usr/src目录下得到内核文件夹linux-source-3.0.0

计算机组成原理课程设计

附件一 湖南工业大学 课程设计 资料袋 计算机与通信学院(系、部)2015 ~ 2016 学年第2 学期课程名称计算机组成原理指导教师杨伟丰职称教授 学生姓名顾宏亮专业班级软件1403 学号14408300328 题目复杂模型机的设计 成绩起止日期2016 年 6 月20日~2016 年6月21 日 目录清单

附件二湖南工业大学 课程设计任务书 2015 —2016 学年第2 学期 计通 学院(系、部)软件专业1403 班级 课程名称:计算机组成原理 设计题目:复杂模型机的设计 完成期限:自2016 年 6 月20 日至2016 年6 月21 日共 1 周 内容及任务1.根据复杂模型机的指令系统,编写实验程序 2.按图连接实验线路,仔细检查线路无误后接通电源。 3.写程序 4.运行程序 进度安排 起止日期工作内容2016.6.20-2016.6.21连接线路进行实验 主 要 参 考 资 料 唐朔飞.计算机组成原理.北京:高等教育出版社 指导教师(签字):年月日系(教研室)主任(签字):年月日附件三

设计说明书 计算机组成原理 复杂模型机的设计 起止日期:2016 年6月20 日至2016 年 6 月21 日 学生姓名顾宏亮 班级软件1403 学号14408300328 成绩 指导教师(签字) 计算机与通信学院(部) 2016年7月1日 设计题目:复杂模型机的设计

一、设计目的 综合运用所学计算机原理知识,设计并实现较为完整的模型计算机。 二、设计内容 根据复杂模型机的指令系统,编写实验程序,并运行程序,观察和记录运行结果。 三、预备知识 1、数据格式 8位,其格式如下: 1≤X<1。 2、指令格式 模型机设计四大类指令共十六条,其中包括算术逻辑指令、I/O指令、访问存储器、转移指令和停机指令。 (1)算术逻辑指令 (2)访存指令及转移指令 模型机设计2条访存指令,即存数(STA)、取数(LD),2条转移指令,即无条件转移(JMP)、结果 ,M (3)I/O指令 OUT指令中,addr=10时,表示选中“OUTPUT UNIT”中的数码块作为输出设备。 (4)停机指令

C语言课程设计说明书正文范本标准

山西工程技术学院《C语言程序设计》 课程设计说明书 姓名张雅男 学号 150721035 班级 15级计应1班 指导老师刘红梅 2016年1月6日

目录 摘要------------------------------------------------------ 2 1 引言------------------------------------------------------ 3 1.1设计目的------------------------------------------------ 3 1.2设计要求------------------------------------------------ 3 2 系统分析------------------------------------------------- 4 2.1功能需求------------------------------------------------ 4 2.2数据需求------------------------------------------------ 5 2.3程序所需函数-------------------------------------------- 5 3 详细设计与实现-------------------------------------------- 6 3.1功能模块的设计与实现------------------------------------ 6 3.2 程序的详细设计过程-------------------------------------- 7 4 系统测试-------------------------------------------------- 14 4.1设计测试数据-------------------------------------------- 14 4.2 测试结果及分析------------------------------------------ 14 总结-------------------------------------------------------- 22 参考文献---------------------------------------------------- 23

《数据库原理》课程设计任务书

课程设计任务书

《数据库原理》课程设计任务书 一、设计目的 通过本次课程设计,使同学们能够全面、深刻地掌握数据库系统的设计流程。根据在数据库原理课程中所学到的数据库理论知识,结合某个具体的实际需求,为开发出一个较为实用的应用系统提供数据库支持。 二、课程设计的要求 1、明确课设任务,复习与查阅相关资料。 2、可以根据老师给出的设计题目,在两周时间内完成其中某一个题目的从用户需求分析、数据库设计到上机编程、调试和应用等全过程的数据库系统设计。如果学生自拟题目,需经指导教师同意。 3、每位学生必须独立完成课程设计任务,不能抄袭,设计完成后,将所完成的工作交由老师检查;要求写出一份详细的设计报告。 4、按要求完成课设内容,课设报告要求文字和图工整、思路清楚、正确。 5、应用系统对数据库的使用,写出相应的T-SQL语句及数据库执行结果。 三、数据库课程设计报告主要内容 1、系统需求分析 (1)信息要求:指用户需要从数据库中获得信息的内容与性质。数据库中需要存储那些数据。 (2)处理要求:用户需要完成什么处理功能,对处理的响应时间有什么要求(给出功能模块图)。 (3)安全性和完整性要求。 2、概念结构设计 (1)逐一设计分E-R图,合并分E-R图,生成基本E-R图。 (2)若在合并中存在属性冲突、命名冲突以及结构冲突,给出解决方法,若存在不必要的冗余,则消除并给出设计方法。 (3)基本E-R图中要求标明主码、外码、联系类型。 3、逻辑结构设计 (1)给出由E-R得到的关系模型:并注明转换过程中应用的规则; (2)数据模型的优化; (3)分析这些模式对于应用环境是否合适,确定是否要对某些模式进行合并或分解; (4)用户模式设计; (5)在数据库中一般使用英文名字,在用户视图中则一般使用符合用户一贯的中文命名法; (6)对不同级别的用户定义不同的视图以保证系统的安全性。 4、数据库物理结构设计 以表格的形式列出各张表,包括字段名称、中文含义、数据类型、长度、完整性约束、索引定义、字段说明; 5、数据库实施 (1)使用T-SQL语句实现数据库表; (2)使用T-SQL语句创建必要索引; (3)使用T-SQL语句实现必要的数据库视图; (4)用T-SQL语句实现必要的存储过程及触发器。

计算机科学与技术专业课程设计

专业教育 ─我所认识的计算机专业 1.对专业的最初认识 1.1为什么选择计算机专业 计算机使当代社会的经济、政治、军事、科研、教育、服务等方面在概念和技术上发生了革命性的变化,对人类社会的进步已经并还将产生极为深刻的影响。目前,计算机是世界各发达国家激烈竞争的科学技术领域之一。 随着信息时代的到来,计算机逐渐成为技术及科学领域的核心。随着计算机的普及,其应用领域逐渐广泛,深刻影响着我们的学习,工作及生活。因而,计算机的学习与我们的生活息息相关。 1.2最初的认识 虽然对于这个专业刚开始的时候不了解它具体是干什么的,但是从小就对于计算机十分感兴趣,因此在高考完填报志愿时就报了这个专业。进入大学之后,看到培养计划发现这个专业应用还是挺多的,但是因此让自己更加的对以后的职业感到很迷茫,不知道究竟是该干什么了。但是既来之,则安之。相信在以后的学习过程中会慢慢地找到方向,并为之努力的。因此说对于计算机专业还是抱有很大的热情的。 2.学习的方法 2.1培养对专业的兴趣 俗话说兴趣是最好的老师,因此要想真正做好一件事情,学好自己的专业首先就要培养自己对本专业的兴趣。那么应该如何培养呢?可能阅读专业书籍对于刚刚步入大学的自己来说有点困难,也很枯燥,那么不妨先从科普书籍看起。科普书籍是了解理论、获得应用知识最好的途径。相信不少理工科的同学被量子物理和相对论搞得头昏脑胀过。究其原因,是我们的现实生活与抽象的数学模型之间存在思想意识上的鸿沟。然而要是读读斯蒂芬·霍金的《时间简史》,你就会被书中有趣的故事和例证所吸引,从而对抽象的理论有了感性的认识——即使仍然没有读懂,你也至少了解了这个学科研究的领域和目标是什么,也必然有所收获。 2.2认真学习专业课程,学好数学 大学计算机专业对数学的要求较高,其重要性不必多言。数学令不少同学头痛,除了其“繁”与“难”外,很大程度上是因为他们没有理解这些抽象理论的实际应用方向。与本科数学专业的课程设置相比,计算机专业的数

计算机网络课程设计

计算机网络课程设计

滨江学院 计算机网络课程设计——广告公司网络的设计 姓名:刘权 班级:计算机科学与技术1班 指导教师:谈玲 日期: 4月8日

目录前言 一、项目概述 二、可行性分析报告 三、需求分析 3.1需求概述 3.2网络需求 1.布线结构需求 2.网络设备需求 3.IP地址规划 3.3、系统需求 1.系统要求 2.网络和应用服务 3.4、存储备份系统需求1.总体要求 2.存储备份系统建设目标

3.存储系统需求 4.备份系统需求 3.5、网络安全需求1.网络安全体系要求2.网络安全设计模型 四、网络结构设计 五、系统配置与实施 六、工程预算与进度安排

一:项目概述 1.1项目信息 某广告公司现有分公司1(50台pc)和分公司2(40台pc),分公司1和分公司2都拥有各自独立的部门。分公司1和分公司2包括:策划部、市场部、设计部。为提高办公效率,该广告公司决定建立一个内部网络。 该广告公司内部使用私有IP地址192.168.160.0/23,要求该广告公司的分公司1和分公司2之间使用路由器进行连接(不使用vpn技术),使用动态的路由协议(RIP)。分公司1和分公司2内部通过划分vlan技术,使不同的部门在不同的局域网内。 1.2 方案设计 写题为“广告公司的网络解决方案”的网络方案设计书。包括: ①完整的校园网络拓扑图(网络拓扑图要求使用visio工具进行设计绘制); ②结合网络拓扑图进行IP地址的规划; ③分公司1的VLAN的设计与规划。 ④分公司2的VLAN的设计与规划。 ⑤分公司1和分公司2的网络互连互通。 1.3 设计原则 本项目将提供全面完整和可扩展性强的解决方案,以实现系统实施灵活性和连贯性。项目在设计中充分理解用户对智能化工程建设的要求,对系统现在以及将来的应用及连接需求进行综合分析,在系统需要扩容和扩展时而进行下一步实施时,可以方便并且平滑的实现。 为了满足需求,本综合布线系统方案设计遵循以下原则:

计算机组成原理课程设计_报告全套

XXXX大学课程设计专用纸 成绩评定表

课程设计任务书

目录 1 设计目的 (3) 2 设计内容 (3) 3 实验计算机的设计 (3) 3.1 整机逻辑框图设计 (3) 3.2 指令系统的设计 (5) 3.3 微操作控制部件设计 (5) 3.3.1微指令编码格式设计 (5) 3.3.2 微操作控制信号设计 (6) 3.4 微程序设计 (8) 3.4.1 指令对应的微程序流程图 (8) 3.4.2 微程序中各微指令二进制编码与16进制编码 (8) 3.5 微程序顺序控制方式设计 (10) 3.5.1 微程序入口地址形成方法 (10) 3.5.2 控存下地址确定方法 (10) 3.5.3 每段微程序在控存中的存放位置 (11) 3.6 编写调试程序 (12) 3.6.1 机器指令程序设计内容如下 (12) 3.6.2 每条指令所对应的机器码 (12) 3.6.3 程序在内存中的存放位置 (12) 4 实验计算机的组装 (13) 5 实验计算机的调试 (13) 5.1 调试前准备 (13) 5.2 程序调试过程 (14) 5.3 调试结果 (15) 5.4 出错和故障分析 (17) 5.4.1 出错分析 (17) 5.4.2 故障分析查找 (17) 5.4.3 确认是否属故障 (17) 5.4.4 正确判断故障原因 (18) 6 心得体会 (18) 7 参考文献 (19)

1 设计目的 1、组成一个复杂的计算机整机系统—模型机,输入程序并运行; 2、了解微程序控制器是如何控制模型机运行的,掌握整机动态工作过程; 3、定义几条机器指令,编写相应微程序并具体上机调试. 4、完成多寄存器算术减法\右移位\输入输出\转移指令实验计算机设计。 2 设计内容 利用EL-JY-II型计算机组成原理实验仪提供的硬件资源,通过设计(包括整机结构设计、指令设计、微程序设计、微指令设计、调试程序设计等)、组装、调试三个步骤完成台微程序控制的简单实验计算机的研制。 完成多寄存器算术减法\右移位\输入输出\转移指令实验计算机设计。 3 实验计算机的设计 3.1 整机逻辑框图设计 (1)模型机是由运算器,控制器,存储器,输入设备,输出设备五大部分组成。 ①运算器又是有299,74LS181完成控制信号功能的算逻部件,暂存器LDR1,LDR2,及三个通用寄存器,R0,R1,R2等组成。 ②控制器由程序计数器PC、指令寄存器、地址寄存器、时序电路、控制存储器及相应的译码电路组成。 ③存储器RAM是通过CE和W/R两个微命令来完成数据和程序的的存放功能的。 ④输出设备有两位LED数码管和W/R控制完成的。 (2)计算机由基板和CPU板两部分组成: ①基板:本部分是8位机和16位机的公共部分,包括以下几个部分:数据输入输出、显示及监控,脉冲源及时序电路,数据和地址总线,外设控制电路,单片机控制电路和键盘操作部分,与PC机通讯的接口,主存器和电源,CPLD实验板,自由实验区。 ②CPU板:本板分为8位机和16位机两种,除数据字长分为8位和16位外,都包括

相关文档
最新文档