首页 > 其他分享 >PTA第四到六次题目集总结

PTA第四到六次题目集总结

时间:2024-06-07 22:23:02浏览次数:17  
标签:输出 题目 引脚 K1 PTA 电路 六次 输入

一、前言

完成了六次PTA作业,也算的上是与PTA有些许爱恨情仇了,这三次PTA作业在第五次时由原来的答题判题程序改为家居强电电路模拟程序。老师说是为了降低难度,以我而言,设计上确实更加简单了,而且第五次PTA作业给出的做题思路很清晰,虽然是计划之外的转变,但是设计上更加简单,也应该不会有比“答题判题程序5”消耗更多的时间。
但是面向对象的程序设计的高阶性还在那里,题目的难度依然不低,对我而言完成它们的确更加吃力了,加上最近实验难度的加大,和翻转课堂的进行,无不清晰的告诉我要加强学习强度,提高学习能力,将更多的精力投入于学习之中,要成为一个优秀的学习者。在与代码的苦斗之中、在为了学会新知识上网搜寻过程中,以及现在的反思中,算是受益匪浅了。

二、设计与分析

第四次题目

题目内容

设计实现答题程序,模拟一个小型的测试,要求输入题目信息、试卷信息、答题信息、学生信息、删除题目信息,根据输入题目信息中的标准答案判断答题的结果。本题在答题判题程序-3基础上新增的内容统一附加在输出格式说明之后,用粗体标明。

输入格式:

程序输入信息分五种,信息可能会打乱顺序混合输入。

1、题目信息
题目信息为独行输入,一行为一道题,多道题可分多行输入。

格式:

"#N:"+题目编号+" "+"#Q:"+题目内容+" "#A:"+标准答案

格式约束:
1、题目的输入顺序与题号不相关,不一定按题号顺序从小到大输入。
2、允许题目编号有缺失,例如:所有输入的题号为1、2、5,缺少其中的3号题。此种情况视为正常。
样例:

         #N:1 #Q:1+1= #A:2
         #N:2 #Q:2+2= #A:4

2、试卷信息

试卷信息为独行输入,一行为一张试卷,多张卷可分多行输入数据。 \

格式:"#T:"+试卷号+" "+题目编号+"-"+题目分值+" "+题目编号+"-"+题目分值+...
格式约束:
题目编号应与题目信息中的编号对应。
一行信息中可有多项题目编号与分值。
样例:

#T:1 3-5 4-8 5-2   

3、学生信息

学生信息只输入一行,一行中包括所有学生的信息,每个学生的信息包括学号和姓名,格式如下。
格式:

 "#X:"+学号+" "+姓名+"-"+学号+" "+姓名....+"-"+学号+" "+姓名  

格式约束:
答案数量可以不等于试卷信息中题目的数量,没有答案的题目计0分,多余的答案直接忽略,答案之间以英文空格分隔。
样例:

   #S:1 #A:5 #A:22
   1是试卷号 
   5是1号试卷的顺序第1题的题目答案    

4、答卷信息

答卷信息按行输入,每一行为一张答卷的答案,每组答案包含某个试卷信息中的题目的解题答案,答案的顺序号与试 卷信息中的题目顺序相对应。答卷中:

格式:

"#S:"+试卷号+" "+学号+" "+"#A:"+试卷题目的顺序号+"-"+答案内容+...

格式约束:
答案数量可以不等于试卷信息中题目的数量,没有答案的题目计0分,多余的答案直接忽略,答案之间以英文空格分隔。
答案内容可以为空,即””。
答案内容中如果首尾有多余的空格,应去除后再进行判断。
答卷信息中仅包含试卷号、学号,而没有后续内容的,视为一张空白卷,为有效信息,不做格式错误处理。
样例:

   #T:1 1-5 3-2 2-5 6-9 4-10 7-3
   #S:1 20201103 #A:2-5 #A:6-4
   1是试卷号
   20201103是学号
   2-5中的2是试卷中顺序号,5是试卷第2题的答案,即T中3-2的答案 
   6-4中的6是试卷中顺序号,4是试卷第6题的答案,即T中7-3的答案 

