软考初级

阅读以下应用说明及Visual Basic程序代码,将应填入(n)处的字句写在对应栏内。【说明】已知窗体上有两个名为cmdGene和cmdSort的命令按钮。单击cmdCene按钮时,随机产生10个[1,100]范围内的整数并将它们放在数组intA中;单击cmdSort按钮时,用选择法排序这10个数并输出。【程序代码】Dim intA(1 To 10)As integerPrivate Sub cmdGene_Click( )Dim intl As IntegerRandomizeFor intl = 1

题目

阅读以下应用说明及Visual Basic程序代码,将应填入(n)处的字句写在对应栏内。

【说明】

已知窗体上有两个名为cmdGene和cmdSort的命令按钮。单击cmdCene按钮时,随机产生10个[1,100]范围内的整数并将它们放在数组intA中;单击cmdSort按钮时,用选择法排序这10个数并输出。

【程序代码】

Dim intA(1 To 10)As integer

Private Sub cmdGene_Click( )

Dim intl As Integer

Randomize

For intl = 1 To 10

intA(intl) =(1)

Next intl

End Sub

Private Sub cmdSort_Click( )

Dim intl, intJ,intMin, intTemp As Integer

For intl = 1 To 9

intMin = intA(intl)

For intJ=(2) To 10

If intA(intJ) < intMin Then

Temp = intA(intJ)

intA(intJ)=(3)

intMin = intTemp

End If

Next intJ

(4)

(5)

For intl = 1 To 10

Print Str(intA(intl))+" ";

Next intl

Next lntl

Print

End Sub

如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

阅读下列说明和?C++代码,将应填入(n)处的字句写在答题纸的对应栏内。
【说明】
阅读下列说明和?Java代码,将应填入?(n)?处的字句写在答题纸的对应栏内。
【说明】
某快餐厅主要制作并出售儿童套餐,一般包括主餐(各类比萨)、饮料和玩具,其餐品种
类可能不同,但其制作过程相同。前台服务员?(Waiter)?调度厨师制作套餐。现采用生成器?(Builder)?模式实现制作过程,得到如图?6-1?所示的类图。






答案:
解析:

第2题:

试题三(共 15 分)

阅读以下说明和 C 程序,将应填入 (n) 处的字句写在答题纸的对应栏内。


正确答案:

第3题:

阅读以下说明和流程图,将应填入(n)处的字句写在对应栏内。

[说明]

下面的流程图用于计算一个英文句子中最长单词的长度(即单词中字母个数)MAX。假设该英文句子中只含字母、空格和句点“.”,其中句点表示结尾,空格之间连续的字母串称为单词。

[流程图]


正确答案:(1)MAX←0 (2)←L+1 (3)MAX←L (4)≠ (5)L←0
(1)MAX←0 (2)←L+1 (3)MAX←L (4)≠ (5)L←0 解析:本题用到的三个变量及其作用分别为:A,存放输入的一个字符;MAX,存放当前为止最长单词的长度;L,存放当前单同的长度。
(1)使用变量MAX应先赋予初值,由上下文知其初值为0;
(2)读取当前单词时,每读人一个字母,单词长度值L应增1;
(3)当前单词长度L比MAX时,应更新MAX的值;
(4)若当前字符不是句点,应当继续读取字符;
(5)读取下一个单词前,应当重置L的值。

第4题:

阅读下列程序说明和C++程序,把应填入其中(n)处的字句,写在对应栏内。

【说明】

阅读下面几段C++程序回答相应问题。

比较下面两段程序的优缺点。

①for (i=0; i<N; i++ )

{

if (condition)

//DoSomething

else

//DoOtherthing

}

②if (condition) {

for (i =0; i<N; i++ )

//DoSomething

}else {

for (i=0; i <N; i++ )

//DoOtherthing

}


正确答案:程序1优点:程序简洁;缺点:多执行了N-1次逻辑判断并且程序无法循环“流水”作业使得编译器无法对循环进行优化处理降低了效率。 程序2优点:循环的效率高;缺点:程序不简洁。
程序1优点:程序简洁;缺点:多执行了N-1次逻辑判断,并且程序无法循环“流水”作业,使得编译器无法对循环进行优化处理,降低了效率。 程序2优点:循环的效率高;缺点:程序不简洁。

