这个作业属于哪个课程 | https://edu.cnblogs.com/campus/zswxy/CST2020-2 |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/CST2020-2/homework/11635 |
这个作业的目标 | 巩固旧知识,进一步掌握函数的定义和调用及相关运用 |
学号 | 20208990 |
1.PTA实验作业(20分/题)
1.1 统计各位数字之和是5的数
题目内容描述:
1.1.1 数据处理
数据表达:用了变量number,n,a,b,j,sum,count,且均为整型变量。
a和b的值由用户输入得来,两个数形成一个定区间,number为区间[a,b]中的任意一个数,n表示正整数的各位数字之和,j为循环变量,
count = 满足条件的整数个数, sum = 这些整数的和。
数据处理:表达式:n += number % 10;
number = number / 10;
n == 5;
sum = 0 ;
count = 0;
j = a;
sum = sum + j;
流程结构:用了函数嵌套调用,首先运用while语句和if-else语句来判断正整数的各位数字之和是否等于5,
与循环求出定区间内有多少个满足上述要求的整数,接着通过for循环与if语句嵌套,
并使用is函数与循环求出定区间内有多少个满足上述要求的整数和这些整数的和。
1.1.2 实验代码截图
1.1.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
104 999 | 104 is counted. count = 15, sum = 3720 | 104的的各位数字之和是否等于5·在区间[104,999]内有15个满足的各位数字之和是否等于5的整数,这些整数的和为3720 |
0 50 | 50 is counted. count = 6, sum = 165 | 50的各位数字之和是否等于5·在区间[6,50]内有6个满足上述要求的整数,这些整数的和为165 |
501 600 | count = 0, sum = 0 | 501和600的各位数字之和是否等于5,在区间[501,600]内有0个满足上述要求的整数,这些整数的和为0 |
1.1.4 PTA提交列表及说明
提交列表说明:
编译错误:思路错误,导致过程错误。
解决方法:重新阅读题目,画流程图,仔细分析。
编译错误:“n += number % 10;”这个表达式后没有加“number = number / 10;”导致结果错误;
解决方法:在“n += number % 10;”这个表达式后加“number = number / 10;”
1.2 解一元二次方程
题目内容描述:
1.2.1 数据处理
数据表达:用了变量 a, b, c, x, x1, x2, i, y, z, n, l;均为浮点型变量。a,b,c为一元二次方程的系数,由用户输入,
x,x1,x2为计算得出的解,i为循环变量, y, z, n, l储存过程中的数据。
数据处理:表达式:n = b * b - 4 * a * c;
x1 = (-b + sqrt(n)) / (2 * a);
x2 = (-b - sqrt(n)) / (2 * a);
l = -b / (2 * a);
y = sqrt(-n) / (2 * a);
z = -sqrt(-n) / (2 * a);
x = -c / b;
流程结构:用了if-else语句,顺序结果,按顺序将各情况进行分类讨论,得出结果。
1.2.2 实验代码截图
1.2.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
0 4.5 -3.6 | x = 0.8 | a=0,为一元一次方程,b≠0,方程有唯一解 |
0 0 3.6 | 无解 | a=0,为一元一次方程,b=0,c≠0,方程无解 |
0 0 0 | 无穷多解 | a=0,为一元一次方程,b=0,c=0,则方程有无穷多解 |
-2 0.8 -0.06 | x1 = 0.1, x2 = 0.3 | a≠0,为一元二次方程,Δ>0,则方程有两个不等的实根 |
1 -0.4 0.04 | x1 = x2 = 0.2 | a≠0,为一元二次方程,Δ=0,则方程有两个相等的实根 |
-0.2 0.04 -0.01 | x1 = 0.1-0.2i, x2 = 0.1+0.2i | a≠0,为一元二次方程, Δ<0,则方程有两个共轭的虚根 |
1.2.4 PTA提交列表及说明
提交列表说明:
部分正确:没有注意-0这一结果。
解决方法:加入一个过程:如果解为-0,则取其绝对值。
编译错误:对“部分正确”进行修改时,if语句运用不正确。
解决方法:对if语句进行修改完善。
部分正确:解为共轭虚数该计算错误,计算过程不对。
解决方法:重新思考,理清思路,重新编写代码。
2.代码互评(5分)
题目1: 统计某类完全平方数
同学代码截图1
自己代码截图1
1.我与同学都是用了if语句,for语句。
2.同学运用的是switch语句与while语句,我只运用了while语句,直观上我的更简便一些,但同学的更易理解。
3.同学在一开始就将变量全都定义好,而我是在要用到变量时才定义的。
题目2: 统计各位数字之和是5的数
同学代码截图2
自己代码截图2
1.我和同学的代码思路差不多,但在一些细节上有不同。
2.在while语句中我认为我的简便一点,但在if语句中同学的更简便,值得我学习。
3.学习总结(15分)
3.1 学习进度条(5分)
周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
第一周 | 10h | 76 | 基本格式,定量定义,输入输出 | |
第二周 | 15h | 249 | 赋值,算数运算,if-else语句 | 一些格式不太理解 |
第三周 | 17h | 358 | for循环语句 | 理解但不太会运用 |
第四周 | 20h | 500 | 函数的调用,自定义函数 | 实参,形参不太理解。不太会定义函数 |
第五周 | 22h | 590 | 二分支结构及多分支结构,if-else语句及else-if语句,字符型变量的运用 | 数学函数的使用 |
第六周 | 25h | 650 | switch语句,多分支结构 | 对switch语句掌握得不够熟练,遇到分类讨论的题时思路不清晰 |
第七周 | 26h | 680 | while和do while语句,循环结构 | do while语句的使用 |
第八周 | 27h | 700 | break语句,continue语句,循环嵌套 | 对循环嵌套方面写代码时容易思路混乱 |
第九周 | 28h | 750 | 函数 | 函数的定义与调用 |
3.2 累积代码行和博客字数(5分)
3.3 学习内容总结和感悟(5分)
3.3.1 学习内容总结
3.3.2 学习体会
①经过一周的学习,对函数的定义和调用更加的理解,也了解了无返回值的函数,局部变量和全局变量等。
②要在补齐自己的短板的同时好好学习新知识,更好掌握。
③接下来的一周,我计划练习函数相关题型,锻炼解题思维,逻辑能力。
④养成画流程图的习惯,锻炼思维,使思路清晰。