C语言I博客作业04
这个作业属于哪个课程 | 这个作业要求在哪里 | 我在这个课程的目标是 | 这个作业在哪个具体方面帮助我实现目标 | 参考文献 | |
---|---|---|---|---|---|
C语言程序设计II | C语言I—2019秋作业04,C语言作业评价标准 | 熟悉并掌握基本的程序语言,拥有独立完成能力 |
|
集美大学林丽老师,段誉C语言作业4,百度百科 |
1.PTA实验作业
1.1 求N分之一序列前N项和
本题要求编写程序,计算序列 1 + 1/2 + 1/3 + ... 的前N项之和。输入在一行中给出一个正整数N。在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后6位。题目保证计算结果不超过双精度范围。
1.1.1 数据处理
①数据表达:使用了整形常量N,作为输入数据;使用了双精度浮点变量 i 和S,i 是循环语句中的变量,S是累加结果;
②数据处理:使用了for循环语句,流程结构是先判断 i 与N的大小关系,然后进行累加运算,最后再循环 i+1。
1.1.2实验代码截图
1.1.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
1 | 1.000000 | 最小正整数0 |
0 | 0.000000 | 使用临界值0 |
-1 | 0.000000 | 使用负数测试 |
6 | 2.450000 | 使用题目数字测试 |
9999 | 5.586875 | 使用较大数据 |
1.1.4 PTA提交列表及说明
提交列表说明:
1.编译错误:“double”单词少打了一个字母“b”;
2.编译错误:分别缺少两个分号;
3.编译错误:输出语句中的“=”左右没有空格;
4.多种错误:没有将“i”也定义为浮点变量,使输出结果即使已经定义小数点后六位也无法为小数。
5.答案正确:全部完成更改,并将“i”划入双精度浮点变量当中。
1.2 求简单交错序列前N项和
本题要求编写程序,计算序列 1 - 1/4 + 1/7 - 1/10 + ... 的前N项之和。输入在一行中给出一个正整数N。在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后三位。题目保证计算结果不超过双精度范围。
1.2.1 数据处理
①数据表达:使用了整形常量N,作为输入数据;使用了双精度浮点变量 i 和S和 d,i 是循环语句中的变量,S是累加结果,d 是第N项不带符号的具体数值;
②数据处理:使用了for循环语句,流程结构是先判断 i 与N的大小关系,然后计算 d 的具体数据,然后通过-1的 i +1次方作为正负号进行累加运算,最后再循环 i+1。
1.2.2实验代码截图
1.2.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
1 | 1.000 | 最小正整数0 |
0 | 0.000 | 使用临界值0 |
-1 | 0.000 | 使用负数测试 |
10 | 0.819 | 使用题目数字测试 |
9999 | 0.836 | 使用较大数据 |
1.2.4 PTA提交列表及说明
提交列表说明:
1.编译错误:使用pow语句(-1的n次方的使用)时没有注意格式以及分号;
2.答案错误:for语句的循环判断语句使用错误;
3.部分正确:没有将小数点后的位数更改为三位;
4.部分正确:for语句后面多加了一个分号,导致循环错误,任何测试数据都错误;
5.答案错误:第五个错误不用理会,是我在VS上弄了很久成功后粘贴到PTA中粘贴错题号,截图中有显示是7.2并不是本题7.3;
6.全部正确:在VS中反复验证测试然后更正,粘贴到PTA中成功提交。
2.代码互评
2.1同学代码截图(来自计科一班段誉)
2.2自己代码截图(使用习题7.3)
2.3比较结果
①使用的常量以及变量的不同,我的使用的更少,相比之更简洁一些;
②使用的计算方法的不同,我的使用的是-1的n次方判断正负,他的使用的是老师讲过的第二个方法,利用flag=-flag的循环来判断正负;
③使用的循环递推的方式不同,我的使用的是(3 * i - 2),他的使用的是(d=d+3)。
3.学习总结
3.1 学习进度条
周数/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 | |
---|---|---|---|---|---|
第四周/10-16 | 约6-7h | 约320-360 | “for”循环结构语句的基本使用 |
|
3.2 累积代码行和博客字数
3.3 学习内容总结和感悟
3.3.1 学习内容总结
本周学习的主要知识点是for循环语句的使用,这个语句也是基本的编程语句之一。顾名思义,就是一个在一定条件下不断循环的语句,不但能够减少语句的输入量计算量,也能够提高数据的准确性。实际应用中很简单的例子就是从1加到100,如果不使用循环语句,那么一百多行的代码相信是让人绝望的也难免会出错。使用for循环语句,只需要使用累加并且条件设置为小于等于一百即可完成。相信这个语法在后面的更多更高级的程序中会有更多的应用以及扩展功能,这都等待我们去探索。
3.3.2 学习体会
这周的学习也是充满挑战的一周,怎么说呢,相当于“师傅领进门,修行在个人”。老师能够教给我们的,永远是固定的知识以及语法内容,但是我们这门课程,从学习开始就注定是一门需要不断实践的课程。没有自己实践中的摸索探索,是不能够充分掌握到知识的,是不能够向更多的精彩前行的。我希望能够在接下来的课程中学习到多个循环语句的使用方法以及执行顺序的判断,因为我觉得有时候需要用到更多的数据变量来加入到循环语句当中去。就如我在前面说的,循环语句很多时候能够减少很多的计算量以及工作量,如果能够充分的掌握使用,对于接下来的学习相信会有很大的帮助。再谈谈一点小小的无伤大雅的对于我们彭琛老师的意见,希望老师的PPT教学中字体大小以及字体颜色能够更显眼一些以及老师书写在黑板上的内容能够再大一些,好让我们笔记到位。毕竟彭老师的课这么抢手,稍不留神去晚了便占不到前排的座位,对于课堂知识的吸收能力就会有所下降。这一定不是我们所愿意的,这也一定不是老师所希望的,不是么?
诚实的来说,还是压力很大的,感觉是在摸石头过河,总是这样那样的问题和麻烦。不过想到大家都是一样的,坚持下去,走下去,总会柳暗花明。诚如苏轼所言:
“古之立大事者,不惟有超世之才,亦必有坚忍不拔之志。” |
理应如此。