C语言I博客作业09

这个作业属于哪个课程 这个作业要求在哪里 我在这个课程的目标是 这个作业在哪个具体方面帮助我实现目标 参考文献
C语言程序设计II C语言I—2019秋作业09C语言作业评价标准 熟悉并掌握基本的程序语言知识,并拥有独立完成程序编辑的能力
进一步强化C语言的基础学习,学习掌握break、continue和循环的嵌套,同时通过PTA作业了解其在实际编程语言中的应用
C语言程序设计(第三版),伪代码的写法百度百科

1.PTA实验作业

1.1 找完数

1.1.1 数据处理

   ①数据表达:使用了整形变量m,n,i,j,he,count和yishu,其中,m和n作为输入的数据,i和j作为循环变量,he作为各个因数相加之和,count作为计数器,yinshu作为因数;
   ②数据处理:(伪代码)
1.输入数据m和n
2.使i从m到n开始逐加循环
3.使j在该数字中逐加循环
4.利用整除为0判断j是否为因数,并累加到he上
5.利用累加的he是否等于原数来判断是否为完数
6.判断为完数的输出结果的开头
7.并再次利用循环依次输出因数
8.换行后继续,若没有计数则输出None

1.1.2实验代码截图


1.1.3 造测试数据

输入数据 输出数据 说明
2 30 6 = 1 + 2 + 3、8 = 1 + 2 + 4 + 7 + 14 使用题试数据测试
400 1000 496 = 1 + 2 + 4 + 8 + 16 + 31 + 62 + 124 + 248 使用较大数据测试
2 1000 6 = 1 + 2 + 3、28 = 1 + 2 + 4 + 7 + 14、496 = 1 + 2 + 4 + 8 + 16 + 31 + 62 + 124 + 248 使用全部数据测试
900 1000 None 使用其它数据测试

1.1.4 PTA提交列表及说明

提交列表说明:

1.编译错误:for语句中使用了逗号而不是分号;(逗号改成分号解决)
2.编译错误:变量he没有初始定义;(将he赋值为0解决)
3.编译错误:完数的判断符号使用的是等号;(使用“==”来判断后解决)
4.编译错误:for语句中使用了两个m;(更换后面一个为n后解决)
5.编译错误:换行符没有加入引号;(加入引号解决)
6.答案正确:在VS中反复验证测试然后更正,粘贴到PTA中成功提交。

1.2 换硬币

1.2.1 数据处理

   ①数据表达:使用了整形变量x,a,fen5,fen2,fen1和count;其中,x作为输入的数据;a作为中间变量,fen5,fen2,fen1分别作为各种硬币的数量,count作为计数器;
   ②数据处理:(伪代码)
1.获取输入的数据x
2.使x减去8,在后面的硬币数再补上
3.从五分硬币的数量开始循环,每次减1,这样可以保证总数量的顺序排列
4.利用中间变量a来计算两分硬币的数量并开始循环
5.利用总数减去五分和两分的得到一分的
6.计数器依次累加
7.换行依次输出结果并输出计数器

1.2.2实验代码截图

1.2.3 造测试数据

输入数据 输出数据 说明
13 fen5:2, fen2:1, fen1:1, total:4、fen5:1, fen2:3, fen1:2, total:6、fen5:1, fen2:2, fen1:4, total:7、fen5:1, fen2:1, fen1:6, total:8、count = 4 使用题试数据测试
9 fen5:1, fen2:1, fen1:2, total:4、count = 1 使用较小数据测试
12 fen5:1, fen2:3, fen1:1, total:5、fen5:1, fen2:2, fen1:3, total:6、fen5:1, fen2:1, fen1:5, total:7、count = 3 使用随机数据测试
999 结果过于庞大,结尾为count = 49501,经查询为正确答案 使用较大数据测试

1.2.4 PTA提交列表及说明

提交列表说明:

1.编译错误:for语句中没有用分号;(加入分号解决)
2.编译错误:赋值运算多加了括号;(去除括号解决)
3.运行超时:使用了错误的方法,是递增的累加,导致无法得出结果;(改正方法,使用递减解决)
4.段错误:这个新的错误完全不是很能理解,多次改正无果,于是整个重新打了一遍,才得以解决,不知道是什么意思;(重新输入解决)
5.答案正确:在VS中反复验证测试然后更正,粘贴到PTA中成功提交。这里的后面的一堆正确,是在不断精简数据,将变量数一个一个减少试试能不能运行,成功的让程序精简了不少。

2.代码互评

2.1同学代码截图①(来自李泽基)

2.1同学代码截图②(来自无名氏)

2.2自己代码截图(使用习题7-3)

2.3比较结果

   ②使用的计算步骤的不同,有先后区别;
   ③使用的变量数目的不同,有一部分变量确实可以减少;
   ③使用的计算方法的不同,对于各个硬币数量的计算不同。

3.学习总结

3.1 学习进度条

周数/日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
第三周/10-11 约6-7h 约200-240 “if”和“else”选择结构语句的基本使用
对于更多的选择情况产生的时候,无法判断语句执行的先后顺序
第四周/10-16 约6-7h 约320-360 “for”循环结构语句的基本使用
对于多个循环结构的使用不熟悉,以及循环计算中的语句计算先后顺序
第五周/10-24 约6-7h 约320-360 自定义函数的格式以及应用
自定义函数格式中返回值的运用
第六周/10-31 约6-7h 约320-361 多分支结构、字符型数据类型和逻辑运算符
字符型数据有何具体的实际意义
第七周/11-06 约7-8h 约340-399 多分支结构中的Swtich结构的运用以及是否使用break的区别
Swtich语句的重复多次运用方法
第八周/11-15 约6-7h 约340-399 循环结构以及while和do-while结构
对于同一个题目do-while和while的转换还有所不熟练
第九周/11-22 约6-7h 约340-399 break、continue语句以及循环的嵌套
多层的循环嵌套无法把握住后面的大括号的位置

3.2 累积代码行和博客字数

3.3 学习内容总结和感悟

3.3.1 学习内容总结

3.3.2 学习体会

   光阴似箭,日月如梭,这时间过得有点快。不知不觉的,竟然这学期就快要结课了。先说说这周的学习,依旧是基础的延伸。在基础的循环语句上学习更多的循环中可以使用的语句比如break和continue,以及更深层次的循环的嵌套。依旧是寻寻渐进的过程,能够接受,也能够学习到,更多的问题往往都是在应用上的。
   接近考试了,感觉完全没有那种信心十足以及胸有成竹的感觉是怎么回事,多少有些心虚。也不知道自己有没有学习到课程要求中所应该要求掌握的知识,也不知道自己能不能够顺利的完成本次的学习任务。还是投入的时间不够多,没有将全部的心思都放这上面,所以这些也都是意料之中的。按照行业里的十万定律,别说十万个小时了,我这十万行代码估计都够呛。所以下一步或者说,下一阶段的学习的话,需要加大对于这个作为专业课程的投入。权当是为了,让自己,不那么心虚吧。

“读书破万卷,下笔如有神。”

   ————杜甫《奉赠韦左丞丈二十二韵》

posted @ 2019-11-22 17:33  Rodcirdo  阅读(178)  评论(6编辑  收藏  举报