●试题八阅读以下说明及Visual Basic部分程序代码,将应填入(n)处的字句写在答题纸的对应栏内。【说明】本程序是一个可进行数制转换的应用程序,图1所示是其运行界面。txtDec为TextBox控件名,Lb

题目

●试题八

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

【说明】

本程序是一个可进行数制转换的应用程序,图1所示是其运行界面。txtDec为TextBox控件名,Lblkes为转换结果labe1控件名。

【程序代码】

Option Explicit

Private Function convert(pintDec As Intege,pintS As Integer)As String

Dim intCt As Integer,intR As Integer

Dim strCov As String,strRes As String

intR=pintDec Mod pintS

Do While (1)

strCov=strCov & Str(intR)

(2)

intR=pintDec Mod pintS

Loop

For intCt= (3) To 1 Step-1

strRes=strRes & Mid(strCov,intCt,1)

Next intCt

convert=strRes

End Function

Private Sub cmdQuit_Click()′退出

Unload Me

End Sub

Private Sub optBin_Click()′二进制

lblRes.Caption="转换结果:"& (4)

End Sub

Private Sub optHex_Click()′十六进制

lblRes.Caption="转换结果:"& (5)

End Sub

Private Sub optOct_Click()′八进制

lblRes.Caption="转换结果:"&Oct(Val(txtDe

C.Text))

End Sub

参考答案和解析
正确答案:
●试题八【答案】(1)pintDec>0(2)pintDec=pintDec\pintS(3)len(strCov)(4)convert(val(txtDec.Text),2)(5)Hex(Val(txtDec.Text))【解析】VB中,十六进制转换和八进制转换都有相应的函数,分别是Hex()和Oct(),而二进制转换没有,故程序中用了一个自定义函数convert(pintDec,pintS),功能是将十进制数pintDec转换成pintS进制数,convert函数中用除pintS求余法进行数制转换,所以答案如下所示。
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

阅读以下说明和流程图,将应填入(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。

第2题:

阅读以下说明及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

第3题:

●试题七

阅读以下应用说明及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"。

 

第4题:

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

【说明】

在窗体上设计两个文本框和两个标签,标签上显示:“摄氏温度:”和“华氏温度:”,文本框一个用于输入摄氏温度数,一个用于输出对应的华氏温度。摄氏温度与华氏温度的转换公式为:c=(5/9)×(f-32)

要求:对输入的摄氏温度数有检查功能,以拒绝接收非数字字符。运行界面如图所示。

【Visual Basic代码】

Private Sub Commandl_Click ()

Text1 = ""

Text2 = ""

Text1.Enabled = True

Text2.Enabled = True

Text1.SetFocus

End Sub

Private Sub Command2 Click ()

End

End Sub

Private Sub Form. Load ()

Text1 = ""

Text2 = ""

Text1.Enabled = False

Text2.Enabled = False

End Sub

Private Sub Textl_Change ()

Text2.Text = (1)

End Sub

Private Sub Textl_KeyPress (KeyAscii As (2) )

If (3) Then

If Chr ( KeyAscii ) < "0" Or (4) Then

(5)

End If

End If

End Sub


正确答案:(1)5 * ( Val ( Text1.Text ) -32 )/9 (2) Integer (3) KeyAscii>8 (4) Chr(KeyAscii)>"9" (5) KeyAscii=0
(1)5 * ( Val ( Text1.Text ) -32 )/9 (2) Integer (3) KeyAscii>8 (4) Chr(KeyAscii)>"9" (5) KeyAscii=0

第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)处的字句写在对应栏内。

[说明]

本程序求3~100之间的所有素数(质数)并统计个数;同时将这些素数从小到大依次写入顺序文件E: \dataout.txt;素数的个数显示在窗体Form1上。

[Visual Basic 代码]

Private Sub Command1_ Click ( )

Dim count as integer, flag as Boolean

Dim t1 as Integer, t2 as Integer

(1)

Count=0

For t1=3 to 100

Flag=Tree

For t2=2 to Int( Sqr ( t1 ) )

If (2) Then flag=False

Next t2

(3)

count=(4)

write 1, t1

End if

Next t1

