问题 |
回答 |
这个作业属于那个课程 |
C语言程序设计II |
这个作业要求在哪里 |
作业要求 |
我在这个课程的目标是 |
掌握使用for循环语句实现指定次数的循环程序设计。 |
这个作业在那个具体方面帮助我实现目标 |
通过五个PTA作业的前N项求和让我比较熟练运用for循环语句。 |
参考文献 |
C语言程序设计,度娘。 集美大学林丽老师 |
1.PTA实验作业(20分/题)
1.1本题要求编写程序,计算序列 1 - 1/4 + 1/7 - 1/10 + ... 的前N项之和。
1.1.1 数据处理
- 数据表达:使用了整形变量denominator,N,i,flag,分别代表第i项的分母,N值,i项,第i项的符号。双精度浮点型变量sum,item,分别表示输出值,第i项的值。
- 数据处理:使用了for的语句,属于计数型循环。表达式:item=flag*1.0/denominator;sum+=item;flag=-flag;denominator=denominator+3;
1.1.2 实验代码截图
1.1.3 造测试数据
输入数据 |
输出数据 |
说明 |
1 |
1.000 |
最小正整数0 |
0 |
0.000 |
使用临界值0 |
-3 |
0.000 |
使用负数测试 |
10 |
0.819 |
使用题目数字测试 |
10000 |
0.836 |
使用较大数据 |
1.1.4 PTA提交列表及说明
- 答案错误:小数点后3位数错写成6位数。
- 部分错误:未使用变量flag来表示每一项符号。
1.2本题要求编写程序,计算交错序列 1-2/3+3/5-4/7+5/9-6/11+... 的前N项之和。
1.2.1数据处理
- 数据表达:使用了整形变量denominator,N,i,flag,分别代表第i项的分母,N值,i项,第i项的符号。双精度浮点型变量sum,item,分别表示输出值,第i项的值。
- 数据处理:使用了for的语句,属于计数型循环。表达式:item=flag*(double)i/denominator;sum+=item;flag=-flag;denominator=denominator+2;
1.2.2实验代码截图
1.2.3造测试数据
输入数据 |
输出数据 |
说明 |
1 |
1.000 |
最小正整数0 |
0 |
0.000 |
使用临界值0 |
-3 |
0.000 |
使用负数测试 |
5 |
0.917 |
使用题目数字测试 |
10000 |
0.393 |
使用较大数据 |
1.2.4PTA提交列表及说明
- 答案错误:开始我在手机编程的是无论N是多少,输出都是1,后来问了学长才知道需要加double,来表示有小数。
- 答案错误:输出格式错了,题中信息给出不用加sum,但我一开始加了,导致答案错误。
2.代码互评(5分)
同学代码截图(来自软件四班郭丽飞)
自己代码截图
- 代码分析
1.使用的变量和数量不一样以及放置位置不同。我少一个变量。
2.使用的计算方法略有不同,他使用的乘法,我的是逐步递增2。
3.我使用的是double解决的输出问题,他则是用numerator代替的。各有千秋。
3.学习总结(15分)
3.1 学习进度条(5分)
周/日期 |
这周所花的时间 |
代码行 |
学到的知识点简介 |
目前比较迷惑的问题 |
10.14~10.20 |
36h |
100 |
掌握使用for循环语句 |
对多种循环结构不够了了解以及分支结构和循环结构同时使用的编程先后。 |
3.2 累积代码行和博客字数(5分)
3.3 学习内容总结和感悟(5分)
3.3.1 学习内容总结
1.本周主要学习了for语句来实现循环,for语句中fahr++相当于fahr= fahr+1。for语句中有三种表达式分别是初值表达式,条件表达式,步长表达式,以及有循环体语句。注意循环体语句只能是一条语句。如果是多条语句组成,必须用大括号把它们括起来,变成一条复合语句。
2.解决反复求和问题,首先抽取出具有共性的算式(循环不变式),例如: sum= sum+1。
3.学习了item为浮点型变量,可用来表示第i项。学习了用变量flag表示每一项的符号。denominator表示每一项的分母。如果输出是要保留几位小数,可以加入double。
3.3.2 学习体会
1.本周虽然PTA题目以及PTA分析减少了,但多了一项于同学代码比较的题目,我认为这道题可以有,可以学习到更捷便更少的代码来实现编程,就是不太好找同学代码,如果你做的比较早,更难找。
2.这周在原有基础上我又学了再下划线语法,本来想学给字体加颜色的,没找到。下次我会寻找有这内容,去学习的,还有我想学习个代码把博客园变的更美观。
3.本周学习内容不多,我们可以自学,就像老师说的上课讲的,不够我们完成作业,弯头,需要自己向前走。
4.我有个很疑惑的问题,我这次使用了typora软件来编写表格,在电脑上表格正确,但在手机又显示的内容是反的,我很困惑,本周五打算问问彭老师。
5.编程是一个需要非常谨慎,仔细的过程,一个输出格式看错,空格打错都会导致编程错误。