作业头
这个作业属于哪个课程 | https://edu.cnblogs.com/campus/zswxy/CST2020-3 |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/CST2020-3/homework/11454 |
这个作业的目标 | 完成阶段性目标学习 检验学习成果 |
学号 | 20209031 |
一、本周教学内容&目标
第2章 用C语言编写程序-循环结构 2.4 输出华氏-摄氏温度转换表。要求学生掌握使用for循环语句实现指定次数的循环程序设计。
二、本周作业
PTA实验作业
阅读代码
学习总结
三、作业格式
1.PTA实验作业
从PTA题目集中选出3个你最满意的题目完成以下内容,选择题目难度越大,分值越高,每题2分,内容要求如下:
1.1 A乘以B
题目内容描述:看我没骗你吧 —— 这是一道你可以在10秒内完成的题:给定两个绝对值不超过100的整数A和B,输出A乘以B的值。
1.1打印沙漏
- 给出一个正整数N,打印一个最大行数的沙漏并输出剩余的字符数.
1.1.1实验代码截图
1.1.2数据处理
介绍实现本题过程中,你的数据表达、数据处理是怎么做的。
数据表达:先分析题目,将沙漏分解为上下两部分,分别用整形定义沙漏的总字符数量,层数,行数。
数据处理:经过分析题目,将解题思路确定为通过寻找层数行数之间的数学规律以解题,表达式包含了如何确定沙漏的最大字符数,如何利用线性规划实现沙漏的打印。流程结构为:确定最大行数-打印沙漏-计算剩余的字符。
1.1.3 PTA提交列表及说明
说明:Q1:如何解决最大字符数。
A1:通过for循环不断检测递增的变量在规定范围内满足条件。
Q2:线性规划之中的表达式。
A2:通过草稿纸上的计算分步完成。
1.2水仙花数
- 计算出所有N位数的水仙花数,水仙花数为各个位置上的数字的n次方之和为原整数.
1.2.1实验代码截图
1.2.2数据处理
数据表达:分析题目,分别设置变量为给出的正整数N和N各个位置的N次方和。
数据处理:经分析题目,将解题思路确定为先将整数各个位置通过循环分离后n次方再相加,最后比较sum与整数的大小已确定是否满足题意,表达式包含了如何实现分离整数,如何将分离出的数进行n次方并求和。 流程结构为:给出正整数N-分离各个位置的数字-将数字n次方求和-比较次方和与原正整数的大小.
1.2.3 PTA提交列表及说明
说明:Q1:最大的问题为在pta中一直显示有一个选项运行超时。
A1:多次改写代码解决无果后,尝试自己定义一个pow函数再执行,结果解决了运行超时的问题.
1.3没有的数字
- 现在输入一个整数, 请找出这个整数的各个位数字之中缺少哪个数字,把缺少的数字数输出来.
1.3.1实验代码截图
1.3.2数据处理
数据表达:分析题目,定义数组和随机变量。
数据处理:经分析题目,将解题思路确定为通过数组的桶排序已达到纪录各个数字是否有无,最后通过输出时的比较以完成题目要求.流程结构:定义数组-进行桶排序装填数组-遍历数组以输出没有的数字.
1.3.3 PTA提交列表及说明
说明:在vs上编程多次后直接提交,正确没发现任何错误.
2.阅读代码
找一份优秀代码,理解代码功能,并讲出你所选代码有点及可以学习的地方。
虽然是c++的题目,但是对于数组的利用和题目的分析还是很有帮助.
——优点:
- 思路清晰,分析每一种可能都到位.
- 代码整洁度非常高,比起自己在码代码时候的各种细节处理比如for的{}的摆放都更加利于阅读代码.
- 对数组的使用,对于数组下标的使用和利用数组特性对于题目要求的处理特别准确,比起自己对于数组只会简单的遍历和桶排序装填,更加发现了数组的使用方法和数组能够处理和解决的问题.
——所学到的: - 做题前要把思路想清
- 用英文命名变量
- c++比较起C语言还是有更加丰富的内容,多学习一门编程语言也是对自己的能力的极大的提升.
3.学习总结
周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
第8周/10.19~10.25 | 36 h | 410 | if-else语句,for循环 | 无 |
第9周/10.26~11.1 | 36 h | 1102 | 数组 | 二维数组的使用 |
第10周/11.2~11.6 | 36 h | 1590 | 函数 | 自定义函数 |
3.1学习进度表
3.2累积代码行和博客字数
3.3 学习感悟
- 通过几周的学习我深刻认识到了程序的魅力所在,尤其在写作业时可以使用不同的语句,但其在代码里面所代表的含义是一样的
- 以前命名变量时没有考虑代码的可读性,但通过阅读一些好的代码我明白了代码可读性的重要性