0

数据结构课程设计报告例子(精品20篇)

验收报告是指工程项目完工之后,经过有关部门所成立的专门验收机构,组织专家进行质量评估验收以后形成的书面报告。这里给大家分享一下关于主体结构中间层验收自评报告,方便大家学习。

浏览

4272

范文

35

篇1:数据课程设计心得体会范文

范文类型:心得体会,适用行业岗位:设计,全文共 637 字

+ 加入清单

本程序以C语言的栈的相关知识为基础,通过控制两个栈(运算数栈和运算符栈)的进出的栈操作,来实现对包含加、减、乘、除、括号运算符及SQRT和ABS函数的任意整型表达式的求解运算。

从程序的编写来看,感觉这次自己真的学到了好多,特别是对程序的开发流程。从最初的选定程序,到最终的程序运行成功,让我感到如果是仅仅掌握课本上的知识是远远不能够很好的应用到实际的编程中去的。在这个过程中还需要我们更多的去考虑到实际条件的种种限制和约束。

我在写本程序的过程中也遇到了很多的问题,当然本程序的核心问题就是对两个栈的压出栈操作,需要做优先级判断,并要考虑什么时候进栈,什么时候出栈等操作。我采用了课本上第52-54页讲的通过一个二维字符串数组来控制比较“+-*、()AS=”共9个运算符的优先级控制。对异常,如除数为0、被开方数小于0等异常也进行了精心的处理。对操作过程中要用到的Y、N、A、S等字符也进行了改进,最终本程序可以不区分大小写就完成相关操作。

总之,经过本次专业课程设计,让我掌握了开发应用软件的基本流程,运用所学编程技能的基本技巧,也让我初步了解了软件设计的基本方法,提高进行工程设计的基本技能及分析、解决实际问题的能力,为以后毕业设计和工程实践等打下良好的基础。相信通过这次的课程设计,我对所学的《数据结构(C语言版)》和各种编程语言都有了一个全新的认识。我也会积极吸取本次课程设计的经验,继续研究数据结构和所学的各种编程语言。

看过数据课程设计心得体会

展开阅读全文

篇2:数据结构实验报告线性表

范文类型:汇报报告,全文共 3653 字

+ 加入清单

数 据 结 构 实 验 报 告

1.问题描述

为某个单位建立一个员工通讯录管理系统,可以方便地查询每一个员工的办公室电话号码、手机号码及电子邮箱。2.设计分析

在本设计中,整个通讯录可以采用顺序表或链表方式存储。其功能包括通讯录链表的建立、员工通讯信息的查询、修改、插入与删除以及整个通讯录表的输出。3.员工通讯信息的结构类型定义和通讯录链表的结点类型

typedef struct { char num[5];/*员工编号*/ char name[8];/*员工姓名*/ char phone[9];/*办公室电话号码*/ char call[12];/*手机号码*/ }datatype;/*员工通讯信息的结构类型*/ typedef struct node { datatype data;/*结点的数据域*/ struct node *next;/*结点的指针域*/ }listnode,*linklist;/*通讯录链表的结构类型*/ 4.实验源代码

// : 定义控制台应用程序的入口点。// //#include “stdafx.h” #include“stdio.h” #include “stdlib.h” # include

#include

#include

using namespace std;#define list_init_size 100 #define listincrement 10 #define true 1 #define false 0 #define ok 1 #define error 0 typedef intstatus;typedef struct { /*员工通讯信息的结构类型定义*/char num[5];

/*员工编号*/

char name[8];

/*员工姓名*/ char phone[9];

/*办公室电话号码*/

char call[12];

/*手机号码*/

char mail[15];

/*邮箱*/ }datatype;/*通讯录单链表的结点类型*/ typedef struct node {

datatype data;

/*结点的数据域*/

struct node *next;

/*结点的指针域*/ }lnode, *linklist;void createlist(linklist &l){//逆位序输入n个元素的值,建立带表头结点的单链线性表l

linklist p;

int i,n;

l =(linklist)malloc(sizeof(lnode));

l->next = null;

cout

cin >>n;

for(i = 0;i

p =(linklist)malloc(sizeof(lnode));

cout

请输入员工信息”cout

员工编号:”;

cin>>p->;

cout

员工姓名:”;

cin >>p->;

cout

cin >>p->;

cout

手机号码:”;

cin >>p->;

cout

员工邮箱:”;

cin >>p->;

cout

p->next = l->next;

l->next = p;

} } void initlist(linklist &l){//初始化线性表

l =(linklist)malloc(sizeof(lnode));

l->next = null;} void destroylist(linklist &l){//销毁线性表

linklist p, q;

p = l;

q = p->next;

while(q!= null)

{ free(p);

} } int listempty(linklist &l){//判断线性表是否为空

if(l->next == null)

return true;

else

return false;} int listlength(linklist &l){//求链表的长度

linklist p = l;

int c = 0;

while(p->next!= null){

c++;

p = p->next;

}

return(c);} void getelem(linklist &l){//取链表第i个数据元素

linklist p = l->next;

string s;

cout

cin >>s;

while(p!= null)//根据相关信息,查找员工。

{

if(p->== s || p->== s || p->== s || p->== s || p->== s)

break;

p = p->next;

}

if(!p)

cout

else{

cout

员工信息”

cout

员工编号:”

cout

员工姓名:”

cout

cout

手机号码:”

cout

员工邮箱:”

cout

} } void reviselist(linklist &l)//修改信息 {

linklist p = l->next;

char j[20];

string s;

int i;

cout

cin >>s;

while(p!= null){//根据相关信息,查找员工。

if(p->== s || p->== s || p->== s || p->== s || p->== s)

break;

p = p->next;

}

if(!p)

cout

else

{

cout

cin >>i;

cout

cin >>j;

switch(i){

case 1:strcpy(p->, j);break;

case 2:strcpy(p->, j);break;

case 3:strcpy(p->, j);break;

case 4:strcpy(p->, j);break;

case 5:strcpy(p->, j);break;

default: cout

system(“pause”);

}

cout

system(“pause”);

return;

} } void listdelete(linklist &l)//删除第i个元素 {

linklist p, q;

int j = 0,i;p = l;

cout

cin >>i;

while(p->next && j

cout

q = p->next;

p->next = q->next;//删除并释放结点

free(q);} void listinsert(linklist &l){

linklist s, p = l;

s =(linklist)malloc(sizeof(lnode));

cout

请输入员工信息”

cout

员工编号:”;

cin >>s->;

cout

员工姓名:”;

cin >>s->;

cout

cin >>s->;

cout

手机号码:”;

cin >>s->;

cout

员工邮箱:”;

cin >>s->;

cout

s->next = p->next;

p->next = s;}

void printlist(linklist &l)//打印线性表 {

linklist p = l->next;

int i = 1;

if(p == null)

cout

while(p!= null)

{

cout cout

员工编号:”

cout

员工姓名:”

cout

cout

手机号码:”

cout

员工邮箱:”

cout

p = l;

cout

cin >>i;

while(p->next && j

cout

q = p->next;

p->next = q->next;//删除并释放结点

free(q);} void listinsert(linklist &l){

linklist s, p = l;

s =(linklist)malloc(sizeof(lnode));

cout

请输入员工信息”

cout

员工编号:”;

cin >>s->;

cout

员工姓名:”;

cin >>s->;

cout

cin >>s->;

cout

手机号码:”;

cin >>s->;

cout

员工邮箱:”;

cin >>s->;

cout

s->next = p->next;

p->next = s;}

void printlist(linklist &l)//打印线性表 {

linklist p = l->next;

int i = 1;

if(p == null)

cout

while(p!= null)

{

cout cout

员工编号:”

cout

员工姓名:”

cout

cout

手机号码:”

cout

员工邮箱:”

cout

case 4:

//添加

listinsert(l);

cout

system(“pause”);

break;

case 5:

printlist(l);

listdelete(l);

cout

system(“pause”);

break;//输出全部信息

case 6:

printlist(l);

system(“pause”);

break;

case 7:

cout

system(“pause”);

break;

default:

cout

system(“pause”);

}

} while(in!= 0);} 5.实验截图.

展开阅读全文

篇3:数据结构导论课程设计心得

范文类型:心得体会,适用行业岗位:设计,全文共 1110 字

+ 加入清单

完成了这次的二元多项式加减运算问题的课程设计后,我的心得体会很多,细细梳理一下,有以下几点:

1、程序的编写中的语法错误及修改

因为我在解决二元多项式问题中,使用了链表的方式建立的二元多项式,所以程序的空间是动态的生成的,而且链表可以灵活地添加或删除结点,所以使得程序得到简化。但是出现的语法问题主要在于子函数和变量的定义,降序排序,关键字和函数名称的书写,以及一些库函数的规范使用,这些问题均可以根据编译器的警告提示,对应的将其解决。

2、程序的设计中的逻辑问题及其调整

我在设计程序的过程中遇到许多问题,首先在选择数据结构的时候选择了链表,但是链表的排序比较困难,特别是在多关键字的情况下,在一种关键字确定了顺序以后,在第一关键字相同的时候,按某种顺序对第二关键字进行排序。在此程序中共涉及到3个量数,即:系数,x的指数和y的指数,而关键字排是按x的指数和y的指数来看,由于要求是降幂排序且含有2个关键字,所以我先选择x的指数作为第一关键字,先按x的降序来排序,当x的指数相同时,再以y为关键字,按照y的指数大小来进行降序排列。

另外,我在加法函数的编写过程中也遇到了大量的问题,由于要同时比较多个关键字,而且设计中涉及了数组和链表的综合运用,导致反复修改了很长的时间才完成了一个加法的设计。但是,现在仍然有一个问题存在:若以0为系数的项是首项则显示含有此项,但是运算后则自动消除此项,这样是正确的。但是当其不是首项的时候,加法函数在显示的时候有0为系数的项时,0前边不显示符号,当然,这样也可以理解成当系数为0时,忽略这一项。这也是本程序中一个不完美的地方。

我在设计减法函数的时候由于考虑不够充分就直接编写程序,走了很多弯路,不得不停下来仔细研究算法,后来发现由于前边的加法函数完全适用于减法,只不过是将二元多项式b的所有项取负再用加法函数即可,可见算法的重要性不低于程序本身。

3、程序的调试中的经验及体会