(5)

Close 1

End Sub


正确答案:(1) Open "e:\dataout.txt" For Output as #1 (2) t1 mod t2=0 (3) If t2>Int (sqr(t1))Then (4) count +1 (5) Form1.Print "素数个数"; count
(1) Open "e:\dataout.txt" For Output as #1 (2) t1 mod t2=0 (3) If t2>Int (sqr(t1))Then (4) count +1 (5) Form1.Print "素数个数"; count

第7题:

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

[程序5.1说明]

下列程序运行时,当单击窗体后,从键盘输入一个字符,判断该字符是字母字符、数字字符还是其他字符,并做相应的显示。窗体上无任何控件,并禁用Ase和Chr函数,Select Case语句中禁用枚举值。

[Visual Basic代码]

Private Sub Form. Load ()

Dim x As String*1

X=(1) (“请输入单个字符”,“字符”)

Select Case UCase ( (2) )

Case (3)。

Print X+“是字母字符”

Case (4)

Print X+ “是数字字符”

Case Else

Print X+“是其他字符”

End Select

[程序5.2说明]

在窗体上画一个名称为Timer1的计时器和一个名称为Labe11的标签。当运行程序后,将在标签中显示当前时间的数字时钟(包括时:分:秒)。

[Visual Basic代码]

Private Sub Fom_Load ()

Timer1.Interval=1000

EndSub

Private Sub Timer1_ timer() (5)

EndSub


正确答案:(1)InputBox (2)X (3)“A” To “Z” (4)“0”To“9” (5)Labe11.Caption=Time
(1)InputBox (2)X (3)“A” To “Z” (4)“0”To“9” (5)Labe11.Caption=Time

第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题:

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

【说明】

下列流程图(如图4所示)用泰勒(Taylor)展开式

sinx=x-x3/3!+x5/5!-x7/7!+…+(-1)n×x2n+1/(2n+1)!+…

【流程图】

计算并打印sinx的近似值。其中用ε(>0)表示误差要求。


正确答案:(1)x*x (2)x->t (3)│t│:ε (4)s+2->s (5)(-1) * t* x2/(s* (s-1))
(1)x*x (2)x->t (3)│t│:ε (4)s+2->s (5)(-1) * t* x2/(s* (s-1)) 解析:该题的关键是搞清楚几个变量的含义。很显然变量t是用来保存多项式各项的值,变量s和变量x2的作用是什么呢?从流程图的功能上看,需要计算11、3!、5!,……,又从变量s的初值置为1可知,变量s主要用来计算这此数的阶乘的,但没有其他变量用于整数自增,这样就以判断s用来存储奇数的,即s值依次为1、3、5,……。但x2的功能还不明确,现在可以不用管它。
(2)空的作用是给t赋初值,即给它多项式的第一项,因此应填写“x->t”。(3)空处需填写循环条件,显然当t的绝对值小于ε(>0)就表示已经达到误差要求,因此(3)空应填入“│t│:ε”。由变量s的功能可知,(4)空应当实现变量s的增加,因此(4)空应填入“s+2->s”。 (5)空应当是求多项式下一项的值,根据多项式连续两项的关系可知,当前一项为t时,后一项的值为(-1)*t*x*x/(s*(s-1))。但这样的话,每次循环都需要计算一次x*x,计算效率受到影响,联想到变量x2还没用,这时就可以判断x2就是用来存储x*x的值,使得每次循环者少进行一次乘法运算。因此(1)空处应填入“x*x”,(5)空处应填入“(-1)*t*x2/(s*(s-1))”。

第10题:

阅读下面的说明,回答问题1~问题4,将解答填入答题纸对应的解答栏内。

[说明]

阅读以下说明,回答问题1~问题4,将解答填入答题纸对应的解答栏内。

windows Server 2003是一个多任务多用户的操作系统,能够以集中或分布的方式实现各种应用服务器角色,是目前应用比较广的操作系统之一。

Windows内置许多应用服务功能,将下表中(1)~(5)处空缺的服务器名称填写在答题纸对应的解答栏内。

(1)


正确答案:域名(DNS)服务器
域名(DNS)服务器

更多相关问题