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


    一:程序框图以及正确运行结果;
    (1)给出圆半径,得出圆面积:
    ①程序框图如下:

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

    ③实验分析:
    该程序为简单的顺序结构,主要运用输入与赋值的方法,对输入数据进行运算处理,并未遇到障碍。
    (2)给定年份,判断是否闰年:
    ①程序框图如下:

    ②测试图如下:
    首先输入1980年;结果如下:

    经验证,结果正确。
    再次输入1981年,结果如下:

    结果符合预测及客观事实。
    再次输入2004年,结果如下:

    结果正确,证明稳定性。
    ③实验分析:
    该程序主要应用选择结构,对输入数据进行判断,判断是否符合条件,也并未遇到障碍。
    (3)输出1980年至今的所有闰年:
    ①程序框图如下:


    ②测试图如下:

    经查证,1980至今(2017年)共十个闰年,输出数据符合事实,因此认为无误。
    ③:实验分析:
    该问题主要运用循环结构,选择结构及赋值法,具有一定的难度,因此遇到一些问题,因此列出,希望能给同学一些启发,抛砖引玉,得到更好的答案。
    1)在初步完成并测试时,发现系统报错,结果如下:

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

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

    结果正确,验证无误。
    (4)给出年份及月份,判断该月天数:
    ①程序框图如下:

    ②测试图如下:

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

    再次输入1980年8月,该月应为31天,测试无误。
    ③实验分析:
    该实验主要运用选择结构,通过多次选择与判断来输出结果。具有一定难度,我在实验中耗费了较长时间,但总结了一些小的经验。首先附上错误分析:
    1)初步完成时,发现输入多次年份,无论平年闰年,得到的均只有二月份的判断结果,且存在问题,如图:

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

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

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

    ②测试图如下:

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

    输入正确答案,得到期望的语句。测试无误。
    ③实验分析:
    该实验主要运用选择语句与随机数,难度不大,但我在实验中忽略了一个要求,忘记添加对于猜数失败后给定的提示。
    错误如图:

    同样希望同学引以为戒,在认真阅读要求后再进行编写。
    (6)随机猜数游戏改:
    ①程序框图如下:

    ②测试图如下:

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

    第二次输入两次错误答案,第三次输入正确答案,得到期望回答以及尝试次数,实验成功。
    ③实验分析:
    该题目虽然源于上一题,但难度跨度较大。是本次作业中耗时最长的一项。主要运用循环,选择,赋值等方法,较为复杂。而在制作中,也出现了许多问题,特在下面列出,希望能给同学一些提醒。
    1)在实验中,测试时发现无论对错,最终都未给出正确答案以及尝试次数,经过检验,发现存在语句遗漏以及逻辑错误,错误结果如图:

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

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

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

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

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

    最后经过调试,检验无误。
    (7)总结:
    该次作业的问题主要考察了基本的程序框图的制作与思考,有效地锻炼了我的逻辑思维能力以及试错能力,对于我个人而言十分有益,相信努力学习制作程序框图,也能为未来的编程打下坚实的基础。
    二:结对编程总结:
    (1)结对同学的博客:
    郭展旭:http://www.cnblogs.com/1234569ss/
    (2)针对这种形式的看法:
    程序设计是一个相对耗费脑力的过程,需要长时间的思考与调试。而在逻辑方面,一个人的能力始终有限,而结对的形式,有效地弥补了一个人思维固化的特点,能有效地打开思维,互相弥补,借鉴。对于我们这样的初学者,缺乏经验与思维能力,容易在一个问题上卡死,但如果分工合作,完成不同部分。可以在一定程度上避免一些弯路,打开思路。而在未来的工作中,尤其是面对一些较为大的工程,一个人无论如何也是不可能完成的,因而需要一个团队。而现在的结对,也是为将来加入团队做铺垫。如何与团队合作,如何与团队沟通,如何将自己的程序与团队的程序完美契合,这都是未来的重要话题。因此,结对的重要性更加明显,所以这种方式毫无疑问是十分有益的。

  • 相关阅读:
    类加载机制
    PTA(BasicLevel)-1094 谷歌的招聘
    PTA(BasicLevel)-1023 组个最小数
    异构图神经网络笔记-Heterogeneous Graph Neural Network(KDD19)
    PTA(BasicLevel)-1014 福尔摩斯的约会
    PTA(BasicLevel)-1013 数素数
    PTA(BasicLevel)-1012 数字分类
    PTA(BasicLevel)-1010 一元多项式求导
    PTA(BasicLevel)-1009 说反话
    PTA(BasicLevel)-1008数组元素循环右移问题
  • 原文地址:https://www.cnblogs.com/Reloaded/p/7646909.html
Copyright © 2020-2023  润新知