我在调试过程中,发生了许多小细节上的问题,它们提醒了自己在以后编程的时候要注意细节,即使是一个括号的遗漏或者一个字符的误写都会造成大量的错误,浪费许多时间去寻找并修改,总结的教训就是写程序的时候,一定要仔细、认真、专注。

我还有一个很深的体会就是格式和注释,由于平时不注意格式和注释这方面的要求,导致有的时候在检查和调试的时候很不方便。有的时候甚至刚刚完成一部分的编辑,结果一不注意,就忘记了这一部分程序的功能。修改的时候也有不小心误删的情况出现。如果注意格式风格,并且养成随手加注释的习惯,就能减少这些不必要的反复和波折。还有一点,就是在修改的时候,要注意修改前后的不同点在哪里,改后调试结果要在原有的基础上更加精确。

展开阅读全文

篇4:java课程设计报告心得体会

范文类型:汇报报告,心得体会,适用行业岗位:设计,全文共 2737 字

+ 加入清单

javaweb课程结束了,在完成了eclipse三份实验报告之后我开始总结这门课程自己究竟学到了什么。

从C语言到Java,再到jsp,最后到javaweb,一直都在与编程都打交道,学好它一是专业的需要,二是自己觉得它今后对自己会有很大的用途。C语言是一个面向过程的语言,而Java是一个面向对象的语言。在C语言里,行为称为函数;在Java里,行为称为方法。在C语言里,只有变量和函数;在Java里,一切逻辑由类封装,即“万物皆对象”。C语言的struct和Java的类相似,但struct里只能有属性,而类里可以有属性和方法。所以,C语言的分工不清晰,主控程序几乎承担了全部的职责;而Java可以把方法放在类里,对象的职能很多,可以单独完成某个类的全部方法。

首先我想回顾一下javaweb这本书上的主要内容:

第一章是对Web应用程序的概述。从中我了解到Web应用程序的三层体系结构:表示层、业务层、数据存取层。它们同是叙述在编写代码时应做的规划和应遵循的规则,这种规划在以后的学习中时有出现,说明编程并不是一味地进行循环判断、死记硬背,而需要在技术上有所加强、在效率上有所提高。接下来学的是JSP知识。要学JSP,就必须会HTML,如果HTML学不通,这对以后的学习都是一个瓶颈。这点我有所体会。因为我对HTML掌握得比较好,在这方面没有遇到什么困难。但如果没掌握好这些知识,加上要学新知识,就会在旧难题的基础上增加新难题,两头招架,实有些吃不消。所以,基础是很重要的,基础一定要打扎实,吃透,否则上层建筑的建起就不会很顺利甚至没法起步。然后是JavaBean。JavaBean里有set()和get()方法,用这些方法能很容易地传值,逻辑上更标准,代码看起来也更规范。但set()和get()方法只是用来对属性进行操作的,所以如果是进行复杂的逻辑或对数据库进行操作等,那么就不要写成set()和get()方法,只用一个有返回值的方法就足以。这样直观方便,且符合规范。

接着是Servlet。它给我的第一感觉是很专业、很难懂。书上介绍了一大堆接口、类、和重写的方法,一时觉得晕头转向。后来用得多、看得多了,Servlet的基本格式也记得差不多,其实也没什么难的。只要记住Servlet是一个用Java编写的应用程序,在服务器上运行,用来处理请求和响应,也可以单独做为一个Web页面。

在JDBC技术这章,我感到学习的压力。JDBC的工作原理、JDBC的分类、它的主要接口、以及它连接数据库的基本过程和运行效果等事先后我没有听懂。后来在图书馆借到了一本资料书电子工业出版社出版的《JavaWeb从初学到精通》适合Java开发Web应用和J2EE方面的初学者加上编程实战演习,总算弄懂了点眉目。

最后一章主要是一些技术专题。例如访问路径问题、结果集处理、复杂查询等。在前面几章的的能力功底基础上这章显得要简单轻松地多。大致类似于对前面知识的系统总结。

以上就是对这个阶段学习的一段回顾。接下来我想总结一下自己的学习心得:首先学习这门课程,就必须先要了解什么是web应用。通过浏览器可以访问新浪网、中华网、淘宝网、网易、搜狐网、微软的网站及sun公司的网站等,这些就是Web应用。对于web应用,我们需要使用浏览器,通过网络访问在远程的服务器运行的程序。Web应用指的就是这些网站中的程序。

其次,是编程。学习编程最重要的就是勤记忆,勤练习,勤思考。需要记忆很多,有些东西必须要死记,没有偷懒的办法,在记忆的时候可以找一些规律,比如把类似的东西归在一起记忆。平时在做练习的时候书上的例题和习题很重要,只要把书上的例子吃透,课后的习题都会做,这样就能达到掌握知识的目的,最后在期末复习的过程中要不时地复习前面的知识,这样才能熟练掌握所学的知识。在勤思考方面,就是在平时的编程演练中遇到困难的时候不要立刻急着去问身边的同学或是老师,自己应当对照课本或是相关的学习资料慢慢进行修改,只有在自己确实已经尽力但仍然不知如何操作的情况下才可以去询问别人,只有这样才可以加深自己的影响。

还记得自己当初最开始时学习java的情景。那时自己除了知道什么是继承,封装,多态,抽象类,接口这些外,其他的就什么都部知道了。后来自己在慢慢摸索的过程中才逐渐积累了对这门学科的敏感度开始接触Java觉Servlet是一个非常深奥的技术。我曾经想学习网页设计,看到HTML哪些松散的标记,我放弃了,最终也没有学会做网页。只知道网页编辑工作有Drameware或FrontPage。当接触Serlvet后,发现做网页竟然也可以像写Java程序一样进行编写。完成第一个用Servlet写的WEB版的HelloWorld程序,足足花费了我半天时间。主要是花费在环境搭配上面。一个小小的HELLOWorld,用Drameware可能也就一分钟就能搞定的事。对于一个完全不懂HTML的人来说,要想用Servlet来开发动态WEB应用还是太难了。接下来很快就接触到了JSP。JSP并不需要我在Java程序里写HTML代码,而是变成了在HTML中写Java程序。初学时,所有的数据库连接,数据库访问,数据显示,业务代码和HTML标记等都写在JSP代码中,感觉JSP真是无所不能。在做一些小应用时,开发速度也非常的快。而当遇到了比较复杂的业务逻辑后,JSP开发就像是一个恶梦,每天大量的工作就是调试页面,当其它页面需要类似的功能时,进行代码拷贝来进行代码的复用,后来才知道这就是典型的Model1模型。当把JSP与Servlet相结合后,一切都发生了改变。JSP仅用于数据展示,而Servlet用于进行业务调用和页面流程控制,这就是所谓的Model2模型。原来JSP并不是Servlet的替代品,JSP更需要与Servlet进行合作。再明白了Servlet与的重要后,才回过头开始去学习Servlet,包括Servlet的生命周期,Servlet的重要接口及方法,自定义标签等。通过这样反复的联系我终于在面对java和jsp时不再像以前那样那么没有自信了。

所以花费些力气去学习Java基础,学习Jsp,Servlet,甚于学HTML,Javascript对进行Web开发都是十分必要的.。

最后我想总结一下学习方向的建议,JAVA基础知识是学习任何JAVA扩展体系知识的前提,所以在学习javaweb的过程中,一定得抽时间学习JAVA基础,窝在图书馆找到了基本相关的读物《Java核心技术》《Java编程思想》和JDK的API文档。另外由于编程有一些专用的英语术语,因此学好一些必要与之相关的英语对我们今后更好地学习这门学科是很有帮助的。

展开阅读全文

篇5:数据结构课程设计心得体会范文

范文类型:心得体会,适用行业岗位:设计,全文共 764 字

+ 加入清单

本次课程设计,使我对《数据结构》这门课程有了更深入的理解。《数据结构》是一门实践性较强的课程,为了学好这门课程,必须在掌握理论知识的同时,加强上机实践。

我的课程设计题目是线索二叉树的运算。刚开始做这个程序的时候,感到完全无从下手,甚至让我觉得完成这次程序设计根本就是不可能的,于是开始查阅各种资料以及参考文献,之后便开始着手写程序,写完运行时有很多问题。特别是实现线索二叉树的删除运算时很多情况没有考虑周全,经常运行出现错误,但通过同学间的帮助最终基本解决问题。

在本课程设计中,我明白了理论与实际应用相结合的重要性,并提高了自己组织数据及编写大型程序的能力。培养了基本的、良好的程序设计技能以及合作能力。这次课程设计同样提高了我的综合运用所学知识的能力。并对VC有了更深入的了解。《数据结构》是一门实践性很强的课程,上机实习是对学生全面综合素质进行训练的一种最基本的方法,是与课堂听讲、自学和练习相辅相成的、必不可少的一个教学环节。上机实习一方面能使书本上的知识变“活”,起到深化理解和灵活掌握教学内容的目的;另一方面,上机实习是对学生软件设计的综合能力的训练,包括问题分析,总体结构设计,程序设计基本技能和技巧的训练。此外,还有更重要的一点是:机器是比任何教师更严厉的检查者。因此,在“数据结构”的学习过程中,必须严格按照老师的要求,主动地、积极地、认真地做好每一个实验,以不断提高自己的编程能力与专业素质。

通过这段时间的课程设计,我认识到数据结构是一门比较难的课程。需要多花时间上机练习。这次的程序训练培养了我实际分析问题、编程和动手能力,使我掌握了程序设计的基本技能,提高了我适应实际,实践编程的能力。

总的来说,这次课程设计让我获益匪浅,对数据结构也有了进一步的理解和认识。

展开阅读全文

篇6:数据课程设计心得体会总结

范文类型:心得体会,工作总结,适用行业岗位:设计,全文共 1420 字

+ 加入清单

首先,让我的记忆追溯到大二暑假,在老大的指引下(),产品。那个时候我已经学过vc和asp,因为windows程序设计实验的课的关系,接触过vb,但是没有专门去学他,因为习惯了c++里面的class,int,觉得vb的sub,var看着就不是很顺心。我是一个好奇心很强的人,突然看到了一个号称“.net是用于创建下一代应用程序的理想而又现实的开发工具”,而且主推c#语言,由于对c语言的一贯好感,我几乎是立刻对他产生了兴趣。我就开始了对c#的学习,任何语言都不是孤立存在的,所以数据交互是很重要的,暑假的时候我把我们这学期的课本数据库系统概论看了一遍。我记得以前用c语言编程的时候,数据是在内存中申请空间,譬如使用数组等等。很耗费内存空间。这个时候就是数据库站出来的时候啦,于是我又装上了sqlserver20xx,以前学asp的时候用的是access,那个时候只是照着人家做,理论是什么也不是很清楚。

