一、pta实验作业
题目一:7-40 多项式求和
做题思路流程图:
本题使用了子函数封装的方法,程序思路更一目了然。首先是输入m和n两个参数,在n<1000的条件成立的情况下,进行在子函数judge(n)中进行下一步运算。
需要注意的是,题目要求是要输出的是浮点数并且保留小数点后的两位小数,所以在定义数据时就要使用float或者是double。
还有明晰第一位为正数,第二位为负数的规律,于是还需要引进一个新的参数
flag,借助循环,实现分母的递增还有总和的运算,每一次循环,都有flag=-flag。
本题调试过程碰到问题及PTA提交列表情况说明:
错误细览:
1.运行超时
仔细一看,还是输出所放位置的问题。本题应该只有一个输出,然而我还是错把输出放在了循环里。这个问题出现不是一次两次了,一定要引起重视!
要更加细心严谨。
果不其然,将输出位置改正之后就对了。
题目二:7-41 判断数字字符
做题思路流程图:
定义字符串X,输入X,通过judge(x)进行接下来的运算。
通过if语句并借助ASICC码值来判断x是否为数字字符 ,是则输出yes,否则输出no。
本题非常简单。适合初学函数的同学熟悉其并简单上手。
因此,调试过程中也并没有什么错误,一遍过。
题目三:7-42 函数编程-分段函数
做题思路流程图:
本题给出三个函数的计算式,计算比较复杂。
首先要多调用一个数学函数来计算。再有本题需要注意的就是
1.数据类型,有小数点,用double或者float。
2.因为本题算式比较长,在调试过程中会因为很多算式上的很多小问题(主要还是不明白运算优先级的细则吧),而引发程序错误,所以在编程时要特别注意。
本题调试过程碰到问题及PTA提交列表情况说明:
错误细览:
这里就是在计算第一个算式的时候出了问题。粗略一看,非常非常难找出问题,所以,这种题目,一定要仔细万分,不然会无从下手。
这也同上,没什么其他毛病,就是算式的问题,太长的算式,可以试着再定义一个变量,让长的式子变短,更能找出问题,吸取经验。
然后就向上面说的那样排除种种因素,规范格式之后,就正确了。
二、和同学互评
互评同学:田小霞
我的代码互评同学代码照片截屏
田小霞同学的代码:
我的代码:
3.我和田小霞同学代码不同在哪里?有哪些各自优势?你更喜欢哪种代码风格?
小霞同学和我最大的不同就是小霞同学用的是return来返回函数,而我是直接用的void,个人比较喜欢用void,对return有些不熟练,不过这两种是都要掌握的。
以适应不同的环境。整体看起来而言,这道题目感觉用void看起来更为简洁。我还是比较喜欢自己的代码风格。
三、截图本周题目集的PTA最后排名
四、本周学习总结(2分)
1.我学会了将函数用到题目里,进一步拓宽了知识面,能够解一些需要进行很多次运算但是要求全部在一起最后输出的问题。这种问题就需要运用函数来解。
2.本周的内容,你还不会什么?
不是很喜欢用函数,除非没有他解不出来,答案是需要养成使用子函数的好习惯。对一些多重封装还不是很懂,还有一些字符串的子函数要是包装到子函数里的传递方法还有常规命名方法不是很懂。
逻辑关系还是有些混乱。
3.循环结构考试总结
(1).哪题做错了,怎么改?
很多道题都还不会,会抽空请教老师或者同学。
(2)函数考试结果满意么,怎么改进?
成绩非常不好,掌握的知识非常不牢固,理解的非常不透彻。
要多多看书,多多思考,体会领悟,不能偷懒,一定要按老师的要求走,养成能用子函数的就用的好习惯。