C语言程序设计第一次作业(2017.10.10完成)

一:程序框图以及正确运行结果;

(1)给出圆半径,得出圆面积:

①程序框图如下:

C语言程序设计第一次作业(2017.10.10完成)

②测试图如下:

经过测试 ,输入半径2能得出正确结果。多次测试,输入不同值,均得出正确结果,证明稳定性。

C语言程序设计第一次作业(2017.10.10完成)

③实验分析:

该程序为简单的顺序结构,主要运用输入与赋值的方法,对输入数据进行运算处理,并未遇到障碍。

(2)给定年份,判断是否闰年:

①程序框图如下:

C语言程序设计第一次作业(2017.10.10完成)

②测试图如下:

首先输入1980年;结果如下:

C语言程序设计第一次作业(2017.10.10完成)

经验证,结果正确。

再次输入1981年,结果如下:

C语言程序设计第一次作业(2017.10.10完成)

结果符合预测及客观事实。

再次输入2004年,结果如下:

C语言程序设计第一次作业(2017.10.10完成)

结果正确,证明稳定性。

③实验分析:

该程序主要应用选择结构,对输入数据进行判断,判断是否符合条件,也并未遇到障碍。

(3)输出1980年至今的所有闰年:

①程序框图如下:C语言程序设计第一次作业(2017.10.10完成)

C语言程序设计第一次作业(2017.10.10完成)

②测试图如下:

C语言程序设计第一次作业(2017.10.10完成)

经查证,1980至今(2017年)共十个闰年,输出数据符合事实,因此认为无误。

③:实验分析:

该问题主要运用循环结构,选择结构及赋值法,具有一定的难度,因此遇到一些问题,因此列出,希望能给同学一些启发,抛砖引玉,得到更好的答案。

1)在初步完成并测试时,发现系统报错,结果如下:

C语言程序设计第一次作业(2017.10.10完成)

经查证,发现结构以及赋值运算存在问题,因此改变结构以及添加语句,改编结果如下:

C语言程序设计第一次作业(2017.10.10完成)

但再次运行后,发现虽然能成功运行,但并未输出年份,经查证,发现在输出语句中缺少“+Y”语句,后经过改正,结果如下:

C语言程序设计第一次作业(2017.10.10完成)

结果正确,验证无误。

(4)给出年份及月份,判断该月天数:

①程序框图如下:

C语言程序设计第一次作业(2017.10.10完成)

②测试图如下:

C语言程序设计第一次作业(2017.10.10完成)

输入1980年2月;该年为闰年,二月应为29天,测试无误。

C语言程序设计第一次作业(2017.10.10完成)

再次输入1980年8月,该月应为31天,测试无误。

③实验分析:

该实验主要运用选择结构,通过多次选择与判断来输出结果。具有一定难度,我在实验中耗费了较长时间,但总结了一些小的经验。首先附上错误分析:

1)初步完成时,发现输入多次年份,无论平年闰年,得到的均只有二月份的判断结果,且存在问题,如图:

C语言程序设计第一次作业(2017.10.10完成)

经过分析,发现在选择结构中存在问题,未输入对于平年以及二月之外的月份的判断语句,因此出现了期望外的结果,经过添加相应语句改正,得到如下结果:

C语言程序设计第一次作业(2017.10.10完成)

产生错误,经过分析,在赋值时输入了错误的关键字,因而出现错误,希望同学引以为戒。经过该改正,结果如图:

C语言程序设计第一次作业(2017.10.10完成)

结果正确;

总结:该实验比较锻炼逻辑思维能力与初步的编辑能力,而从中我学到的是程序编译应从特殊开始处理进而进入一般。如题中的有31天的月份,而该月份与平年还是闰年无关,因而属于一般。而特殊的应该只有二月,天数与平年闰年有关,因此应放在程序较靠前的地方来处理,才能得到期望值。

(5)随机猜数游戏:

①程序框图如下:

C语言程序设计第一次作业(2017.10.10完成)

②测试图如下:

C语言程序设计第一次作业(2017.10.10完成)

输入错误答案,得到期望的语句。

C语言程序设计第一次作业(2017.10.10完成)

输入正确答案,得到期望的语句。测试无误。

③实验分析:

该实验主要运用选择语句与随机数,难度不大,但我在实验中忽略了一个要求,忘记添加对于猜数失败后给定的提示。

错误如图:

C语言程序设计第一次作业(2017.10.10完成)

同样希望同学引以为戒,在认真阅读要求后再进行编写。

(6)随机猜数游戏改:

①程序框图如下:

C语言程序设计第一次作业(2017.10.10完成)

②测试图如下:

C语言程序设计第一次作业(2017.10.10完成)

首先连续输入十次错误答案,得到期望回答。

C语言程序设计第一次作业(2017.10.10完成)

第二次输入两次错误答案,第三次输入正确答案,得到期望回答以及尝试次数,实验成功。

③实验分析:

该题目虽然源于上一题,但难度跨度较大。是本次作业中耗时最长的一项。主要运用循环,选择,赋值等方法,较为复杂。而在制作中,也出现了许多问题,特在下面列出,希望能给同学一些提醒。

1)在实验中,测试时发现无论对错,最终都未给出正确答案以及尝试次数,经过检验,发现存在语句遗漏以及逻辑错误,错误结果如图:

C语言程序设计第一次作业(2017.10.10完成)

后添加相应语句,结果如图:

C语言程序设计第一次作业(2017.10.10完成)

2)但发现仍缺少次数环节,再次添加,结果如图:

C语言程序设计第一次作业(2017.10.10完成)

3)但再次实验发现,显示次数与实验次数存在不同步的现象,经检验,发现赋值语段存在问题,改正后如图:

C语言程序设计第一次作业(2017.10.10完成)

再次测试,发现错误九次后便退出循环,游戏结束,结果如图:

C语言程序设计第一次作业(2017.10.10完成)

经检验,发现初始赋值存在问题,经过改正,结果如下:

C语言程序设计第一次作业(2017.10.10完成)

最后经过调试,检验无误。

(7)总结:

该次作业的问题主要考察了基本的程序框图的制作与思考,有效地锻炼了我的逻辑思维能力以及试错能力,对于我个人而言十分有益,相信努力学习制作程序框图,也能为未来的编程打下坚实的基础。

二:结对编程总结:

(1)结对同学的博客:

郭展旭:http://www.cnblogs.com/1234569ss/

(2)针对这种形式的看法:

程序设计是一个相对耗费脑力的过程,需要长时间的思考与调试。而在逻辑方面,一个人的能力始终有限,而结对的形式,有效地弥补了一个人思维固化的特点,能有效地打开思维,互相弥补,借鉴。对于我们这样的初学者,缺乏经验与思维能力,容易在一个问题上卡死,但如果分工合作,完成不同部分。可以在一定程度上避免一些弯路,打开思路。而在未来的工作中,尤其是面对一些较为大的工程,一个人无论如何也是不可能完成的,因而需要一个团队。而现在的结对,也是为将来加入团队做铺垫。如何与团队合作,如何与团队沟通,如何将自己的程序与团队的程序完美契合,这都是未来的重要话题。因此,结对的重要性更加明显,所以这种方式毫无疑问是十分有益的。

上一篇:QQ JS_SDk相关功能接口


下一篇:win8 IIS