一、实操题
1、 我国先后自行研制成功“银河”系列的巨型计算机,其中:
“银河”于1983年问世,其运算速度为每秒___________次;
“银河Ⅱ”于1992年诞生,其运算速度为每秒__________次;
“银河Ⅲ”于1997年通过国家鉴定,其运算速度为每秒__________次。
参考答案:“银河”于1983年问世,其运算速度为每秒1亿次;“银河Ⅱ”于1992年诞生,其运算速度为每秒10亿次;“银河Ⅲ”于1997年通过国家鉴定,其运算速度为每秒30亿次。
解析:【喵呜刷题小喵解析】:
本题考查的是我国自行研制的“银河”系列巨型计算机的发展情况。
首先,“银河”巨型计算机于1983年问世,其运算速度达到了每秒1亿次。这是我国自行研制的第一台巨型计算机,标志着我国计算机技术的重大突破。
其次,“银河Ⅱ”巨型计算机于1992年诞生,其运算速度达到了每秒10亿次。相比于“银河”巨型计算机,“银河Ⅱ”的运算速度有了显著提升,进一步体现了我国在计算机技术领域的进步。
最后,“银河Ⅲ”巨型计算机于1997年通过国家鉴定,其运算速度达到了每秒30亿次。这是我国巨型计算机技术的又一次重大突破,标志着我国在计算机领域已经达到了国际先进水平。
综上所述,根据题目要求,我们可以得出以上答案。
二、单选题
2、下列软件均属于操作系统的是:()
A WPS 与 PC DOS
B Windows 与 Ms dos
C Word 与 Windows
D Foxbase 与 Os/2
解析:【喵呜刷题小喵解析】:
本题考查操作系统相关知识。
WPS,Word 都是办公软件;
PC DOS,Ms dos 都是早期的操作系统,其中 PC DOS 是个人计算机操作系统,而 Ms dos 是磁盘操作系统,是操作系统的一种;
Windows 是现代操作系统;
Foxbase 是一个数据库管理系统,并不是操作系统。
综上,属于操作系统的是选项 D,即 Foxbase 与 Os/2。
三、实操题
3、在MS DOS 的根目录中,有如下文件:
TIME.EXE TIME.COM TIME.BAT
试问:C:\>TIME < 回车 > 执行的是什么命令?
参考答案:执行的是TIME.COM文件。
解析:【喵呜刷题小喵解析】:在MS DOS的根目录中,存在TIME.EXE、TIME.COM和TIME.BAT三个文件。当在命令提示符下输入"TIME"并按下回车时,DOS会按照以下顺序查找并执行命令:
1. 查找是否存在名为TIME的可执行文件(.EXE)。
2. 查找是否存在名为TIME的批处理文件(.BAT)。
3. 查找是否存在名为TIME的COM文件。
由于TIME.COM文件在列表中排在TIME.EXE和TIME.BAT之前,因此DOS会首先执行TIME.COM文件。因此,当在命令提示符下输入"TIME"并按下回车时,执行的是TIME.COM文件。
4、设数组A[10..100,20..100] 以行优先的方式顺序存储,每个元素占4个字节,且已知A[10,20]的地址为1000,则A[50,90]的地址是()
参考答案:A[50,90]的地址是1760。
解析:【喵呜刷题小喵解析】:
首先,我们需要理解题目中给出的信息。数组A以行优先的方式顺序存储,也就是说,每一行的元素会先存储完,再存储下一行的元素。每个元素占4个字节。已知A[10,20]的地址为1000。
根据这些信息,我们可以计算A[50,90]的地址。由于数组是以行优先的方式存储的,所以我们可以先计算第50行的起始地址,然后再加上第90个元素在该行中的偏移量。
第50行的起始地址可以通过以下公式计算:
起始地址 = 已知地址 + (50-1) * 行宽
其中,行宽 = 列宽 * 每个元素的大小
列宽 = 100 - 10 + 1 = 91(因为数组A从10到100,共91列)
每个元素的大小 = 4字节
代入已知数值,我们得到:
第50行的起始地址 = 1000 + (50-1) * 91 * 4 = 1636
接下来,我们需要计算第90个元素在第50行中的偏移量。偏移量 = 90 * 每个元素的大小 = 90 * 4 = 360
所以,A[50,90]的地址 = 第50行的起始地址 + 偏移量 = 1636 + 360 = 1760
综上,A[50,90]的地址是1760。
5、下面是一个求:1/1+1/2+2/3+3/5+5/8+8/13+13/21+21/32…前20项的和的程序段,试将程序补充完整:
参考答案:根据题目中的信息,我们需要补充完整的程序段来计算前20项的和。由于题目中并未给出具体的编程语言,我将使用Python语言来编写程序。以下是补充完整的程序段:```pythondef sum_sequence(n):result = 0a, b = 0, 1for i in range(n):result += a / ba, b = b, a + breturn resultprint(sum_sequence(20))```
解析:【喵呜刷题小喵解析】:
该程序段定义了一个名为`sum_sequence`的函数,用于计算前n项的和。函数内部使用了一个循环,每次循环中计算当前项的值,并将其累加到结果变量`result`中。当前项的值由分子`a`和分母`b`计算得出,其中`a`和`b`的值在每次循环中更新。
在循环结束后,函数返回结果变量`result`的值,即前n项的和。
在主程序中,我们调用了`sum_sequence`函数,并传入参数20,表示计算前20项的和。最终,程序将打印出前20项的和的值。
注意:由于题目中并未给出具体的编程语言,这里我使用了Python语言作为示例。如果需要使用其他编程语言,需要根据具体的语法规则进行相应的修改。
6、一个汉字的机内码目前通常用二个字节来表示:第一个字节是区位码的区号加;第二个字节是区位码的位码加
。
已知:汉字“却”的区位码是4020,试写出机内码两个字节的二进制的代码:
参考答案:汉字“却”的机内码两个字节的二进制代码为:10000010 10100000。
解析:【喵呜刷题小喵解析】:
根据题目,机内码的第一个字节是区位码的区号加32,第二个字节是区位码的位码加128。汉字“却”的区位码是4020,所以机内码的第一个字节是40+32=72,即二进制表示为1001000;第二个字节是20+128=148,即二进制表示为10010000。因此,汉字“却”的机内码两个字节的二进制代码为10000010 10100000。
7、已知ASCII码表中的大写字母后有6个其它字符,接着便是小写字母。现已知:A字母的ASCII码为,试写出如下字母用十进制表示的ASCII码:
参考答案:B的ASCII码为66,C的ASCII码为67,D的ASCII码为68,E的ASCII码为69,F的ASCII码为70,G的ASCII码为71,h的ASCII码为104。
解析:【喵呜刷题小喵解析】:
在ASCII码表中,大写字母A的ASCII码值为65。题目中已知A的ASCII码值,因此我们可以按照顺序推算出B、C、D、E、F、G的ASCII码值。接着,题目中提到大写字母后有6个其它字符,这6个字符是小写字母,因此我们可以继续推算出小写字母h的ASCII码值。根据ASCII码表的顺序,B、C、D、E、F、G的ASCII码值分别是66、67、68、69、70、71,而小写字母h的ASCII码值是104。
8、下图中用点表示城市,点与点之间的联系表示城市间的道路:
试问:
① 能否找出一条从A城市出发,经过图中所有道路一次后又回到出发点的通路来?
② 能否从A出发,找出去每个城市且只去一次的通路来?
若能,则写出通路,否则说明理由。
参考答案:① 不能找出一条从A城市出发,经过图中所有道路一次后又回到出发点的通路来。② 不能从A出发,找出去每个城市且只去一次的通路来。
解析:【喵呜刷题小喵解析】:
根据题目中给出的图形,我们可以发现图形中有很多道路是相互交叉的,且存在一些死胡同,即无法通过一条通路访问所有的城市并回到起点。因此,对于第一个问题,我们不能找出一条从A城市出发,经过图中所有道路一次后又回到出发点的通路来。
对于第二个问题,由于存在多个城市无法直接访问其他城市,因此我们不能从A出发,找出去每个城市且只去一次的通路来。例如,城市B、C、D、E、F等,它们之间存在相互交叉的道路,但我们无法找出一条只经过这些城市一次的通路,因为它们之间存在无法直接访问的情况。
因此,根据以上分析,我们可以得出结论:不能找出一条从A城市出发,经过图中所有道路一次后又回到出发点的通路来,也不能从A出发,找出去每个城市且只去一次的通路来。
9、为了便于处理表达式,常常将普通表达式(称为中缀表示)转换为前缀{运算符在前,如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)}
参考答案:br />① 前缀表示:+AB*C/D 或 +A/DCB*后缀表示:A+B*C/D 或 A*BC/D+② 前缀表示 +△A *B△C 还原为中缀表示:-(A)*(B)-(-C)后缀表示:△A*B△C 或 A*△BC△
解析:【喵呜刷题小喵解析】
① 对于表达式 A+B*C/D,前缀表示应为 +AB*C/D,后缀表示应为 A+B*C/D。
对于表达式 A-C*D+B∧E,前缀表示应为 A-C*D+B∧E,后缀表示应为 A-C*D∧EB。但题目中给出的 B∧E 似乎有误,应为 B&E,表示逻辑与运算。因此,正确的后缀表示应为 A-C*D&EB。
② 对于前缀表示 +△A *B△C,首先识别出△表示取负号,因此 +△A 应还原为 -(A)。* 和 △ 是二元运算符,因此 B 和 C 前面应加上括号。因此,中缀表示应为 -(A)*(B)-(-C)。
对于后缀表示,△A 应写为 A△,*B△C 应写为 B*△C。因此,后缀表示应为 A△*△CB。但考虑到运算符的优先级,应改为 A*△BC△。
10、一个将角编了号的正三角形可以绕着外心O(中心)逆时针旋转,如下图所示:
如果将这一旋转用字母a 来表示,看作运算对象,同时用aa或表示旋转
后再旋转
,也就是说将连续运动看作乘法运算,那么三角形状态(可简称为元素)即可与运动表达式关联起来,请回答:
①如果将图一的原始三角形连续旋转N次,简单地表示为
(N为任意自然数),试求
的值(指三角形旋转后的结果状态);
② 如果将下面的旋转看作是a的逆元素,记为 ,则有
=
试求:
参考答案:① 如果将图一的原始三角形连续旋转N次,简单地表示为
(N为任意自然数),试求
的值(指三角形旋转后的结果状态);解:由于每次旋转
后,三角形会回到原来的位置,因此连续旋转N次后,三角形会回到初始位置。所以
=初始状态。② 如果将下面的旋转看作是a的逆元素,记为
,则有
=
解:根据逆元素的定义,如果一个元素a的逆元素b满足
=
,那么
=初始状态。
解析:【喵呜刷题小喵解析】:
这个问题主要涉及到的是旋转和逆元素的概念。旋转是一种变换,可以改变一个物体的方向,但不改变其形状和大小。在这个问题中,旋转被表示为一个特定的符号a,连续旋转N次则表示为a^N。而逆元素是一个可以与另一个元素进行运算后回到原始状态的元素。在这个问题中,旋转的逆元素表示为a^(-1),也就是逆运算。
对于第一部分,连续旋转N次,每次旋转后三角形都会回到原来的位置,所以连续旋转N次后,三角形会回到初始状态,即a^N=初始状态。
对于第二部分,根据逆元素的定义,如果一个元素a的逆元素b满足b*a=单位元素(在这里可以看作是初始状态),那么a的逆元素就是b。所以,如果=
,那么
=初始状态。
11、[问题描述] 读入n个不相同且不为0的数(1<=n<=100),不用排序,求出其中第r个大的数(1≤r≤n),即有r-1个数比它大,其余的数都比它小。
例如:输入3,14,22,15,17,6,其中第3个大的数为15。
[算法说明] 以数组a[1..100]记录读入的n个数,并以0结束(0本身不是n个数中的数)。然后从第一个数开始,将它与其余的数进行比较并记录出比它大的数的个数(存于变量y中),若y=r-1时,得到所求结果:否则对下一个数进行同样的处理。
[程序清单]
参考答案:根据题目描述,算法的思路是从第一个数开始,将它与其余的数进行比较并记录出比它大的数的个数(存于变量y中),若y=r-1时,得到所求结果;否则对下一个数进行同样的处理。具体实现步骤如下:1. 初始化变量i和y为0,其中i表示当前处理的数的位置,y表示比当前数大的数的个数。2. 遍历数组a,对于每个数,将i和y的值分别加1,并将当前数与后面的数进行比较,如果后面的数比当前数大,则将y的值加1。3. 当y的值等于r-1时,输出当前数,即为第r个大的数。
解析:【喵呜刷题小喵解析】:
该算法的核心思想是通过遍历数组,找到第r个大的数。具体实现时,使用一个变量y来记录比当前数大的数的个数,当y的值等于r-1时,就找到了第r个大的数。
需要注意的是,题目中要求数组以0结束,这是为了区分读入的n个数和数组的结束标志。在算法实现时,需要特别处理数组最后一个元素,因为它后面没有数可以比较。
另外,题目中要求读入的n个数不相同且不为0,这是为了保证算法的正确性。如果读入的数中存在相同的数或者0,那么算法可能会出错。因此,在算法实现时,需要对输入进行合法性检查。
12、[问题描述] 在进行正整数的除法运算时,可以通过减法来实现。
例如(Q:商,R:余数)可通过下列的方式实现:
q:=0; r:=x;
while r>=y do begin r:=r-y; q:=q+1 end;
结果,商在q中,余数在r中。
[算法说明] 上面的算法有一个缺点,就是当x比较大、y比较小时,则运算的次数非常多,速度太慢。为提高速度,下面给出改进的算法:先找一个非常接近x的数w,且满足:
然后通过减法与移位的运算,以较少的运算次数完成除法。
[程序清单]
参考答案:无
解析:【喵呜刷题小喵解析】:
此题目给出了一个描述关于通过减法实现正整数除法的算法,并提到了一种改进的方法。但题目并没有提供具体的问题或询问,也没有提供具体的算法细节或程序清单,因此无法给出具体的答案或解析。
从题目描述来看,原始算法是通过不断减去除数y,直到被除数x小于y,从而得到商和余数。这种方法的缺点是当x较大、y较小时,需要执行很多次减法操作,效率较低。
改进算法的思路是找到一个接近x的数w,使得w与y的商和余数都较小,然后通过减法和移位操作来快速得到商和余数。这种方法的优点是能够减少运算次数,提高运算效率。
然而,题目并没有给出改进算法的具体实现细节,也没有给出相关的代码或伪代码,因此无法对算法的具体实现进行解析。
如果需要更具体的答案或解析,可能需要提供具体的算法细节或代码,以便进行更详细的分析和解答。
13、[问题描述] 一个正整数(非素数)可表示成它的因子(1与其本身除外)的乘积。
例如:12有因子2,3,4,6,所以可表示为:
12=223=43=26
给出任一个正整数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]中。其中:A[¡,1]表示因子;A[¡,2]表示次数。
然后用简单回溯的方法求出所有可能的表示。
数组B[0..20]记录取数情况;c:array[0..20]工作单元。
[程序清单]
参考答案:由于题目中未提供具体的算法代码,因此无法直接给出答案。但是,根据题目描述,可以概括出以下步骤:1. 读入一个正整数N,求出它的所有因子及每个因子的次数。2. 将结果存入数组A,其中A[i,1]表示因子,A[i,2]表示次数。3. 使用回溯算法,结合数组B记录取数情况和工作单元c,求出所有可能的因子乘积表示。具体的算法实现需要参考具体的代码实现,根据题目描述,大致的算法思路如上所述。
解析:【喵呜刷题小喵解析】:
本题是一道算法题,要求根据给定的正整数N,求出它所有的因子乘积的表达式。根据题目描述,需要先求出N的所有因子及每个因子的次数,然后使用回溯算法求出所有可能的因子乘积表示。
具体的算法实现需要参考具体的代码实现,根据题目描述,大致的算法思路如上所述。由于题目中未提供具体的算法代码,因此无法直接给出答案。
需要注意的是,本题中的回溯算法可能涉及到状态压缩、剪枝等技巧,具体实现需要根据实际情况进行调整。同时,由于题目中未提供具体的代码实现,因此无法给出具体的代码示例。
在实际应用中,对于这类问题,可以先根据题目描述设计出算法的大致框架,然后结合具体的代码实现进行调整和优化。需要注意的是,算法的实现需要考虑时间和空间复杂度,以及代码的可读性和可维护性等因素。
喵呜刷题:让学习像火箭一样快速,快来微信扫码,体验免费刷题服务,开启你的学习加速器!