烟台大学计算机学院教师,建设系列学习资源,改革教学方法,为IT菜鸟建跑道,让大一的孩子会编程,为迷茫的大学生出主意,一起追求快乐的大学。 著书《逆袭大学:传给IT学子的正能量》,帮助处于迷茫中的大学
课程首页地址:http://blog.csdn.net/sxhelijian/article/details/7910565 【项目2:穷举法解决组合问题】先阅读例题,领会穷举法(意为“穷尽式列举”,也称枚举)的思想,然后自行选题进行解决,掌握这种程序设计的一般方法。 任务:利用穷举的方法解决下面的问题(选做一道即算完成任务,其他可以抽时间自由安排,多做会使你更聪明。) (2)换分币:用一
课程首页地址:http://blog.csdn.net/sxhelijian/article/details/7910565 【项目2:穷举法解决组合问题】先阅读例题,领会穷举法(意为“穷尽式列举”,也称枚举)的思想,然后自行选题进行解决,掌握这种程序设计的一般方法。 任务:利用穷举的方法解决下面的问题(选做一道即算完成任务,其他可以抽时间自由安排,多做会使你更聪明。) (1)百钱百鸡问题:
第11周:阅读教材第10章(p314-346),掌握用运算符重载解决问题,完成第11周上机任务; (回到C02-程序设计基础提高班(C++)学习安排) 【任务1】实现复数类中的运算符重载定义一个复数类重载运算符+、-、*、/,使之能用于复数的加减乘除。(1)方案一:请用类的成员函数完成运算符的重载; class Complex { public: Complex(){real=0;imag
【感谢胡光老师提供题目】 (回到C03-Java同步实践加强班学习安排) 1.编写一个算术测试小软件。程序组成:编写 一个Teacher类负责给出算术题目,随机给出两个整数并进行运算,并判断回答者的答案是否正确;编写一个GUI类ComputerFrame,回答者可以通过GUI看到题目并给出答案;编写一个程序执行入口运行该软件。GUI界面如下所示。 2.模拟一个信号灯的软件。在JFrame的北
【来信】 贺老师,您好: 在csdn上看到你的,我是……。去年11月份参加了无锡NIIT的培训,三四月份开始找工作的。一起来培训的应该有十几个人,我们可能是XX学院首批来培训的。 我们找工作的时候,正好是毕业生招聘高峰期,很快NIIT给我们推荐了各种就业。培训的经历告诉我,如果不是热爱这个行业,没有比较扎实的基础,单纯的为了培训而培训,那就没必要了。培训机构更多的是为了赚钱,为了尽快
【来信1】 贺老师,您好!我现在大二了,也是梦想成为一位IT人,但是总感觉与别人有差距!我现在c++已经学了大部分了,自己买了c++primer中文板(第四版),但与教材差距很大,我现在感觉有点迷茫,该怎么办?【我的回答】 我很感兴趣你的“C++已经学了大部分”是什么意思:看某本书看了一大部分,看明白了或者只看了还是没有看明白,学了和学会不同;学过的内容是否有能力完成该做的实践,学会和做
受学院之托,参加了“第一届高等学校计算机类专业人才培养高峰论坛”。飞机晚点深夜到达,报告密集连连“拖堂”,遇到老院长汇报了自己的近日的进展,恰遇下雪雪水中前行去上课,为赶飞机最后“逃课”,48小时内的经历可谓丰富。一晚休息,仍感疲乏,也特别想写些文字。 这是我第二次参加教指委的活动,报告大多是讲培养方案体系构建的。这方面的动态一直在关注,但也许是近日在这方面参与的工作多了的缘故,与报告者产生
【来信】 贺老师您还记得我么?我就是上次那个大一暑假就是找程序员然后被碰壁了那个,然后听了贺老师那席话后我又回去仔细专研技术了,我记得之前贺老师跟我讲过“你现在最大的优势就是你现在才大一,你还有三年给你自由去专研技术的时间”,但是我不这样觉得,我上的是一间三流的大专,根本就没有三年,我估计我也只有一年半左右就要出去找工作、实习了,而且在学校的时间几乎都是靠自学,老师现在还是在教vb6.0,
【来信】 老师你好,我才接触C语言,现在对C语言很迷茫,自己上网查了一些资料也无头绪,现在想问老师几个问题。 1.C和C++到底有什么不同; 2.C++的教程能适用于C吗? 3.找不到一些比较好的入门的基础书籍和算术书籍,老师能否介绍一些。 希望老师能解除我的困惑,在这里先谢谢老师了。【我的回复】 可以看出你是一位很认真的同学。认真在战术上一定是重要的,请发扬下去;但在制定战略时
课程首页地址:http://blog.csdn.net/sxhelijian/article/details/7910565 【项目6-打豆豆】阅读并运行下面的程序“吃饭、睡觉、打豆豆”,体会形式上死循环,实际不“死”的技巧。在此基础上,改写程序并提交报告。程序中用了自定义函数(第4章内容)——老贺又疯了,拿这个来为难菜鸟(所幸的是,这样的程序看起来还不赖)。改写任务1:去除有关使用自定义函
课程首页地址:http://blog.csdn.net/sxhelijian/article/details/7910565 【项目5扩展:在北京买房】现在北京有一套房子,价格200万,假设房价每年上涨10%,一个软件工程师每年固定能赚40万。如果他想买这套房子,不贷款,不涨工资,没有其他收入,每年不吃不喝不消费,那么他需要几年才能攒够钱买这套房子? 参考解答: #include <
课程首页地址:http://blog.csdn.net/sxhelijian/article/details/7910565 【项目5:贪财的富翁】一个百万富翁遇到一个陌生人,陌生人找他谈一个换钱的计划,该计划如下:我每天给你十万元,而你第一天只需给我一分钱,第二天我仍给你十万元,你给我两分钱,第三天我仍给你十万元,你给我四分钱,....,你每天给我的钱是前一天的两倍,直到满一个月(30天)
课程首页地址:http://blog.csdn.net/sxhelijian/article/details/7910565 【项目4:输出完数】(课本p86第20题)一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3,再如8的因子和是7(即1+2+4),8不是完数。编程找出1000以内的所有完数。提示:首先从2到1000构造循环控制变量为i的外层循环。每次循环中,利用内
课程首页地址:http://blog.csdn.net/sxhelijian/article/details/7910565 【项目3扩展(选做)】编程序生成一张从英尺到米的转换表(1米大约等于3.28英尺),以方便工厂里工人师傅使用。输出形式如下图所示,罗列了从0英尺到99英尺对应的米数,即第i行第j列的值vij代表i*10+j英尺对应的米数。例如,通过下图所示,我们可以方便地查到17英尺
课程首页地址:http://blog.csdn.net/sxhelijian/article/details/7910565 【项目3:乘法口诀表】编程序,输出一个乘法口诀表,形如1x1=11x2=2 2x2=4 1x3=3 2x3=6 3x3=9…… #include <iostream> using namespace std; int main( ) {
课程首页地址:http://blog.csdn.net/sxhelijian/article/details/7910565 【项目2扩展之2(选做)】计算下面的式子,不能使用求幂函数pow()式一: #include <iostream> using namespace std; int main( ) { int i,m=1; //m表示2的幂,1为2的0次幂,与循环
课程首页地址:http://blog.csdn.net/sxhelijian/article/details/7910565 【项目2-分数的累加】编程序,输出1/3-3/5+5/7-7/9…+19/21的结果提示:如果直接解决上面的问题有困难,可以设计一条“由易到难”的路线,逐渐解决其中要解决的问题,让自己的思路明朗起来。(1)1+2+...+20 ——这个应该会 //用for循环完成,
课程首页地址:http://blog.csdn.net/sxhelijian/article/details/7910565 【项目1扩展(选做)】从键盘输入20个整数,输出它们的和。 //用for循环完成,其他循环自行完成 #include <iostream> using namespace std; int main( ) { int sum=0,i,n; for(i
课程首页地址:http://blog.csdn.net/sxhelijian/article/details/7910565 【项目1:利用循环求和】求1000以内所有偶数的和//用for循环完成 #include <iostream> using namespace std; int main( ) { int sum=0,i; for(i=2;i<=1000;i+
【摘要】程序设计初者学会IDE(集成开发环境)中提供的调试工具,是一件非常重要的事。本文在初学者有初步的程序设计体验(只需要掌握到控制结构)为前提,介绍了单步执行、断点设置及观察程序运行情况的方法,并配有练习的建议,方便读者的学习。 (相关博文:CodeBlocks调试功能快捷教程) 在编写程序中,尤其是完成一个工程的过程中,通过编译的程序往往也会存在错误(bug)。这种错误是运行错误和逻
【摘要】学习是可以基于需求的,其必要性超了另外一种观点:按课本的顺序学。本文介绍了在C++中使用文件的最基本的方法,并试图通过给出的练习,使C++初学者能够对实际项目中输入输出中使用更广泛的“文件”有所认识,并学会初步的操作。本文适合于仅掌握了一般数据类型与控制结构的读者。 你一定不满足程序处理完的数据,然后只在屏幕上显示一下的方式。如果处理的结果能够永久地保存下来多好! 你一定厌倦了要让
浏览学生提交的学习成果,赫然发现有人在照搬他人的程序,发表成了自己的博文,并且我有十足的把握,他不懂这段尽管很简单的代码。 这是犯了大忌的。我带着大一的学生混社区,我们的水平是菜,但是要菜出风格的。抄别人的,让读者看起来像他自己的,不是个事。可能也有其他在这样做,我不能一一做出判断,也不能将精力花在这里。和我有深交的同学知道,宁可空着,宁可将错误的程序发出来,并且写上自己的思考,远比抄
第10周:阅读教材第9章(p263-313),主要内容是构造和析构函数、对象数组、对象指针、共用数据的保护等,完成第10周上机任务; (回到C02-程序设计基础提高班(C++)学习安排) 实践任务: 【任务1】设计三角形类,通过增加构造函数,使对象在定义时能够进行初始化 #include<iostream> using namespace std; class Triangle
【感谢胡光老师提供题目】 (回到C03-Java同步实践加强班学习安排) 1.封装一类对象,功能是随机产生一个2000年后的年份,并输出该年2月的日历页,需处理闰年的问题。2.编写一个JFrame,标题为“计算的窗口”,在该窗口中组件的布局是FlowLayout。窗口中添加两个文本区,当我们在一个文本区中输入若干个数时,另一个文本区同时对输入的数进行求和运算并求出平均值,也就是说随着输入的变化
【学生来信】 老师您好:我很想学好C语言,但又不知道该怎么学,没有头绪。看到那些跟自己同龄的同学,可以编出那么长的程序,真的是很羡慕,但又不知道该怎么做。希望老师给我一些方法吧,谢谢老师。 【我的回复】 用代码行说话!他们也不是一下子就能写出那么多程序的,你从他们博文中可以看出他们是在持续地努力。写不出来,看。看完了,自己写。可以抄人家的程序调试,调完了,一定抛开参考,自己再来一遍。可能初
回到课程主页,链接:C++程序设计课程主页-2012级 本次上机对应的教学内容:第3章 C++程序设计初步中循环结构程序设计的部分。 程序练习 【练习1】程序分析题,阅读下列程序,写出程序的运行结果,建议在上机时进行验证(BB平台将给出代码,直接复制到VC++中运行即可,main()函数前缺少的两行自己加上),如果与自己的预期有出入,尤其注意进行思考。 1. int main(
写下“放弃给某些同学一厢情愿的大学布道”(简称前文)一文时,为的是将自己的郁闷往外吐一吐好受些。写作是疗伤的最好方式,是思考转向理性的转折点(是否可以作为提倡同学写博的广告词)。写完以后,自己舒服多了,然后,洗洗,再然后,就睡了。 早晨起来,开博一看,39个点击就引来了3个评论,很意外。评论表扬我,更主要是安慰我的。在收件箱里,还有一封长信。真心感动。谢谢博友的关怀,在网络上有这样一
可能是自我将教学工作重心投入大一学生以来,最感到无力的两个下午。 我的认真,对高年级已经“适应”大学的学生,是种异常。饱经考验的我,倒是要和他们肩并肩,与影响他们的不良学风作斗争,但不少学生适应不了我不把潜规则当规则的做法,甚至部分学生很受伤。 之所以将教学工作重心放在大一学生,是因为大一的学生怀着美好的心愿刚刚开始大学生活,大学生活的本原还有机会向他们传达。过去一年的实践表明,我
关于毕业生反馈系列的来头,以及我的想法,请见《毕业生反馈(一)》。 毕业生们给出的感受略微有些让人不太好受:学院的努力成效并不是那么大。这是真话,和我熟悉的同学知道我不需要虚假的套话。问题出在哪儿,很显然。这也使我更加坚定地按照目前的想法,采取这种“民间”性质的学生专业社团的形式,实现体制内难以突破的转变,至少是为解决问题再探一条路子。毕业生的感受可供目前在校的同学参考,当然,也给了我这个
课程首页地址:http://blog.csdn.net/sxhelijian/article/details/7910565 【补充:趣味题——构造“菜单”】编写程序,显示“菜单”,由用户输入代号后,输出对所选项目的简短评论。运行结果参考下图: 参考解答: #include <iostream> #include<Cmath> using namespace st
课程首页地址:http://blog.csdn.net/sxhelijian/article/details/7910565 【项目5:求一元二次方程的根】输入一元二次方程ax2+bx+c=0的各项系数,并根据各系数的值的情况,分别进行求解(如a=0时,实际上方程已经退化为一元一次方程)。 参考解答: #include <iostream> #include <cma
课程首页地址:http://blog.csdn.net/sxhelijian/article/details/7910565 【项目4:本月有几天?】输入年、月,输出本月有多少天。合理选择分支语句完成设计任务。输入样例1:2004 2输出结果1:本月29天输入样例2:2010 4输出结果2:本月30天 参考解答: #include<iostream> using namespa
课程首页地址:http://blog.csdn.net/sxhelijian/article/details/7910565 【项目3:利息计算器】输入存款金额并选择存款种类,计算出利息(不计利息税)和本息合计。要求使用switch语句,根据选择的存款种类,确定利率和存期后计算。提示:如果是活期存款,需要补充输入天数。利息=金额×年利率×存期(单位:年,活期一年按360天计)。利率使用201
【来信】 尊敬的贺老师: 你好,工作到现在有一年多了,感觉很忙碌,信息量很大,很多事情都没有时间做,总觉得时间好紧,待会再做,结果就有推到后面去了。现在每天晚上都在公司加班到9:00-10:00,很正常。计划中的事情,总是白天的一些紧急事情打乱,然后就剩下很少的时间做,然后就不得不加班完成计划。 晚上回去的晚,白天就有些困,状态不是很好,然后就效率低。 公司的老人一般不会这样,他
课程首页地址:http://blog.csdn.net/sxhelijian/article/details/7910565 【项目2:个人所得税计算器】编写选择结构程序,输入个人月收入总额,计算出他本月应缴税款和税后收入(计算办法见附:关于个人所得税的有关背景知识)。(1)用if语句的嵌套完成程序设计;(2)用switch语句完成程序设计; * 输入描述:个人月收入总额 * 问题描述:按
课程首页地址:http://blog.csdn.net/sxhelijian/article/details/7910565 【项目1:分段函数求值】从键盘输入x的值(要求为实型),根据以下公式计算并输出x和y 的值。 要求采用两种解法完成,解法1用if-else语句,解法2主体用switch语句(注意到分段的关键点处,x的值均是偶数,这是可以利用的条件)。提示:在这个公式中,x<
【学生来信】 老师您好,我是一个二本学院计算机科学与技术专业的学生,我曾经坚信只要我努力,我就不会比别人差,我会创造属于我自己的奇迹。这学期开始学习数据结构,可是最近我发现我自己越来越觉得力不从心,不管我怎么努力,都像蜗牛似的。更糟糕的是,当初我选择这个专业时,我姐夫跟我爸爸说女生不适合这个专业,而且我是二本学院,跟别人比一点优势都没有。起初我爸爸是相信我的,可是我发现我爸爸也开始不支持
回到课程主页,链接:C++程序设计课程主页-2012级 本次上机对应的教学内容:第3章 C++程序设计初步中分支程序设计的部分。 练习+上机验证【练习1】阅读下列程序,在准备期写出程序的运行结果。上机时运行程序,与你的预期进行对照、理解。1. #include <iostream> using namespace std; int main() { int a
开课4周,实际教学3周,C++教和学的工作似乎一切有序进行。昨晚例行地为每位同学“记了工分”,令人吃惊的是,看到的是冰火两重天的景象:一部分同学高唱凯歌,一部分同学成果可怜甚至空白。处于中间状态的同学,很少。一方面上机课、辅导时间结束,或其他时间,我在CSDN“空间”中看到同学们忙碌的身影,一片繁荣;另一方面,近一半的同学,在期限结束,进展为0,或只能提交1个任务。在这悬殊数据的背后,我
【感谢胡光老师提供题目】 (回到C03-Java同步实践加强班学习安排) 1.编写一个模拟用户帐户的程序。测试类Test用来登录:输入用户帐户名和密码,如果正确(则在控制台输出Success,并提示是否修改用户名和密码,要修改:则弹出提示框重新输入帐户名和密码,不修改,则显示再次登录框。)如果不正确(究竟是账户名不对还是密码不对?则提示重新输入,最多3次,否则在控制台输出Fail,退出程序:S
第9周:阅读教材第8章(p231-262),主要内容是类和对象,学会定义类和对象解决问题,完成第9周上机任务; (回到C02-程序设计基础提高班(C++)学习安排) 实践任务: 【任务1】阅读、运行下面的程序后,按要求编制新的成员函数,并增加类的功能 #include <iostream> using namespace std; class Time { public: v
【项目2:计算定期还款额度】编程序用来计算贷款的定期还款额度,比如买车的贷款。输入本金、贷款的时间长度、每年偿还的次数、贷款利率,程序就会计算出每次应该偿还的额度。 计算定期还款金额的公式如下 这里rate代表利率,principal代表本金,payPerYear代表每年偿还贷款的次数,numYears代表贷款的年限。 参考解答: #include<iostream> #in
链接:IT学子成长指导类文章链接(一) “IT学子成长指导”类我收藏过的好文(二期:至2012年10月18日) 关于大学生择业建议 人的差异在于业余时间 算法的力量-李开复 如何让学好计算机专业 李开复 第一门编程语言选谁? 好的程序员应该掌握的几门编程语言 也谈第一门编程语言应该学什么 IT學習力 最有效的学习方式__让学习的车轮转起来<{心法分享}> 我想回到以
第8周:阅读教材第7章(p201-230),主要内容是结构体与自定义类型,同时也希望将同学们将第3-7章的内容整理一下,完成第8周上机任务,本周任务将增加一些对用结构化程序设计技术解决问题的综合性题目; (回到C02-程序设计基础提高班(C++)学习安排) 实践任务(需要的数据文件score.txt在本文后,自行复制后,用记事本保存为score.txt):【任务1】结构体数据组 score
回到课程主页,链接:C++程序设计课程主页-2012级 本周教学内容:第2章 数据类型和表达式。 练习+上机验证 练习1:阅读、理解程序 下列程序,在准备期写出程序的运行结果。上机时运行程序,与你的预期进行对照、理解。1. #include <iostream> using namespace std; int main() { int a,b,c,d;
时间:2012年10月11日19:00 地点:综119 听众:2012级学生 PPT下载 视频链接
【感谢胡光老师提供题目】(回到C03-Java同步实践加强班学习安排) 1.继承的练习 (1)封装一个People类型,具有height和weight属性,具有speakHello、averageHeight、averageWeight功能。 (2)封装一类ChinaPeople类型是People的子类,新增chinaMartial功能,override超类的speakHello、aver
【来信】 贺老师,我目前正在读一本由马丁.福勒编著的《重构》一书,我现在正在读大二,现在看这本书你认为是否为时过早,若你认可我的做法,你认为我读的这本书有意义吗,或者说能够锻炼我的哪些方面的编程能力。还有,目前的Java继承编译环境下自带了一些重构工具,再来看这本书是否还有意义那,我期待你的答复。 【回复】 你既然正在读,说明这本书就适合你,没有什么不可以读的。 好书并不仅是读一遍
项目1:分支结构程序设计体验 (1)阅读课件中“给两个数,求两数中的大者”例子,结合对课堂讲授内容的理解,仔细领会让计算机进行判断,然后根据不同情况进行处理的方法。 (2)我们要解决的问题如下,上机前在作业(草稿)本上编程完成下面的工作: 问题:给定两个正整数,求出两数的正差值并输出。 样例输入 样例输出 7 10 3 12 7 5 提示:“正差值”意味着无论这两数孰大孰小,输出
项目2:输入4个整数,输出其中的最大值。 要求:程序调试成功后,提交漂亮、规范的博文作为报告(参考上一任务的模板自行改造) 项目2扩展一(选做):输入4个整数,输出其中的最大值和最小值。 项目2扩展二(选做):输入4个整数,按从大到小的顺序输出这4个整数。 (抽出时间将扩展题做一下,在了前面的基础上,只要再多往前再走一点,就会多一分内在的享受。越早有这种体会,感觉会越早出现。这几乎是突