第5题:

阅读以下说明和流程图,将应填入(n)处的字句写在对应栏内。

[说明]

设学生某次考试的成绩按学号顺序逐行存放于某文件中,文件以单行句点“.”为结束符。下面的流程图读取该文件,统计出全部成绩中的最高分max和最低分min。


正确答案:(1) max←a (2) min←a (3) a="." (4) a>max或amax或maxa或max≤a (5) amin或a≤min或min>a或mina
(1) max←a (2) min←a (3) a="." (4) a>max或amax或maxa或max≤a (5) amin或a≤min或min>a或mina 解析:本题用到的三个变量及其作用分别为:a,存放读入的一行数据;max存放最高分;min存放最低分。算法首先读入文件的第一行数据a,若a为文件结束符“.”,则算法提前结束;否则为max和min赋初值a,循环读入文件其余部分,直至文件末尾。循环过程中,当某行数据a大于max时,更新max的值;当某行数据a小于min时,更新min的值。

第6题:

阅读以下说明及Visual Basic程序代码,将应填入(n)处的字句写在对应栏内。

【说明】

以下程序为求行列式X(5,5)的值S。

【Visual Basic代码】

Private Function col ( byval x ( 5,5 ) as integer ) as long

dim fesult as long

dim temp as long

dim I as integer

dim j as integer

dim k as imeger

result = 0

for I = to 5

(1)

for j = 1 to 5

if I+j>6 then

k= ( 1+j ) mod 5

else

k=1

endif

temp=temp*x ( k,j )

(2)

result=(3)

(4)

(5)

End function


正确答案:(1)temp=1 (2) next I (3) result+temp (4) next I (5) col=result
(1)temp=1 (2) next I (3) result+temp (4) next I (5) col=result

第7题:

阅读以下说明和流程图,将应填入(n)处的字句写在对应栏内。

【说明】

已知头指针分别为La和lb的有序单链表,其数据元素都是按值非递减排列。现要归并La和Lb得到单链表Lc,使得Lc中的元素按值非递减排列。程序流程图如下所示:


正确答案:(1)pa->data=pb->data (2)pc->next=pa (3)pc=pb (4)pb=pb->next (5)pc->next=pa?pa:pb
(1)pa->data=pb->data (2)pc->next=pa (3)pc=pb (4)pb=pb->next (5)pc->next=pa?pa:pb 解析:本题考查程序流程图和有序链表的归并。
题目要求我们归并头指针分别为La和Lb的有序单链表,组成一个新的有序单链表 Lc,而Lc又是指向La的。首先,我们来了解一下单链表的结构。单链表中一般有两个域,一个是数据域,用来存放链表中的数据;另一个是指针域,用来存放指向下个结点的指针。其归并的过程应该是先比较链表La和Lb中第一个元素,将较小的从其链表中取出放到k中,再取下一个结点的值去比较,重复这个过程,直到一个链表被全部取完,再将另一个链表剩下的部分连接到Lc后面即可。
下面,我们来看程序流程图的内容。首先是用两个指针变量pa和pb分别指向La和Lb的当前待比较插入的结点,而pc指向Lc表中当前最后一个结点。再下面是一个条件判断语句,其作用是判断链表La和Lb是否为空,如果有一个为空,只要将另一个链表剩下的部分连接到Lc后面,程序应该就可以结束了。
第(1)空是条件判断语句的条件,根据我们上面的分析,再结合流程图下面的内容,我们可以知道,这个条件语句的作用是比较当前待插入的两个值的大小,而指针变量pa和pb分别指向La和Lb的当前待比较插入的结点,因此,此空的答案为 pa->data=pb->data。
第(2)空是在条件为真的情况下执行的语句,如果条件判断为真,应该将pa所指结点连接到pc所指结点后面,因此,pc所指结点的指针域应该存放pa所指结点的地址。所以,此空的答案为pc->next=pa。
第(3)空和第(4)空都是在条件为假的情况下执行的语句,如果条件为假,说明 pb所指结点的值小于pa所指结点的值,应该将pb所指结点连接到pc所指结点后面,图中已经实现这一功能,要我们完成的是在插入后的后继工作。由于pc指向的是Lc表中当前最后一个结点,在插入一个结点后,要修改pc的值。在将pb所指结点插入后,链表中的最后一个结点就是pb所指结点,第(3)空的答案应该为pc=pb。执行完这些功能后,指针pb应该要往后移动,即指向下一个结点,第(4)用来完成这个功能,所以答案为pb=pb->next。
在前面,我们已经讲到如果链表La和Lb有一个为空,只要将另一个链表剩下的部分连接到Lc后面即可。第(5)空就是用来完成这个功能的,但我们不知道具体是哪个链表为空,还需要判断,因此,此空答案为pc->next=pa?pa:pb。

