版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 计算机程序设计课程学习指南计算机程序设计是一本实践性课程,学会编程是课程的主要目的。然而,任何实践又应是有一定知识基础的实践,没有知识的实践是机械的实践,是没有灵魂的实践,所以,理论课和上机实验课同等重要。要学好程序设计,希望同学们做到:1.理解语法。不懂交通法规是不允许开车上路的。不懂语法,编写的“程序”是不能被计算机执行的。对语法的理解,不仅要上课听讲,而且要上机实践。只有实践后才能深刻领会语法的含义。理解了语法,才能在解决问题时应用自如,举一反三。理解语法不仅是使用正确的语句,而是恰当地使用语句。有时同学们在语法上是正确的,但却不能实现设想的功能,是因为没有恰当地使用语句。所以,程序中
2、的每一条语句,都应能说出为什么那样写。人云亦云,不能实现你的愿望。2.实践实践不下水是学不会游泳的,不上机是学不会编程的。开始有困难不要紧,可以先照例题将程序输入计算机,调试成功后,再逐句分析程序的功能,体会其中的设计思想。开始不要“求多”,不知“为什么”的程序没有意义。有时,上课没有听懂或看书没有看懂书上的语法,或存在很多疑问,经常有同学问“这样行不行?”,“那样行不行?”不要紧,试试看。这样试试,那样试试。行,获得经验;不行,收获教训。有不少同学说记不住语句、语法,那也是练得少。程序设计的语法绝不能背诵,那真是纸上谈兵。用多了,自然就记住了,理解了,也好记了,但不是背诵的。3.体会思想不少
3、同学学习程序设计存在的问题是能看“懂”例题,能照着习题解答“编写”程序,但自己编程就不行了。之所以“懂”和“编写”加引号,是因为,我觉得那不是真懂,不是真会编。根本原因是没有掌握程序设计的思维方式。编写程序,其实和解数学题类似,分析题意-引用定理-进行推导-得到结果(或结论)。程序设计,是想通过编程让计算机来解决问题。要计算机解决问题,就先要解决问题在计算机中的表达问题,主要就是要解决的问题的各种量如何在计算机中表示,比如物体的长、宽、高,100个人的班级、学号、姓名、性别、年龄、籍贯等信息,是用变量表示?数组表示?结构表示?还是用类表示,我们常称为数据结构。解决了问题的表达,然后就是在这种表
4、达基础上的运算。注意,运算是基于上面的表达的。表达不同,做法可能就不同。运算的步骤就是算法。算法用某种计算机语言表达就是程序,用自然语言、流程图、伪语言表达就是算法。先写出算法是一个程序设计的初学者应该做到的。如果不能做到,或不愿做到,就有点揠苗助长了。算法是给人看的,也是人做事的步骤和依据,如果人都不会做,说不清怎样做,或者说教不会人怎样做事,还怎么教计算机去做事?但写算法也要知道计算机能做什么,或者读算法的人能做什么?一般能做的只是算术运算、比较运算和逻辑运算,能进行条件判断,依据结果进行分支或循环。就是这些。所以要把算法写到这些计算的详细程度。不过当你的编程水平提高了的时候,对简单的问题
5、,即使不写算法,你也能编程了,这是算法可以写得简略些。算法写好了,编程就不再是一件太难的事。请大家在学习过程中,注意例题中的算法和程序的对应关系,即使是机械的翻译,也能把程序写出来。例如遇到“如果否则”,那就用“ifelse”如果遇到“如果转.”那就是循环,没有这些特征就是顺序计算。4.学会帮助一是遇到问题要想办法解决,不能等。可以问同学,问网络,问老师。及时解决问题,是学习的基本策略。万事开头难。开始有很多问题,都是很正常的,只要及时解决了,后面问题会越来越少,而且学到了解决问题的方法,“问题”都不是问题了。如果不能及时解决问题,问题会越积越多,以至于丧失信心。相信自己,你们真的是都有能力的
6、,只要“做”。二是学会使用编程环境的帮助系统,一般软件在菜单栏的最后都有“帮助”菜单,选择它可以获得操作和语句使用的帮助,比书上还详细,还具体,还有例子。还有是输入关键词,选中它按键。5.学会调试某日编写出一个正确的程序,并不说明你会编写程序了。如果遇到错误的时候,你能快速地解决它,那才是本事,是一个程序员应具备的基本能力。照书上的程序抄,抄的一字不差,只能说明你的打字水平还不错,对学习编程无益。如果抄错了,但你能轻而易举地解决它,那就算有了编程的基础了。初学者编译程序时,会出现很多错误,甚至是上百的错误,不用怕,找到第一个错误,看错误的提示信息是什么,编译系统已经说得清清楚楚,如哪行?什么问
7、题?甚至是什么原因。你只要找到那一行的那个标识符,改正过来,然后再编译,再修改第一个错误。注意,一般每次只修改一个(第一个)错误,因为有时一个错误,会导致多条错误提示信息,修改了前面的,后面自然就没有了。即使是上百的错误,也是一个一个修改。不过初学者还是觉得有困难,原因有三,一是看不懂英文(多数是英文的环境),二是不了解语法,三是经验不足。看不懂英文,查字典。其实,错误信息中使用的单词数量是非常有限的,查一次,以后清清楚楚,一劳永逸。如果不查,学到最后(一个学期,120多天吧)这几个词还是不认识,对提示信息还是糊涂的。损失太大了。少查20个单词,少考20分,甚至挂科。学了十年的英语,可以用用了
8、。对语法不了解,明明指出了错误,却不知如何改,所以理论和实践是相辅相成的。还有,要清楚哪是正确的,哪是错误的。有时系统指出的错误位置是有偏差的,错误的位置可能是在上一行或上两行或再上面。不清楚语法,迷信编译系统,常常把正确的改错了,错误的还是错,错误越来越多。不能它(编译系统)说啥就是啥,要有坚定的信念(正确的就是正确的,不能改错了)。对经验问题,也不是问题,解决方法就是“多错”。有同学常常惊叹老师的对错误的识别能力,“此无它,唯手熟尔”,老师错得多了,教你们的程序,不知练过多少遍,不知出现过多少错啊。所以,不要怕出错,解决错误之日就是你能力提高之时。6.学会跟踪语法错误,编译系统会指出来。而
9、逻辑错误,没有人告诉你。当你运行程序的时候,发现“结果不对啊”。有同学就去对书上的程序,“一字不差啊”。首先,程序一定是有错的,而且是你让计算机做错的,不要怀疑计算机;其次对书上的程序不是解决问题的办法。对逻辑错误,一是使用跟踪。跟踪是监视每一行程序的执行过程。每执行一行程序,内存中的变量的值就会有所改变,这种改变是根据原来的状态和执行的计算而变的。那么我们输入了什么数,赋了什么值,进行了什么运算,结果就是确定的了,看程序的执行结果与算法设计时到此应该得到的结果是否一致。如果一致,继续执行下一句,如果不一致,说明错误就在这一行。看看是不是运算写错了。还有一种方法,就是在程序中多处添加多个输出语
10、句,输出刚计算出和将要进行计算的变量的值。执行程序,如果计算出的变量正确,基本说明程序到此是正确的,否则就是有错的;如果将要计算的变量是正确的,我们确认一件事,为下面的计算提供的数据是正确的。用这种方法,也能很快找到错误所在。(西安交通大学 赵英良)附录:参考书1 郑莉, 崔舒宁等. 面向对象程序设计经典实验案例集. 高等教育出版社,2012.2 何钦铭. C语言程序设计经典实验案例集. 高等教育出版社,2012.3 何钦铭, 颜晖. C语言程序设计(第2版). 高等教育出版社,2012.4 萨维奇(Walter Savitch)编著. 周靖译. C+程序设计(第8版)(Problem Sol
11、ving with C+,Eighth Edition) . 清华大学出版社, 2012.5 苏小红等. C语言程序设计. 高等教育出版社,2011.6 埃克尔(Bruce Eckel) , Chuck Allison.编著. 刘宗田,袁兆山等译. C+编程思想. 机械工业出版社, 2011.7 梅耶(Scott Meyers)编著. 侯捷译. Effective C+:改善程序与设计的55个具体做法(第3版)(中文版). 电子工业出版社, 2011.8 亨特(Andrew Hunt),托马斯(David Thomas)编著. 马维达译. 程序 员修炼之道:从小工到专家(The Pragmat
12、ic Programmer:From Journeyman to Master). 电子工业出版社, 2011.9 亨特(Andy Hunt) 编著. 崔康译. 程序员的思维修炼:开发认知潜 能的九堂课(Pragmatic Thinking and Learning Refactor Your Wetware ). 人民邮电出版社, 2011年.10斯特朗斯特鲁普(Bjarne Stroustrup)著. 裘宗燕译. C+程序设计语言(特别版十周年中文纪念版) . 机械工业出版社,2010.11斯特劳斯特鲁普(Bjarne Stroustrup) (美)著. 王刚, 刘晓光,等译. C+程序设
13、计原理与实践. 机械工业出版社, 2010.12郑莉,董渊等. C+语言程序设计(第4版). 清华大学出版社,2010.13Andrew Koenig(美)编著. 黄晓春译. C+沉思录(Ruminations on C+). 人民邮电出版社,2008.14李文新等. 程序设计导引及在线实践. 清华大学出版社,2007.15 H.M.Deitel(美)著, 张引等译. C+大学教程(第5版).电子工业出版社, 2007.16谭浩强. C程序设计(第4版). 清华大学出版社,200617钱能. C+程序设计教程(第2版). 清华大学出版社,2006.18刘景,周玉龙. 高级语言C+程序设计(第二版). 高等教育出版社,2006.19 Stanley B. Lippman, Barbara E. Moo Jose LaJoie编著. 李师贤等译. C+ Primer中文版(第4版). 人民邮电出版社,2006. 20罗建军,崔舒宁,杨琦. 大学Visual C+
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 上海电子信息职业技术学院《临床医学概论》2025-2026学年期末试卷
- 山西警官职业学院《播音主持概论》2025-2026学年期末试卷
- 上海师范大学《国际贸易实务英文版》2025-2026学年期末试卷
- 太原学院《英语语言学导论》2025-2026学年期末试卷
- 沈阳体育学院《当代世界经济与政治》2025-2026学年期末试卷
- 上海外国语大学《会计原理学》2025-2026学年期末试卷
- 上海中华职业技术学院《金融信托与租赁》2025-2026学年期末试卷
- 山西国际商务职业学院《会计学原理》2025-2026学年期末试卷
- 上海行健职业学院《广告文案写作》2025-2026学年期末试卷
- 朔州陶瓷职业技术学院《初级经济学》2025-2026学年期末试卷
- 2026年1月1日起施行新增值税法全文课件
- 山东省蔬菜出口到日本地区的现状及发展的对策
- 组织措施方案
- 健康体检主检报告的内涵
- 铁道概论(高职)PPT完整全套教学课件
- WPS Office办公应用案例教程
- 08D800-7 民用建筑电气设计与施工-室外布线
- 车辆技术档案范本(一车一档)
- 第34届河北省青少年科技创新大赛青少年科技创新大赛查新报告(参考样)
- GB/T 24044-2008环境管理生命周期评价要求与指南
- GB/T 15242.1-1994液压缸活塞和活塞杆动密封装置用同轴密封件尺寸系列和公差
评论
0/150
提交评论