题目集一至三总结Blog~
前言
PTA知识点总结
题目集1共有9道题,因为是第一次作业,可以说,题量较大但难度不大,正适合学生适应刚开学的学习节奏,可以说,这些题目时让我们在学习的基础上,将学到的知识真正搞懂的过程,让我们把书本上固定的知识,转入大脑中思考,然后转化为电脑上输入的字符
知识点:1.7-1中对输入输出范围的把控,按照不同的数据类型定义不同的数据以及数据的运算,是否数值越界以及if语句的使用。
2.7-2中含零与否的输入。
3.7-6中数据处理对结果造成差异。
4.7-3主要考验输入、输出、按照不同的数据类型定义不同的数据以及数据的运算和if语句、for语句的使用
5.7-4房产税务计算主要考验输入、输出、按照不同的数据类型定义不同的数据以及数据的运算和if语句的运算
-->解析:总的来说,本次作业主要考验我们最基本的Java语法、以及一些边界的控制,对测试点的猜测
题目集2共有3道题,相对于第一次作业,可以说,题量较小而且难度跨度也不算很大,适合学生学习节奏,可以说,这些题目让我们更加了解这段学习中的重点内容,将学到的知识真正搞懂,同时也让我们把书本上固定的知识巩固。
知识点:
1.7-1 字母-数字转换 (11 分)
输入一字符串(字母)将所有英文字母转换为字母表中的序列号,例如,“AbbcD”到“12234”。
-->解析:首先,判断字符串子串、单字符格式和作用域的知识。然后,可以使用ascii值遍历该字符串,并强制该字符类型为整数。
2.7-2 串口字符解析 (40 分)
RS232是一种通用的串口通信协议。在异步通信模式下,串口可以一次发送5~8位的数据,当没有数据发送到接收机时保持高水平,连续接收数据“1”(称为空闲位)。当发送方有数据传输时,它向有效数据添加1个开始“0”(5~8位),在有效数据之后添加1个可选的奇偶校验位“1”。请编写一个程序来模拟串口接收处理程序。注:如果有效数据为8位,则奇偶校验位使用奇数校验。
-->解析:困难在于算法设计中的串子串分割的知识。
3.7-3 String的格式判断与内容提取 (10 分)
学校学生编号格式定义如下:
2位年级编号+2位大学编号+2位年级班编号+2位班编号,如19041103,
写作程序处理长字符串连接的整个学校学生数量,学校数量是20,包括四个年级17、18、19和20,请从字符串提取最后四个输出的学生类202017和202061,输出数字由空格分隔,不改变行。
注意:需要排除非法输入。
-->解析:第二次作业总的来说、更侧重于对我们if语句、for循环这种相对于第一次作业更高一阶的内容进行的考察。也多了很多细节上的处理,题目也相对更加严谨了。
题目集3同题目集2一样,共有3道题,相对于第二次作业,可以说,题量没有变化但是难度跨度相对来说非常大,很多测试点是大部分人无法解决的,而且得到满分的同学寥寥无几,相对来说,平均分大大降低,可以说,这些题目让我们更加了解这段学习中自己的不足,但是由于测试点过多,很多能运行的程序无法通过。使得本次题目耗费了我们太多的时间。
知识点:
1.7-1 点线形系列1-计算两点之间的距离 (10 分)
题目:输入各点的坐标,并计算出两点之间的距离
-->难度较高,因为这个需求不仅可以有一个类,而且必须分开责任,所以它还检查了如何建立类之间的联系。它还检查了字符串格式的判断,并提取分离的子字符串,并将它们转换为双类型。
2.7-2 点线形系列2-线的计算 (42 分)
题目:用户输入一组选项和数据,以执行与该行相关的计算。选项包括:
1: 输入两点坐标以计算坡度。如果该直线垂直于x轴,则您将输出“斜率不存在”。
2: 输入三点坐标,并输出第一个点与其他两点之间的垂直距离。
3: 输入三点坐标,以确定这三个点是否在一条直线上,并输出真或假。
4: 输入四点坐标,确定前两点形成的直线是与后两点形成的直线平行,输出为真还是假。5:输入四个点坐标,计算输出前两个点所构成的直线与后两点构成的直线的交点坐标,x、y坐标之间以英文分隔",",并输出交叉点是否在两条线段之内(不含四个端点)的判断结果(true/false),判断结果与坐标之间以一个英文空格分隔。若两条线平行,没有交叉点,则输出"is parallel lines,have no intersection point"。
-->解析:难度为难,继承了上一题的格式判断,同时格式判断更加繁琐,算法设计,类的设计更加复杂。
7-3 点线形系列3-三角形的计算 (48 分)
题目: 用户输入一组选项和数据,进行与三角形有关的计算。选项包括:
1:输入三个点坐标,判断是否是等腰三角形、等边三角形,判断结果输出true/false,两个结果之间以一个英文空格符分隔。
2:输入三个点坐标,输出周长、面积、重心坐标,三个参数之间以一个英文空格分隔,坐标之间以英文","分隔。
3:输入三个点坐标,输出是钝角、直角还是锐角三角形,依次输出三个判断结果(true/false),以一个英文空格分隔,
4:输入五个点坐标,输出前两个点所在的直线与三个点所构成的三角形相交的交点数量,如果交点有两个,则按面积大小依次输出三角形被直线分割成两部分的面积。若直线与三角形一条线重合,输出"The point is on the edge of the triangle"
5:输入四个点坐标,输出第一个是否在后三个点所构成的三角形的内部(输出in the triangle/outof triangle)。
必须使用射线法,原理:由第一个点往任一方向做一射线,射线与三角形的边的交点(不含点本身)数量如果为1,则在三角形内部。如果交点有两个或0个,则在三角形之外。若点在三角形的某条边上,输出"on the triangle"
-->解析:难度很大,第三个练习的目的比第二个问题更复杂,调查的内容与第二个问题相同。说第三个作业,将使用一些相对深入的代码,许多深入的语句,一些内容甚至开始学习,导致开始写,早期数据,后期调试,时间不够,测试点很多,写代码甚至不到直接输入报告错误得到点,相对较大的工作负载。
二.设计与分析:
- 第一次作业
(1) 身体质量指数(BMI)测算:
设计
使用ASCII值和力类型转换。