注意:不要混淆顺序号与题号

5、删除题目信息

删除题目信息为独行输入,每一行为一条删除信息,多条删除信息可分多行输入。该信息用于删除一道题目信息,题目被删除之后,引用该题目的试卷依然有效,但被删除的题目将以0分计,同时在输出答案时,题目内容与答案改为一条失效提示,例如:”the question 2 invalid~0”

格式:

"#D:N-"+题目号

格式约束:
题目号与第一项”题目信息”中的题号相对应,不是试卷中的题目顺序号。
本题暂不考虑删除的题号不存在的情况。
样例:

#N:1 #Q:1+1= #A:2
#N:2 #Q:2+2= #A:4
#T:1 1-5 2-8
#X:20201103 Tom-20201104 Jack
#S:1 20201103 #A:1-5 #A:2-4
#D:N-2
end 

输出:

alert: full score of test paper1 is not 100 points
1+1=~5~false
the question 2 invalid~0
20201103 Tom: 0 0~0

答题信息以一行"end"标记结束,"end"之后的信息忽略。

输出格式:

1、试卷总分警示

该部分仅当一张试卷的总分分值不等于100分时作提示之用,试卷依然属于正常试卷,可用于后面的答题。如果总分等于100 分,该部分忽略,不输出。
格式:

"alert: full score of test paper"+试卷号+" is not 100 points"

约束:有多张试卷时,按输入信息的先后顺序输出警示。

样例:

alert: full score of test paper2 is not 100 points

2、答卷信息

一行为一道题的答题信息,根据试卷的题目的数量输出多行数据。

格式:

题目内容+"~"+答案++"~"+判题结果(true/false)

约束:如果输入的答案信息少于试卷的题目数量,每一个缺失答案的题目都要输出"answer is null" 。

样例:

 answer is null

 3+2=~5~true

 4+6=~22~false.

 answer is null

3、判分信息

判分信息为一行数据,是一条答题记录所对应试卷的每道小题的计分以及总分,计分输出的先后顺序与题目题号相对应。

格式:

学号+" "+姓名+": "+题目得分+" "+....+题目得分+"~"+总分

格式约束:
1、没有输入答案的题目、被删除的题目、答案错误的题目计0分
2、判题信息的顺序与输入答题信息中的顺序相同
样例:

20201103 Tom: 0 0~0

根据输入的答卷的数量以上2、3项答卷信息与判分信息将重复输出。

4、被删除的题目提示信息

当某题目被试卷引用,同时被删除时,答案中输出提示信息。样例见第5种输入信息“删除题目信息”。

5、题目引用错误提示信息

试卷错误地引用了一道不存在题号的试题,在输出学生答案时,提示”non-existent question~”加答案。例如:

输入:

#N:1 #Q:1+1= #A:2
#T:1 3-8
#X:20201103 Tom-20201104 Jack-20201105 Www
#S:1 20201103 #A:1-4
end

输出:

alert: full score of test paper1 is not 100 points
non-existent question~0
20201103 Tom: 0~0

如果答案输出时,一道题目同时出现答案不存在、引用错误题号、题目被删除,只提示一种信息,答案不存在的优先级最高,例如:

输入:

#N:1 #Q:1+1= #A:2
#T:1 3-8
#X:20201103 Tom-20201104 Jack-20201105 Www
#S:1 20201103
end

输出:

alert: full score of test paper1 is not 100 points
answer is null
20201103 Tom: 0~0

6、格式错误提示信息

输入信息只要不符合格式要求,均输出”wrong format:”+信息内容。

  例如:wrong format:2 #Q:2+2= #4

7、试卷号引用错误提示输出

如果答卷信息中试卷的编号找不到,则输出”the test paper number does not exist”,答卷中的答案不用输出,参见样例8。

8、学号引用错误提示信息

如果答卷中的学号信息不在学生列表中,答案照常输出,判分时提示错误。参见样例9。

本次作业新增内容:

1、输入选择题题目信息

