第三届全国青少年信息学计算机奥林匹克联赛初赛高中组试题
(PASCAL语言 竞赛用时2小时)
一、基础部分
(1)WPS是属于________类的软件;FOXBASE是属于_______类的软件。
用FOXBASE的命令:.CREAT GZB,在磁盘中生成的是_______文件。
(2)在MS DOS的根目录中,有如下文件:
TIME.EXE TIME.COM TIME.BAT
试问:c:\> TIME 执行的是什么命令?
(3)已知ASCII码表中的大写字母后有6个其他字符,接着便是小写字母。现已知:A
字母的ASCII码为(41)16{表示16进制数41},试写出如下字母用十进制表示的ASCII
码:
G → ( )10 b → ( )10 t → ( )10
(4)设数组A[10..100,20..100]以行优先的方式顺序存贮,每个元素占4个字节,且已知
A[10,20]的地址为1000,则A[50,90]的地址是_____________。
(5)一个汉字的机内码目前常用二个字节来表示:第一字节是区位码的区号加(160)10;第
二个字节是区位码的位码加(160)10
已知:汉字“却”的区位码是4020,试写出机内码两个字节的二进制的代码:
(6)下图中用点表示城市,点与点之间的联线表示城市间的道路:
试问:①能否找出一条从A城市出发,经过图中所有道路一次后又回到出发点的通
路来?
②能否从A出发,找出去每个城市且只去一次的通路来?若能,则写出通路;
否则说明理由。
(7)为了便于处理表达式,常常将普通表达式(称为中缀表示)转换为前缀{运算符在前,
如X/Y写为/XY}和后缀{运算符在后,如X/Y写为XY/}的表达式。
在这样的表示中可以不用括号即可确定求值的顺序,如:
(P+Q)*(R-S) →*+PQ-RS或 → PQ+RS-*
①试将下面的表达式改写成前缀与后缀的表示形式:
(a) A+B*C/D (b) A-C*D+B^E
②试将下面的前缀表示还原成中缀的表示形式,同时写出后缀表示:
+△A*B△C {前缀式中△表示一元运算符取负号,如△A表示(-A)}
(8)一个将角编了号的正三角形可以进行如下二种运动:
(a)沿过顶点1的高h翻转180°,我们将这个运动用字母a来表示:
(b)沿过三角形的外心,垂直于三角形所在平面的有向轴L(注意:三角形翻转时L
轴也随着翻转的),按右手法则旋转120°(右手法则是指用右手大拇指指向L轴的
方向,由其余四指决定旋转方向的法则),我们将这样的运动用字母b来表示:
如果将a,b作为运算对象,并将两个运动连续进行看作是一种运算(这里不妨也称
为乘法),则对图一的三角形而言,bb的结果便成为:
若将运动前后的三角形状态简称为元素,那么三角形状态就可与运动的表达式关联起
来。据此,请回答如下问题:
①从图一的三角形的原始状态出发,可以运动出多少种不同的状态的三角形,试写出
最简单的运算表达式(借助于a,b与乘法运算):
②这样定义的乘法运算是否符合交换律与结合律?
③如果将从三角形的某种状态运动回到原始状态称之为该元素的逆元素,例如:
∴ bb的逆元素为b,可表示为(bb)-1=b
试求:(1)a-1= (2)(ab)-1=
(3)((aa)a)-1= (4)b-1=
二、根据题意,将以下程序补充完整
1. [问题描述]:一个正整数(非素数)可以表示成它的因子(1与其本身除外)的乘积。
例如:12有因子2,2,3,4,6,所以可表示为:
12=2*2*3=4*3=2*6
给出任一个整数N,求出它所有的因子乘积表达式(交换律得出的不同式子算同一种)。
[算法说明]:读入一个整数N,首先求出它的所有的因子以及每个因子可能的次数。
例如:整数48:
因子:2 3 4 6 8 12 16 24
次数:4 1 2 1 1 1 1 1
将上面的结果存入数组A:ARRAY[0..20,1..2]中,其中: