- 試題排行
- 最新熱點(diǎn)
- 最新推薦
2
3
4
5
6
7
8
9
10
2008年上半年軟考軟件設(shè)計(jì)師考試試題(上午)
2008年上半年軟考網(wǎng)絡(luò)工程師考試試題(下午)
2008年上半年軟考軟件設(shè)計(jì)師考試試題(下午)
2008年上半年軟件水平考試程序員考試試題(上
2008年下半年軟考網(wǎng)絡(luò)工程師預(yù)測試題及答案
2008年上半年軟件水平考試程序員考試試題(下
2008下半年軟件水平考試軟件設(shè)計(jì)師押題試卷
08年上半年軟考數(shù)據(jù)庫系統(tǒng)工程師考試試題(上
2008下半年軟件水平考試程序員模擬試題及答
試題 2
在 COMET 型計(jì)算機(jī)上可以使用試卷上所附的 CASL 匯編語言。閱讀下列程序說明和 CASL 程序,把應(yīng)填入程序中__(n)__ 處的字句,寫在答卷的對應(yīng)欄內(nèi)。
[程序說明]
本程序是一個除法程序。
(1)被除數(shù)、除數(shù)均是正整數(shù),分別存放在標(biāo)號為A,B的存貯字內(nèi)。
(2)商存貯在標(biāo)號為ANS的存貯字內(nèi),對商的小數(shù)點(diǎn)后第一位進(jìn)行舍入,結(jié)果為整數(shù)。
(3)假定除法過程不會產(chǎn)生溢出。
本程序在除法中實(shí)現(xiàn)四舍五入的方法是:將被除數(shù)乘以 10,除以除數(shù),對商作適當(dāng)處理,再將處理后的結(jié)果除以 10。
[問題]
在程序中的①~⑧處各填入一條正確的指令,以完成此程序。除非必要,標(biāo)號欄不要填寫。
[程序]
標(biāo)號 | 操作碼 | 操作數(shù) | |
START | DGN | ||
DGN | LD | GR0,A | |
__①__ | |||
__②__ | |||
ADD | GR0,A | ||
LD | GRl,B | ||
CALL | DIV | ||
L1 | __③__ | ||
LEA | GRl,10 | ||
CALL | DIV | ||
ST | GR2,ANS | ||
EXIT | |||
A | DS | 1 | |
B | DS | 1 | |
ANS | DS | 1 | |
DIV | ST | GRl,WORK | |
__④__ | |||
DIV1 | CPA | GR0,WORK | |
JMI | DIV2 | ||
__⑤__ | |||
__⑥__ | |||
JMP | DIV1 | ||
DIV2 | RET | ||
WORK | DS | 1 | |
END |
試題 3
閱讀下列程序說明和 C 程序,將應(yīng)填入程序中__(n)__處的字句寫在答卷紙的對應(yīng)欄內(nèi)。
[程序說明]
已知某數(shù)的前二項(xiàng)為2和3,其后繼項(xiàng)根據(jù)當(dāng)前最后二項(xiàng)的乘積按下列規(guī)則生成
。ǎ保┤舫朔e為一位數(shù),則該乘積即為數(shù)列的后繼項(xiàng);
。ǎ玻┤舫朔e為二位數(shù),則該乘積的十位數(shù)和個位數(shù)依次作為數(shù)列的兩個后繼項(xiàng)。
本程序輸出該數(shù)列的前n項(xiàng)以及它們的和。其中,函數(shù)sum(n,pa)返回數(shù)列的前n項(xiàng)之和,并將生成的前n項(xiàng)存放于首指針為pa的數(shù)組中。程序中規(guī)定輸入的n值必須大于2并且不超過給定的常數(shù)值MAXNUM。
例如:若輸入n值為10,則程序輸出如下內(nèi)容:
sum(10)=44
2 3 6 1 8 8 6 4 2 4
[程序]
#include <stdio.h>
#define MAXNUM 100
int sum( n,pa )
int n, *pa;
{ int count,total,temp;
*pa=2;
__(1)__ = 3;
total = 5; count = 2;
while (count++<n)
{ temp=.(pa-1)..pa;
if (temp<10)
{ total+=temp;
*(++pa)=temp;
}
else
{
__(2)__ = temp/10;
total += *pa;
if ( count<n)
{ count++;pa++;
__(3)__ = temp%10;
total += *pa;
}
}
}
__(4)__;
}
main ()
{ int n,.p,.q,num[MAXNUM];
do { printf( "Input N=? (2<N<%d):",MAXNUM+1 );
scanf( "%d",&n );
} while ( __(5)__ );
printf( "\nsum(%d)=%d\n",n,sum(n,num) );
for ( p=num, q = __(6)__ ;p<q;p++) printf("%4d",*p );
printf("\n");
}
試題 7
在 COMET 型計(jì)算機(jī)上可以使用試卷上所附的 CASL 匯編語言,閱讀下列程序說明和 CASL 程序,把應(yīng)填入程序中__(n)__處的字句,寫在答卷的對應(yīng)欄內(nèi)。
[程序說明]
本程序用來復(fù)原被壓縮過的數(shù)據(jù)。
原始數(shù)據(jù)的壓縮規(guī)則如下:
(1)在原始數(shù)據(jù)中連續(xù)出現(xiàn) N( N≥2 ) 個相同的數(shù) X,則在壓縮數(shù)據(jù)中相繼存放 N 和 X 兩個數(shù)。
(2)在原始數(shù)據(jù)中,對于不屬于上述情況的數(shù)據(jù)段,即相鄰而又不相等的 M 個數(shù)據(jù),則在壓縮數(shù)據(jù)中先存放 -M,再存放這 M 個數(shù)。
(3)壓縮數(shù)據(jù)中數(shù)的存放次序與原始數(shù)據(jù)中數(shù)的出現(xiàn)次序相一致,并在壓縮數(shù)據(jù)的最后加上 0,作為結(jié)束標(biāo)記。
例: 原始數(shù)據(jù)中有以下數(shù):
-15 11 11 11 11 11 11 11 11 -2 14 9 9 9 9 9
則壓縮后的數(shù)據(jù)為
-1 -15 -8 11 -2 -2 14 5 9 0
程序中標(biāo)號為PACKED開始的存貯字中存放了上述壓縮后的數(shù)據(jù);程序執(zhí)行后,在標(biāo)號為 UNPACK 開始的 16 個存貯字中生成原始數(shù)據(jù)。
[問題]
在程序中的①~⑧處各填入一條正確的指令,以完成此程序。除非必要,標(biāo)號欄不要填寫。
[程序]
標(biāo)號 | 指令碼 | 操作數(shù) | |
START | BEGIN | ||
BEGIN | __(1)__ | ||
LEA | GR2,0 | ||
LOOP0 | __(2)__ | ||
LD | GR3,PACKED,GR1 | ||
LEA | GR3,0,GR3 | ||
__(3)__ | |||
__(4)__ | |||
LEA | GRl,1,GRl | ||
LD | GR0,PACKED,GRl | ||
LOOP1 | __(5)__ | ||
LEA | GR2,1,GR2 | ||
LEA | GR3,-1,GR3 | ||
JNZ | LOOP1 | ||
JMP | LOOP0 | ||
ONEONE | __(6)__ | ||
LOOP2 | LEA | GRl,l,GRl | |
LD | GR0,PACKED,GRl | ||
__(7)__ | |||
LEA | GR2,l,GR2 | ||
LEA | GR3,-1,GR3 | ||
__(8)__ | |||
JMP | LOOP0 | ||
ENDPGM | EXIT | ||
UNPACK | DS | 16 | |
HXFFFF | DC | #FFFF | |
PACKED | DC | -1 | |
DC | -15 | ||
DC | 8 | ||
DC | 11 | ||
DC | -2 | ||
DC | -2 | ||
DC | 14 | ||
DC | 5 | ||
DC | 9 | ||
DC | 0 | ||
END |
試題 8
閱讀下列程序說明和 C 程序,將應(yīng)填入程序中__(n)__ 處的字句,寫在答卷紙的對應(yīng)欄內(nèi)。
[程序說明]
本程序?qū)δ畴姶a文(原文)進(jìn)行加密形成密碼文.其加密算法如下:
假定原文為C1C2C3...Cn,加密后形成的密文為S1S2S3...Sn,首先讀入正整數(shù)Key
(Key>1)作為加密鑰匙,并將密文字符位置按順時針方向連成一個環(huán),如下圖所示:
加密時從 S1 位置起順時針計(jì)數(shù),當(dāng)數(shù)到第 Key 個字符位置時,將原文中的字符放入該密文字符位置中,同時從環(huán)中除去該字符位置;接著從環(huán)中下一個字符位置起繼續(xù)計(jì)數(shù),當(dāng)再次數(shù)到第 Key 個字符位置時,將原文中字符 C2 放入其中,并從環(huán)中除去該字符位置;依次類推,直至 n 個原文字符全部放入密文環(huán)中.由此產(chǎn)生的 S1S2...Sn 即為原文的密文。
例如,當(dāng) Key=3 時,原文: THIS IS AN DECODING SYSTEM 的密文為:
AOTGNHEDI YS D IMIETSNC SS
當(dāng)Key=4時,該原文的密文為:
SSDTYD HTEGIASISCNM E ION
本程序?qū)㈦姶a的原文存放在字符數(shù)組 old 中,加密鑰匙存放在整數(shù) Key 中.函數(shù) decode 用于將原文 old 加密并返回密文字符數(shù)組的首指針。其中函數(shù)采用一個雙向循環(huán)鏈表 CODE 來表示密文環(huán).函數(shù) strlen 用于計(jì)算一個字符串中的字符個數(shù)( 不包括字符串結(jié)尾符 '\0' )。為了簡單起見,程序中假設(shè)內(nèi)存容量足以滿足動態(tài)存貯單元分配的要求。
[程序]
#include <stdio.h>
#include <alloc.h>
#define CR 13
typedef struct node
{ char ch;
struct node *forward; /* Link to next node. */
struct node *backward;/* Link to previous node.*/
} CODE;
main()
{ char __(1)__ ,old[256];
int strlen() , key , num=0;
printf("\nPlease input the telegraph: \n")l
while ( num<255 && ( old[num++] = getch()) != CR );
old [ __(2)__ ] = '\0';
do { printf( "\nPlease input Key=?( Key>1 ):" );
scanf("%d",&key);
} while ( key<=1 );
printf( "\nThe decode of telegraph:'%s' is:\n'%s'\n",old,decode( old,key ) );
}
char *decode(old,key)
char *old; int key;
{ char *new; int length,count,i;
CODE *loop,*p;
length=strlen(old);
loop=( __(3)__ ) malloc( length.sizeof(CODE) );
for ( i = 1;i<length-1;i++ )
{ loop[i].forward = &loop[i+1];
loop[i].backward = &loop[i-1];
}
loop[0].backward = &loop[length-1];
loop[0].forward = &loop[1];
loop[length-1].forward = loop;
loop[length-1].backward = &loop[length-2];
for ( p = loop,i = 0;i<length;i++ )
{ for ( count = 1;count<key;count++ )
p= __(4)__ ;
p->ch=.old++;
p->backward->forward = __(5)__ ;
p->forward->backward = __(6)__ ;
p=p->forward;
}
new = ( char *)malloc( ( length+1 ) *sizeof(char) );
for ( i=0;i<length;i++ ) new[i] =l oop[i] *ch;
new[length]='\0';
return (new);
}
int strlen(s)
char *s;
{ int len = 0;
while ( __(7)__ != '\0' ) len++;
return( len );
}
轉(zhuǎn)帖于:軟件水平考試_考試吧
- 推薦給朋友
- 收藏此頁
·2008年下半年軟考信息系統(tǒng)項(xiàng)目管理師試題(下午II) (2008-12-21 22:39:30)
·2008年下半年計(jì)算機(jī)軟考網(wǎng)絡(luò)工程師試題(下午) (2008-12-21 22:26:13)
·2008下半年軟考系統(tǒng)分析師考試試題(下午)II (2008-12-21 22:20:49)
·2008年下半年計(jì)算機(jī)軟考程序員試題(下午) (2008-12-21 22:18:18)
·2008年下半年計(jì)算機(jī)軟考程序員試題(上午) (2008-12-21 22:11:38)
如果軟件水平考試網(wǎng)所轉(zhuǎn)載內(nèi)容不慎侵犯了您的權(quán)益,請與我們聯(lián)系,我們將會及時處理。如轉(zhuǎn)載本軟件水平考試網(wǎng)內(nèi)容,請注明出處。
Copyright © 2004-2008 考試吧軟件水平考試網(wǎng) All Rights Reserved |