这个作业属于哪个课程 |
班级的链接 |
这个作业要求在哪里 |
作业要求的链接 |
这个作业的目标 |
练习本周所学,模仿编程,学习模仿他人代码的优点,总结本次学习 |
学号 |
20209014 |
1.PTA实验作业
1.1 求组合数:本题要求编写程序,根据公式C n,m=n!/(m!*(n-m)!)算出从n个不同元素中取出m个元素(m≤n)的组合数。建议定义和调用函数fact(n)计算n!,其中n的类型是int,函数类型是double。
1.1.1数据处理
-
数据表达:运用了double来定义了result与sum,int来定义了m,n,i等变量,而m,n是通过scanf来赋值。
-
数据处理:表达式:运用了关系表达式,赋值表达式,算术表达式,流程结构:顺序结构与循环结构。
-
函数参数:主调函数int main(),被调函数double fact(int n)类型为浮点型,实参为result类型为浮点型,形参为n,m,i,sum类型为整型
![](https://img2020.cnblogs.com/blog/2177087/202011/2177087-20201114230906587-653455521.jpg)
1.1.3 造测试数据
输入数据 |
输出数据 |
说明 |
2 3 |
result=3 |
取简单数字验算程序 |
3 2 |
result=0 |
尝试取m>n时是否有值 |
8 10 |
result=45 |
取复杂数字验证程序 |
1.1.4 PTA提交列表及说明
![](https://img2020.cnblogs.com/blog/2177087/202011/2177087-20201115003112607-1721588889.jpg)
-
1. 编译错误:因为return的时候没有返回sum,导致多次编译错误。
——解决方法:将return 0改为return sum。
——解决方法:反复查看代码,最终将其揪出。
1.2 求幂之和:本题要求编写程序,计算sum=21+22+23+⋯+2n。可以调用pow函数求幂。
1.2.1 数据处理
-
数据表达:该程序只运用int整型,定义了i,sum,product,n等变量,而n是通过scanf赋值。
-
数据处理:表达式:运用了关系表达式,赋值表达式,算术表达式,流程结构:顺序结构与循环结构。
-
函数参数:主调函数int main(),被调函数double fact(int n)类型也为整型,n与product为实参,而i,sum等为形参。
1.2.2 实验代码截图
![](https://img2020.cnblogs.com/blog/2177087/202011/2177087-20201115010454284-927310685.jpg)
1.2.3 造测试数据
输入数据 |
输出数据 |
说明 |
2 |
result=6 |
取简单数字验算程序 |
3 |
result=14 |
多次验证程序的可行性 |
10 |
result=2046 |
取复杂数字验证程序 |
1.2.4 PTA提交列表及说明
![](https://img2020.cnblogs.com/blog/2177087/202011/2177087-20201115011225496-1000109487.jpg)
- 这个题目做得很成功,在吸取前面的教训以后,几乎是一气呵成。
2.代码互评
同学代码
![](https://img2020.cnblogs.com/blog/2177087/202011/2177087-20201115011830467-707575634.jpg)
自己代码
![](https://img2020.cnblogs.com/blog/2177087/202011/2177087-20201115011932247-1489423346.jpg)
-
比较:1. 对方的代码还可以再简单一点,我觉得不需要再定义x,y,z了,而我直接使用fact()解决了中间变量。
2. 对方的代码是使用的声明再在后续进行编写,而我是直接准备好函数,把主函数放在了后面。
3. 对方的浮点型使用较多,而我整型使用较多。
同学代码
![](https://img2020.cnblogs.com/blog/2177087/202011/2177087-20201115014539047-954618600.jpg)
自己代码
![](https://img2020.cnblogs.com/blog/2177087/202011/2177087-20201115014615896-1604063852.jpg)
-
对比:1. 对方的代码思路与我不太一样,对方直接使用for循环,而我定义一个函数,因此对方的代码比我要简单。
2. 对方的格式可以再进一步改善,如多加空格,能够使代码更清晰。
3.学习总结
3.1 学习进度条
周/日期 |
这周所花的时间 |
代码行 |
学到的知识点简介 |
目前比较迷惑的问题 |
第8周/10.19~10.25 |
12h |
280 |
预习了一下课本,了解代码的样子,并学习了基本代码 |
无 |
第9周/10.26~11.1 |
15h |
300 |
了解了基本的常量与变量,与数据类型 |
对于细节有许多不到位,还有对许多知识完全不了解 |
第10周/11.2~11.6 |
20h |
350 |
if语句和for循环语句的运用 |
就像今天的作业一样,看不懂复杂代码,只能在简单中窥探 |
第11周/11.7~11.14 |
16h |
410 |
自定义函数的使用 |
无,但学习态度方面越来越被动 |
3.2 累积代码行和博客字数
![](https://img2020.cnblogs.com/blog/2177087/202011/2177087-20201115022458023-2136412873.jpg)
3.3 学习内容总结和感悟
3.3.1 学习内容总结
![](https://img2020.cnblogs.com/blog/2177087/202011/2177087-20201115022641839-708978682.png)
3.3.2 学习体会
总结:1. 这几周的学习不太到位,导致之前的预习已经用光,因此要从现在起,在学习上多用点功。
2. 学习上的小毛病还是没改得彻底,总会有遗漏,不是这里符号打错了,就是那里变量没搞清。
3. 题目还做得不足,下周主要是预习与PTA上作业的练习,使自己大脑有一些固定的思路,只有固定了一些基本用法,才能灵活变通各种题目。