函数
一.PTA实验作业
题目一.7-1 求组合数
1.本题PTA提交列表
2.设计思路
本题使用了两个函数调用结构。
第一个ans(y,z) 函数的调用是为了简单地实现求组合数的公式计算,进而将计算结果储存在ans中,最后返回值。
第二个fact(x)函数的调用是为了计算球组合数公式计算中简单的阶乘,在计算阶乘的时候使用函数,让代码能够重复利用子函数计算,进而将计算结果储存在jc中,最后返回值。
两个函数的调用使代码简洁明了,这就体现了函数应用的重要性。
3.本题调试过程碰到问题及PTA提交列表情况说明。
(1).函数类型定义出错。
题目明确要求,计算阶乘的fact 函数类型为double,而我由于粗心将其类型定义为int,导致答案部分错误。
而且在调试中浪费了很多时间,重复提交了很多次。
4.代码截图。
题目二.7-3 求幂之和
1. 本题PTA提交列表
2. 设计思路
本体是较为简单的函数调用的题目。
调用函数mi(n)计算2的幂之和,在子函数中简单地实现了2的幂次方的累加,进而将累加值储存在sum中,最后返回值。
3.本题调试过程碰到问题及PTA提交列表情况说明。
本题由于在Dev上已经调试好直接复制在PTA上,没有错误。
但是在Dev的调试中我发现自己还是很粗心,某些语句没有分号,字母拼写出错之类的问题等等,还是要勤加练习,也要更加细心。
4.代码截图。
题目三.7-5 近似求PI
1.本题PTA提交列表
2. 设计思路
本题代码的基本框架没什么问题,但由于其中计算复杂还是有一点难度。
在主函数的基本框架下调用了函数pi(eps)实现了近似求PI/2的公式,进而将值储存在pi中,返回pi的值到主函数中要乘2,最后输出PI的值。
在子函数实现近似求PI/2的时候分子和分母的计算较为复杂,我们就将其分开计算使计算过程简单明了了很多。
3.本题调试过程碰到问题及PTA提交列表情况说明。
(1)逻辑分析出错。
在子函数的调用中,循环体语句中的item>x错误。
题目中要求最后一项小于给定精度eps,而子函数调用时的x就是eps,所以根据题目要求将item>x改成item<x即可。
(2)没有保留小数点后五位。
又是由于粗心没有认真审题,题目明确要求保留小数点后五位,我却视而不见,导致答案错误。
希望自己以后打代码一定要细心再细心!
4.代码截图。
二、同学代码结对互评
1.互评同学:高涧薇
2.我的代码、互评同学代码截图
高涧薇同学的代码:
我的代码:
3.我和高涧薇同学代码不同在哪里?有哪些各自优势?你更喜欢哪种代码风格?
不同在于:高涧薇同学只调用了一次函数,而我调用了两次函数。
各自优势:高涧薇同学的代码更加简洁明了,她只调用了一次函数。我调用了两次函数,虽然在练习中可以多练习函数的调用,但就实用意义来说高涧薇同学的代码更好。
我更喜欢高涧薇同学的代码。
三、截图本周题目集的PTA最后排名。
四、本周学习总结(2分)
1.我学会了如何使用函数调用去编写程序,还了解了一些递归调用的使用。
2.本周的内容,你还不会什么?
对于老师后来补充的递归调用实在是难以理解,还有PTA上一些题不会做。
比如7-2,7-4,7-6,7-7,7-8,7-9,7-11题目都不会
3.函数考试总结
(1).哪题做错了,怎么改?
7-8这道题是答案错误。
自己尝试了很多遍还是答案错误,找老师同学问问尽快把这道题做出来。
(2).考试结果满意么,怎么改进?
较为满意,尽力就好。
希望自己可以细心一些,答案错误的概率以粗心居高不下,不管做什么一定要细心。
希望自己还是要多看书多打代码。