数据课程设计心得体会
我们有一些启发后,不妨将其写成一篇心得体会,让自己铭记于心,这样我们可以养成良好的总结方法。那么好的心得体会都具备一些什么特点呢?以下是精心整理的数据课程设计心得体会,仅供参考,欢迎大家阅读。
通过本次课程设计,对***的概念有了一个新的认识,在学习离散数学的时候,总觉得***是很抽象的东西,但是在学习了《数据结构与算法》这门课程之后,我慢慢地体会到了其中的奥妙,***能够在计算机中存在,首先要捕捉他有哪些具体化、数字化的信息,比如说权值、顶点个数等,这也就说明了想要把生活中的信息转化到计算机中必须用数字来完整的构成一个信息库,而***的存在,又涉及到了顶点之间的联系。***分为有向***和无向***,而无向***又是有向***在权值双向相等下的一种特例,如何能在计算机中表示一个双向权值不同的***,这就是一件很巧妙的事情,经过了思考和老师同学的帮助,我用edges[i][j]=up和edges[j][i]=up就能实现了一个双向***信息的存储。
对整个程序而言,Dijkstra算法始终都是核心内容,其实这个算法在实际思考中并不难,也许我们谁都知道找一个路径最短的方法,及从顶点一步一步找最近的路线并与其直接距离相比较,但是,在计算机中实现这么一个很简单的想法就需要涉及到很多专业知识,为了完成设计,在前期工作中,基本都是以学习C语言为主,所以浪费了很多时间,比如说在程序中,删除顶点和增加顶点的模块中都有和建***模块相互重复的函数,但是由于技术的原因,只能做一些很累赘的函数,可见在调用知识点,我没有掌握好。
不过,有了这次课程设计的经验和教训,我能够很清楚的对自己定一个合适的水平,而且在这次课程设计中我学会了运用两个新的函数sprintf和包涵在#include头文件中的输入函数。因为课程设计的题目是求最短路径,本来是想通过算法的实现把这个程序与交通情况相连,但是因为来不及查找各地的信息,所以,这个计划就没有实现,我相信在以后有更长时间的情况下,我会做出来的。
1、巩固和加深了对数据结构的理解,提高综合运用本课程所学知识的能力。
2、培养了我选用参考书,查阅手册及文献资料的能力。培养***思考,深入研究,分析问题、解决问题的能力。
3、通过实际编译系统的分析设计、编程调试,掌握应用软件的分析方法和工程设计方法。
4、通过课程设计,培养了我严肃认真的工作作风,逐步建立正确的生产观念、经济观念和全局观念。
根据我在实习中遇到得问题,我将在以后的学习过程中注意以下几点:
1、认真上好专业实验课,多在实践中锻炼自己。
2、写程序的过程中要考虑周到,严密。
3、在做设计的时候要有信心,有耐心,切勿浮躁。
4、认真的学习课本知识,掌握课本中的知识点,并在此基础上学会灵活运用。
5、在课余时间里多写程序,熟练掌握在调试程序的过程中所遇到的常见错误,以便能节省调试程序的时间。
这是一门纯属于设计的科目,它需用把理论变为上机调试。在学习科目的第一节课起,李老师就为我们阐述了它的重要性。它对我们来说具有一定的难度。它是其它编程语言的一门基本学科。
刚开始学的时候确实有很多地方我很不理解,每次上课时老师都会给我们出不同的设计题目,对于我们一个初学者来说,无疑是一个具大的挑战,撞了几次壁之后,我决定静下心来,仔细去写程序。老师会给我们需要编程的内容一些讲解,顺着老师的思路,来完成自己的设计,我们可以开始运行自己的程序,可是好多处的错误让人看的可怕,还看不出到底是哪里出现了错误,但是程序还是得继续下去,我多次请教了老师和同学,逐渐能自己找出错误,并加以改正。
TC里检查错误都是用英文来显示出来的,经过了这次课程设计,现在已经可以了解很多错误在英文里的提示,这对我来说是一个突破性的进步,眼看着一个个错误通过自己的努力在我眼前消失,觉得很是开心。此次的程序设计能够成功,是我和我的同学三个人共同努力作用的结果。在这一段努力学习的过程中,我们的编程设计有了明显的提高。
其实现在想起来,收获还真是不少,虽然说以前非常不懂这门语言,在它上面花费了好多心血,觉得它很难,是需用花费了大量的时间编写出来的。现在真正的明白了一些代码的应用,每个程序都有一些共同点,通用的结构,相似的格式。只要努力去学习,就会灵活的去应用它。
今天进行了一次完整的数据库设计的过程,其实一直来说我都是非常害怕数据库的设计的,因为在刚刚接触的时候,我就知道,数据库设计其实是一个项目的开端,因为数据库设计实际上就是业务的设计,在需求清晰的时候,完成清晰流畅的业务设计又是一大难点。
一下为我自己的心得经验希望大家批评指正!
数据库设计应该遵循以下几个原则:
对需求的认知完全没有歧义;
熟练而且正确的E-R***绘制,明确改***是表明实体和关系的***,实体表示要在数据库里保存的类,关系表示类与类之间的相互关系,关系主要有一对一,一对多,多对多。经验之谈,继承关系通常可以用一对一表示,而一对多或者多对多通常表示类之间的使用关系;
在设计时要做到高度的抽象,对内容或者关系相类似的内容抽象为一类实体,在分类时可以抽象出一个“类”的实体,与要分类实体之间进行多对多关系映射,明确哪些是必须要进行存储的实体;
如果系统涉及用户角色的不同不妨把,账户和身份的考虑分离开,账户的存在让他是一直存在的并且在身份变化时个人的历史和基础内容是不变的,就是身份的加持让他可以有特权或者使命,而账户是他在系统中的根;
对于有值内容,并且需要对值进行统计结果的需要对他进行内容的拆分,比如:问卷表和问卷内容表,问卷内容值表要拆开,才有利于统计计算,而且他们之间是一对多关系;
有时更加困难的是一个实体会发生多个维度的分类,那么就把他的拆分维度一一分开;
“频道”概念在消息分发时是一个非常灵活的概念;
数据库可以建表来模拟消息服务器分发消息,在无法保证实时性必须存储内容时,同一消息对不同用户创建不同的副本;
总结,其实我在今天的数据库设计中就学习到这些,学习是一个逐渐进步的过程,也是一个自我折磨的过程,希望我可以在这条路上走的再远一点。
通过两周的课程设计,完成了预定的目标,其中有很多的随想。老师的题目发下来的很早,大概提前了3周,当时就着手搜索有关线索二叉树的思想,思路,借了一本《数据结构—c语言描述》,在大体上就有了一个轮廓,先是输入二叉树,在对二叉树进行线索化,依次往下,但在具体实现时,遇到了很多问题:首先是思想的确定,其非常重要,以前有了这个想法,现在愈加清晰起来,因此,花了大量的时间在插入删除的具体操作设计上,大概三个晚上的时间,对其中什么不清晰明确之处均加以推敲,效果是显著的,在上机上相应的节约了时间。
通过具体的实验编码,思路是对的,但是在小问题上摔了一次又一次,大部分时间都是花在这方面,这个节点没传过来啊之类的,以后应该搞一个小册子,记录一些错误的集合,以避免再犯,思想与C语言联系起来,才是我们所需要的,即常说的理论与实践的关系。
数据结构是基础的一门课,对于有过编程经验的人,结合自己的编程体会去悟它的思想;而且我觉得随着编程经历的丰富对它的体会越深入,最初接触是对一些思想可能只是生硬的记忆,随着学习的深入逐渐领悟了很多。看了这次课程设计的题目,虽然具体要求没有看清,但是总结一下,可以看出,其需要我们能把一个具体案例或一件事情反映为程序来表达,数据结构就是桥梁,通过自己的设计,使应用能力得以融汇,对与问题,具有了初步的分析,继而解决之的能力,感觉对以后的学习会有很大的帮助,学习无非是用于实践。
认识到自己的不足,希望能有进一步的发展。
本学期开设的《数据结构基础》课程已经告一段落,现就学习体会进行学习总结。
这是一门纯属于设计的科目,它需用把理论变为上机调试。刚开始学的时候确实有很多地方我很不理解,每次上课时老师都会给我们出不同的设计题目,对于我们一个初学者来说,无疑是一个具大的挑战,撞了几次壁之后,我决定静下心来,仔细去写程序。老师会给我们需要编程的内容一些讲解,顺着老师的思路,来完成自己的设计,我们可以开始运行自己的程序。
这门课结束之后,我总结了学习中遇到的一些问题,最为突出的,书本上的知识与老师的讲解都比较容易理解,但是当自己采用刚学的知识点编写程序时却感到十分棘手,有时表现在想不到适合题意的算法,有时表现在算法想出来后,只能将书本上原有的程序段誊写到自己的程序中再加以必要的连接以完成程序的编写。刚开始学的时候确实有很多地方我很不理解,每次上上机课时老师都会给我们出不同的设计题目,对于我们一个初学者来说,无疑是一个具大的挑战,撞了几次壁之后,我决定静下心来,仔细去写程序。老师会给我们需要编程的内容一些讲解,顺着老师的思路,来完成自己的设计,我们可以开始运行自己的程序,可是好多处的错误让人看的可怕,还看不出到底是哪里出现了错误,但是程序还是得继续下去,我多次请教了老师和同学,逐渐能自己找出错误,并加以改正。TC里检查错误都是用英文来显示出来的,经过了这次课程设计,现在已经可以了解很多错误在英文里的提示,这对我来说是一个突破性的进步,眼看着一个个错误通过自己的努力在我眼前消失,觉得很是开心。此次的程序设计能够成功,是我和我的同学三个人共同努力作用的结果。在这一段努力学习的过程中,我们的编程设计有了明显的提高。
其实现在想起来,收获还真是不少,虽然说以前非常不懂这门语言,在它上面花费了好多心血,觉得它很难,是需用花费了大量的时间编写出来的。现在真正的明白了一些代码的应用,每个程序都有一些共同点,通用的结构,相似的格式。只要努力去学习,就会灵活的去应用它。
以上便是我对《数据结构基础》这门课的学习总结,我会抓紧时间将没有吃透的知识点补齐,克服学习中遇到的难关,在打牢基础的前提下向更深入的层面迈进!
“数据结构与算法课程设计”是计算机科学与技术专业学生的集中实践性环节之一,是学习“数据结构与算法”理论和实验课程后进行的一次全面的综合练习。其目的是要达到理论与实际应用相结合,提高学生组织数据及编写程序的能力,使学生能够根据问题要求和数据对象的特性,学会数据组织的方法,把现实世界中的实际问题在计算机内部表示出来并用软件解决问题,培养良好的程序设计技能。
当初拿到这次课程设计题目时,似乎无从下手,但是经过分析可知,对于简单文本编辑器来说功能有限,不外乎创作文本、显示文本、统计文本中字母—数字—空格—特殊字符—文本总字数、查找、删除及插入这几项功能。于是,我进行分模块进行编写程序。虽然每个模块程序并不大,但是每个模块都要经过一番思考才能搞清其算法思想,只要有了算法思想,再加上C程序语言基础,基本完成功能,但是,每个模块不可能一次完成而没有一点错误,所以,我给自己定了一个初级目标:用C语言大体描述每个算法,然后经调试后改掉其中明显的错误,并且根据调试结果改正一些算法错误,当然,这一目标实现较难。最后,经过反复思考,看一下程序是否很完善,如果能够达到更完善当然最好。并非我们最初想到的算法就是最好的算法,所以,有事我们会而不得不在编写途中终止换用其他算法,但是,我认为这不是浪费时间,而是一种认识过程,在编写程序中遇到的问题会为我们以后编写程序积累经验,避免再犯同样的错误。但是,有的方法不适用于这个程序,或许会适用于另外一个程序。所以,探索的过程是成长的过程,是为成功做的铺垫。经过努力后获得成功,会更有成就感。
在课程设计过程中通过***解决问题,首先分析设计题目中涉及到的数据类型,在我们学习的数据存储结构中不外乎线性存储结构及非线性存储结构,非线性存储结构中有树型,集合型,***型等存储结构,根据数据类型设计数据结点类型。然后根据设计题目的主要任务,设计出程序大体轮廓(包括子函数和主函数),然后对每个子函数进行大体设计,过程中错误在所难免,所以要经过仔细探索,对每个函数进行改进。
程序基本完成后,功能虽然齐全,但是程序是否完善(例如,输入数据时是否在其范围之内,所以加入判断语句是很有必要的)还需运行测试多次,如有发现应该对其进行改善,当然要在力所能及的前提下。
课程设计过程虽然短暂,但是使我深刻理解数据结构和算法课程对编程的重要作用,还有“数据结构与算法”还提供了一些常用的基本算法思想及算法的编写程序。通过***完成设计题目,使我系统了解编程的基本步骤,提高分析和解决实际问题的能力。通过实践积累经验,才能有所创新。正所谓,良好的基础决定上层建筑。只有基本功做好了,才有可能做出更好的成果。
本次课程设计所用到的知识完全是上学期的知识,通过这次课程设计,我认识到了我对数据结构这门课的掌握程度。
首先我这个课程设计是关于二叉树的,由于是刚接触二叉树,所以我掌握的长度并不深。在编程之前我把有关于二叉树的知识有温习了一遍,还好并没有忘掉。二叉树这章节难度中上等,而且内容广泛,所以我只掌握了百分之六七十。
然后,在编程中我认识到了自己动手能力的不足,虽然相比较大二而言进步很大,但是我还是不满意,有的在编程中必须看书才能写出来,有的靠百度,很少是自己写的。还好,我自己组装程序的能力还行,要不这东拼西凑的程序根本组装不了。在编程中我还认识到了,编程不能停下,如果编程的时间少了,知识忘的会很快,而且动手也会很慢。同时,同学之间的合作也很重要,每个人掌握的知识都不一样,而且掌握程度也不一样,你不会的别的同学会,所以在大家的共同努力下,编程会变得很容易。在这次编程中,我了解到了自己某些方面的不足,比如说链表的知识,虽然我能做一些有关于链表的编程,但是很慢,没有别人编程的快,另外,二叉树和***的知识最不好掌握,这方面的知识广泛而复杂。以前,没动手编程的时候觉得这些知识很容易,现在编程了才发现自己错了,大错特错了,我们这个专业最重视的就是动手编程能力,如果我们纸上写作能力很强而动手编程能力很差,那我们就白上这个专业了。计算机这个专业就是锻炼动手编程能力的,一个人的理论知识再好,没有动手编程能力,那他只是一个计算机专业的“入门者”。在编程中我们能找到满足,如果我们自己编程了一个程序,我们会感到自豪,而且充实,因为如果我们专研一个难得程序,我们会达到忘我的境界,自己完全沉浸在编程的那种乐趣之中,完全会废寝忘食。编程虽然会乏味很无聊,但是只要我们沉浸其中,你就会发现里面的乐趣,遇到难得,你会勇往直前,不写出来永不罢休;遇到容易的,你会找到乐趣。编程是很乏味,但是那是因为你没找到编程重的乐趣,你只看到了他的不好,而没有看到他的好。其实,只要你找到编程中得乐趣,你就会完全喜欢上他,不编程还好,一编程你就会变成一个两耳不闻窗外事的“植物人”。可以说只要你涉及到了计算机,你就的会编程,而且还要喜欢上他,永远和他打交道,我相信在某一天,我们一定会把他当作我们不可或缺的好朋友。
最后我要谈的是长时间编程的好处,俗话说“熟能生巧”,确实是这样。如果我们长时间不编程,在一接触他,我们会感到很陌生。有规律的编程会提高我们的动手能力,我们的思维,也会让我们变得很细心。在一个几千行的程序中,我们都能找到错误,那我们还会怕其他的错误吗?可以说编程是我们在我们这一行业的一把利剑,如果我们能很好的利用它,我们就会成为这个行业的真正成功者。也许你会说就算变成好了也不一定成功,是的,但是你不会编程就一定不会成功。如果,我们想成为这个专业的成功者,我们就得爱上编程,不管他是怎么得乏味,怎么得无聊,我们都不能丢掉他。
总之,动手编程就是锻炼我们的动手能力,当然这个动手能力并不是科研上的动手能力,而是我们的动手编程能力,记住,只要你真正的喜欢上他,你就会发现其中的乐趣,我相信,只要你坚持下去,你一定会喜欢上他,把编程当作自己日常生活中一件必须做的事情。
在我看来,数据库课程设计主要的目标是利用课程中学到的数据库知识和技术较好的开发设计出数据库应用系统,去解决各行各业信息化处理的要求。通过这次的课程设计,可以巩固我们对数据库基本原理和基础理论的理解,掌握数据库应用系统设计开发的基本方法,进一步提高我们综合运用所学知识的能力。
当我们这组决定做大学生就业咨询系统时,我们并没有着手写程序。而是大家一起商量这个系统概述、系统目标、系统需求、业务流程分析、数据流程分析和数据词典。当这些都准备好了之后,我们进行模块的分工。每个人都有自己的模块设计,而且写出来的代码要求可以实现相应模块的功能,得到理想的效果。当每个人都把自己的分工做好了,最后会由一个人把这些全部组合搭建在一起。我们使用的是Html和php相互嵌套使用,当一个系统做好了之后,我会好好地把程序都看一遍,理会其中的奥秘。
我所负责的是数据库的备份和还原还有一些界面的实现。还记得自己刚接触html的时候,觉得很感兴趣,所以有一段时间几乎到了痴迷的程度。然而Php是我刚接触不久的一种编程语言。不过觉得它的功能真的很强大,可以开发出很多大型的系统。但是在做备份和还原的时候,要考虑的东西还是很多的。当我遇到错误的时候,感到很受打击。值得欣慰的是,在同学的帮助和大量参考书的查阅下,我把自己的模块做好了。这就是我收获最大的地方。而且,我明白了遇到困难永不放弃的重要性,我知道了团队合作的重要性,我领悟了只有坚持不懈才会取得胜利。
知识的获得是无止境的,只要你想学,只要你行动,没有什么会难倒我们的。回首这一个多星期的课程设计,我很欣慰。因为我有了动力,有了勇气。谢谢老师对我们的不懈帮助,谢谢学校给了我们这一次实践的机会,也谢谢组员们的关怀。这些美好的回忆美好的东西将永远伴随着我。
本程序以C语言的栈的相关知识为基础,通过控制两个栈(运算数栈和运算符栈)的进出的栈操作,来实现对包含加、减、乘、除、括号运算符及SQRT和ABS函数的任意整型表达式的求解运算。
从程序的编写来看,感觉这次自己真的学到了好多,特别是对程序的开发流程。从最初的选定程序,到最终的程序运行成功,让我感到如果是仅仅掌握课本上的知识是远远不能够很好的应用到实际的编程中去的。在这个过程中还需要我们更多的去考虑到实际条件的种种限制和约束。
我在写本程序的过程中也遇到了很多的问题,当然本程序的核心问题就是对两个栈的压出栈操作,需要做优先级判断,并要考虑什么时候进栈,什么时候出栈等操作。我采用了课本上第52-54页讲的通过一个二维字符串数组来控制比较“+-*、()AS=”共9个运算符的优先级控制。对异常,如除数为0、被开方数小于0等异常也进行了精心的处理。对操作过程中要用到的Y、N、A、S等字符也进行了改进,最终本程序可以不区分大小写就完成相关操作。
总之,经过本次专业课程设计,让我掌握了开发应用软件的基本流程,运用所学编程技能的基本技巧,也让我初步了解了软件设计的基本方法,提高进行工程设计的基本技能及分析、解决实际问题的能力,为以后毕业设计和工程实践等打下良好的基础。相信通过这次的课程设计,我对所学的《数据结构(C语言版)》和各种编程语言都有了一个全新的认识。我也会积极吸取本次课程设计的经验,继续研究数据结构和所学的各种编程语言。
做了一个星期的程序设计终于做完了,在这次程序设计课中,真是让我获益匪浅,我突然发现写程序还挺有意思的。
由于上学期的C语言跟这学期的数据结构都算不上真正的懂,对于书上的稍微难点的知识就是是而非的,所以我只是对老师的程序理解,我也试着去改变了一些变量,自己也尽量多的去理解老师做程序的思路。当我第一天坐在那里的时候,我就不知道该做些什么,后来我只有下来自己看了一遍书来熟悉下以前学过的知识。
通过这次的程序设计,发现一个程序设计就是算法与数据结构的结合体,自己也开始对程序产生了前所未有的兴趣,以前偷工减料的学习也不可能一下子写出一个程序出来,于是我就认真看老师写的程序,发现我们看懂了一个程序其实不难,难的是对于一个程序的思想的理解,我们要掌握一个算法,不仅仅限于读懂,主要的是要理解老师的思路,学习老师的解决问题的方法。
这次试验中,我发现书本上的知识是一个基础,但是我基础都没掌握,更别说写出一个整整的程序了。自己在写程序的时候,也发现自己的知识太少了,特别是基础知识很多都是模模糊糊的一个概念,没有落实到真正的程序,所以自己写的时候也感到万分痛苦,基本上涉及一个知识我就会去看看书,对于书本上的知识没掌握好。在饭后闲暇时间我也总结了一下,自己以前上课也认真的听了,但是还是写不出来,这主要归结于自己的练习太少了,而且也总是半懂就不管了。在改写老师的程序中也出现了很多的问题,不断的修改就是不断的学习过程,当我们全身心的投入其中时,实际上是一件很有乐趣的事情。
对于以后的学习有了几点总结:
第一、熟记各种数据结构类型,定义、特点、基本运算(分开点一点也没多少东西,难度不大,但是基本);
第二、各种常用的排序算法,如冒泡排序、堆排序……,这些是必考的内容,分数不会少于20%;
第三,多做习题,看题型,针对题型来有选择复习;
数据结构看上去很复杂,但你静下心来把书扫上几遍,分解各个知识点,这一下来,学数据结构的思路就会很清晰了。
课程设计是计算机科学与技术专业学生的集中实践性环节之一,是学习“数据结构与算法”理论和实验课程后进行的一次全面的综合练习。其目的是要达到理论与实际应用相结合,使学生能够根据问题要求和数据对象的特性,学会数据组织的方法,把现实世界中的实际问题在计算机内部表示出来并用软件解决问题,培养良好的程序设计技能。
在这次课程设计当中,我了解到了我的不足,如算法的不完善、不细心和耐心不是很好等等。不细心的我在调试程序时,老是因为某个书写错误导致错误;对这些错误,我不得不花大量的时间去更正,并且还要重复检查是否出现雷同的错误而导致程序不能运行。但是通过这次课程设计,我的这些缺点有些改善。我在写新的程序时,首先要考虑的深入一点、仔细一点,这样要修改程序的时间就会少很多。并且也不会因为自己不细心而导致的浪费时间的情况出现。
在进行程序设计时,要注意想好思路。即要有恰当模块名、变量名、常量名、子程序名等。将每个功能的模块,即函数名要清晰的表述出来,使用户能够一目了然此程序的功能。当然适当的给写注释,也是方便用户的理解。还有在编写程序时要注意对程序的适当分配,便于用户看懂程序,也便于自己检查城市。但是完成任何一个较大的程序,都需要掌握一定的编程基础,需要不断的探索和求知过程,这样对自己编程能力的提高有较大的帮助。当然,任何程序必须经过计算机的调试,看是否调试成功,发现错误,一个个,一步步去解决,这样就能从错误中进步。
通过课程设计加强了我的动手能力,以及提升了局部和统一考虑问题的思维方式。回顾起此次课程设计,至今我仍感慨颇多,的确,从从拿到题目到完成整个编程,从理论到实践,在整整半个月的日子里,可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和***思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说结构体通过这次课程设计之后,一定把以前所学过的知识重新温故。
通过这次的课程设计,我学到了怎么样从一个实际问题出发,建立模型,找到相应的存储结构和实现方法,实际运行,反复调试和修改,最终实现功能。在程序设计方法以及上机操作等基本技能和科学作风方面受到比较系统和严格的训练,学会数据组织的方法,把现实世界中的实际问题在计算机内部表示出来并用软件解决问题,培养了良好的程序设计技能。
在这次课程设计中,得到了好多同学的帮助以及老师的.指导,在此要表达我真诚的谢意!
完成了这次的二元多项式加减运算问题的课程设计后,我的心得体会很多,细细梳理一下,有以下几点:
1、程序的编写中的语法错误及修改
因为我在解决二元多项式问题中,使用了链表的方式建立的二元多项式,所以程序的空间是动态的生成的,而且链表可以灵活地添加或删除结点,所以使得程序得到简化。但是出现的语法问题主要在于子函数和变量的定义,降序排序,关键字和函数名称的书写,以及一些库函数的规范使用,这些问题均可以根据编译器的警告提示,对应的将其解决。
2、程序的设计中的逻辑问题及其调整
我在设计程序的过程中遇到许多问题,首先在选择数据结构的时候选择了链表,但是链表的排序比较困难,特别是在多关键字的情况下,在一种关键字确定了顺序以后,在第一关键字相同的时候,按某种顺序对第二关键字进行排序。在此程序中共涉及到3个量数,即:系数,x的指数和y的指数,而关键字排是按x的指数和y的指数来看,由于要求是降幂排序且含有2个关键字,所以我先选择x的指数作为第一关键字,先按x的降序来排序,当x的指数相同时,再以y为关键字,按照y的指数大小来进行降序排列。
另外,我在加法函数的编写过程中也遇到了大量的问题,由于要同时比较多个关键字,而且设计中涉及了数组和链表的综合运用,导致反复修改了很长的时间才完成了一个加法的设计。但是,现在仍然有一个问题存在:若以0为系数的项是首项则显示含有此项,但是运算后则自动消除此项,这样是正确的。但是当其不是首项的时候,加法函数在显示的时候有0为系数的项时,0前边不显示符号,当然,这样也可以理解成当系数为0时,忽略这一项。这也是本程序中一个不完美的地方。
我在设计减法函数的时候由于考虑不够充分就直接编写程序,走了很多弯路,不得不停下来仔细研究算法,后来发现由于前边的加法函数完全适用于减法,只不过是将二元多项式B的所有项取负再用加法函数即可,可见算法的重要性不低于程序本身。
3、程序的调试中的经验及体会
我在调试过程中,发生了许多小细节上的问题,它们提醒了自己在以后编程的时候要注意细节,即使是一个括号的遗漏或者一个字符的误写都会造成大量的错误,浪费许多时间去寻找并修改,总结的教训就是写程序的时候,一定要仔细、认真、专注。
我还有一个很深的体会就是格式和注释,由于平时不注意格式和注释这方面的要求,导致有的时候在检查和调试的时候很不方便。有的时候甚至刚刚完成一部分的编辑,结果一不注意,就忘记了这一部分程序的功能。修改的时候也有不小心误删的情况出现。如果注意格式风格,并且养成随手加注释的习惯,就能减少这些不必要的反复和波折。还有一点,就是在修改的时候,要注意修改前后的不同点在哪里,改后调试结果要在原有的基础上更加精确。
两个星期时间非常快就过去了,这两个星期不敢说自己有多大进步,获得了多少知识,但起码是了解了项目开发部分过程。虽说上过数据库上过管理信息系统等相关课程,但是没有亲身经历过相关设计工作细节。这次实习证实提供了一个很好机会。
通过这次课程设计发现这其中需要很多知识我们没有接触过,去***书馆查资料时候发现我们前边所学到仅仅是皮毛,还有很多需要我们掌握东西我们根本不知道。同时也发现有很多已经学过东西我们没有理解到位,不能灵活运用于实际,不能很好用来解决问题,这就需要我们不断大量实践,通过不断自学,不断地发现问题,思考问题,进而解决问题。在这个过程中我们将深刻理解所学知识,同时也可以学到不少很实用东西。 从各种文档阅读到开始需求分析、概念结构设计、逻辑结构设计、物理结构设计。亲身体验了一回系统设计开发过程。很多东西书上写很清楚,貌似看着也很简单,思路非常清晰。但真正需要自己想办法去设计一个系统时候才发现其中难度。经常做到后面突然就发现自己一开始设计有问题,然后又回去翻工,在各种反复中不断完善自己想法。
我想有这样问题不止我一个,事后想想是一开始着手做时候下手过于轻快,或者说是根本不了解自己要做这个系统是给谁用。因为没有事先做过仔细用户调查,不知道整个业务流程,也不知道用户需要什么功能就忙着开发,这是作为设计开发人员需要特别警惕避免,不然会给后来工作带来很大的麻烦,甚至可能会需要全盘推倒重来。所以以后课程设计要特别注意这一块设计。
按照要求,我们做是机票预订系统。说实话,我对这个是一无所知,没有订过机票,也不知道航空公司是怎么一个流程。盲目开始设计下场我已经尝过了,结果就是出来一个四不像设计方案,没有什么实际用处。没有前期调查,仅从指导书上那几条要求着手是不够。
在需求分析过程中,我们通过上网查资料,去***书馆查阅相关资料,结合我们生活经验,根据可行性研究结果和客户要求,分析现有情况及问题,采用Client/Server结构,将机票预定系统划分为两个子系统:客户端子系统,服务器端子系统。在两周时间里,不断地对程序及各模块进行修改、编译、调试、运行,其间遇到很多问题:由于忘记了一些java语言规范使得在调试过程中一些错误没有发现,通过这次课程设计,我对调试掌握得更加熟练了,意识到了程序语言规范性以及我们在编程时要有严谨态度,同时在写程序时如有一定量注释,既增加了程序可读性,也可以使自己在读程序时更容易。
我们学习并应用了SQL语言,对数据库创建、修改、删除方法有了一定了解,通过导入表和删除表、更改表学会了对于表一些操作,为了建立一个关系数据库信息管理系统,必须得经过系统调研、需求分析、概念设计、逻辑设计、物理设计、系统调试、维护以及系统评价一般过程,为毕业设计打下基础。
很多事情不是想象中那么简单,它涉及到各种实体、属性、数据流程、数据处理等等。很多时候感觉后面设计根本无法继续,感觉像是被前面做各种***限制了。在做关系模型转换时候碰到有些实体即可以认为是实体又可以作为属性,为了避免冗余,尽量按照属性处理了。
物理结构设计基本没有碰到问题,这一块和安全性、完整性不觉就会在物理结构设计中添加一些安全设置:主键约束、check约束、default定义等。最后才做索引部分,对一些比较经常使用搜索列,外键上建立索引,这样可以明显加快检索速度,最后别忘记重要安全性设置,限制用户访问权限,新建用户并和数据库用户做相应映射。
不管做什么,我们都要相信自己,不能畏惧,不能怕遇到困难,什么都需要去尝试,有些你开始认为很难事在你尝试之后你可能会发现原来她并没有你以前觉得那样,自己也是可以。如果没有自信,没有目标,没有信心就不可能把事情做好,当其他人都在迷茫时候,自己一定要坚信目标,大学毕业出去即面临找工作,从学习这个专业,到以后从事这方面工作都需要不断地去学习去实践,这次实践可以给我们敲一个警钟,我们面临毕业,面临择业,需要这些实践经验,在困难面前要勇于尝试,这是这次课程设计给我最大感想!
以上基本是这次实习体会了,设计进行非常艰难,编码非常不容易,才发现做一个项目最重要不在于如何实现,而是实现之前需求分析和模块设计。创新很难,有些流行系统其实现并不难,难在于对市场分析和准确定位。设计,是一个任重道远过程。
时间真的如轮一样在飞转,一周的实训又一次即将结束,可是,感觉仿佛只过去了一天。实训结束也意味着这个学期也将结束。不管时间多么的飞快,这周短暂的VB程序设计实训同样让我们收益不少。 首先,不说我们学到了多少专业知识,也不说我们学到了多少专业技能。在这样零下1度的天气中实训,着实是锻炼我们的意志力。人都有惰性,这是无可厚非的事实。在寒冷的天气里,赖床就更是常有的事。因为要实训,我们很多平常经常迟到的不得不早起。就说实训的第一天,外面飘着白雪,早上,手机的闹铃已经响过第二遍了。
我们宿舍的几个姐妹还躲在被窝里无动于衷。可是,当一个姐们突然说了一句,“这周要实训”时,我们都‘呼啦’爬了起来,以惊人的速度洗漱好,急忙赶到教室。不管平时多么懒散的同学,这次实训都表现的异样的认真。这应该算是实训赋给我们的特别礼物吧! 实训的目的无非就是训练我们的操作能力,以及提高我们的专业技能。实践出真知,这是不变的真理。毫无疑问,这次VB程序设计实训让我们每一位同学都在不同程度上提高了编程技能。编程是我们的专业课程,可是,在老师平时上课的时候,班上大部分同学都以怠慢的态度对待。所以,对这门课程学的泛泛的。
实训前,如果要我们做一个管理系统,我想班上能完成任务的同学应该寥寥无几。在实训前,我们常抱怨,编程有多么的难。一个学期的学习,我们居然都不能完全的做出一个管理系统来。而这次短短的实训,却让我们学会了做管理系统。没错,就是短短的几天,我们每位同学都完成了一个自己做的管理系统。这说明,编程它本身不是很难,而在于你是不是真正的学习了。这次实训让我深刻的明白,你的态度决定一切。就以我自己的经历来说,一个学期的学习还没没短短一周学到的多。这是为什么?主导因素就是态度。在平日的学习中,我抱着不以为然的态度,以懒散的心态对待这门课程。所以,一个学期下来,我的编程学的一塌糊涂。而这次实训,就像是一场实战,必须认真对待。而这几天踏踏实实的学习,将我平日落下的学习全都补救过来了。真的非常感谢这次实训。通过这次实训,我的编程技能确比之前实提高了不少。
更重要的是,在这次实训中,让我明白:学习或生活中发现了自己的不足,就要及时改进。不管是在学习中,还是在生活中,有不懂的没关系。而,如果不懂,也不去问,就是一件很悲哀的事情。这次实训中,我遇到了很多不懂的问题,但是,这些不懂最后都被我弄懂了。因为遇到不懂的不会做的我及时主动询问了周围的同学。同学不懂的,我又询问了老师。不要认为问别人是一件让人很羞耻的事情。不懂就问,不但不会让你蒙羞,反而能显示你的真实与谦虚。
总之,这次实训我又有不少新收获。
最后,还要感谢这次实训期间周围同学的热情帮助和老师的热心讲解与指导。
在这次课程设计中,我们小组设计的是一个仓库管理系统,通过设计这个系统,可以更方便地实现信息的浏览,查询,添加等操作和报表输出等功能,具体包括能实现产品入库管理,可以填写入库单,确认产品入库;产品出库管理,可以填写出库单,确认出库;借出管理,凭借条借出,然后能够还库;初始库存设置,设置库存的初始值,库存的上下警戒限;可以进行盘库,反映每月,年的库存情况;可以查询产品入库情况,出库情况,当前库存情况,可以按出库单,入库单,产品,时间进行查询;虽然这个系统的功能还不是很完善,还有很多功能尚未实现,但这也是我们共同努力的结果,只要有更多的时间,我相信我们能完成的更好。
通过这次将近一个星期的课程设计实训,我对数据库在生活中的广泛应用有了更深的体会,同时也加深了对ACCESS20xx的认识,了解了相关的ACCESS的知识,尤其是对数据库的原理与开发程序的应用有了更进一步的认识和了解。由于不会vb编程,很多功能实现起来很困难,但好在access有查询、宏和窗体,特别是宏操作可以将几个操作结合在一起,可以执行多个查询,可以调用多次窗体。例如,在某个窗体中要显示设备代码表信息,所以这个窗体中建立一个子窗体用于设备代码表的显示,我们打开窗体后又对设备代码表进行了跟新,所以窗体中显示的并不是最新数据,我们往往需要及时看到设备代码表跟新后的最新数据,窗体不会自动跟新我们就不会看到最新数据,所以这时候我们就会用一个宏操作在对设备代码表跟新之后关闭窗体在打开窗体,这样窗体就相当于完成了一次跟新操作。又例如,在一个表A中刚刚追加了一条记录,我们要将每次刚刚新添加的记录跟新到另一个表B中,用一个查询是很难完成的,经过认真思考,得到了解决的办法是,需要三个步骤,第一步,在表A中添加标志字段,设置默认值为‘否’。第二步,编写跟新查询将标志字段为‘否’的数据跟新到表B中。第三步,编写跟新查询将表A中标志字段为‘否’的跟新为‘是’。
经过这次课程设计,是我明白团队的力量是最大的,至少三个臭皮匠顶个诸葛亮,何况我们都是充满激情的团队。我想在以后的工作中我一定要做到多思考多与团队交流,遇到难题一定要有必胜的信心
本次课程设计,使我对《数据结构》这门课程有了更深入的理解。《数据结构》是一门实践性较强的课程,为了学好这门课程,必须在掌握理论知识的同时,加强上机实践。
我的课程设计题目是线索二叉树的运算。刚开始做这个程序的时候,感到完全无从下手,甚至让我觉得完成这次程序设计根本就是不可能的,于是开始查阅各种资料以及参考文献,之后便开始着手写程序,写完运行时有很多问题。特别是实现线索二叉树的删除运算时很多情况没有考虑周全,经常运行出现错误,但通过同学间的帮助最终基本解决问题。
在本课程设计中,我明白了理论与实际应用相结合的重要性,并提高了自己组织数据及编写大型程序的能力。培养了基本的、良好的程序设计技能以及合作能力。这次课程设计同样提高了我的综合运用所学知识的能力。并对VC有了更深入的了解。《数据结构》是一门实践性很强的课程,上机实习是对学生全面综合素质进行训练的一种最基本的方法,是与课堂听讲、自学和练习相辅相成的、必不可少的一个教学环节。上机实习一方面能使书本上的知识变“活”,起到深化理解和灵活掌握教学内容的目的;另一方面,上机实习是对学生软件设计的综合能力的训练,包括问题分析,总体结构设计,程序设计基本技能和技巧的训练。此外,还有更重要的一点是:机器是比任何教师更严厉的检查者。因此,在“数据结构”的学习过程中,必须严格按照老师的要求,主动地、积极地、认真地做好每一个实验,以不断提高自己的编程能力与专业素质。
通过这段时间的课程设计,我认识到数据结构是一门比较难的课程。需要多花时间上机练习。这次的程序训练培养了我实际分析问题、编程和动手能力,使我掌握了程序设计的基本技能,提高了我适应实际,实践编程的能力。
总的来说,这次课程设计让我获益匪浅,对数据结构也有了进一步的理解和认识。
本文发布于:2023-07-29 02:57:58,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/1693470845683867.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:数据课程设计心得体会.doc
本文 PDF 下载地址:数据课程设计心得体会.pdf
留言与评论(共有 0 条评论) |