第一篇:程序设计的心得体会
数据结构程序设计心得和体会
学号:1004011025
姓名:常新亚
数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关。
一般认为,一个数据结构是由数据元素依据某种逻辑联系组织起来的。对数据元素间逻辑关系的描述称为数据的逻辑结构;数据必须在计算机中存储,数据的存储结构是数据结构的实现形式,是其在计算机内的表示;此外讨论一个数据结构必须同时讨论在该类数据结构上执行的运算才有意义。一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率。
在许多类型的程序的设计中,数据结构的选择是一个基本的设计考虑因素。许多大型系统的构造经验表明,系统实现的困难程度和系统构造的质量都严重的依赖于是否选择了最优的数据结构。许多时候,确定了数据结构后,算法就容易得到了。有些时候事情也会反过来,我们根据特定的算法来选择数据结构与之适应。不论哪种情况,选择合适的数据结构都是非常重要的。
从上面我们了解到了数据结构的重要性,它是一个程序的关键因素。拿到“阴风习习的大楼”这个题目时,一开始不知道从哪入手,以为可以把每个位置看成一个图的一个节点,从而可以用邻接表这种结构,通过遍历邻接表,每次选择权值小的路径走就可以得到最短的路径了。我错了,完全的错了。通过认真的分析后,我认识到,这能简单的看成一个图,因为每个位置都只能到达它邻接的位置而不是和其他各位置都有联系。而且如果每个位置转化为图的一个节点,这样要表示每个节点的关系就需要n*n节点和n^4大小的数组来存储各个点的关系。还有这个大楼结构想转化为一个图也是不容易的。根据书上有些类似的“老鼠迷宫问题”,让我想打,不如就用n*n大小的数组直接存储大楼结构。通过类似走迷宫的方法来遍历,当遍历完所有路径后就能得到一个最小的路径。那接下来怎样遍历呢?我采用了深度优先遍历的方法,这样可以用递归的方法,简化代码。虽然理解上有一定困难,而且递归条件的控制要注意。
通过这次数据结构程序设计,不仅让我对c语言的一些知识得到了回顾,加深了对c语言的掌握。同时也让我对数据结构知识得到了一定的掌握。知道了怎么去分析一个题目,怎样选择比较好的数据结构。让我从怎么样实现一个程序功能,转变到怎么用更少的空间,更短的时间完成程序设计。空间和时间上对程序的优化是评价一个程序好坏的关键标准。
通过这次数据结构的程序设计也让我懂得了怎么样去设计一个程序。从问题分析中找出程序所要解决的关键问题和数据结构的选择;在概要设计中完成程序的大体轮廓;在详细设计中解决关键问题的算法和设计;在调试分析中完成程序最终的修补。这样一个比较好的程序就设计出来了。
第二篇:程序设计心得体会
【收获及体会】
通过两个星期的折腾,总算把课程设计给完成了,这是一个坚苦而又漫长的过程。是啊,读了那么多年的书,课程设计可是第一次。看着劳动成果,很欣慰!虽然这不是我一个人做的,是大家的共同努力得来的。
“也许完成不了!”两个星期前我们这样说,“完成他没问题!”一个星期前我们这样说,现在我们可以说:“哈哈,完成啦”!
刚开始,可以说是没有头绪,于是就去图书馆找资料,找到了一些关于画图方面的,可是这点小进展远远不够,这只是一个小小的开始。下一步是上网查,找到了些与我们题目相似的,那时我们每个人都很高兴,可是那还不是我们要的,于是又上网查到了些有关的函数等等,终于在我们大家的努力下,完成了这个程序。
虽然对着电脑做程序,有点累有点热,可是当看到劳动成果时,真是别有一番滋味在心头啊!世上无难事,只怕有心人,的确如此。做完这个程序最大的收获就是感受到了集体的力量,当然个人的智慧也是很重要的哦!
做完这个课程设计,我们的自信一下子提高了,我们也会写程序了;尽管对于有些人这种程序会很简单,可对我们c语言初学者来说,已经很不容易了。这次体验为以后的学习计算机的我们增强了信心。享受劳动成果的滋味实在很美妙啊!
——姜*
【收获及体会】
忙碌了一个多星期,在大家的共同努力下,我们总算将此程序设计出来。尽管不是自己独立完成,但仍然很高兴,因为在设计的过程中,让我了解到要设计一个大型程序,查找资料是至关重要的,在他人的基础上,再根据自己所学进行修改与调试,最后设计出自己想要的程序,这过程艰辛,但只要你持之以恒,成功指日可待。
另外平时扎实的基础也很关键,因为如果你平时学得就不怎么样,那么你面对这么一个比较有难度的程序,你可能会望而却步,看他人的程序都是个难点,更别说让你自己去设计。为了解决此。类问题,最好就是多向同学,老师请教,不要怕难为情。尤其是老师,评他们多年的编写程序的经验,要解决我们的问题,对他们来说只是small case。
在设计这个程序时,我们刚开始是根据老师给我们提供的资料,用画图以及循环将框架设计出来,但是接下去便无从下手了,计算是个关键和难点,我们也查了相应的资料,但是它上面用得是坐标来做的,所以为了方便设计程序,我们也改为坐标来做的,这样计算问题解决了。接下去就是按键问题,我们的资料是用鼠标做的,所以关于按键这个函数就只能我们自己设计,还好手头有类似的资料,经过自己的反复尝试以及与与同学的讨论,这也不难,最好还是被我们搞定了。最后就是闪烁,这个设计的方法很死板,都一个类型,就是算坐标比较烦琐,要确定好它的位置,但是这些只要你自己愿意去尝试,问题都可以迎刃而解的。
从这一个多星期的设计过程中,我看到了大家的拼搏与努力,也让我知道团队精神得难能可贵,尽管一年下来大家不怎么有多大接触,但是彼此之间的友谊已经在我们心里扎根生底,在遇到问题时,我们会共同进退,每个人都很慷慨不会因为是通过自己艰辛劳动设计出来的东西而不准他人剽窃了。
总之,这次设计程序让我受益良多,我会好好珍惜像这种难得的机会
——薛**
【收获及体会】
自从记事以来就听过了电脑这个高科技,现在终于实现了自己的一个小小愿望——成为了计算机系的一名学生,这学期我们学的c语言,以前就听过这个名字,打开书一看简直一窍不通,学好这门科简直就是一个挑战,课前课后都要把书啃一遍,要不然上课就跟不上,终于学期快结束了,我们有一个课程设计,在两个星期内,完成一个复杂的程序,我们的题目是做一个计算器,计算器从小就见过但让我自己设计一个出来就有点困难了。
第一天,我们都按照老师教的画图函数画计算器的外貌,但发现一个一个画实在是太烦琐,后来在老师的点拨下,我们采取了for语句,果然很快地画出来了,接下来的事就是计算了,用什么函数?怎么用?那个上午就坐那发呆,没有什么新突破,自性心严重受到打击,下午立马找了份材料到图书馆去研究,还专门找了位高手教我,研究了一个下午终于有眉目了,第三天我们成功地把计算功能搞定了,但还有闪烁的功能没有搞,这确实是一个问题,这时团结的力量得到了充分的体现,大家齐心协力,有的找资料,有的帮忙改错,有的……俗话说:“三个臭皮匠顶个诸葛亮。”在大家的共同努力下,我们胜利了。
感谢刘金平老师的淳淳教诲,感谢同学的积极帮忙,我的程序终于顺利完成了,接下来的就是写报告收尾了,看着自己的劳动成果写起报告来特有劲,特有灵感。
很感谢这次的课程设计,它使我更加深刻地体会到多看专业书的重要性,只有掌握了一定量的专业知识才能得心应手地解决诸多问题;另外,做任何事都要有耐心,不要一遇到困难就退缩;在学习和工作中要时刻谨记“团结”二字,它好比通向成功的铺路石,不可或缺。
人生的道路是曲折的,但正是因为曲折人生才光彩夺目,在人生的路上,总遇到重重困难,但正是因为困难我们才变的更坚强。今后的路还很长,面对困难,让我们用行动去俘虏它吧!
——毛**
【收获及体会】
做了两周的课程设计,有很多的心得体会,更多的是同学之间的合作精神, 这道课程设计花了我们一到两周的时间,几人合作,老师的帮忙才完成。我第一次完成这么完美的杰作,心理有一份别样的滋味,在设计过程中,我付出了很多,也懂得了只有付出才有回报。在这次设计中,我遇到了很多困难,但我没有向困难低头,通过查询资料,虚心向同学、老师请教,才一一得到了解决。我发现平时学的太少了,在今后我首先要把老师在课堂讲的弄懂,弄透,在此基础上利用课余时间多看课外书籍,拓宽知识面。在设计过程中,合作精神必不可少。单凭一个人的力量是不能完成的,毕竟一个人学的很有限。每个人掌握的不同。我相信:态度决定一切,只有努力才有收获。
第一天上机时对如何编计数器程序一点头绪都没有,只是将从图书馆借来的关于如何制作图形看了一遍,大体上有了了解。
第二天我就着手画计数器图形,虽然有些人图形已画好,可我没有着急,毕竟别人花的时间比我多,为了使图形美观我不断运行、调试,直到自己满意为止。
接下来是星期五,说实话那天蛮难熬的,一天都泡在机房。眼睛有点吃不消,可没有办法,将来我们就靠计算机吃饭,再苦再累也要坚持。在已编好的程序上又加了一点精髓,怎样使字符闪烁,这也是我们几个人互相讨论的结果。
第二周,通过周末到网上查的资料,和参考资料又加入计数器的灵魂算法。
接下来几天再将程序不断完善、加工,计数器程序初露头角。
最后小结:程序设计过程有如解决一实际问题,从解决实际问题的角度,我们可以这样来看:首先要了解这个问题的基本要求,即输入、输出、完成从输入到输出的要求是什么;其次,从问题的要害入手,从前到后的解决问题的每个方面,即从输入开始入手,着重考虑如何从输入导出输出,在这个过程中,可确定所需的变量、数组、函数,然后确定处理过程--算法。可得最后结论。
在程序设计中,可认为也是一个社会,每个一同的社会成员都有不同的想法。程序设计学得的好坏要看你在社会中解决问题的能力的高低,所以不同的人编程的结果是不同的。在这个社会中,经验与想法最为重要。
—左**
【收获及体会】
c语言课程设计和现代计算机技术的实际应用相结合,是我们在本阶段学完理论课程之后对自己该方面的能力的一次很好的检验,从开始的算法思路到运行调试后的美观的图形界面以及另人兴奋的可用程序,都是一个很好的学习和锻炼的过程。使我们巩固了原有的理论知识,培养了我们灵活运用和组合集成所学过知识及技能来分析、解决实际问题的能力。使我们体会到自身知识和能力能在实际中的应用和发挥。不但可以激发创新意识,还可以开发创造能力、培养沟通能力。这次实习时间虽然仅有一个星期,但确实使我受益非浅。通过实习我丰富了计算机操作经验,更加深了对c语言的了解,熟悉了其环境,更增强了对turbo c的使用技巧。
另外,实习中老师对我们进行了细心、耐心的指导,鼓励我们对程序进行合理改进,培养了我们的创新意识和创新能力。原来是我认为可怕的课程设计,就在种种辅助条件下完成了,心里有说不出的高兴。
虽说捧着自己的成果很高兴,但成果背后总是付出很大的努力。
一个多礼拜中,我们有过山穷水尽的困惑;有过柳暗花明的惊喜;有过唇枪舌剑的辩论;有过相互鼓励的安慰。一个多礼拜的时间我们经历了很多,也收获了很多。与其说它是体力与脑力的作业,不如说它是合作精神和毅力的考验。经过这次课程设计,我不仅学到了很多知识和技能,更重要的是我们学会了如何运用所学知识去解决实际问题.
一个多礼拜的挣扎,绞尽脑汁终于带着麻木的手指和大脑脱出那堆“泥潭”。现在的心情是如鱼得水,干涩的眼睛前方是万里晴空。终于,所有的努力即将化成了一个个铅字,打印机“滋滋”的声音仿佛已经宛如天籁般悦耳地在耳畔响起。此时此刻,真想把一切抛上天空。高呼:“出来了!我的成果即将出来了!”,心里也在默默的感慨着:“有志者,事竟成,破釜沉舟,百二秦关终归楚。苦心人,天不负,卧薪尝胆,三千越甲可吞吴。”
----刘**
★点滴感悟★
这两星期一直在做程序设计,今天终于完成了,心里别提有多兴奋。看着这两礼拜自己的劳动成果,这两个礼拜发生的种种历历在目。
还记得刚开始时,进展可以用一筹莫展来形容,当时真想放弃,可自身不轻易认输的性格支持着我。
同时,我也清楚地知道21世纪挑战与机遇并存,没有足够的知识储备必将被时代所抛弃。c语言作为国际上广泛流行的通用程序设计语言,在计算机的研究和应用中已展现出强大的生命力。c语言兼顾了诸多高级语言的特点,是一种典型的结构化程序设计语言,它处理能力强,使用灵活方便,应用面广,具有良好的可移植性。虽然我们c语言已有四个月,但一直都重概念、轻实践,这次设计对我们来说是千载难逢的机会,无论如何都要好好把握。
紧张的一个学期过后,我们迎来了c语言的学习和一位风趣博学的老师。虽然刚开始学习c语言的时候大家都一筹莫展,但在老师的鼓励和教育下一步步地往前迈,很令人欣慰。在这之后的学习中仍然困难重重,然而“坚持到底就是胜利”这个坚定的信念激励着我们勇往直前。c语言课本的学习总算结束了,多么崎岖的一条学习之路。
大学的教育模式和中学有很大不同,从平常的课程安排和教学就可以知道,但是独立完成课程设计和写论文这种任务对我们来说无疑是一个很大的挑战。十七周开始进行课程设计,老师要求我们写一个计算器的程序,起初大家都被难倒了,然后开始一步步地摸索,先查找有关资料,画计算器的图形,写了好长一段程序才把图形搞定,可老师一看都不满意,要求我们用循环来做,“师”令如山,不得不听从,改吧,这一改又让大家死了好多脑细胞,感觉有点残忍。
完成了计算器的图形很有成就感,毕竟六月天坐在机子前不是令人愉快的事。接下来要进行计算器内部运算程序的设计,说实话,我根本就不知道要做,更不清楚如何着手,不是我妄自菲薄,独立完成这个程序设计根本就是不可能的事,可想而知只能寻求帮助了,但这个程序不是轻而易举就能完成的。有些积极的同学从网上搜索了好多有关这方面的资料,拼拼凑凑,进行了多次讨论,终于完成了这部分的设计,在同学的互相帮助下,大多数人都完成了最重要的一部分程序设计。
接下来就是用循环语句使按键上的数字有闪烁的功能,这个因为之前老师有过提点,所以相对简单一些。
完成了整个程序设计,这次课程设计就接近尾声了,不过最后的课程报告着实让我们苦恼了一两天。小小的抱怨一下应该没关系吧。
整个课程设计终于完成了,完成的好辛苦,好艰难,但还是顺利的完成了。我们付出了很多心血和汗水,但我认为我们得到的更多。如果没有同学们的互相帮助,这次课程设计就不会这么顺利,这种同舟共济的团队精神深深震撼了我,《礼记学记》上也有讲过:“独学而无友,则孤漏而寡闻”。同时有些同学积极的态度让我感到一丝惭愧,他们所体现出的坚持不懈的品质更令我折服。当然这次程序设计也让我看到了自己基础的薄弱。古人有诗云:“路漫漫其修远兮,吾将上下而求索”。从今天起我将不断继续求索,学习之路也好,人生之路也罢。
总之我受益匪浅。
——戴*
【收获及体会】
c语言是一门计算机基础语言,通过这一学期的学习,对于它的一些特点和算法有了一定程度的了解,并能够做一些中等的题目,但并没有完全掌握。这两周的课程设计正是让我们巩固以前的知识并在此基础上能够有所突破。
这次做的是计算器,对于我来说有一定困难,因为我的c语言基础并不是很过硬,所以在第一周我的程序并没有太大的进展,除了一个框架外并无其他任何功能,每天别人在绞尽脑汁想如何做程序的时候,我都会看着自己写的框架发呆,或者做一些与课程无关的事情,那一个礼拜过的蛮无聊,蛮郁闷的,心情也不是很好。一个礼拜的煎熬终于过去了,终于有了让我喘息的机会。周末的时候,拿出了网上找到的计算器的程序,静下心来认真的研究别人的算法,终于初步看懂了那些在我看来深奥的一塌糊涂的语言。第二周又要上机,不过这次情况有所改善,毕竟有了一点小头绪了,当然趁热打铁,把那个程序中有用的部分copy了一下,就变成了自己的计算器程序啦。运行了一下也成功了。虽然程序有的是copy的,外形也不如别人的美观,可其中包含了我的心血,应该并不算盗用吧。
c语言是一门较难的语言,我感觉学的蛮累的,尤其是这两周的课程设计,我更体会到了这一点,虽然我们是在同一条起跑线上学习的,可每个人的能力都是不同的,有人掌握的好,也有人掌握的不是很好。而我属于后者,因此,在做设计的时候,单单靠我自己的能力是不行的,需要靠大家的帮忙,需要运用集体的智慧,需要大家团结合作。所以,通过两个礼拜的努力和同学的帮忙,我终于做出了比较传统的计算器,在此过程中,我体会到了失败后的失落,同时也体会到了成功后的喜悦,也许在以后的学习生活中我会更加体会到这一点。
——吴鋆绩
【收获及体会】
通过这段时间的课程设计,我认识到c语言是一门比较难的课程。需要多花时间上机练习。这次的程序训练培养了我实际分析问题、编程和动手能力,使我掌握了程序设计的基本技能,提高了我适应实际,实践编程的能力。
刚开始做这个程序的时候,感到完全无从下手,觉得让我完成这次程序设计根本就是不可能的,于是开始查阅各种资料以及参考文献:谭浩强著.c程序设计(第二版).北京:清华大学出版社,1999;徐金梧、杨德斌、徐科著.turboc实用大全.北京:北京机械工业出版社,1996。之后便开始着手写程序,写完运行时有很多问题,如输入的数据总是覆盖之前的数据,在做按键的闪烁时,闪烁后的按键不能变回原来的颜色等,后来花了很长时间才解决了这些问题。我的程序有许多值得改进的地方,如可以增加一些函数:cos、sin、ln、sqrt等;在画界面矩形的时候可以使用for语句。
总的来说,这次程序设计让我获益匪浅,对c语言也有了进一步的认识:c语言功能高、表达能力强、使用灵活方便、目标程序效率高。
c语言是在国内外广泛使用的一种计算机语言,我相信除了以上优点之外还有许多,希望能在以后的学习中有更深入的认识。
——周**
【收获及体会】
我有一个很不好的习惯,对新事物只有三分钟热度。刚开始接触c语言的时候我觉得这东西很好玩,特别是它能编写一些简单的游戏程序,我很喜欢玩游戏,但是随着时间的推移,特别是上c语言的理论课,说实话,真的很无聊啊!就这样,我渐渐也对“她”失去了兴趣。上课也不听了。
直到刘老师说我们要做一个c程序的简单设计---计算器。我当时一听就傻了,我可是什么有用的东西也没学到啊!我怎么可以做出这么牛叉的东西出来呢?我肯定要挂了!但是也没办法啊,别人都做,我总不能在机房里面傻玩吧?就这样我开始借课代表的笔记本来看了,其实刘老师已经把一些关键的函数告诉了我们,我们只要把它们有机的结合起来,再加一些小细节就行了。我看了几遍笔记后就基本上把界面搞定了,当然期间我问了几位同学,也寻求过刘老师的帮助,受益良多。后面的程序有点小难,当然是对我这种菜鸟来说的。但是经过同学的细心耐心的讲解,我总算也能在黑暗的道路上曲折前进。直到整个程序写完的那一刻我才松了一可气。终于完成了,想想几天来的认真和辛苦,值啊!毕竟也算是做出来得啊。那种成就感很强啊!
通过这次的设计课我明白了编程员的伟大很不容易。也明白了集体的智慧是伟大的。还有刘老师他总能在我们走投无路的时候雪中送炭!他,亦师亦友!
——王**
当得知要编一计算器的程序时,觉得不是很难,但后来仔细一想似乎要满足老师的要求并不是那么容易,越想越觉得复杂.当老师给我们上了一节指导课后,我看到了希望.再经过两个星期的仔细构想,我感到胜利在望.于是兴孜饽饽得坐进了机房,手指在键盘上不停的跳跃,不一会就一部分写好了,真的蛮兴奋的.于是又开始第二部分的编写,又好了,当我按下alt+f4+回车时,没得到我预想的结果,有点意外.于是移动光标上下扫描,好象没发现任何语法错误,我猜可能是结构的顺序出了问题,再仔细的将程序看了遍,想了想.结果发现第二部分没被运行.接下来我对疹下药,果然有用,这人真是喜啊!在接下来的几节课我完成了余下的部分,当然不可能一切非常顺利,其中的曲曲折折是很难说清楚的.
当写完了这程序我深深地感到写程序是一件很有趣的事,给人喜悦,给人快感,给人满足.其中的感觉真是难以用言语来表达,即使是一个小小的程序运行成功那也要比打游戏打死一个大boss要爽快!总之这一切只有身临其境才知道.
其次还对同学之间的合作精神深感赞叹,同学之间的互相帮助精神在这时体现的淋漓浸渍。
——蒋*
通过这次的上机练习我还是有那么一点点的小收获
首先 由于平时没有太多的上机实验,我很多的东西都不会弄,有时看别人弄了几次都不会,真是太悲哀了
第二 就是tc并不象我想的那么简单,当时我为了一个简单的闪要问了n多的人
但是到了最后当我会做了才发现原来写程序还是蛮好玩的
第三 一开始的时候我一做不出来就在那边发呆或是打游戏,但是当我每运行出一步时,总感觉自己也蛮厉害的,这时就有往下面做的信心了
最后 还是蛮后悔上课没有认真听,如果上天能给我一个重来的机会,我估计我还是会比以前认真的,以后学习也一定要认真
——徐**
刚开始学习c语言的时候觉得他很无聊,但是随着不断的学习还是越来越感兴趣了。
通过这次的程序设计,我学到了很多,首先就是能够更加熟练的使用和深入的了解c语言这门通用的计算机语言,还有就是可以自己编写程序了,还是很有成就感的。同时还让我们学会同学之间的相互合作,共同完成一个任务。
c语言是一门深奥的语言,我从一开始的懵懂到现在的有点理解可以说和老师的教导分不开的。虽然俗语说师傅领进门,修行靠自身。但是师傅的作用还是不可取代的。刘老师不仅是我们的老师,还是我们的朋友。和他在一起的时候没有那种隔阂感,这也是我们能好好学习的基础吧。不过有时开小差是不可避免的,但也只是偶尔啦。
光书本的知识的确不行,还是要理论联系实践才行。因此不断的练习是必要的,上机实践更重要。有时理论是对的,但是实践起来就不行了啊。所以通过这次的程序编写让我对c语言产生更大的兴趣了,我相信以后会越来越好的。
——钱**
在大学以前我从来就没见过c语言,这东西对我来说是十分陌生的。刚开始学c语言,感到每天都在云里雾里飘着,感觉对这个东西真的好难入手。但学了一段时间后逐渐对c语言有了认识,并能进行简单操作。现在我们又要开始进行课程设计,我的天空突然彻底black了,阿门!不过我不会放弃,前辈们都说:“坚持到底就是胜利!”,恩!我也是这么认为的。万事开头难,只要我找到方法,我一定可以的,嘿,嘿,嘿!不过我们都知道,我们是一定会成功的,因为我们有我们的太阳,至于是谁呢,我就不说了,大家都知道了,是吧!刚开始编程时,那个“error”啊,多得已经无法用“多”来形容了,那是“很多”啊!于是我开始了漫长而繁琐的地毯式搜查,我累的地暗天黑都已无所谓,那个疯狂的人,是我,是我,还是我!海阔凭鱼跃,天高任我飞!我曾经花了整整一个上午的时间来弄一个麻烦的闪烁,那做出来后的感觉,就能用一个字来形容,那就是“爽”,人生最幸福的事也就莫过于此,这小小的成功使我的信心十足,我看到希望了,来西牙!
在实践过程中不但提高了对已知知识的认知度,更令我们掌握了不少新知识。知道了要学的还有很多。在设计程序时也增长了自己的自己翻阅有关文献,加强了自己实践能力.
alt+r按下后,千万不要在意“error”有多少,平静的对待,错误才是提高的前提。
在上机操作过程中,得到了不少同学的帮助,集体的力量的确很大!但在必要的时候还是得依靠自己!
两周的时间,挺快!喜怒哀乐,喧闹后,一切归于平静。
当写完了后,喜悦,快感,满足,安慰;凝冻的空气,闷热的天,流动的汗,平静中我继续前进,该学的还有很多很多……
最后,还得要谢谢刘金平老师及同学在这过程中对我的指导帮助。
——钱**
在编写计算器这个程序过程中,遇到不少麻烦!一开始,就碰到了没有学过的图形函数,虽然课上老师反复重复着:“画图不难的,it’s so easy!”但是当自己实际操作时,感觉并不是那么容易。课上笔记拿来上机,发现始终不能通过编译~改了又改,还是“error”,那时真的要多郁闷有多郁闷——但老师过来,只改动了一点点地方,程序就ok了,说明一个问题:上课记错东西了~汗——
接下来的输入,显示,闪烁,都是不小的难题。翻阅了一本又一本参考书,也借鉴了一个类似的计算器程序,并在同学的帮助下,才最终搞定了一个简单的计算器程序!
现在才发现原来编个程序这么复杂——
通过一个学期对c语言的学习,逐渐对写程序有了兴趣,从刚开始的编译出现n多个error,然后根据提示,可以自己把错误改出来,心里有了一点小小的成就感。不仅如此,刘老师上课的风格,也给我留下了深刻的印象,让我也学到了c程序以外的东西——
——董**
完成了这次计算器的程序设计,我收获很多,也体会很多,要学好一门学科,没有刻苦钻研的精神是不行的,只有在不断的尝试中,不断经历失败,然后又不断的尝试才能获得成功。
要完成一个优秀的程序,必须熟练掌握各种语句的特点及用法,要学会举一反三,充分实现c程序的灵活(更多内容请访问首页Www.HAoWOrd.coM)性。在平时的学习实践中,要不断开动脑筋,活学活用。要发扬团体合作的精神,互帮互助,共同进步。善于发问,善于思考。
刚开始接触c程序,就觉得有一种似曾相识的感觉,因为以前学过vb。说实话,我对编程挺感兴趣,一个程序编写完成运行成功之后的喜悦真的让人难忘,就像次的课程设计,一开始画图,计算器有许多数字键,要一个一个方框的画很麻烦,我就试着能不能找到一个简单的方法能一下子画完。我联想到了二维数组,每一个方框就好象数组中的每一个元素。于是我就试着用两个for嵌套的方法,经过反复尝试,终于成功了,你说的没错,当时的感觉真的比游戏打通关了还要好。
在写程序的过程中,我又碰到了一些难题,比如按键的闪烁问题,按键不能直接运行的问题,不能连续运行问题,还有数字不能成串显示问题。其中有些是问你的,有些是我自己解决的。比如连续运行,闪烁做好后,我发现每次运行只能按一个数字,按第二个数字的时候就跳出了,后来我想到了在switch之前加for的办法,这样就可以用循环的办法达到我想达到的目的。至于数字成串问题,其实我是不成功的,因为计算器数字显示从显示条的右边开始,而我的是从左边开始。我在switch前的for前给b附值为0,然后在最后一个case后写b++,再把每一个case中数字输出的横坐标都写成“140+b*10”,这样,我就达到了成串输出的目的。
要学好c程序,光有知识是不够的,还得有经验,上机操作的经验,只有大脑中有了经验,在碰到问题的时候才有许多解决的方案,然后才能去尝试。
好象差不多500字了吧?不过我还想说些东西。题目只写收获与体会,也没有强调是做程序设计的收获与体会哦,那我就写了。
为什么偏偏让我重写啊?不就是在书上抄了一段嘛,你也没说不能抄书啊,我能想到抄书就说明我对书了解的比别人多,其他人的大发感慨也不见得比我抄书有用吧?写这个收获和体会就真的那么重要吗?你如果仔细看了程序,你会发现有些人的程序基本上是一样的,就坐标改了一下,这样算不算要重新做啊?当然,我也有抄的,计算部分是抄的,真的不会,时间又来不及了,我周四要回家了。我也不对你发牢骚了,一句话,做人难,不可能把每一个人都安排的服服帖帖。一个人有人喜欢的同时必有人讨厌,当然,我并不是说你,我不讨厌你,我挺喜欢你的教学方式。
就到这里吧,好象太多了,也浪费你时间看,不写了。
——朱*
学习c程序这门课一个学期了,这是我们学的第一门专业课,所以作为我这个计算机系的学生来说当然十分重要,老师在第一节课说过,c语言是计算机的基础,大多数软件都需要用c语言来编写,通过一个学期的学习,使我初步掌握了一些关于这门课的知识
这次的课程设计是对我们一个学期来所学的知识的综合考察,里面涉及到了我们大多数所学知识。记得刚开始学这门课的时候,对这门课充满了希望,自己有信心学好这门课,但是经过一段时间的学习之后。才发现程序设计并不好学,它既要你有很强的领悟能力,还要你课后的努力,也许是自己之前太有信心学好这门课了吧,中间遇到了很大的瓶颈,一度陷入无休止的烦恼中编程序时没有一次是成功的,总会遇到很多的error,改完一个又有一个,哎!这时我会想到一句古话“天将降大人于斯人也,必先苦其心志,劳其筋骨,饿其体肤”,也许以后会有些许光明吧。之后,随着时间的推移,慢慢掌握了这门课学习的一些窍门,学习起来也比刚开始的时候好了一点,至于编程序吗还是有错误,但比以前少了,呵呵,总让我看到希望了。这次的课程设计要求我们编一个简易计算器,刚开始的时候我一头雾水,丈二摸不着头脑,不知从哪里下手,后来经过老师和同学的帮助,从最简单的编框开始,慢慢的到最关键的算法,这其中经历了很多弯路,也犯过了很多错误,但是还是一一攻克了,好比红军长征两万五千里终于到达了终点。看到最后自己编写出来的计算器感到格外的高兴,暂且不说计算器的功能方面吧,但毕竟是自己写的第一个正式的程序吗,感到格外的高兴。
在编写程序的过程中受到了其他同学的指点,也许在某些程序方面会和有的同学想类似,另外老师也帮助了很多,一个好的学生离不开一个好老师吗,虽说我不算一个好学生,但是老师在我编程序过程中也起到了很大的作用,就像刘老师说的一句话一样“革命尚未成功,同志仍需努力”,我们在c语言这门课上还会继续走下去,以后还会经常碰到,我会努力的。
——沈*
【收获及体会】
当我揉着干涩的眼睛,吃力的看者显示屏,我已经是不耐烦了,而且我含情默默注视着的竟然是那可恶的源程序。我的身体在流汗,我的心在滴血,六月的天写程序,苦不堪言也......
显示是残酷的,人情是冷暖的,c程序还是要交的,我不得不继续抗战于闷热的机房内,继续我的夙命。以前叫嚷着中国应试教育的不好,还不是一路走过来了,我只有无奈,这c程序也是如此,认了。
微风试图抚平我的烦躁,那它在做梦。此刻的我,正如98年的时候乔丹最后时刻持球,哪平静的了啊。等我的论文完成了,老爷子的球也进了。
言归正转,这个程序的完成过程是跌跌撞撞,曲折的。即便没有红军两万五,也有个一万两千五。不过,咱值!你说为什么?咱学到东西呗。
查书,查资料,请教同学的过程就是我提高的过程,久违的认真又体会了一次。
真正的收获更多是思想上的,让我认识程序的复杂,自己的微不足道,“学无止境”头一次认识的这么深刻,察觉自己的不足。在这次编程中,同学帮了我很多,我一个人是不能完成的。以后的学习生活真的要踏踏实实,自己的计算机生涯必定是坎坷的,信心受挫了。
【随想】相比之下,原来篮球是那么好学。
——陆*
第三篇:matlab程序设计及心得体会
1.编写程序,建立向量n=〔1,2,3,4,5〕,并利用n产生下列向量:
(1)2 , 4 , 6 , 8 , 10(2)1/2 , 1 , 3/2 , 2 , 5/2
(3)1, 1/2 , 1/3 , 1/4 , 1/5(4)1 , 1/4 , 1/9, 1/16, 1/25。
注意:向量n=1:5,/是传统意义上的矩阵的除法,,而./是两个矩阵的对应元素相除,同理相乘。此处是对应元素相除,所以一定要记住应该用点除,而非除法。
2. 从键盘输入一个三位数,将它反向输出。 例如输入639,输出为936。
注意:输出函数:disp(),取整用fix(),取余函数mod(x,y)与rem(x,y)一样。
3.输入一个百分制成绩,要求输出成绩等级a,b,c,d,e。其中90-100分为a,80-89分为b,70-79分为c,60-69分为d,60分以下为e。
要求:(1)分别用if语句和switch语句实现。
(2)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。 注意:switch语句中的case最好用0~9的数字表示而不是表达式!不可用break!后不可用表达式!!!为了表示另一种情况,记住用if与其搭配~不要太死板,学会灵活。
4.建立5*6的矩阵,要求输出矩阵第n行元素。当n的值超过矩阵的行数时,自动转为
输出矩阵最后一行元素,并給出出错信息。
注意:随机产生一个0~1矩阵可以用rand函数,整数矩阵便用fix(100*rand(m,n))函
数。产生m*n 阶[a,b]均匀分布u(a,b)的随机数矩阵:
unifrnd (a,b,m, n)
5. 产生20个两位随机整数,输出其中小于平均值的偶数。
注意:fix(100*rand(m,n))与round(100*rand(m,n))几乎一样的,随机产生m*n阶矩阵,学
会变通,随机产生两位随机整数。fix是指向0靠拢取整。fix(3.7)=3,fix(-3.7)=-3。floor指向下取整,ceil指向上取整。round指四舍五入取整!!round最常用~记住a=o指赋值,而a==0指判断,与c语言一样~当矩阵只有一行时,可用a(i)表示每一个数。用k(i)表示来输出每一个数!表示矩阵中的每一列时用a(:,i),表每一行时用a(i,:)。
6. 输入20个数,求其中的最大数和最小数。要求分别用循环结构和调用matlab的max函数、min函数来实现。注意:熟记其中的函数将对编程的速度有很大的提高!孩子,加油!
e0.3a?e?0.3a0.3?asin(a?0.3)?ln7. y?,当a取-30.,-2.9,……,2.9,3.0时,求各点22
的函数值。要求分别用顺序结构和循环结构实现。
注意:用size返回向量元素的个数,如果是矩阵,size(a,2)指返回矩阵的竖的个数,即多少列。其中一维是指行,二维指列。记住表示一个向量时,步长放中间。!
8. 当n分别取100、1000、10000时,求下列各式的值:(要求分别用循环结构和向量运算(使用sum函数)来实现)
1111??????? 2222123n
111(2)1????? 357
1111(3)?????n?? 416644(1)
?2n?2n?2?2??4?4??6?6???(4)?注意:使用while循环时,注意对n初始化,??????????1?3??3?5??5?7??2n?1?2n?1?
与c语言较象。普通指数时直接用^,自然指数时,若x已知,用y=exp(x)。
9. 若两个连续自然数的乘积减1是素数,则称这两个连续自然数是亲密数对,该素数是亲密素数。例如:2*3-1=5,由于5是素数,所以2和3是亲密数对,5是亲密素数。求〔2,50〕区间内,
(1)亲密数对的对数;
(2)与上述亲密数对对应的所有亲密素数之和。
注意:x=primes(n)输出不超过n整数的素数,a=length(x)表示输出素数的个数。用b=isprime(n)来判断n是否为素数,若为素数则b=1,反之为0。学会变通,求和用if循环就好。
111110.根据1??????,求: 3572n?1
(1)y<3时的最大n值;
(2)与(1)的n值对应的y值。
注意:不能被题目吓跑~~·很简单的,耶耶!
11.已知y?f(40) f(30)?f(20)
(1)当f(n)=n+10ln(n2+5)时,y的值是多少?
(2)当f(n)=1*2+2*3+3*4+……+n*(n+1)时,y的值是多少?
12.编写一个函数文件,用于求两个矩阵的乘积和点乘,然后在命令文件中调用该函数。
13.定义一个函数文件,求給定复数的指数、对数、正弦、余弦,并在命令文件中调用该
函数文件。
14.先用函数的递归调用定义一个函数文件求
1005010?i,然后调用该函数文件求i?1n1zhuyi:yaoxunzaoyigehanshubiannnengjiejue defangfa~~ k?k????kk?1k?1k?12
15.写出下列程序的输出结果。
(1)
s=0;
a=[12 13 14;15 16 17;18 19 20;21 22 23];
for k=a
for j=1:4
if rem(k(j),2)~=0
s=s+k(j);
end
end
end
s
(2)命令文件
global x
x=1:2:5;y=2:2:6;
sub(y);
x
y
函数文件sub.m
function fun=sub(z)
global x
z=3*x;
x=x+z;
16已知:?1111n?1????????1?,编程求?的近似值。43572n?1
注意:在编程过程中,一个小小的乘号将导致很难查出错误,很会影响心情,所以不能忽略小问题,必须仔细小心!
?1?517.输入下面的矩阵,a???9??13?234??678?101112??141516??求该矩阵的对角线元素之和,并找出最大和最
小的元素的值以及其所在的行、列号。将最大值替换成inf,最小值替换成-inf。 注意:①找出矩阵中具体某个元素的具体位置的方法:
ind=find(a==max)
siz=[4,4]
[i,j] = ind2sub(siz,ind)便可以找到最大元素的位置!!
[i1,i2,i3,...,in] = ind2sub(siz,ind)
②对角线元素用diag函数~~
③要找出一个很大矩阵的最大最小元素用两个for循环。!
加油~写出这道题好兴奋啊,这种感觉真好!!
18. 求解猴子吃桃问题。猴子在第一天摘下若干个桃子,当即吃了一半,又感觉不过瘾,于是就多吃了一个。以后每天如此,到第10天再想吃时,却发现就只剩一个桃子。请编程计算第一天猴子摘的桃子个数。
注意:不要被问题吓到,很简单的一个问题罢了~当顺着不行时,试着倒着来解答编程。
19. 求n阶勒让德多项式的值,其递归公式为:
p(n,x)?((2*n?1)*x*p(n?1,x)?(n?1)*p(n?2,x))/n p(0,x)?1;p(1,x)?x
注意;它要的仅仅只是一个定义函数~并没有需要一个确切的值。
20. 利用恒等式?2
6??k?1?1计算圆周率的近似值。 k2
注意:sqrtm(a):矩阵a开平方根;sqrt(a):矩阵a对应的元素开平方根。
21.输入一个正整数,如果它是偶数就除以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帮助文件都是英文的,只有习惯看英文才能进步快,中文的翻译很多都是文不对题,看了还不如不看,看英文虽然慢,可是过了不久,你就会发现英文也没那么难懂
三 总结:
实践,实践,还是实践!!!
即使书上有代码,也要把它敲出来,敲代码也是有感觉的!!!
看明白 != 运行出来,是两个概念!!!