题目信息为独行输入,一行为一道题,多道题可分多行输入。

格式:

"#Z:"+题目编号+" "+"#Q:"+题目内容+" "#A:"+标准答案

格式基本的约束与一般的题目输入信息一致。

新增约束:标准答案中如果包含多个正确答案(多选题),正确答案之间用英文空格分隔。
例如:

   #Z:2 #Q:宋代书法有苏黄米蔡四家,分别是: #A:苏轼 黄庭坚 米芾 蔡襄

多选题输出:

输出格式与一般答卷题目的输出一致,判断结果除了true、false,增加一项”partially correct”表示部分正确。

多选题给分方式:

答案包含所有正确答案且不含错误答案给满分;包含一个错误答案或完全没有答案给0分;包含部分正确答案且不含错误答案给一半分,如果一半分值为小数,按截尾规则只保留整数部分。
例如:

#N:1 #Q:1+1= #A:2
#Z:2 #Q:党十八大报告提出要加强()建设。A 政务诚信 B 商务诚信 C社会诚信 D司法公信 #A:A B C D
#T:1 1-5 2-9
#X:20201103 Tom
#S:1 20201103 #A:1-5 #A:2-A C
end
输出:
alert: full score of test paper1 is not 100 points
1+1=~5~false
党十八大报告提出要加强()建设。A 政务诚信 B 商务诚信 C社会诚信 D司法公信~A C~partially correct
20201103 Tom: 0 4~4

2、输入填空题题目信息

题目信息为独行输入,一行为一道题,多道题可分多行输入。

格式:

"#K:"+题目编号+" "+"#Q:"+题目内容+" "#A:"+标准答案

格式基本的约束与一般的题目输入信息一致。
例如:

#K:2 #Q:古琴在古代被称为: #A:瑶琴或七弦琴

填空题输出:

输出格式与一般答卷题目的输出一致,判断结果除了true、false,增加一项”partially correct”表示部分正确。

填空题给分方式:

答案与标准答案内容完全匹配给满分,包含一个错误字符或完全没有答案给0分,包含部分正确答案且不含错误字符给一半分,如果一半分值为小数,按截尾规则只保留整数部分。

例如:

#N:1 #Q:1+1= #A:2
#K:2 #Q:古琴在古代被称为: #A:瑶琴或七弦琴
#T:1 1-5 2-10
#X:20201103 Tom
#S:1 20201103 #A:1-5 #A:2-瑶琴
end
输出:
alert: full score of test paper1 is not 100 points
1+1=~5~false
古琴在古代被称为:~瑶琴~partially correct
20201103 Tom: 0 5~5

3、输出顺序变化

只要是正确格式的信息,可以以任意的先后顺序输入各类不同的信息。比如试卷可以出现在题目之前,删除题目的信息可以出现在题目之前等。

例如:

#T:1 1-5 2-10
#N:1 #Q:1+1= #A:2
#K:2 #Q:古琴在古代被称为: #A:瑶琴或七弦琴
#X:20201103 Tom
#S:1 20201103 #A:1-5 #A:2-古筝
end
输出:
alert: full score of test paper1 is not 100 points
1+1=~5~false
古琴在古代被称为:~古筝~false
20201103 Tom: 0 0~0

4、多张试卷信息

本题考虑多个同学有多张不同试卷的答卷的情况。输出顺序优先级为学号、试卷号,按从小到大的顺序先按学号排序,再按试卷号。

例如:

#T:1 1-5 2-10
#T:2 1-8 2-21
#N:1 #Q:1+1= #A:2
#S:2 20201103 #A:1-2 #A:2-古筝
#S:1 20201103 #A:1-5 #A:2-瑶琴或七弦琴
#S:1 20201104 #A:1-2 #A:2-瑟
#S:2 20201104 #A:1-5 #A:2-七弦琴
#X:20201103 Tom-20201104 Jack
#K:2 #Q:古琴在古代被称为: #A:瑶琴或七弦琴
end

输出:

