第一篇:程序设计的心得体会
数据结构程序设计心得和体会
学号:1004011025
姓名:常新亚
数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关。
一般认为,一个数据结构是由数据元素依据某种逻辑联系组织起来的。对数据元素间逻辑关系的描述称为数据的逻辑结构;数据必须在计算机中存储,数据的存储结构是数据结构的实现形式,是其在计算机内的表示;此外讨论一个数据结构必须同时讨论在该类数据结构上执行的运算才有意义。一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率。
在许多类型的程序的设计中,数据结构的选择是一个基本的设计考虑因素。许多大型系统的构造经验表明,系统实现的困难程度和系统构造的质量都严重的依赖于是否选择了最优的数据结构。许多时候,确定了数据结构后,算法就容易得到了。有些时候事情也会反过来,我们根据特定的算法来选择数据结构与之适应。不论哪种情况,选择合适的数据结构都是非常重要的。
从上面我们了解到了数据结构的重要性,它是一个程序的关键因素。拿到“阴风习习的大楼”这个题目时,一开始不知道从哪入手,以为可以把每个位置看成一个图的一个节点,从而可以用邻接表这种结构,通过遍历邻接表,每次选择权值小的路径走就可以得到最短的路径了。我错了,完全的错了。通过认真的分析后,我认识到,这能简单的看成一个图,因为每个位置都只能到达它邻接的位置而不是和其他各位置都有联系。而且如果每个位置转化为图的一个节点,这样要表示每个节点的关系就需要n*n节点和n^4大小的数组来存储各个点的关系。还有这个大楼结构想转化为一个图也是不容易的。根据书上有些类似的“老鼠迷宫问题”,让我想打,不如就用n*n大小的数组直接存储大楼结构。通过类似走迷宫的方法来遍历,当遍历完所有路径后就能得到一个最小的路径。那接下来怎样遍历呢?我采用了深度优先遍历的方法,这样可以用递归的方法,简化代码。虽然理解上有一定困难,而且递归条件的控制要注意。
通过这次数据结构程序设计,不仅让我对c语言的一些知识得到了回顾,加深了对c语言的掌握。同时也让我对数据结构知识得到了一定的掌握。知道了怎么去分析一个题目,怎样选择比较好的数据结构。让我从怎么样实现一个程序功能,转变到怎么用更少的空间,更短的时间完成程序设计。空间和时间上对程序的优化是评价一个程序好坏的关键标准。
通过这次数据结构的程序设计也让我懂得了怎么样去设计一个程序。从问题分析中找出程序所要解决的关键问题和数据结构的选择;在概要设计中完成程序的大体轮廓;在详细设计中解决关键问题的算法和设计;在调试分析中完成程序最终的修补。这样一个比较好的程序就设计出来了。
第二篇:程序设计心得体会
【收获及体会】
通过两个星期的折腾,总算把课程设计给完成了,这是一个坚苦而又漫长的过程。是啊,读了那么多年的书,课程设计可是第一次。看着劳动成果,很欣慰!虽然这不是我一个人做的,是大家的共同努力得来的。
“也许完成不了!”两个星期前我们这样说,“完成他没问题!”一个星期前我们这样说,现在我们可以说:“哈哈,完成啦”!
刚开始,可以说是没有头绪,于是就去图书馆找资料,找到了一些关于画图方面的,可是这点小进展远远不够,这只是一个小小的开始。下一步是上网查,找到了些与我们题目相似的,那时我们每个人都很高兴,可是那还不是我们要的,于是又上网查到了些有关的函数等等,终于在我们大家的努力下,完成了这个程序。
虽然对着电脑做程序,有点累有点热,可是当看到劳动成果时,真是别有一番滋味在心头啊!世上无难事,只怕有心人,的确如此。做完这个程序最大的收获就是感受到了集体的力量,当然个人的智慧也是很重要的哦!
做完这个课程设计,我们的自信一下子提高了,我们也会写程序了;尽管对于有些人这种程序会很简单,可对我们c语言初学者来说,已经很不容易了。这次体验为以后的学习计算机的我们增强了信心。享受劳动成果的滋味实在很美妙啊!
——姜*
【收获及体会】
忙碌了一个多星期,在大家的共同努力下,我们总算将此程序设计出来。尽管不是自己独立完成,但仍然很高兴,因为在设计的过程中,让我了解到要设计一个大型程序,查找资料是至关重要的,在他人的基础上,再根据自己所学进行修改与调试,最后设计出自己想要的程序,这过程艰辛,但只要你持之以恒,成功指日可待。
另外平时扎实的基础也很关键,因为如果你平时学得就不怎么样,那么你面对这么一个比较有难度的程序,你可能会望而却步,看他人的程序都是个难点,更别说让你自己去设计。为了解决此。类问题,最好就是多向同学,老师请教,不要怕难为情。尤其是老师,评他们多年的编写程序的经验,要解决我们的问题,对他们来说只是small case。
在设计这个程序时,我们刚开始是根据老师给我们提供的资料,用画图以及循环将框架设计出来,但是接下去便无从下手了,计算是个关键和难点,我们也查了相应的资料,但是它上面用得是坐标来做的,所以为了方便设计程序,我们也改为坐标来做的,这样计算问题解决了。接下去就是按键问题,我们的资料是用鼠标做的,所以关于按键这个函数就只能我们自己设计,还好手头有类似的资料,经过自己的反复尝试以及与与同学的讨论,这也不难,最好还是被我们搞定了。最后就是闪烁,这个设计的方法很死板,都一个类型,就是算坐标比较烦琐,要确定好它的位置,但是这些只要你自己愿意去尝试,问题都可以迎刃而解的。
从这一个多星期的设计过程中,我看到了大家的拼搏与努力,也让我知道团队精神得难能可贵,尽管一年下来大家不怎么有多大接触,但是彼此之间的友谊已经在我们心里扎根生底,在遇到问题时,我们会共同进退,每个人都很慷慨不会因为是通过自己艰辛劳动设计出来的东西而不准他人剽窃了。
总之,这次设计程序让我受益良多,我会好好珍惜像这种难得的机会
——薛**
【收获及体会】
自从记事以来就听过了电脑这个高科技,现在终于实现了自己的一个小小愿望——成为了计算机系的一名学生,这学期我们学的c语言,以前就听过这个名字,打开书一看简直一窍不通,学好这门科简直就是一个挑战,课前课后都要把书啃一遍,要不然上课就跟不上,终于学期快结束了,我们有一个课程设计,在两个星期内,完成一个复杂的程序,我们的题目是做一个计算器,计算器从小就见过但让我自己设计一个出来就有点困难了。
第一天,我们都按照老师教的画图函数画计算器的外貌,但发现一个一个画实在是太烦琐,后来在老师的点拨下,我们采取了for语句,果然很快地画出来了,接下来的事就是计算了,用什 ……此处隐藏10824个字……数就除以2,是奇数就乘以3加上1,如此一直变化,直到最后变成1。
注意:判断一个数是否为整数可以用判断语句a==round(a)!!在matlab中,用~=表示不等于,与c语言不同。
22.(1)用递归调用求fibonacci数列定义如下: f1=f2=1 ,f(n+1)=f(n)+f(n-1) 。
(2)求fibonacci数列大于4000的最小项。
注意:这道题目很简单,却花了很长的时间~·主要是题目意思没弄清便动笔,要学会分清题意,冷静分析。另外还要注意while的条件,1便执行,0则跳出~。
23.列出所有的水仙花数。水仙花数是一个三位数,其各位数字的立方和等于该书本身。
例如:153=13+53+33
注意:当输出的不仅仅是一个数时,需要定义一个数组a(i),i=i+1,输出为a。if语句中,判断条件中为==,而不是赋值语句=!!!别总犯相同的错误~~·
24.试编一个m程序,将一维数组x中的n个数按颠倒的次序重新存储。如n=5,
原来x为:而经过颠倒处理后x中数据的次序应该为:x=[ 9 7 5 3 1 ]
25.已知某班的5名学生的三门课成绩列表如下:
学生序号1 2 3 4 5
高等数学78 89 64 73 68
外语83 77 80 78 70
matlab语言82 91 78 82 68
试写出有关命令,先分别找出三门课的最高分及其学生序号;然后找出三门课
总分的最高分及其学生序号。针对上述的成绩表,求出其三门课总分存入数组
zf,再利用sort命令对之按降序排序,同时把相应的学生序号存入数组xh。
第四篇:面向对象程序设计心得体会
这次课程设计让我收获到很多,上个学期我们也有过课程设计,但是我们都是从网上下一个程序,连带着报告,看一遍程序,修改修改报告,然后就直接去答辩,都是糊弄糊弄就过去了,自己根本就没有付出过努力,到现在,那个程序的内容是什么全忘光了。但是这次的课程设计,虽然老师您的要求十分严格,但是却是让我切实体会到了自己动手的快乐。要我们自己设计一个管理系统,从定题目,到开始写代码,全部都是自己来。我在开始课程设计前的两周就开始考虑我课设的时候应该做什么内容,想做一般同学都能想到的学生管理系统,但是就怕会有类似的不敢做,冥思苦想了好久,最后才定下的备忘录管理系统,其实所有的管理系统的本质都是一样的,增,删,改,查,但是,这些东看似简单,做起来却难。像我在做增加的时候,就遇到了问题,最后通过老师的调试,才发现原来是我在开始定义字段名的时候就弄错了。我们其他人也一样,中间遇到的问题,也及时的请教同学和老师,原来在寝室,我们都是开着电脑上qq,水人人,看视频,但是当课程设计开始的时候,我们这个寝室都在那做这个管理系统,谁谁谁的查询不好使了,我们也都停下来帮她,当我们都不解决不了的时候,我们就和学得好的男生开语音,让他们教我们,帮我们解决,再解决不了的,我们就来找老师,在机房里大家一起努力,攻克难关。有些时候,困扰我们很长时间的,可能就是一个小小的逗号,或者是被忽略的空格,这些都是我们上课的时候没有注意的,没有好好听课的地方,都在课设的时候碰到了,我在做自己的课程设计的时候,我也经常出错,经常忘了一些细节的东西,比如登陆窗体的时候,忘记了在program.cs里把form1改成loginform,我一直在调试,但是始终出现的是主窗体,登陆窗体始终出不来,最后才想起来忘了这个小步骤,但是这也让我明白,上课的点滴小事,也是非常重要的,除了上课认真听讲之外,下课了还得很认真的看代码,把代码的意思弄明白,渐渐的,像数据库里的表怎么设计,怎么连接数据库,按钮怎么设置,还有很多我都能掌握,所以感觉这次课程设计带给我很多的,课程设计不仅是检查一个人知识掌握了多少,其实更重要的实检测你的实践能力,以及看你是否细心、是否有缜密的思维,所以,我们要在课设的时候加强锻炼,磨练自己,使自己有更高的提高。
第五篇:学习cs程序设计的心得体会
学习cs程序设计的心得体会
一、只有通过大量的实践才能不断的培养编程感觉
b编程是有感觉的,就好象英语阅读一样,是有语感的 d每天都要编写代码,不断培养编程感觉e没有实践的理论是空虚的理论 f没有理论的实践是盲目的实践
g实践是检验真理的唯一标准
二 打破以往在程序设计学习中存在的误区
误区一:注重理论,轻视实践:学习新知识前想把关于这方面的理论全部掌握后再去实践,大错特错解决方法:在了解理论后,就立即去实践,实践驱动理论的学习,这样掌握理论才更加扎实,不容易忘记
误区二:不善于做笔记,不善于总结。
解决方法:人总是有忘性的,今天记得很牢的东西,过一星期也许就完全忘记了,用笔记下来,好记性不如烂笔头,不要太相信自己的记忆
误区三:不善于思考,遇到问题首先想到问别人
解决方法:勤于思考,在学习的道路上会遇到大量问题,这些遇到的问题是你的宝贵财富。遇到问题时首先想为什么会出现该错误,尤其在程序中,应该学会看错误提示,根据提示去寻找错误的根源,实在不行再去问同学,问老师.因为自己寻找错误的过程是最好的学习过程,这个错误一旦被自己解决掉,首先得到的是极大的满足感,另外会留下深刻的印象,这是看书所得不到的,有过这种经历的同学才会有这种体会。即使没有解决也会从这个过程中学到很多东西,这种感觉是:只可意会,不可言传。误区四:容易骄傲,以为自己会点技术就得意起来
解决方法:做人要谦虚,学习程序设计更要谦虚。要知道山外有山,人外有人,只有谦虚才会督促自己不断的去学习,编程水平的提高才会一点点上去的
误区五:没有耐心,怕麻烦,思考时间不够长
解决方法:没有耐心是写不好程序的,写程序是不仅是知识的体现,更是耐心与毅力的体现,任何程序开始都会有错误的,耐心寻找错误体现一个人的编程素养。要多思考,多去想,脑子越用越灵
误区六:想慢慢学好技术,一步一个脚印,踏踏实实,严重错误
解决方法:技术的发展日新月异,尤其在软件方面。学习一门新的技术,开始时不必面面俱到,先把hello world写出来再说,要“趁热打铁”,会的东西,仔细看;不会的东西,硬着头皮去看,实在不行就跳过。
误区七:不看英文,只看中文
解决方法:很多帮助文件,比如最重要的jdk帮助文件都是英文的,只有习惯看英文才能进步快,中文的翻译很多都是文不对题,看了还不如不看,看英文虽然慢,可是过了不久,你就会发现英文也没那么难懂
三 总结:
实践,实践,还是实践!!!
即使书上有代码,也要把它敲出来,敲代码也是有感觉的!!!
看明白 != 运行出来,是两个概念!!!