流程
① 数据输入
② 确定该数据是否为实际值
③ 确定该数据属于哪个类别-if(bmi<18.5)
输出结果


(2) 长度质量计量单位换算
流程

① 输入数据
② 更换
③ 输出

(3) 奇数求和
设计
利用遍历循环实现。
流程
① 内部数组,输入该数组
② 用于复发
③ 输出
(4) 房产税费计算
设计
清晰分明数据所属情况
流程
① 数据输入
② 判断
③ 输出
(5) 游戏角色选择
流程
① 输入数据-
② 判断
(6)学号识别
流程
① 输入-
② 判断-
③ 输出
(6) 巴比伦法求平方根近似值
流程
① 输入数据-
② 判断-
③ 输出
2.第二次作业
(1) 字母-数字转换
设计

使用ASCII值和力类型转换。
流程
① 进口
② 循环+判断
③ 输出


(2) 串口字符解析
流程
① 进口
② 判断为一个+的循环
③ 定义的函数
④ 发热疗法
⑤ 输出
(3) String的格式判断与内容提取
流程
① 输入-
② 判断+for循环
③ 定义函数
④ For循环+判断
第三次作业
(1) 点线形系列1-计算两点之间的距离
流程
① 输入
② 判断
③ 定义k
④ For循环+判断
⑤ 判断
⑥ 定义point
⑦ 输出

(2) 点线形系列2-线的计算
流程