alert: full score of test paper1 is not 100 points
alert: full score of test paper2 is not 100 points
1+1=~5~false
古琴在古代被称为:~瑶琴或七弦琴~true
20201103 Tom: 0 10~10
1+1=~2~true
古琴在古代被称为:~古筝~false
20201103 Tom: 8 0~8
1+1=~2~true
古琴在古代被称为:~瑟~false
20201104 Jack: 5 0~5
1+1=~5~false
古琴在古代被称为:~七弦琴~partially correct
20201104 Jack: 0 10~10

新增的题目异常情况的处理与一般题目相同,具体样例参考上一次大作业的样例说明:
答题判题程序-3题面.pdf

输入样例1:
多选题测试,不含删除。例如:

#N:1 #Q:1+1= #A:2
#Z:2 #Q:党十八大报告提出要加强()建设。A 政务诚信 B 商务诚信 C社会诚信 D司法公信 #A:A B C D
#T:1 1-5 2-9
#X:20201103 Tom
#S:1 20201103 #A:1-5 #A:2-A C 
end

输出样例1:
在这里给出相应的输出。例如:

alert: full score of test paper1 is not 100 points
1+1=~5~false
党十八大报告提出要加强()建设。A 政务诚信 B 商务诚信 C社会诚信 D司法公信~A C~partially correct
20201103 Tom: 0 4~4

输入样例2:
填空题测试,不含删除。例如:

#N:1 #Q:1+1= #A:2
#K:2 #Q:古琴在古代被称为: #A:瑶琴或七弦琴
#T:1 1-5 2-10
#X:20201103 Tom
#S:1 20201103 #A:1-5 #A:2-瑶琴
end

输出样例2:
在这里给出相应的输出。例如:

alert: full score of test paper1 is not 100 points
1+1=~5~false
古琴在古代被称为:~瑶琴~partially correct
20201103 Tom: 0 5~5

输入样例3:
乱序测试,不含删除。例如:

#T:1 1-5 2-10
#N:1 #Q:1+1= #A:2
#K:2 #Q:古琴在古代被称为: #A:瑶琴或七弦琴
#X:20201103 Tom
#S:1 20201103 #A:1-5 #A:2-古筝
end

输出样例3:
在这里给出相应的输出。例如:

alert: full score of test paper1 is not 100 points
1+1=~5~false
古琴在古代被称为:~古筝~false
20201103 Tom: 0 0~0

输入样例4:
两个同学多张不同试卷的答卷,不含删除。例如:

#T:1 1-5 2-10
#T:2 1-8 2-21
#N:1 #Q:1+1= #A:2
#S:2 20201103 #A:1-2 #A:2-古筝
#S:1 20201104 #A:1-2 #A:2-瑟
#S:1 20201103 #A:1-5 #A:2-瑶琴或七弦琴
#S:2 20201104 #A:1-5 #A:2-七弦琴
#X:20201103 Tom-20201104 Jack
#K:2 #Q:古琴在古代被称为: #A:瑶琴或七弦琴
end

输出样例4:
在这里给出相应的输出。例如:

alert: full score of test paper1 is not 100 points
alert: full score of test paper2 is not 100 points
1+1=~5~false
古琴在古代被称为:~瑶琴或七弦琴~true
20201103 Tom: 0 10~10
1+1=~2~true
古琴在古代被称为:~古筝~false
20201103 Tom: 8 0~8
1+1=~2~true
古琴在古代被称为:~瑟~false
20201104 Jack: 5 0~5
1+1=~5~false
古琴在古代被称为:~七弦琴~partially correct
20201104 Jack: 0 10~10

分析与心得

PowerDesigner的相应类图如下