第8题:

●试题六

阅读以下应用说明及Visual Basic部分程序代码,将应填入(n)处的字句写在答题纸的对应栏内。

【说明】

单击窗体上的"测试"(cmdTest)按钮,出现一个输入框,要求输入一串字符,将该字符串中的非字母字符删除后,显示在窗体中的一个文本框(txtShow)中。

【程序代码】

Private Sub cmdTest_Click()

Dim strT1,strT2 As String

Dim strCh As (1)

Dim intL As Integer

Dim intI As Integer

strT1= (2) ("请输入一串字符","字符串输入")

intL= (3)

strT2=″″

For intI=l To intL

strCh=Mid(strT1,intI,1)

If(strCh>"A"And (4) ) Or (strCh>"a" And suCh<"z")Then

strT2=strT2+strCh

End If

Next intI

txtShow.Text= (5)

End sub


正确答案:

●试题六

【答案】(1)String(2)InputBox(3)Len(strT1)(4)strCh<"Z"(5)strT2

【解析】VB中字符和字符串属于同一类型,所以(1)空填"String"。(2)空应填VB的输入对话框函数"InputBox"。根据题意,(3)空是求输入的字符串长度,故用"Len(strTl)"。(4)空处的条件是判断是否是字母字符,所以填"strCh<"Z";删除非字母字符后的结果在strT2中,而题意是要显示在窗体中的文本框(txtShow)中,故(5)空填"strT2"。

 

第9题:

●试题七

阅读以下应用说明及Visual Basic程序代码,将应填入(n)处的字句写在答题纸的对应栏内。

【说明】

已知窗体上有两个名为cmdGene和cmdSort的命令按钮。单击cmdGene按钮时,随机产生10个[1,100]范围内的整数并将它们放在数组intA中;单击cmdSort按钮时,用选择法排序这10个数并输出。

【程序代码】

Dim intA(1 To 10)As Integer

Private Sub cmdGene_Click()

Dim intI As Integer

Randomize

For intI=1 To 10

intA(intI)= (1)

Next intI

End Sub

Private Sub cmdSort_Click()

Dim intI,intJ,intMin,intTemp As Integer

For intI=1 To 9

intMin=intA(intI)

For intJ= (2) To 10

If intA(intJ)<intMin Then

Temp=intA(intJ)

intA(intJ)= (3)

intMin=intTemp

End If

Next intJ

(4)

(5)

For intI=1 To 10

Print Str(intA(intI))+" ";

Next intI

Next IntI

Print

End Sub


正确答案:

●试题七

【答案】(1)1+int(rnd*100)(2)intI+1(3)intMin(4)intA(intI)=intMin(5)Next intI

【解析】根据题意,第一个空应该是产生10个[1100]范围内的随机整数,因此填"1+int(rnd*100)"。

选择排序思想是:第i趟排序开始时,当前有序区和无序区分别为R1..i-1]和Ri..n(1in-1),该趟排序则是从当前无序区中选出关键字最小的记录Rk],将它与无序区的第1个记录Ri]交换,使R1..i]和Ri+1..n]分别变为新的有序区和新的无序区。因为每趟排序均使有序区中增加了一个记录,且有序区中的记录关键字均不大于无序区中记录的关键字,即第i趟排序之后R1..i.keysRi+1..n].keys,所以进行n-l趟排序之后有R1..n-l].keysRn].key。也就是说,经过n-l趟排序之后,整个文件R1..n]递增有序。因此(2)空填"intI+1";If intA(intJ)<intMin Then后的3条语句是实现数intA(intJ)intMin的交换,因此(3)空填"intMin";(4)空是实现最小数与无序区的第1个数交换,因此填"intA(intI)=intMin";(5)空是循环结束语句,填"Next intI"。