① 输入两点坐标
② 定义一个点,判断它是否是两点,定义一个点函数
③ 计算斜率,若线条垂直于X轴,输出"Slope does not exist"。
④ 输入三个点坐标
⑤ 定义一个点,确定它是否是三点,定义一个点函数
⑥ 输出第一个点与另外两点连线的垂直距离。
⑦ 判断三个点是否在一条线上,输出true或者false。
⑧ 输入四个点坐标-
⑨ 定义点,确定它是否是四个点,定义一个点函数
⑩ 判断前两个点所构成的直线与后两点构成的直线是否平行,输出true或者false.
⑪ 计算输出前两个点所构成的直线与后两点构成的直线的交点坐标,x、y坐标之间以英文分隔","
⑫ 输出交叉点是否在两条线段之内(不含四个端点)的判断结果(true/false),
⑬ 判断结果与坐标之间以一个英文空格分隔。若两条线平行,没有交叉点,则输出"is parallel lines,have no intersection point"。
⑭ 定义点函数
⑭ 判断两数字之间是否为逗号
(3) 点线形系列3-三角形的计算
流程
① 输入三个点坐标-
判断是否是三个点-判断三点是否在同一条直线上
② 判断是否是等腰三角形、等边三角形,判断结果输出true/false,两个结果之间以一个英文空格符分隔。
③ 输出周长、面积、重心坐标,三个参数之间以一个英文空格分隔,坐标之间以英文","分隔。
④ 输出是钝角、直角还是锐角三角形,依次输出三个判断结果(true/false),以一个英文空格分隔,
⑤ 输入五个点坐标,
判断是否是五个点-判断五个点中任意三点是否在同一条直线上
⑥ 输出前两个点所在的直线与三个点所构成的三角形相交的交点数量,如果交点有两个,则按面积大小依次输出三角形被直线分割成两部分的面积。若直线与三角形一条线重合,输出"The point is on the edge of the triangle"
⑦ 输入四个点坐标,
判断它是否是四点,判断这四点中的任何三个是否在同一线上在最后三个点输出三角形内部(输出在三角形/三角形外侧)。
⑧ 必须使用射线法,
原理是:从两个方向的第一个点开始,如果射线的边缘与三角形(不包括点本身)的交点数为1,则它在三角形内。如果有两个或0个交点,则它在三角形的外面。如果该点在三角形的边缘上,则输出是“在三角形上”:
踩坑心得
- 不同类型的问题老是困扰我。第一次做作业时,例如,虽然主题相对简单,但测试点是很细节的,有时会通过一些数据限制和检测,会发现有一些很难想到的合理的限制,我需要再次改修改,为了测试点需要有很长时间得的构思。
- 第三次做作业,整体难度高,需要引入正则表达式,对我这种基础差的学生比较困难,所以我以后要先专注于征服测试点,然后在调节测试点之间的关系,虽然这次还有很多测试点没有完成,但我希望有机会一定攻克它。
- 一些比较冷门的测试点经常需要一次又一次得测试,或者询问已经通过了测试点的同学。有时,由于时间紧迫,我仍然没有通过测试点,我应通过各种渠道及时学习新知识,在第二次作业中,需要经常检查代码的正确性,写完之后,经常可能还有很多分数没有得到,然后又是一番鏖战,分数才越来越高,总之,只有不断完善,才能拿到分。
改进建议:
1.基础不好要先复习,结合数据,知识的巩固和加强。在编写代码时,先注注释,以方便后续更改和提供帮助。做一个简单的测试点判断,得到你试图得到的,通过练习来学习知识点,使他们的记忆更深刻。
2.因为课堂掌握不够透彻,还需要增加学习的量,以便自己的后续程序编写
3.正确和错误的输入格式都不够准确,无法凭借现有知识进一步学习使用Java语言来判断该格式。
4.测试点里边的结果错误,我们需要进一步理解造成这种情况的原因。
总结,
- 我可以看到,现在就遇到很多困难,这也意味着我们永远不会知道未来将面临多么挫折,我们将不得不利用尽可能多的时间来提高自己。
- 通过几次锻炼,我可以更清楚地意识到我学习的关键内容是哪一部分。
- 在这三次操作的过程中,我也拓宽了自己的视野,学会了合理地利用资源,用外部信息来解决其中一个目标问题。
- 由于需要对软件更加了解,我们必须学习ascll语言和正则表达式
- 第三个作业写的匆忙,我意识到了时间的宝贵,我应该从作业发布开始早早开始学习。
- 遇到问题,积极寻求帮助,以开放的心态学习。如果你不能自己解决这些问题,你的同学和老师都会帮助你。

浙公网安备 33010602011771号