通过一个暑假的学习,基本搞清楚了理论方面的东西,具体怎么用也不是很清楚。但是这为这学期的课程设计打下了铺垫。

来到学校后,随着这学期的数据库课程大赛开始了,我有一个看法就是我自己应该具备的能力不是我会多少,而是我应该具备快速学会东西的能力。遇到什么就学什么。我们有时候很容易被一些专业名词说吓着,包括什么建模,软件工程,数据分析,数据挖掘等等。我身边就有很多同学被这些纸老虎所唬住,而没有勇气去接触他们,总是说这个太难了之类的退堂鼓的话,他们低估了自己的潜力同时也压抑住了他们自己的好奇心。其实都是纸老虎,又不是什么国家科研难题,只是去用一些工具,发明工具是很难,但是用一个工具就容易多了,justdoit!我记得我做这个数据库之前,我们老师说要做好前期分析,我就在网上搜索用什么分析工具好。最后我选择了roseuml建模工具。在此之前,我脑袋里面没有软件建模的思想,什么uml建模对我而言就是一张空白的纸。但是真正接触后并没有想象的那么难,有什么不懂的上网去搜索,这是一个信息横流的世界,有google,baidu就没有不能解决的知识难题。以及后来的数据库分析的时候用到的powerdesigner也是一样。

开发的时候我想过用什么架构,c/s模式?模式有很多,怎么选择?我就上网搜索现在最流行的架构是什么。结果搜到了mvc架构,就是你啦。我决定用这个架构,不会,没关系,咱学。justdoit!前期工作准备好后,加以实践。这个时候我更加深入的了解了利用操纵数据库的知识。并且对数据库里面的存储过程有了比较深入的了解。经过大概2个多星期的奋斗,数据集的图书馆管理系统。并最后非常荣幸的获得了大赛的一等奖以及以及新技术应用奖。

与其临渊羡鱼,不如退而结网。这次数据库课程设计给我的最大的印象就是如果自己有了兴趣,就动手去做,困难在你的勇气和毅力下是抬不了头的。从做这个数据库开始无论遇到什么困难,我都没有一丝的放弃的念头。出于对知识的渴望,出于对新技术的好奇,出于对一切未知的求知。我完成了这次数据库课程设计,不过这只是我学习路上的驿站,的核心技术就是xml[至少微软是这么宣传的],我会继续学习它,包括jave公司的j2ee我也很想试试,语言本来就是相通的,justdoit!语言并不重要毕竟它仅仅是工具,用好一个工具并不是一件值得为外人道的事情,主要是了解学习思想。古语说的好:学无止境啊!

我很庆幸我参加了这次数据库大赛,让我确实打开了眼界。

展开阅读全文

篇7:课程设计报告

范文类型:汇报报告,适用行业岗位:设计,全文共 1383 字

+ 加入清单

一、课程设计题目:

直流稳压电源和多功能数字钟

二、设计目的

1、熟悉集成电路的引脚安排,掌握各芯片的逻辑功能及使用方法。

2、了解面包板结构及其接线方法。

3、了解数字钟的组成及工作原理。

4、熟悉数字钟的设计与制作。

5、掌握组合逻辑电路、时序逻辑电路及数字逻辑电路系统的设计、安装、测试方法。

6、进一步巩固所学的理论知识,提高运用所学知识的分析和解决实际问题的能力。

7、提高电路布局、布线及检查和排除故障能力。

8、培养书写综合实验报告的能力。

三、方案选择与论证

方案一的设计主要是由555振荡电路, 时间计数电路,校时电路和译码驱动电路组成。时间计数电路由CD4518和CD4511组成,分为一个24进制电路和两个60进制电路。校时电路则由开关组成。

方案二的设计主要由晶体振荡电路,时间计数电路,校时电路,译码驱动电路。其中,时间计数电路用六个74LS90组成。校时电路主要由 HD74KS00P组成RS触发器,而且加入消抖电路,达到了自动校时的效果。

综合比较,选择方案一。

四、系统功能及原理

1、直流稳压电源

直流稳压电源是一种将220V工频交流电转换成稳压输出的直流电压的装置,它需要经过变压、整流、滤波、稳压四个环节才能完成。

四个环节的工作原理如下:

A、电源变压器:是降压变压器,它将电网220V交流电压变换成符合需要的交流电压,并送给整流电路,变压器的变比由变压器的副边电压确定。

B、整流滤波电路:整流电路将交流电压Ui变换成脉动的直流电压。再经滤波电路滤除较大的纹波成分,输出纹波较小的直流电压U1。常用的整流滤波电路有全波整流滤波、桥式整流滤波等。

C、滤波电路:可以将整流电路输出电压中的交流成分大部分加以滤除,从而得到比较平滑的直流电压各滤波电容C满足RL-C=(3~5)T/2,或中T为输入交流信号周期,RL为整流滤波电路的等效负载电阻。

D、稳压电路:稳压电路的功能是使输出的直流电压稳定,不随交流电网电压和负载的变化而变化。常用的集成稳压器有固定式三端稳压器与可调式三端稳压器。常用可调式正压集成稳压器有CW317(LM317)系列,它们的输出电压从1.25V-37伏可调,最简的电路外接组件只需一个固定电阻和一只电位器。其芯片内有过渡、过热和安全工作区保护,最大输出电流为1.5A。其典型电路如下图,其中电阻R1与电位器R2组成输出电压调节器,输出电压Uo的表达式为:Uo=1.25(1+R2/R1)式中R1一般取120-240欧姆。

2、多功能数字钟

数字钟由信号发生器、“时、分、秒”计数器、译码器及显示器、校时电路、整点报时电路等组成。秒信号产生器是整个系统的时基信号,它直接决定计时系统的精度,一般用555构成的振荡器加分频器来实现。将标准秒脉冲信号送入“秒计数器”,该计数器采用60进制计数器,每累计60秒发出一个“分脉冲”信号,该信号将作为“分计数器”的时钟脉冲。“分计数器”也采用60进制计数器,每累计60分,发出一个“时脉冲”信号,该信号将被送到“时计数器”。“时计数器”采用24进制计数器,可以实现一天24h的累计。译码显示电路将“时、分、秒”计数器的输出状态经七段显示译码器译码,通过六位LED显示器显示出来。整点报时电路是根据计时系统的输出状态产生一个脉冲信号,然后去触发音频发生器实现报时。校时电路是来对“时、分、秒”显示数字进行校对调整。

展开阅读全文

篇8:数据结构实验报告

范文类型:汇报报告,全文共 2183 字

+ 加入清单

一.实验内容:

实现哈夫曼编码的生成算法。

二.实验目的:

1、使学生熟练掌握哈夫曼树的生成算法。

2、熟练掌握哈夫曼编码的方法。

三.问题描述:

已知n个字符在原文中出现的频率,求它们的哈夫曼编码。

1、读入n个字符,以及字符的权值,试建立一棵Huffman树。

2、根据生成的Huffman树,求每个字符的Huffman编码。并对给定的待编码字符序列进行编码,并输出。

四.问题的实现

(1)郝夫曼树的存储表示

typedef struct{

unsigned int weight;

unsigned int parent,lchild,rchild;

}HTNode,*HuffmanTree; //动态分配数组存储郝夫曼树

郝夫曼编码的存储表示

typedef char* *HuffmanCode;//动态分配数组存储郝夫曼编码

(2)主要的实现思路:

a.首先定义郝夫曼树的存储形式,这里使用了数组

b.用select遍历n个字符,找出权值最小的两个

c.构造郝夫曼树HT,并求出n个字符的郝夫曼编码HC

总结

1.基本上没有什么太大的问题,在调用select这个函数时,想把权值最小的两个结点的序号带回HuffmanCoding,所以把那2个序号设置成了引用。

2.在编程过程中,在什么时候分配内存,什么时候初始化花的时间比较长

3.最后基本上实现后,发现结果仍然存在问题,经过分步调试,发现了特别低级的输入错误。把HT[i].weight=HT[s1].weight+HT[s2].weight;中的s2写成了i

附:

//动态分配数组存储郝夫曼树

typedef struct{

int weight; //字符的权值

int parent,lchild,rchild;

}HTNode,*HuffmanTree;

//动态分配数组存储郝夫曼编码

typedef char* *HuffmanCode;

//选择n个(这里是k=n)节点中权值最小的两个结点

void Select(HuffmanTree &HT,int k,int &s1,int &s2)

{ int i;

i=1;

while(i

//下面选出权值最小的结点,用s1指向其序号

s1=i;

for(i=1;i

{

if(HT[i].parent==0&&HT[i].weight

}

//下面选出权值次小的结点,用s2指向其序号

for(i=1;i

{

if(HT[i].parent==0&&i!=s1)break;

}

s2=i;

for(i=1;i

{

if(HT[i].parent==0&&i!=s1&&HT[i].weight

}

}

//构造Huffman树,求出n个字符的编码

void HuffmanCoding(HuffmanTree &HT,HuffmanCode &HC,int *w,int n)

{

int m,c,f,s1,s2,i,start;

char *cd;

if(n

m=2*n-1; //n个叶子n-1个结点

HT=(HuffmanTree)malloc((m+1)*sizeof(HTNode)); //0号单元未用,预分配m+1个单元

HuffmanTree p=HT+1;

w++; //w的号单元也没有值,所以从号单元开始

for(i=1;i

{

p->weight=*w;

p->parent=p->rchild=p->lchild=0;

}

for(;i

{

p->weight=p->parent=p->rchild=p->lchild=0;

}

for(i=n+1;i

{

Select(HT,i-1,s1,s2); //选出当前权值最小的

HT[s1].parent=i;

HT[s2].parent=i;

HT[i].lchild=s1;

HT[i].rchild=s2;

HT[i].weight=HT[s1].weight+HT[s2].weight;

}

//从叶子到根逆向求每个字符的郝夫曼编码

HC=(HuffmanCode)malloc((n+1)*sizeof(char*)); //分配n个字符编码的头指针变量

cd=(char*)malloc(n*sizeof(char)); //分配求编码的工作空间

cd[n-1]=;//编码结束符

for(i=1;i

{

start=n-1; //编码结束符位置

for(c=i,f=HT[i].parent;f!=0;c=f,f=HT[f].parent) //从叶子到根逆向求编码

{

if(HT[f].lchild==c)cd[--start]=0;

else

cd[--start]=1;

}

HC[i]=(char*)malloc((n-start)*sizeof(char)); //为第i个字符编码分配空间

strcpy(HC[i],&cd[start]);//从cd复制编码到HC

}

free(cd); //释放工作空间

}

void main

{ int n,i;

int* w; //记录权值

char* ch; //记录字符

HuffmanTree HT;

HuffmanCode HC;

cout

cin>>n;

w=(int*)malloc((n+1)*sizeof(int)); //记录权值,号单元未用

ch=(char*)malloc((n+1)*sizeof(char));//记录字符,号单元未用

cout

for(i=1;i

{

cout

}

展开阅读全文

篇9:微机原理课程设计报告心得体会 微机原理课程设计致谢

范文类型:汇报报告,心得体会,致谢词,适用行业岗位:设计,全文共 1081 字

+ 加入清单

一、实习目的

计算机网络,是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。

针对于此,在经过相应的课程如《计算机网络》、《计算机基础知识》、《操作系统》等课程的系统学习之后,可以说对计算机网络已经是耳目能熟了,所有的有关计算机网络的基础知识、基本理论、基本方法和结构体系,我都基本掌握了,但这些似乎只是纸上谈兵,倘若将这些理论性极强的东西搬上实际上应用,那我想我肯定会是无从下手,一窍不通。自认为已经掌握了一定的计算机网络理论知识在这里只能成为空谈。于是在坚信“实践是检验真理的唯一标准”下,认为只有把从书本上学到的理论应用于实际的网络设计操作中去,才能真正掌握这门知识。

二、实习的过程

计算机网络的设计是一个要求动手能力很强的一门实践课程,在课程设计期间我努力将自己以前所学的理论知识向实践方面转化,尽量做到理论与实践相结合,在课程设计期间能够遵守纪律规章,不迟到、早退,认真完成老师布置的任务,同时也发现了自己的许多不足之处。

在课程设计过程中,我一共完成了11个实验,分别是1.制作直通电缆和交叉utp、2.交换机console口和telnet配置、3.交换机端口和常规配置、4.虚拟局域网vlan配置、5.路由器console口 telnet配置方法和接口配置、6.路由器静态路由配置、7单臂路由配置、8.动态路由协议配置、协议配置、10路由器访问控制表(acl)、11.网络地址转换(nat)。

在制作直通电缆和交换utp的实验中,我起初不能完全按照要求来剪切电缆,导致连接不通,后来在同学的帮助下,终于将实验完成。

在做到单臂路由配置和动态路由协议配置的实验,由于自身的基础知识掌握不牢,忘掉了一些理论知识,在重新翻阅课本和老师的指导之下,也成功的完成了试验。

从抽象的理论回到了丰富的实践创造,细致的了解了计算机网络连接的的全过程,认真学习了各种配置方法,并掌握了利用虚拟环境配置的方法,我利用此次难得的机会,努力完成实验,严格要求自己,认真学习计算机网络的基础理论,学习网络电缆的制作等知识,利用空余时间认真学习一些课本内容以外的相关知识,掌握了一些基本的实践技能。

课程设计是培养我们综合运用所学知识,发现、提出、分析、解决问题的一个过程,是对我们所学知识及综合能力的一次考察。随着科学技术日新月异的不断发展,计算机网络也在不断的变化发展当中,这就要求我们用相应的知识来武装自己,夯实基础,为将来走向工作岗位,贡献社会做好充分的准备。

展开阅读全文

篇10:结构设计述职报告范文

范文类型:汇报报告,适用行业岗位:设计,全文共 2842 字

+ 加入清单

光阴似箭,岁月如梭,转眼间我来公司已经快四年了,在这段时间里我过得是很充实的,因为专业知识一直在不断的积累,专业能力一直在不断的大幅度提高;在这里我还是要深深的感谢公司对我的信任与培养,给了我那么多的学习和成长的机会,还有要感谢每一位与我合作过的同事伙伴,是你们的配合与帮助,才能使我成长的这么快。经过了几年的相处,给我感触最深的是公司更像是一个温暖的大家庭,因为无论在工作、生活和学习上公司都给予了极大的关怀和包容。公司需要发展,而公司的发展和我们每一个成员是密不可分的,作为公司的一名设计人员,我们更应该为它在前进的道路上贡献一份力量,而这份力量则来自我们做好本职工作,做一名合格的设计人员。要想有所提高,有所突破就必须学会自我总结,下面就对我这几年的工作和学习作如下总结。

来到公司的第一年,是收获最多的一年。因为5.12特大地震的原因,公司格外繁忙,业务也很多,因此手上的事情也多。从砌体结构到框架结构,再后来到底框结构,这些结构形式在工程中是比较多的,因此也渐渐地掌握了基本建模、绘施工图的要求。因为刚开始接触实际工程,所以经常会出现许许多多的问题。首先反应在结构模型上,经常有漏项的事情发生,还有很多时候是模型与实际受力情况不符或有较大出入;其次是反应在施工图上,依然有很多漏项的情况,然后就是不同专业之间有很多矛盾之处,还有很多施工图上本身的错漏之处;最后就是在工地现场时,观察能力及现场经验不足,很少发现问题或者发现的问题都是比较小的问题,有很多需要控制的质量问题都是师傅或者其他监督部分所发现的,当发现问题后,如何补救或处理更是摸不着头脑。从建立模型到模型完成,从校核模型到修改模型完成,从模型到出校核图,从修改后的校核图到再次校核,从施工图到审查回复,从设计到现场,再从现场到设计这些程序的前前后后,不知道出了多少问题,一次次的审核师傅都兢兢业业、不厌其烦地一一执行,自己所出问题,公司都一次次的解决。正是因为这么多的问题和失误,才让我不断的掌握专业知识,第一次有了理论结合实践的亲身体会。

到了第二年,因为处在灾后重建当中,所以任务依然很多,这一年里在专业知识方面有了很大的提高,但依然问题层出不穷,归根揭底是因为对各种规范不熟悉,常出现与规范不符的现象。当时最突出的问题就是基础埋深超深,在这个问题上公司可以说是费尽心力,因为自己的一时疏忽,给公司带来太多麻烦,而最后公司用一颗包容的心来承担这一切,在这里再次感谢公司及公司的领导们。经过超深事件后,大家都深刻地意识到:设计必须严谨,必须认真对待,必须尽最大努力来完成任何一项设计,任何一个小小的疏漏都可能把我们推向深渊。在工地现场方面,经过第一年的积累,对于比较常见的问题基本上能够解决,但实际工程则是复杂的,基本上不同的工地都会出现不同的问题,而这些问题更是变化莫测的。遇到这种情况后,就将不能现场立即解答的问题带回公司,向经验丰富的工程师们请教,最后再一一解决。在这一年里,公司也开了很多会,基本上每次会上田总都会要求大家主动学习,鼓励大家考注册。这一年,我也买了相关书籍,准备考基础考试,但因为自己不是主动学习,因此结果可想而知„„

第三年,灾后重建尾期,工程少了很多,但相对而言,前期所做工程基本都已开工因此上工地的时间偏多,在现场经验这一块上有了很好的补充。经过两年的学习和积累,对一般的工程已能够独立完成,与其他专业的配合也要好多了,至少不同专业间的矛盾要少多了。公司为了让大家配合得更好,还专门参见了拓展训练。其实在刚去拓展训练的时候是抱着玩的心态,可是在训练当中自己却不知不觉地投入其中。虽然拓展训练都是一些小游戏,可这些游戏都给了大家深深的启迪。从参加训练的第一天到最后一天里,大家都明显体会到训练的意义,大家也用实际行动说明了一切。没错,我们都是这个团队的成员,只要大家继续发扬“拓展精神”,我相信公司会越来越好。这一年里,不光是在专业知识和技能上有所提高,我也真正的寻找到了自己的位置以及自己前进的方向。这一年里,公司里有了个很浓的学习气氛,这种气氛是前所未有的,因为这一次大家都已经开始主动学习。虽然这一次的注册考试我以失败告终,但这此考试对我而言,意义重大。首先,我已经开始学会主动学习,不再是以前的被动学习;其次,在注册考试的复习中,对各结构规范有了一次系统的学习,在理论联系实际方面有了很大的帮助;再次,通过这次注册考试,也给自己带来了信心,我相信只要坚持努力、再接再厉,通过注册考试只是时间问题。

在公司的工作时间里,在作设计时我体会到拿到工作图时不要盲目建模计算,先进行全面分析,与建筑设计人员进行勾通,充分了解工程的各种情况(功能、选型等)。建模计算前的前处理要做好,比方荷载的计算要尽量准确,不能估计,要完全根据建筑做法或使用要求来输入。在进行结构建模的时候,要了解每个参数的意义,不要盲目修改参数,修改时要有依据。在计算中,在保证结构安全的前提下要充分考虑经济性,不能随意加大配筋量或加大构件的截面。多花点时间在模型上,有句老话是这么说的,“磨刀不误坎柴工”。经过这么长时间的磨练,终于体会到了这句话的意义所在。画图是需要时间的,但怎样才能达到事半功倍的效果呢,那就是不返工,还与有的时候在做施工图的时候一般都先把大的方面和问题解决了,却忽略了一些小的细节问题但又很浪费时间的问题,所以做施工图时千万不能避重就轻,要把一些容易浪费时间的小的问题也提前考虑周全,如果是只画图不想问题那速度可是飞快的。还有一些容易浪费时间的部分一定要先行进行研究和解决,如果自己解决不了的,就及时的与有经验的工程师进行学习和研究,这样既提高了速度又省了时间。多多听取有经验的工程师的意见,多多思考,把脑子用灵活,一个问题有多种方法解决。要积极培养自己分析解决问题的能力,不要把自己局限到一个死胡同里。

新的一年已经来到,在今后工作中,努力提高自己的学识水平和专用能力。对于建筑行业的新规范、新标准,每次更新后要认真学习和研究,掌握新规范、新标准、把规范、标准应用于工程建设中,不断地总结经验和教训。继续复习,好好准备注册考试,争取早日通过注册考试。准备每一个工程竣工验收后,要认真总结在工程过程处理的问题。经常分析在处理工程问题的经验与教训,发现自己在工程处理中存在哪些问题,哪些方面值得提高,哪些方面值得继续发扬,做一个优秀的结构工程师。另外,要加强团队协作精神,积极参加公司组织的活动,多和不同专业设计人员沟通交流,尽量避免因沟通不足而出现的返工等重复劳动。还有就是再忙也要抽点时间锻炼身体,毕竟身体是革命的本钱嘛。遵守公司内部规章制度,维护公司利益,积极为公司创造更高价值,力争取得更大的工作成绩。本着实事求是的原则,积极做好自己的本职工作,尽量不拖拉,给公司一个交代,给甲方一个好印象。

看了结构设计述职报告范文还看了:

展开阅读全文

篇11:课程设计的总结报告

范文类型:工作总结,汇报报告,适用行业岗位:设计,全文共 1608 字

+ 加入清单

本学期实时测量技术实验以电子设计大赛的形式,老师命题,学生可以选择老师的题目也可以自己命题,并且组队操作其他的事情(包括设计总体方案、硬件、软件设计、焊接、调试等工作)。趣味性强,同时也可以学到很多东西。

我们认为,在这学期的实验中,在收获知识的同时,还收获了阅历,收获了成熟,在此过程中,我们通过查找大量资料,请教老师,以及不懈的努力,不仅培养了独立思考、动手操作的能力,在各种其它能力上也都有了提高。更重要的是,在实验课上,我们学会了很多学习的方法。而这是日后最实用的,真的是受益匪浅。要面对社会的挑战,只有不断的学习、实践,再学习、再实践。

之所以使用avr作为我们的执行核心,不仅是因为老师说avr现在是社会上应用比较多的单片机,也因为想通过使用avr锻炼自己的c 语言编程能力,养成良好的编程风格。不管怎样,这些都是一种锻炼,一种知识的积累,能力的提高。完全可以把这个当作基础东西,只有掌握了这些最基础的,才可以更进一步,取得更好的成绩。很少有人会一步登天吧。永不言弃才是最重要的。

而且,这对于我们的将来也有很大的帮助。以后,不管有多苦,我想我们都能变苦为乐,找寻有趣的事情,发现其中珍贵的事情。就像中国提倡的艰苦奋斗一样,我们都可以在实验结束之后变的更加成熟,会面对需要面对的事情。

与队友的合作更是一件快乐的事情,只有彼此都付出,彼此都努力维护才能将作品做的更加完美。而团队合作也是当今社会最提倡的。曾经听过,mba之所以最近不受欢迎就是因为欠缺团队合作的精神和技巧。

电压电流测量装置虽然结束了,也留下了很多遗憾,因为由于时间的紧缺和许多课业的繁忙,并没有做到最好,但是,最起码我们没有放弃,它是我们的骄傲!相信以后我们会以更加积极地态度对待我们的学习、对待我们的生活。我们的激情永远不会结束,相反,我们会更加努力,努力的去弥补自己的缺点,发展自己的优点,去充实自己,只有在了解了自己的长短之后,我们会更加珍惜拥有的,更加努力的去完善它,增进它。只有不断的测试自己,挑战自己,才能拥有更多的成功和快乐!to us, happiness equals success! 快乐至上,享受过程,而不是结果!认真对待每一个实验,珍惜每一分一秒,学到最多的知识和方法,锻炼自己的能力,这个是我们在实时测量技术试验上学到的最重要的东西,也是以后都将受益匪浅的!

对本学期实验的评价

趣味性强,不仅锻炼能力,而且可以学到很多东西,在与老师和同学的交流过程中,互动学习,将知识融会贯通。老师提出的革新非常的好,认为本学期的实验模式非常实用。但是提议可以申请将课程浓缩,在一定时间内只做这个,只有高度的集中才能作出好的东西。时间的紧缺成为一个很大的问题。也希望老师可以为我们知道一下以后的发展方向。让每个人都有动手焊接以及参与其他的各个流程,有专门的知道就更好了。

电压电流测量的遗憾

如果可以制作出多量程的电压电流测量并且使用更高精度的装置就更好了。

但是对于我们这些初学者来说,能够达到这个程度,相信也已经可以相当骄傲了!!

VF课程学习心得体会

从第十周以来,我开始了VF数据库的学习,由于在上半学期刚完成计算机的一级考试,也是为了能在计算机方面有更深的学习,我选择了这门课程。刚开始时,老师要我们进行简单的程序设计,慢慢地我开始接触到了更多的相关的知识。我开始更加的对着门课程感兴趣了,也真是由于这门课程我了解到了更多的计算机程序设计的知识。这也是为了能更好的学习好自己的专业知识打一些基础,电子设计编程就是我最为头疼的,有了此次初步的了解之后,相信我能在以后的专业学习中获益更多。

经过这几周的学习后,我知道了简单的程序,在表单设计中简单的计算,相关的代码,都是我以前从未接触过得。在学习专业课时业听老师介绍过,我们的专业也有C语言,CAD,和机械制图。因此就对这门课程更感兴趣了。

看过“课程设计的总结报告”

展开阅读全文

篇12:数据结构课程设计课心得体会范文

范文类型:心得体会,适用行业岗位:设计,全文共 1027 字

+ 加入清单

这学期开始两周时间是我们自己选题上机的时间, 这学期开始两周时间是我们自己选题上机的时间,虽然 上机时间只有短短两个星期但从中确实学到了不少知识。 上机时间只有短短两个星期但从中确实学到了不少知识。数 据结构可以说是计算机里一门基础课程, 据结构可以说是计算机里一门基础课程,但我觉得我们一低 计算机里一门基础课程 定要把基础学扎实, 定要把基础学扎实,然而这次短短的上机帮我又重新巩固了 C 语言知识,让我的水平又一部的提高。数据结构这是一门 语言知识 让我的水平又一部的提高。数据结构这是一门 知识, 纯属于设计的科目,它需用把理论变为上机调试。

纯属于设计的科目,它需用把理论变为上机调试。它对我们 来说具有一定的难度。它是其它编程语言的一门基本学科。 来说具有一定的难度。它是其它编程语言的一门基本学科。 我选的上机题目是交叉合并两个链表,对这个题目, 我选的上机题目是交叉合并两个链表,对这个题目,我 觉得很基础。刚开始调试代码的时候有时就是一个很小的错 觉得很基础。刚开始调试代码的时候有时就是一个很小的错 调试代码的时候 误,导致整个程序不能运行,然而开始的我还没从暑假的状 导致整个程序不能运行, 态转到学习上,每当程序错误时我都非常焦躁, 态转到学习上,每当程序错误时我都非常焦躁,甚至想到了 放弃,但我最终找到了状态,一步一步慢慢来, 放弃,但我最终找到了状态,一步一步慢慢来,经过无数次 的检查程序错误的原因后慢慢懂得了耐心是一个人成功的 必然具备的条件!

同时,通过此次课程设计使我了解到, 必然具备的条件! 同时,通过此次课程设计使我了解到, 硬件语言必不可缺少,要想成为一个有能力的人,必须懂得 件语言必不可缺少,要想成为一个有能力的人, 硬件基础语言。在这次课程设计中, 硬件基础语言。在这次课程设计中,虽然不会成功的编写一 个完整的程序,但是在看程序的过程中, 个完整的程序,但是在看程序的过程中,不断的上网查资料 以及翻阅相关书籍,通过不断的模索,测试,发现问题, 以及翻阅相关书籍,通过不断的模索,测试,发现问题,解

决问题和在老师的帮助下一步一步慢慢的正确运行程序, 决问题和在老师的帮助下一步一步慢慢的正确运行程序,终 于完成了这次课程设计, 于完成了这次课程设计,虽然这次课程设计结束了但是总觉 得自已懂得的知识很是不足,学无止境, 得自已懂得的知识很是不足,学无止境,以后还会更加的努 力深入的学习。 力深入的学习。

展开阅读全文

篇13:微机原理课程设计报告心得体会 微机原理课程设计致谢

范文类型:汇报报告,心得体会,致谢词,适用行业岗位:设计,全文共 1451 字

+ 加入清单

我们在这个过程中有很多自己的感受,我想很多同学都会和我有一样的感受,那就是感觉汇编语言真的是很神奇,很有意思。我们从开始的担心和害怕渐渐变成了享受,享受着汇编带给我们的快乐。看着自己做出来的东西,心里面的感觉真的很好。虽然我们做的东西都还很简单,但是毕竟是我们自己亲手,呵呵,应该是自己亲闹做出来的。很有成就感。

我想微机原理课程设计和其他课程设计有共同的地方,那就是不仅加深和巩固了我们的课本知识,而且增强了我们自己动脑,自己动手的能力。但是我想他也有它的独特指出,那就是让我们进入一个神奇的世界,那就是编程。对于很多学过汇编或者其他的类似程序的同学来说,这不算新奇,但是对于我来说真的新奇,很有趣,也是我有更多的兴趣学习微机原理和其他的汇编。

微机原理与接口技术是一门很有趣的课程,任何一个计算机系统都是一个复杂的整体,学习计算机原理是要涉及到整体的每一部分。讨论某一部分原理时又要涉及到其它部分的工作原理。这样一来,不仅不能在短时间内较深入理解计算机的工作原理,而且也很难孤立地理解某一部分的工作原理。所以,在循序渐进的课堂教学过程中,我总是处于“学会了一些新知识,弄清了一些原来保留的问题,又出现了一些新问题”的循环中,直到课程结束时,才把保留的问题基本搞清楚。

学习该门课程知识时,其思维方法也和其它课程不同,该课程偏重于工程思维,具体地说,在了解了微处理器各种芯片的功能和外部特性以后,剩下额是如何将它们用于实际系统中,其创造性劳动在于如何用计算机的有关技术和厂家提供的各种芯片,设计实用的电路和系统,再配上相应的应用程序,完成各种实际应用项目。

这次实验并不是很难,主要的困难来自对程序的理解。功夫不负有心人,经过四个人的合作和努力,我们最后对实验的原理有了清晰的认识。虽然实验台上的很多模块单元没有用到,但是就系统功能来说,我觉得我们做的还是不错的。

这次课设却让我们对实验台有了足够的了解,让我们知道了实验台上各个模块的用法;而且它还让我们对自己动手写程序来控制实验台的运作有了一定的基础。虽然实验台只是一个小型的模拟平台,但是通过对它的学习和操作,我们对有关接口的知识将会有一个更广泛的认识,而且它对我们以后的学习也会有帮助的。

实验中个人的力量是不及群体的力量的,我们四个人分工合作,做事的效率高了很多。虽然有时候会为了一些细节争论不休,但最后得出的总是最好的结论。而且实验也教会我们在团队中要善于与人相处,与人共事,不要一个人解决所有问题。

总之,这次课程设计对于我们有很大的帮助,通过课程设计,我更加深入地理解了,微机原理课程上讲到的各种芯片的功能,以及引脚的作用,同时加深了对于主要芯片的应用的认识,同时在试验室的环境里熟悉了汇编程序的编写过程和运行过程,最后还提高了自己的动手能力。感谢老师的悉心指导。

对课程设计的建议

本次课程设计的三个实验相对都比较简单,而且经过老师的讲解以及实验书上的指导,几乎把我们要用到的程序和实验台电路的接线方法都告诉我们了,所以做起来很容易。但是做完实验,我们对实验台及其上面的各个模块还是不了解。对如何编程控制实验台上各个模块和芯片的运作也没有什么清晰的认识。如果老师对我们实验报告的要求再严格一点,也许同学们会更加自觉地去认真理解程序和实验思路。

希望老师根据试验室的环境布置一些可以让我们自己去设计的题目,并给我们更多的实验时间,这样也许能够激发更多同学的创新能力。老师可以多给我们讲一讲各类芯片的实际应用,这样可以让我们对各种芯片有一个更加贴切的感受。

展开阅读全文

篇14:数据结构实验报告线性表

范文类型:汇报报告,全文共 487 字

+ 加入清单

电子文档命名为“学号+姓名”,如:e01214058宋思怡

数据结构实验报告

(一)学号:姓名:专业年级:

实验名称:线性

实验日期:2014年4月14日

实验目的:

1、熟悉线性表的定义及其顺序和链式存储结构;

2、熟练掌握线性表在顺序存储结构上实现基本操作的方法;

3、熟练掌握在各种链表结构中实现线性表基本操作的方法;

4、掌握用 c/c++语言调试程序的基本方法。

实验内容:

一、编写程序实现顺序表的各种基本运算,并在此基础上设计一个主程序完成如下功能:

(1)初始化顺序表l;

(2)依次在l尾部插入元素-1,21,13,24,8;

(3)输出顺序表l;

(4)输出顺序表l长度;

(5)判断顺序表l是否为空;

(6)输出顺序表l的第3个元素;

(7)输出元素24的位置;

(8)在l的第4个元素前插入元素0;

(9)输出顺序表l;

(10)删除l的第5个元素;

(11)输出顺序表l。

源代码

调试分析(给出运行结果界面)

二、编写程序实现单链表的各种基本运算,并在此基础上设计一个主程序完成如下功能:

„„„„

„„„„

小结或讨论:

(1)实验中遇到的问题和解决方法

(2)实验中没有解决的问题

(3)体会和提高

展开阅读全文

篇15:c语言扫雷课程设计报告vc

范文类型:汇报报告,适用行业岗位:设计,全文共 2344 字

+ 加入清单

实 验 报 告

专业

软 件 工 程

班级

x

学号_ xxxxxxxxxxx_

姓名

实验日期:201x年x月x日

报告退发(订正、重做)

课程

c程序设计实验

实验名称

一、实验目的

① 熟练掌握c程序中函数的定义; ② 掌握函数的调用,函数参数的传递; ③ 熟练掌握函数的嵌套调用和递归调用;

二、实验环境(描述实验的软件、硬件环境)

① 软件环境:windows xp/win7等操作系统,microsoft visual c++ 6.0编译器; ② 硬件环境:pc机一台

三、实验内容、步骤和结果分析

题目一:编写一个用来判断质数(素数)的函数。

要求:

(1)在main函数中调用该函数对输入的数值进行判断,并输出判断结果;(2)当输入数值

#include

#include

/*=======判断质数(素数)的函数=======*/ int judgeprime(int n){} /*=======判断质数(素数)的函数=======*/ int main(){

printf(“n提示:输入一个数字来判断是否是质数(素数),当输入数值1;){ printf(“please enter a number:”);for(int i=2;i

} return 1;if(n%i==0)return 0;else continue;

}

} scanf(“%d”,#);if(num

题目二:使用习题1中所编写的判断质数的函数验证哥德巴赫(goldbach)的1+1猜想-----任何一个>=6的偶数都可以表示成两个素数之和

要求:

① 屏幕提示用户一个>=6的偶数;

② 输出这个偶数等于2个素数之和的表达式; ③ 当输入数据

#include

#include

/*=======判断质数(素数)的函数=======*/ int judgeprime(int n){for(int i=2;i

if(n%i==0)return 0;else continue;

} } return 1;//true-->1,false-->0 /*=======验证哥德巴赫猜想的函数(调用judgeprime)=======*/ int provegoldbach(int m){

} int main(){

}

printf(“n提示:输入一个偶数来验证哥德巴赫猜想,当输入数值=6;){

} int temp;printf(“please enter a number:”);scanf(“%d”,#);temp=provegoldbach(num);if(temp==0)//当输入小于6或者不是偶数时结束 return 0;printf(“==================================”);if(m

} if(judgeprime(j)==1&&judgeprime(m-j)==1)//判断两数是否都等于质数 { } printf(“t%d = %d + %dn”,m,j,m-j);return 0;//判断是否大于等于6或者不是偶数 for(int j=2;j

题目三:编写一个求阶乘的函数,接着调用该函数实现组合的求解要求:

① 提示用户输入n和m的数值; ② 输出的 结果

#include

/*=======阶乘函数=======*/ int fac(int n){} /*=======组合函数=======*/ int combine(int m,int n){ } /*=======main函数=======*/ void main(){

int m,n;int res;printf(“n提示:这是求组合求和公式的函数,输入两个整数(分别为上标和下标)nn”);scanf(“%d%d”,&m,&n);if(m>n)//判断上标大于小标重新输入 goto loop;return fac(n)/(fac(n-m)*fac(m));int f;if(n

}res=combine(m,n);printf(“tresult is %dn”,res);

题目四:编写一个求矩阵中最大元素以及最小元素的函数selectmaxandmin(),在main函数中调用该函数

要求:

最大值和最小值的输出操作,可以放在selectmaxandmin()函数中

#include

#define row 4//矩阵的行 #define column 4//矩阵的列/*=======在矩阵中选择最大最小数的函数=======*/ void selectmaxandmin(int arry[row][column])//用指针更方便 {

int tempmax,tempmin;if(arry[0][0]>arry[0][1])//赋初始值 {

} else {

} for(int i=0;i

}

} for(int j=0;j

} if(arry[i][j]>tempmax){ } if(arry[i][j]

} int mat[row][column];printf(“please enter a %d x %d matrix:n”,row,column);for(int i=0;i

} selectmaxandmin(mat);return 0;for(int j=0;j

题目五:编写一个编码原文的函数,对于给定的内容,按照敌方的规律对其进行编码

要求:

某日,我军某部截获了一份敌方电报,经过仔细分析后发现:该电文中所有的字母字符都是经过某种运算后得到的,然那些非字母字符则没有经过任何处理。例如,原文中的字符a对应电文中的字符e,原文中的字符b对应电文中的字符f,原文中的字符w对应电文中的字符a,原文中的字符!在电文中仍为!

#include

展开阅读全文

篇16:课程设计报告

范文类型:汇报报告,适用行业岗位:设计,全文共 2589 字

+ 加入清单

1mBot机器人介绍

mBot是一款为素质教育而生的低门槛“机器人小车”,是实现跨学科综合素质教育STEAM[1]的载体,借助mBot机器人开展教育是培养学生创新能力的有效途径。mBot机器人分为硬件和软件两个部分,硬件是标准化的电子零件,由mBot机械部分、mCore控制板两部分组成,同时配有一个简易遥控器可供拼装完成后直接“驾驶”;软件部分使用基于Scratch2.0开发的图形化编程软件mBlock,通过蓝牙直接实现操控mBotAPP。mBlock根据需求编制一个程序,将其下载到mCore,由mCore控制mBot机器人完成动作。mBot机器人与智能玩具的区别在于它可以使用软件mBlock进行二次开发,在其上加载一些传感器可以实现不同的功能。该次课程设计用3个mBot机器人模拟制作一个智能交通系统,用实例来讲述创新课程设计过程。

2智能交通系统分析

课堂以智能交通系统为主题,激发学生讨论,讨论结果形成一个简单、完整的交通系统由3个部分组成智能汽车、智能红绿灯、智能车库。具体功能如下描述。

(1)智能汽车,用mBot机器人模拟汽车的行车过程,前进、左右转弯、倒车,同时用指示灯颜色和不同的声音区分不同状况,以给出警戒和提示;车上安装超声波传感器,便于安全倒车;汽车的行驶过程用遥控器控制。

(2)智能红绿灯,根据路段车流量设置红绿灯间隔时间,绿灯结束后有3s的黄灯闪烁;指示灯亮,并用LED数码管显示剩余时间。在mBot机器人的主控板mCore上安装两个设备,一个是LED灯作为红绿灯使用;另一个是4位数码管用来显示红绿灯时间,用RJ25接口线将两设备与主控板连接。

(3)智能车库,用超声波传感器来检测有无车辆入库,若有,则用舵机控制横杆抬起,若无,则横杆落下。若在超声波出现故障时,则用机械遥感手动控制横杆起落。mCore主控板接3个设备:一是超声波传感器,用来检测门前有无车辆;二是遥感,便于应急时手动控制;三是舵机,其上安装横杆,接收超声波传感器信号,控制横杆起落。

3课程设计

将智能交通系统课程设计分基础、应用、创新3个阶段来讲述。

(1)智能汽车:对汽车的踩油门、松油门过程用键盘上的“按下、松开上移键”命令来控制;脱机时,将“按下上移键、松开上移键”命令用红外遥控器上的上下箭头代替,便于脱机控制。由于红外线遥控器控制命令以判断形式出现,须将其加入条件控制结构。其它转向功能与前进类似。基础功能完成汽车的机械行驶前进、后退、左转、又转,同时配备相应的指示灯;通过键盘上的4个方向箭头完成在线控制,使用图形化模块如表1的在线命令。通过学习让学生熟悉mBlock软件界面,学会图形化模块的拖拽方法和技巧。教学内容适合小学5、6年级学生。应用级在初级基础上将控制方式改为遥控器控制,实现脱机运行,模块指令如表1的脱机命令。由在线命令转为脱机命令模块结构简单,但加入了选择判断,使学生的思路更加条理,同时查看对应模块生成的arduino程序如表1的Arduino代码,熟悉arduino语法结构。教学内容适合中高年级学生。创新能以初级为基础,加上应用级训练具有的逻辑思维能力和读代码能力,可以创造性地实现不同功能,当软件给出的模块结构不能满足要求时,可以在arduino的编辑器IDE手写代码来完成。高级阶段,每个学生的作品不一样,教学呈现个性化,适合大学生和电子类爱好者。

(2)智能红绿灯:定义一个变量time用来计时,将红绿灯持续的时间设置为循环次数,每次延时1秒,将变量time值减1,用LED数码管显示变量time值,达到计时效果。假设绿灯持续时间为30s。教学内容属于中级,增加了循环结构和变量设置,红绿灯持续功能用循环结构来实现,显示时间用变量赋值来完成。对中小学生,变量概念不易于理解,可用解应用题时的设未知数知识点来变通。对这部分内容的创新可以横向拓展,由红绿灯联想到路灯、声控灯、跑马灯、led显示屏等。

(3)智能车库:设置3个变量s、x、y、s用于存储超声波传感器测得数据,x存储摇杆x轴移动的距离,y存储摇杆y轴移动的距离;s小于10时,表示有车通过,横杆抬起,否则,横杆落下;x大于y表示横向移动,横杆落下,y大于x表示纵向移动,横杆抬起。其执行arduino程序如下,等待两秒是保证车安全通过。相比上面教学内容增加两个难点:一是逻辑关系复杂包含顺序、选择、循环结构的嵌套,在理清逻辑关系的基础上才能驾驭;二是熟悉Arduino编程语言语法结构,并用其将逻辑关系表达出来。创新应用可在深度上挖掘,设计出更智能化的作品。

4结语

创新教育是一种培养学生创造与创新能力的新型教育方式,提倡在真实情境下学习、从生活中学习。该次创新教育课程设计内容选自与学生接触紧密的智能交通系统,以此为主题展开讨论,激发学生兴趣,引导学生关注生活,树立处处留心皆学问的学习理念。创新课程采用项目化的教学方式,由智能交通系统为中心,向外发散到智能汽车、智能红绿灯、智能车库,每个部分又引出更多的知识点(如,智能红路灯引出路灯、流水灯、led灯等),丰富创新课程教学内容,体现知识有用性;创新课程教学目标区别于传统课程的知识堆砌[5],强调知识的横向纵向联系。创新课程没有标准答案,每个学生的想法都是智慧的萌芽,都会得到老师同学的认可,找自己的存在感,参与意识更强烈;更容易保持学习的激情、增强学习信心,在学习的过程之中更容易生成新的创意。创新课程是课堂教学的有效补充,将基础教育获得的碎片化知识整合,结合实际加以应用,强调知识的有用性,从而调动学生的学习积极性,培养学生的创新、实践能力。

作者:苗永梅 单位:宝鸡职业技术学院

参考文献

[1]梁森山。中国创客教育蓝皮书[M]。北京:人民邮电出版社,20xx.

[2]万佑红,将国平。机器人教育与大学生创新能力培养的探索[J]。电气电子教学学报,20xx,27(4):6-8.

[3]王同聚。Scratch与机器人共融在教学中的应用与实践——以中小学机器人教学为例[J]。中小学信息技术教育,20xx(8):76-79.

[4]纪欣然。基于Arduino开发环境的智能寻光小车设计[J]。现代电子技术,20xx,35(15):161-163.

[5]李丹妍。创客教育:创新人才培养的新路向[J]。教育研究与实践,20xx(4):30-34.

展开阅读全文

篇17:课程设计报告

范文类型:汇报报告,适用行业岗位:设计,全文共 401 字

+ 加入清单

选题研究的目的和意义

通过对词汇习得理论及概念隐喻理论的研究历史和现状及前景的分析,发现以往的词汇习得理论有其不足之处。而概念隐喻理论为我们研究词汇习得提供了一个新的视角。鉴于此论文将研究概念隐喻理论在词汇习得中的应用,以期对英语词汇习得与教学有所启示,提高学习效率。

研究的理论和依据

本论文以概念隐喻理论为理论根据,以词汇习得理论的。历史研究及其不足之处为依据来探讨概念隐喻理论在词汇习得中的应用。

选题的特色及创新点

通过对国内外研究现状的分析,本论文将在前人研究的基础上,对概念隐喻理论在词汇习得中的运用作进一步的研究。本论文不仅研究了概念隐喻理论在多义词、习语习得等中的应用,而且还深入研究了词的理据与概念隐喻的关系。

拟解决的问题

对概念隐喻的工作机制及词的理据作了更深层次的分析以及通过这些分析来表现二者之间的一致关系。深入分析了概念隐喻理论在多义词、习语习得等中的应用,以期对词汇习得与教学有所启示。

展开阅读全文

篇18:结构设计述职报告范文

范文类型:汇报报告,适用行业岗位:设计,全文共 2156 字

+ 加入清单

尊敬的各位领导:

日月如梭,时光荏苒,转眼又到了新的一年。我于xx年xx月有幸成为xx建筑设计院的一员,从事结构设计工作。这一年多来,在xx院长的正确领导和严格要求下,在xx主任的引导和支持下,以及在各专业同事的配合下,按照本院的工作思路、目标、任务,立足本职、积极工作、一丝不苟、规范设计、精益求精,基本完成了自己所负责的各项工作。在辞旧迎新之际,就我在本院所从事的结构设计工作向领导和同志们作以下述职

立足规范,强调结构概念设计是我的工作理念。在本院一年多的工作中,我自觉加强学习,细心研读规范、虚心求教释惑,不断理清工作思路,总结工作方法;干中学,学中干,从中掌握方法积累经验。

回首工作以来所做过的各个工程项目,从xxx项目到xxx项目、从xxx项目到xxx项目,在这个过程中我开始接触了钢结构,从着手设计到最终出图,最后图审通过,使得自己在钢结构设计方面的结构概念基本清晰;再者就是xxx项目以及xxx项目等其他工程项目。在以上工程中涉及框架结构、框架异形柱结构、钢结构等;基础类型有柱下混凝土独立基础、柱下混凝土条形基础、桩基础、平板式筏板基础等。

追问自我,并结合实际的工程项目,反复总结工作经验教训;不由让我想起了国学大师王国维先生的“人生三大境界”,现就“三大境界”结合自身所从事的结构设计工作谈谈我的感受:

一、 昨夜西风凋碧树。独上高楼,望尽天涯路“干一项工程,交一帮朋友,树一座丰碑”是我的最终目标,想达到这个目标首先要干一项工程,并且要把这个工程做好,做到结构概念清晰,安全经济;这样才能交一帮真正的朋友,进而树一座丰碑。回想起工作之初,所设计的xxx项目,也就是我的第一个工程项目;从确定方案到着手设计,然后最终出图,使我深刻的认识到要把一项工程做好是多么的不容易。刚刚开始工作,结构概念不清晰,而且设计经验不足,丢三落四,造成图纸质量不高;幸亏xx院长及时纠正错误,并给我讲解结构的受力特点,使得我对xxx项目有了正确的理解。就现在看来,做xxx项目对结构概念的要求较高,结构设计时应慎之又慎;在图纸审核时多和院长以及总工交流,谈谈自己对某一问题的处理办法,听听前辈的看法,这样才能有所进步!

通过这个项目,我的心开始慢慢静下来。毕业之初的那种居高临下、什么工程都想去尝试、什么事情都想的简单的心态已不复存在;人变的踏实了,对建筑结构的理解处于一种悬思的状态。但做设计欲成大事业者,必须要有执著的追求,登高望远,瞰察路径,明确目标与方向。

二、 衣带渐宽终不悔,为伊消得人憔悴。

“只看不做,只想不做,设计水平不会有显著提高;要着手设计实际的工程项目,理清结构基本概念,反复思考,才能提高自己的设计水平和工作能力”xx院长如是说。对于xx院长的教导,我谨记于心。

在过去的一年里,我认真对待每一个项目;根据已有的建筑图纸,先从大体上把握结构的受力特点,确定结构设计方案,理清设计思路;从设计到出图再到图审的过程中,各个击破,步步为营。做到自己图纸上的内容,自己要知道为什么这样做、结构概念是否正确、是否在规范允许范围内。慢慢的使我养成了一种上班规范设计,下班反复思考的习惯。比如在xxx项目时,其中有个柱角大样(钢架柱与砼柱连接大样),在下班后回想自己的设计内容时,总感觉这个柱角大样有点问题;于是查《钢规》关于柱角连接的相关要求,才知道“柱角在地面以下的部分应采用强度等级较低的混凝土包裹(保护层厚度不应小于50mm),并应使包裹的混凝土······高出地面不小于100mm(《钢规》8.9.3)”,并且属于强制性条文;然后对照规范,更改大样;再比如设计xxx项目时,关于挑梁的问题等等。相信这种反复思考、认真揣摩的工作方法,对结构概念的理解和设计水平的提高是有很大帮助的。

这注定是一个苦索的过程,也是作为一名工程师必须经历的过程。这个过程是痛苦的、残酷的,也将有许多工程师在此过程中被淘汰;正所谓“浪花淘金英雄”,只有刻苦钻研、迎难而上才能得到真正的洗礼,设计技术才能得到升华!

三、 众里寻他千百度,蓦然回首,那人却在,灯火阑珊处。 这是一个顿悟的阶段、是一个创新的阶段,是许多工程师所梦想的境界!

根据掌握的概念设计能力,研究和分析复杂的现有结构尚容易,创造出开拓性的结构、设计出伟大的作品就很难了,国内这一境界的大师寥寥,国外进入这一境界的大师有Fazlur Khan、施莱西、林同炎等等,这些人都是某一些领域的领袖和灵魂人物,比如Khan在高层领域,施莱西在轻结构领域,林同炎在桥梁和预应力领域。

四、 总结

扪心自问,通过一年多来的工作和学习,我处于哪个阶段,我以后想要达到哪个阶段;结合自身实际情况,觉得自己刚刚进入第二阶段。这是一个漫长的阶段,我要在这个阶段学习、工作十几年甚至几十年才有可能达到所谓的顿悟境界!

回首这一路走来的艰辛过程,在此感谢本院xx院长的正确领导和大力支持,本院xx主任的指引和帮助。我会拼搏奋斗、一如既往,争取为公司做出更多更大的贡献!

展开阅读全文

篇19:数据结构实验报告

范文类型:汇报报告,全文共 3814 字

+ 加入清单

一、实验目的及要求

1)掌握栈和队列这两种特殊的线性表,熟悉它们的特性,在实际问题背景下灵活运用它们。

本实验训练的要点是“栈”和“队列”的观点;

二、实验内容

1) 利用栈,实现数制转换。

2) 利用栈,实现任一个表达式中的语法检查(选做)。

3) 编程实现队列在两种存储结构中的基本操作(队列的初始化、判队列空、入队列、出队列);

三、实验流程、操作步骤或核心代码、算法片段

顺序栈:

Status InitStack(SqStack &S)

{

S.base=(ElemType*)malloc(STACK_INIT_SIZE*sizeof(ElemType));

if(!S.base)

return ERROR;

S.top=S.base;

S.stacksize=STACK_INIT_SIZE;

return OK;

}

Status DestoryStack(SqStack &S)

{

free(S.base);

return OK;

}

Status ClearStack(SqStack &S)

{

S.top=S.base;

return OK;

}

Status StackEmpty(SqStack S)

{

if(S.base==S.top)

return OK;

return ERROR;

}

int StackLength(SqStack S)

{

return S.top-S.base;

}

Status GetTop(SqStack S,ElemType &e)

{

if(S.top-S.base>=S.stacksize)

{

S.base=(ElemType *)realloc(S.base,(S.stacksize+STACKINCREMENT)*sizeof(ElemType));

if(!S.base) return ERROR;

S.top=S.base+S.stacksize;

S.stacksize+=STACKINCREMENT;

}

*S.top++=e;

return OK;

}

Status Push(SqStack &S,ElemType e)

{

if(S.top-S.base>=S.stacksize)

{

S.base=(ElemType *)realloc(S.base,(S.stacksize+STACKINCREMENT)*sizeof(ElemType));

if(!S.base)

return ERROR;

S.top=S.base+S.stacksize;

S.stacksize+=STACKINCREMENT;

}

*S.top++=e;

return OK;

}

Status Pop(SqStack &S,ElemType &e)

{

if(S.top==S.base)

return ERROR;

e=*--S.top;

return OK;

}

Status StackTraverse(SqStack S)

{

ElemType *p;

p=(ElemType *)malloc(sizeof(ElemType));

if(!p) return ERROR;

p=S.top;

while(p!=S.base)//S.top上面一个...

{

p--;

printf("%d ",*p);

}

return OK;

}

Status Compare(SqStack &S)

{

int flag,TURE=OK,FALSE=ERROR;

ElemType e,x;

InitStack(S);

flag=OK;

printf("请输入要进栈或出栈的元素:");

while((x= getchar)!=#&&flag)

{

switch (x)

{

case (:

case [:

case {:

if(Push(S,x)==OK)

printf("括号匹配成功!

");

break;

case ):

if(Pop(S,e)==ERROR || e!=()

{

printf("没有满足条件

");

flag=FALSE;

}

break;

case ]:

if ( Pop(S,e)==ERROR || e!=[)

flag=FALSE;

break;

case }:

if ( Pop(S,e)==ERROR || e!={)

flag=FALSE;

break;

}

}

if (flag && x==# && StackEmpty(S))

return OK;

else

return ERROR;

}

链队列:

Status InitQueue(LinkQueue &Q)

{

Q.front =Q.rear=

(QueuePtr)malloc(sizeof(QNode));

if (!Q.front) return ERROR;

Q.front->next = NULL;

return OK;

}

Status DestoryQueue(LinkQueue &Q)

{

while(Q.front)

{

Q.rear=Q.front->next;

free(Q.front);

Q.front=Q.rear;

}

return OK;

}

Status QueueEmpty(LinkQueue &Q)

{

if(Q.front->next==NULL)

return OK;

return ERROR;

}

Status QueueLength(LinkQueue Q)

{

int i=0;

QueuePtr p,q;

p=Q.front;

while(p->next)

{

i++;

p=Q.front;

q=p->next;

p=q;

}

return i;

}

Status GetHead(LinkQueue Q,ElemType &e)

{

QueuePtr p;

p=Q.front->next;

if(!p)

return ERROR;

e=p->data;

return e;

}

Status ClearQueue(LinkQueue &Q)

{

QueuePtr p;

while(Q.front->next )

{

p=Q.front->next;

free(Q.front);

Q.front=p;

}

Q.front->next=NULL;

Q.rear->next=NULL;

return OK;

}

Status EnQueue(LinkQueue &Q,ElemType e)

{

QueuePtr p;

p=(QueuePtr)malloc(sizeof (QNode));

if(!p)

return ERROR;

p->data=e;

p->next=NULL;

Q.rear->next = p;

Q.rear=p; //p->next 为空

return OK;

}

Status DeQueue(LinkQueue &Q,ElemType &e)

{

QueuePtr p;

if (Q.front == Q.rear)

return ERROR;

p = Q.front->next;

e = p->data;

Q.front->next = p->next;

if (Q.rear == p)

Q.rear = Q.front; //只有一个元素时(不存在指向尾指针)

free (p);

return OK;

}

Status QueueTraverse(LinkQueue Q)

{

QueuePtr p,q;

if( QueueEmpty(Q)==OK)

{

printf("这是一个空队列!

");

return ERROR;

}

p=Q.front->next;

while(p)

{

q=p;

printf("%ddata);

q=p->next;

p=q;

}

return OK;

}

循环队列:

Status InitQueue(SqQueue &Q)

{

Q.base=(QElemType*)malloc(MAXQSIZE*sizeof(QElemType));

if(!Q.base)

exit(OWERFLOW);

Q.front=Q.rear=0;

return OK;

}

Status EnQueue(SqQueue &Q,QElemType e)

{

if((Q.rear+1)%MAXQSIZE==Q.front)

return ERROR;

Q.base[Q.rear]=e;

Q.rear=(Q.rear+1)%MAXQSIZE;

return OK;

}

Status DeQueue(SqQueue &Q,QElemType &e)

{

if(Q.front==Q.rear)

return ERROR;

e=Q.base[Q.front];

Q.front=(Q.front+1)%MAXQSIZE;

return OK;

}

int QueueLength(SqQueue Q)

{

return(Q.rear-Q.front+MAXQSIZE)%MAXQSIZE;

}

Status DestoryQueue(SqQueue &Q)

{

free(Q.base);

return OK;

}

Status QueueEmpty(SqQueue Q) //判空

{

if(Q.front ==Q.rear)

return OK;

return ERROR;

}

Status QueueTraverse(SqQueue Q)

{

if(Q.front==Q.rear)

printf("这是一个空队列!");

while(Q.front%MAXQSIZE!=Q.rear)

{

printf("%d

Q.front++;

}

return OK;

}

展开阅读全文

篇20:java课程设计报告心得体会

范文类型:汇报报告,心得体会,适用行业岗位:设计,全文共 1275 字

+ 加入清单

1.学习之路,不走弯路,就是捷径

软件开发之路是充满荆棘与挑战之路,也是充满希望之路。java学习也是如此,没有捷径可走。所有的人都期盼成功,但是并不是每个人都会为走向成功全力以赴。人们在渴望成功的同时,也渴望能够少一分努力,多一分收获。而事实上要获取真正的成功,每个人都必须经历艰辛。无论你出身豪门,还是出身寒舍,你都不得不接受这样一个事实:成功没有捷径可走,只有顽强的意志与坚持不懈的奋斗才能带你走向成功。

2.如何学习程序设计?

Java是一种平台,也是一种程序设计语言.首先一定要保持热情,买一本关于这种语言入门的书,一开始不要看太难的,循序渐进,先看一遍。多练基础代码,将各种语句练得非常熟练,可以选一些计算机语言初等练习题做做。再重头到尾好好看一遍,哪里不懂,可以与他人交流。多看看别人用这种语言写的程序,借鉴编程方法,对自己错误的思想进行校正。多多练习,每天都打一些代码,毕竟熟能生巧!

3.培养兴趣

兴趣是指一个人力求认识某种事物或从事某种活动的心理倾向。知识是兴趣产生的基础条件,因而要培养某种兴趣,就应有某种知识的积累,学习编程,就应该多看看那方面的书籍,不仅能提高自己的文化内涵,也能渐渐培养自己的学习热情。有空多到一些程序员论坛转转,你会发现,他们其实很乐观幽默,时不时会冒出智慧的火花。

4.脚踏实地,循序渐进

现实生活中,人人都有梦想,都渴望成功,都想找到一条成功的捷径。其实,捷径就在你的身边,那就是勤于积累,脚踏实地,积极肯干。无论做什么事都要戒骄戒躁,踏实地走好每一步,让自己的生活有目标、有计划,这样我们的生活才会变得充实,我们离成功也就越来越近了;相反,如果浮躁、急功近利,就不能集中精力去完成自己的人生目标,最后很可能一事无成,一败涂地。

5.多实践,快实践

纸上得来终觉浅,绝知此事要躬行.软件开发是一门工程学科,注重的就是实践,"君子动口不动手"对软件开发人员来讲根本就是错误的,他们提倡"动手至上",但别害怕,他们大多温文尔雅,没有暴力倾向,虽然有时候蓬头垢面的一副"比尔盖茨"样。有前辈高人认为,学习编程的秘诀是:编程、编程、再编程,笔者深表赞同。不仅要多实践,而且要快实践。我们在看书的时候,不要等到你完全理解了才动手敲代码,而是应该在看书的同时敲代码,程序运行的各种情况可以让你更快更牢固的掌握知识点

6.多读好书

书中自有黄金屋,书中自有颜如玉。培根说,“读史使人明智,读诗使人聪慧,演算使人精密,哲理使人深刻,伦理学使人有修养,逻辑修辞使人善辨。”从书中可以领悟“不以物喜,不以己悲”豁达情怀,亦可以领略“天下兴亡,匹夫有责”的豪迈心胸。从好书中提升了思想境界,陶冶了情操。

7. 思想的领悟

学习Java也是如此,必须要有扎实的基础,你才能在J2EE、J2ME领域游刃有余。掌握了基础语法和Java程序运行原理后,我们就可以用Java语言实现面向对象的思想了。面向对象,是一种方法学;是独立于语言之外的编程思想;是CBD基于组件开发的基础;属于强势技术之一。

展开阅读全文