设计分析
从PowerDesigner类图中不难看出我在此次PTA作业中使用的类,有Question(问题类)、Test(试卷类)、Answer(答卷类)和两个相关计算的类,分别是SumValue(总分类)、SumScore(总得分类)和Student(学生类),还包括两个计算类SumValue(计算总分类)和SumScore(计算总得分类)。类中关系主要都是关联 (

标签:输出,题目,引脚,K1,PTA,电路,六次,输入
From: https://www.cnblogs.com/hzh-qbw/p/18236203

相关文章

  • OOP 4-6次题目总结
    OOP第4-6次题目总结目录OOP第4-6次题目总结一,前言答题判题系统-4家居强电电路模拟程序-1家居强电电路模拟程序-2二,设计与分析答题判题系统-4家居强电电路模拟程序-1家居强电电路模拟程序-2三,踩坑心得四,改进建议五,总结一,前言答题判题系统-4知识点总结:1.在这次答题判题系统......
  • PTA三次题目集总结-第二次blog
    以下内容是我对pta题目集4-6次大作业的总结nchu-software-oop-2024-上-4本次作业新增内容:1、输入选择题题目信息题目信息为独行输入,一行为一道题,多道题可分多行输入。格式:"#Z:"+题目编号+""+"#Q:"+题目内容+""#A:"+标准答案格式基本的约束与一般的题目输入信息一致。新......
  • PTA--《面向对象程序设计》
    目录 一:超市贴花二:教师类三:快递计价器四:重复数据问题五:List的使用 一:超市贴花某超市有一种促销手段,购买金额超过一定阈值就随机给一个贴花。贴花有不同种类的,种类以编号表示,编号是一个1到100之间的数字。当收集到连续编号的三张贴花时,就可以换一个小礼物。输入样例......
  • 题目集4~6的总结性Blog
    目录一、前言:总结三次题目集的知识点、题量、难度等情况知识点题目及题量、难度nchu-software-oop-2024-上-4:nchu-software-oop-2024-上-5:nchu-software-oop-2024-上-6:二、第四次的答题判题程序分析设计与分析第四次的答题判题程序类图以及SourceMontor的生成报表内容:踩坑心得......
  • 题目集4-1-2总结
    前言设计与分析2.1第四次迭代设计与分析2.2第一次电路程序2.3第二次电路程序踩坑心得踩坑心得改进建议总结前言这三次程序的编写与之前的略有不同,第四次程序编写是由前三次程序迭代而来,在拥有两次编写迭代程序的经历后,第四次的程序编写并没有耗费......
  • 题目集4-6次总结
    一、前言从大一下学期开始学习Java,到现在接近尾声,已经过去了差不多有三个月,我学习到了很多,对于利用Java语言进行程序的编写也更加熟练,但经过六次的pta大作业,仍让我意识到了我还有许多不足,需要进行改进,以下是我对于题目集4到6次的作业的总结。知识点:三次题目集考察的知识点主......
  • 题目集4~6的总结性Blog
    4~6次大作业总结前言在题目的开始设计好类和结构真的很重要,之前一直上来就开始写,后来就变得吃力,这样不能很好的一次性完成代码,发现应该先设计,在着手编写代码之前,可以先绘制类图,明确每个类的属性和方法,以及它们之间的关系。这有助于构建清晰的代码结构和逻辑,避免在编码过程中陷入......
  • 2024最新华为OD算法题目
    在一个机房中,服务器的位置标识在 n*m 的整数矩阵网格中,1表示单元格上有服务器,0 表示没有。如果两台服务器位于同一行或者同一列中紧邻的位置,则认为它们之间可以组成一个局域网。请你统计机房中最大的局域网包含的服务器个数。输入描述第一行输入两个正整数,n和m,0<n,m<=......
  • 2道寻找回文子串的题目
    题目题目1题目2题目1是将字符串分隔,使得分隔后得到的每个字符串都是回文子串题目2是从字符串里面找到回文子串两道题都可以利用递归来解决//利用双指针判断是否是回文子串boolisre(string&s){ intleft=0; intright-s.size()-1; while(left<=right) {......
  • oop-PTA题目集4~6总结
    一、前言   相比于前三次的题目集,题目集4~6需要用到的新的知识点主要是面向对象程序设计中继承和多态这两个特性的使用。第四次题目集中的答题判题程序-4是在前三次程序的基础上增加新的内容,新增了选择题和填空题两种题型,这一变化的处理需要用到前三次未使用的继承,即将题目......