第三届全国青少年信息学(计算机)奥林匹克分区联赛初赛试题(高中组)
(PASCAL语言竞赛用时:2小时)
一、基础部分
(1)WPS是属于________类的软件;FOXBASE是属于_______类的软件。
(2)已知ASCII码表中的大写字母后有6个其他字符,接着便是小写字母。现已知:A字母的ASCII 码为(41)16{表示16进制数41},试写出如下字母用十进制表示的ASCII码:
G →( )10 b →( )10t →( )10
(3)设数组A[10..100,20..100]以行优先的方式顺序存贮,每个元素占4个字节,且已知A[10,20]的地址为1000,则A[50,90]的地址是_____________。
(4)一个汉字的机内码目前常用二个字节来表示:第一字节是区位码的区号加(160)10;第二个字节是区位码的位码加(160)10
已知:汉字“却”的区位码是4020,试写出机内码两个字节的二进制的代码:
(5)下图中用点表示城市,点与点之间的联线表示城市间的道路:
试问:①能否找出一条从A城市出发,经过图中所有道路一次后又回到出发点的通路来?
②能否从A出发,找出去每个城市且只去一次的通路来?若能,则写出通路;
(6)为了便于处理表达式,常常将普通表达式(称为中缀表示)转换为前缀{运算符在前,如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)}
二、根据题意,将以下程序补充完整
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