【计算机复赛模拟试题一】是一套针对小学生的程序设计竞赛试题,旨在考察学生的编程基础和逻辑思维能力。试题共包含四道题目,每题分别对应不同的编程挑战,分别是:
第一题:开灯游戏(Xj1.pas)
此题目标是实现一个灯泡开关模拟程序。初始时有n盏灯,每盏灯编号从1到n。m个人依次对灯进行操作,每个人会改变编号为自己倍数的灯的状态。例如,第i个人会让编号为i倍数的灯状态反转。最后需要计算并输出在m个人操作后哪些灯是亮的。输入包括n和m的值,输出为亮着的灯的编号,若无灯亮则输出"NO"。
第二题:数列求和(Xj2.pas)
这道题要求编写程序计算简单数列的和。数列由前三个数和最后一个数定义,中间的项可以通过公差推算出来。输入包含数列的首项、第二项、第三项和末项,输出应以等式形式表示数列的和。例如,数列1, 2, 3, 7的和输出为1+2+3+...+7=28。
第三题:算式求解(Xj3.pas)
题目要求接收一个算式,然后计算其结果。算式可能包含加、减、乘、除四种运算,以及负号的使用。负号可能出现在运算符前面,表示负数。输入为一个包含等号的算式,如果算式有误,程序需输出"NO"。例如,12+5应该输出12+5=7,而13+-8应该输出13+-8=-5。
第四题:文件名排序(Xj4.pas)
本题考察文件名的排序算法。文件名由基本文件名和扩展文件名组成,且长度有限制。排序规则如下:
1. 无扩展名的文件名排在有扩展名的文件名之后。
2. 如果两个文件名都有扩展名,按扩展名字典序排序。
3. 如果扩展名相同,则按基本文件名字典序排序。
4. 若两个文件名都没有扩展名,按基本文件名字典序排序。
5. 字典序依据ASCII码值决定。
输入为N个文件名,输出排序后的序号。
通过解决这四道题,学生可以锻炼到编程基础,如读取输入、处理数据结构、逻辑判断、文件操作等。对于程序设计初学者来说,这是一个很好的实践平台,有助于提升编程技能和问题解决能力。