重要提示: 请勿将账号共享给其他人使用,违者账号将被封禁!
查看《购买须知》>>>
找答案首页 > 全部分类 > 计算机类考试
搜题
网友您好, 请在下方输入框内输入要搜索的题目:
搜题
题目内容 (请给出正确答案)
[主观题]

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

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

[说明]

我国现行使用的公民身份证号码有两种,分别遵循两个国家标准:〖GB 11643-1989〗和〖GB 11643-1999〗。〖CB 11643-1989〗中规定的是15位身份证号码,排列顺序从左至右依次为:六位数字地址码,六位数字出生日期码,三位数字顺序码,其中出生日期码不包含世纪数。〖GB 11643 -1999〗中规定的是18位身份证号码,是特征组合码,它由十七位数字本体码和一位数字校验码组成。排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位校验码。其中,校验码C由本体码按如下过程求得:

(1)计算校验码和S=a18W18+a17W17+…+a2W2,其中i表示18位身份证号,码每一位的序号,从右至左,最左侧为18,最右侧为1;ai表示身份证号码第i位上的号码;wi表示第i位上的权值,其值为2i-1模11的结果;

(2)计算校验码值R,其值为校验和模11的结果;

(3)根据下面对应关系找出校验码C:

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

由上述计算过程可以看出,18位身份证号码中可能包含非数字的字母X(代表数字10)。下面的应用程序基于这一算法实现了身份证号码的升位查询:

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

在开发过程中,显示新旧两种身份证号码的文本框(TextBox)分别名为Text1和Text2,“号码升位”按钮(CommandButton)名为Command1。

代码中使用到的字符串函数及功能说明如下:

(1)Len(s):获取字符串s的长度;

(2)Left(s,1):返回字符串s左端长度为1的子串;

(3)Right(s,1):返回字符串s右端长度为1的子串;

(4)Mid(s,p,1):返回字符串s从第P个字符开始长度为1的子串。

[Visual Basic代码]

’计算18位身份证号码

Private Sub Commandl_Click()

Dim code As String

Dim S As Integer

code = Textl. Text '提取15位身份证号码

If Len(code) < > 15 Then

MsgBox "ID 号码长度不正确,请检查!"

(1)

End If

code = Left(code, 6) + "19" + (2) (code, 9) '年份升位

S=0

For i = 18 To 2 Step -1 '计算校验码和

S = S + Clnf((3)) * (2 ^ (i - 1) Mod11)

Next i

(4) '计算校验码值

Select Case S '确定校验码

Case 0: code = code + "1"

Case 1: code = code + "0"

Case 2: code = code + "X"

Case Else: code = code + CStr((5))

End Select

Text2. Text = code '显示18位身份证号码

End Sub

查看答案
更多“阅读以下说明及Visual Basic程序代码,将应填入(n)处的字句写在对应栏内。 [说明] 我国现行使用的”相关的问题

第1题

阅读以下说明和C语言函数,将应填入(n)处的字句写在对应栏内。【说明】 下面一段程序从给定的数组b中

阅读以下说明和C语言函数,将应填入(n)处的字句写在对应栏内。

【说明】

下面一段程序从给定的数组b中找出值最小的元素,并输出该元素的数组下标、内存地址minaddr以及元素值本身。函数findmin负责在给定的数组中查找最小值,并返回最小值所在的内存地址,函数有三个参数:array是所要处理的数组;size是数组的大小;index负责从函数返回具有最大值的元素在数组中的数组下标。请填充空白,使其成为一个合乎要求的完整程序。

【程序】

//程序开始

include<iostream.h>

int *findmin(int *array, int size, int &index);

void main()

{

/****** 变量定义部分 ***********/

int b[10] = {34, 34, 23, 89, 1, 2, 13, 42, 5, 54};

(1);

int idx;

/******* 寻找最小值 ************/

minaddr = findmin(b, sizeof(b)/sizeof(int), idx);

/******* 输出最小值的有关信息 ************/

cout << "Min value index: "<<idx<<end1

<<"Min value address: "<<minaddr<<end1

<<"Min value: "<<(2)<<end1;

}

/******* 函数findmin的定义部分 ************

int *findmin(int *array, int size, int &index)

{

int min = 0;//max 是当前具有最小值的数组元素下标值

for(int i = 1;(3); i++)

{

if(array[i]<(4))

min = i;

}

(5);

return array + min;//返回最小值所在内存地址

}

点击查看答案

第2题

阅读以下说明和流程图,回答问题,并将解答填入对应栏内。【说明】 求解约瑟夫环问题。算法分析:n个士

阅读以下说明和流程图,回答问题,并将解答填入对应栏内。

【说明】

求解约瑟夫环问题。算法分析:n个士兵围成一圈,给他们依次编号,班长指定从第w个士兵开始报数,报到第s个士兵出列,依次重复下去,直至所有士兵都出列。

【流程图】

【问题】

将流程图中的(1)~(5)处补充完整。

点击查看答案

第3题

阅读以下说明和流程图,将应填入(n)处的字句写在对应栏内。[说明] 下面的流程图用于计算一个英文句

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

[说明]

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

[流程图]

点击查看答案

第4题

阅读以下说明和JAVA2代码,将应填入(n)处的字句写在对应栏内。【说明】 以下程序实现了利用鼠标任意

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

【说明】

以下程序实现了利用鼠标任意移动该圆形的位置,仔细阅读代码和相关注释,将程序补充完整。

【代码6】

import java.awt.*;

import java.awt.event.*;

public class CIUSAMPLE extends Frame. implements MouseMotionListener, MouseListener

{

static CIUSAMPLE frm=new CIUSAMPLE ();

int x=70,y=60,posX=70,posY=60,dx,dy;

public static void main ( String args[])

{

frm.setTitle ("Dragging a circle");

frm.setSize ( 200,150 );

(1)

frm.addMouseMotionListener ( frm );

frm. setVisible ( true );

}

public void mousePressed ( MouseEvent e )

{

(2)

dy=e.getY () -posY;

}

public void mouseDragged ( MouseEvent e )

{

(3)

y=e.getY () -dy;

if ( dx>0 && dx<50 && dy>0 && dy<50 ) //如果指我落在正方形区域内

{

Graphics g=getGraphics ();

(4)

}

}

public void paint ( Graphics g )

{

g.setColor ( Color. pink ); // 设置绘图颜色为粉红

g.fillOval ( x,y,50,50 ); //以基准点为图形的左上角绘出圆形

(5)

posY=y;

}

public void mouseMoved ( MouseEvent e ) { }

public void mouseReleased ( MouseEvent e ) { }

public void mouseEntered ( MouseEvent e ) { }

public void mouseExited ( MouseEvent e ) { }

public void mouseClicked ( MouseEvent e ) { }

}

点击查看答案

第5题

图7-5所示的流程图描述了对8位二进制整数求补的算法。该算法的计算过程如下:从二进制数的低位(最

图7-5所示的流程图描述了对8位二进制整数求补的算法。该算法的计算过程如下:从二进制数的低位(最右位)开始,依次向高位逐位查看,直到首次遇到“1”时,停止查看。然后,对该“1”位左面的更高位(如果有的话),逐位求反,所得的结果就是对原二进制数求补的结果。

例如:对二进制整数10101000求补的结果是01011000。

设8位二进制整数中的各位,从低位到高位,依次存放在整型数组BIT的BIT[1]~BIT[8]

中。例如,二进制整数10101000存放在数组BIT后,就有BIT[1]=0, BIT[2]=0, …, BIT[7]=0, BIT[8]=1。若流程图中存在空操作,则用NOP表示。

流程图中(1)处按“循环变量名:循环初值,增量,循环终值”格式描述。

[解析] 本题考查求补运算。求补运算是对一个数的各二进制位按位求反后再加1。例如:二进制10101000按位求反后得到的二进制是01010111,加1后为01011000。也可以这样来看,原二进制从最右边开始到遇到的第1个1为止都不变,而后面剩下的位按位求反即可。

本题流程图采用的是后一种思路,首先设置一个标志sw的值为0,从最右边一位开始往左循环遍历整个二进制数,到遇到第1个1后将标志位置1。由此可见,循环要进行8次,循环变量值依次从1递增到8。根据题目要求按“循环变量名:循环初值,增量,循环终值”格式描述循环,而循环开始下面一条判断是“BIT[i]=1?”,所以循环变量是i,第1空应填i:1,1,8。

如果当前遍历的二进制位BIT[i]是1,且标志sw为0时,则证明是第1次遇到1,所以直接设置sw为1即可,故第2空应填1→sw。

如果当前遍历的二进制位BIT[i]是1,且标志sw为1时,说明已经不是第1次遇到1了,所以直接设置当前二进制位为0即可,故第3空应填0→BIT[i]。

如果当前遍历的二进制位BIT[i]是0,且标志sw为0时,则证明还没有遇到过一次1,所以该步什么都不用做,故第4空应填NOP。

如果当前遍历的二进制位BIT[i]是0,且标志sw为1时,说明已经遇到过1了,所以该步需将当前的二进制位求反,故第5空应填1→BIT[i]。

点击查看答案

第6题

阅读以下说明和C语言函数,将应填入(n)处的字句写在答题纸的对应栏内。[说明] 求树的宽度,所谓宽度

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

[说明]

求树的宽度,所谓宽度是指在二叉树的各层上,具有结点数最多的那一层的结点总数。本算法是按层次遍历二叉树,采用一个队列q,让根结点入队列,若有左右子树,则左右子树根结点入队列,如此反复,直到队列为空。

[函数]

int Width ( BinTree *T

{

int front=-1, rear=-1; /*队列初始化*/

int flag=0, count=0, p; /*p用于指向树中层的最右边的结点, flag 记录层中结点数的最大值*/

if ( T!=Null)

{

rear++;

(1);

flag=1;

p=rear;

}

while ((2))

{

front++;

T=q [front]];

if (T->lchild!=Null )

{

roar+-+;

(3);

count++;

}

if ( T->rchild!=Null )

{

rear++; q[rear]=T->rchild;

(4);

}

if (front==p ) // 当前层已遍历完毕

{

if((5))

flag=count;

count=0;

p=rear, //p 指向下一层最右边的结点

}

}

return ( flag );

}

点击查看答案

第7题

阅读以下说明及Visual Basic程序代码,高尔夫球应填入(n)处的字句写在对应栏内。[说明] 设某单位Ac

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

[说明]

设某单位Acess数据库中有一张员工信息表,其中记录了员工编号、姓名、性别等基本信息。下面的应用程序利用数据控件(Data)实现了对这张表中记录的增加、删除和修改操作。其运行界面如下:

在开发过程中,数据控件Data1与员工数据表相连接,各文本框、“性别”组合列表框Combo1、“政治面貌”组合列表框Combo2都分别与数据表的相应字段绑定,界面上从左到右各操作按钮分别取名为CmdAdd、CmdDel、CmdUpdate和CmdExit。

[Visual Basic代码]

Private Sub Form_Load( ) ' 加载窗体

Combo1. (1) "男"

Combo1. (1) "女"

Combo2. (1) "党员"

Combo2. (1) "团员"

Combo2. (1) "群众"

End Sub

Private Sub CmdAdd_Cliek( ) '增加记录

Datal. Recordset. AddNew

End Sub

Private Sub CmdDel_Click( ) '删除记录

Datal. Recordset. (2)

Datal. Recordset. MoveNext

End Sub

Private Sub CmdUpdate_Click( ) '修改记录

If Datal. ReadOnly = (3) And Datal. Recordset. Updatable Then

Datal. Recordset. Edit

Datal. Recordset. (4)

Else

MsgBox "数据表不允许修改!"

End If

End Sub

Private Sub CmdExit_Click ( ) '退出程序

Dim ret As Long

ret : MsgBox("真的要退出吗?", vbQuestion + vbYesNo, "退出" )

If (5) Then

Datal. Reeordset. Close

End

End ff

End Sub

点击查看答案

第8题

阅读以下说明及Visual Basic程序代码,将应填入(n)处的字句写在对应栏内。[说明] 某公司的服务器上

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

[说明]

某公司的服务器上为每位员工提供了一定大小的存储空间,用于数据的备份。下面的程序面向公司员工,提供了本地计算机与服务器端之间文件传输的功能。主要操作介绍如下:

(1)连接服务器:员工需要输入用户名和口令才能连接到服务器端,checkUser函数用于检查用户名和口令是否合法,返回真假值。

(2)上传文件:从本地计算机上传文件到服务器。员工可以在本地文件列表中选择一个或多个文件,这些文件通过上传操作被复制到服务器端指定的某个文件夹中;

(3)下载文件:从服务器端下载文件到本地。

在开发过程中,本地驱动器列表框名为Drive1,本地和服务器端目录列表框分别名为Dir1和 Dir2,本地和服务器端文件列表框分别名为File1和File2,界面上有上至下四个按钮分别名为Command1至Command4。

[Visual Basic代码]

Private Sub Drive1_Change()

(1) ’更新目录列表框的路径

End Sub

Private Sub Dir1_Change()

File1.Path=Dir1.Path ’更新文件列表框file1的路径

End Sub

Private Sub Dir2_Change()

File2.Path=Dir2.Path ’更新文件列表框file2的路径

End Sub

’连接服务器

Private Sub Command1_Click()

Dim user,password As String

user=(2) (“请输入用户名:”)

password=(2) (“请输入口令:”)

If check User(user,password)Then ’若用户名和口令正确

Dir2.Path=…… ’打开服务器上某一指定目录

Else: MsgBox“口令错误,请重试!”

End If

End Sub

’上传文件

Private Sub Command2_Click()

Dim fso As new FileSystemObject,f As File,i As Integer

If File1.FileName=""Then ’判断是否已经选中文件

MsgBox“请选择本地的文件!”

Exit Sub

End If

’创建文件系统对象

Set fso=CreateObject(“Scripting.FileSystemObject”)

’上传文件

For i=0 To (3) ’遍历文件列表框File1中的全体文件

If (4) Then’若该文件被选中

Set f=fso. (5) (Dir1.Path & “\” & File1.List(i))

f.Copy Dir2.Path & “\” & File1.List(i),True ’复制文件至服务器端

End If

Next

File2.Refresh

End Sub

’下载文件

Private Sub Command3_Click()

……

End Sub

’退出程序

Private Sub Command4_Click()

End

End Sub

点击查看答案

第9题

阅读以下说明和C程序,将应填入(n)处。[说明] 某种传感器的输出值Ratio依赖于环境温度temp(-40℃≤te

阅读以下说明和C程序,将应填入(n)处。

[说明]

某种传感器的输出值Ratio依赖于环境温度temp(-40℃≤temp≤50℃)。对一组环境温度值(ITEMS个),人们已经测量得到了相应的Ratio值(见表1)。该表粗略地描述了曲线Ratio(temp)。

校正系数K是Ratio的倒数,因此也依赖于环境温度temp。在数据处理中,人们需要用更多的列表值细致地描述曲线K(temp),如表2所示。在表2中,各温度值所对应的K值是对表1进行线性插值再求倒数得到的,具体的计算方法如下:

1.根据temp值,在表1中用二分法查找;

2.若找到相应的温度值,则按相应的Ratio值求倒数得到K值:

3.若没找到相应的温度值,则可确定temp所在的温度区间[Tp1, Tp2],同时获得了相应的Ratio1和Ratio2,再按如下公式计算K值:

Step=(Ratlo1-Ratio2)/(Tp1-Tp2)

K=1.0/(Ratio1+Step*(temp-Tp1))

在程序中,当temp高于50℃或低于-40℃时,设定K=0。

[程序]

include <stdio.h>

typedef struct {

int Temp; /*环境温度*/

double Ratio; /*传感器的输出值*/

}CURVE;

define ITEMS 7

double GetK(int, CURVE*, int);

void main()

{

int Degree;

double k;

CURVE Curve[ITEMS]={ {-40,0.2},{-20,0.60},{-10,0.8},{0,1,0},

{10,1.17},{30,1.50}, {50,1.8} };

printf("环境温度 校正系数\n");

for( Degree= 40; Degree<=50; Degree++){

k=GetK(Degree, Curve, ITEMS);

printf(" %3d %4.2f\n",Degree,k);

}

}

double GetK(int Temp, CURVE *p, int n)

{/*用二分法在n个元素的有序表p中查找与Temp对应的传感器输出值*/

int low,high,m; double Step;

low=0; high=n-1;

if((Temp<p->Temp) ||( Temp>(p+high)->Temp))

return 0.0; /*超出温度范围时返回0.0*/

while (low<=high){

m=(1) ;

if(Temp==(p+m)->Temp)

return (2);

if (Temp<(p+m)->Temp)high=m-1;

else low=(3);

}

p+= high;

Step=((4))/((p+1)->Temp-p->Temp);

return 1.0/(p->Ratio +Step *((5)));

}

点击查看答案

第10题

阅读以下说明和C语言函数,将应填入(n)处。[说明] 函数int find_Max_Min(int a[],int n)的功能是:

阅读以下说明和C语言函数,将应填入(n)处。

[说明]

函数int find_Max_Min(int a[],int n)的功能是:找出n个元素的数组a中的最大元素和最小元素并输出,返回查找过程中元素的比较次数。查找方法如下:比较a[0]和a[n-1],若a[0]大,则交换a[0]和a[n-1]的值:再比较a[1]和a[n-2],若a[1]大,则交换a[1]和a[n-2]的值;以此类推,直到所有的元素都比较完。然后在数组的前半区从前往后找出小元素,在后半区从后往前找出大元素。

[函数]

int find_Max_Min(int a[],int n)

{/*找出n个元素的数组a的最大、最小元素并输出,返回查找过程元素中的比较次数*/

int i,Count=0;

int temp,Maxnum,Minnum;

for(i=0; i<n/2; i++){

Count=Count+1 /*元素比较次数计数*/

if(a[i]>a[(1)])

{/*数组元素交换代码略*/}

}

Maxnum=a[n-1]; Minnum=a[0];

for(i=1;i<n/2+n%2;i++){

Count=(2); /*元素比较次数计数*/

Minnum=(3)? a[i]:Minnum; /*找最小元素*/

Maxnum=(4)?(5):Maxnum; /*找最大元素*/

}

printf("Max=%d\n",Maxnum);

printf("Min=%d\n",Minnum);

return Count;

}

点击查看答案
下载上学吧APP
客服
TOP
重置密码
账号:
旧密码:
新密码:
确认密码:
确认修改
购买搜题卡查看答案
购买前请仔细阅读《购买须知》
请选择支付方式
微信支付
支付宝支付
选择优惠券
优惠券
请选择
点击支付即表示你同意并接受《服务协议》《购买须知》
立即支付
搜题卡使用说明

1. 搜题次数扣减规则:

功能 扣减规则
基础费
(查看答案)
加收费
(AI功能)
文字搜题、查看答案 1/每题 0/每次
语音搜题、查看答案 1/每题 2/每次
单题拍照识别、查看答案 1/每题 2/每次
整页拍照识别、查看答案 1/每题 5/每次

备注:网站、APP、小程序均支持文字搜题、查看答案;语音搜题、单题拍照识别、整页拍照识别仅APP、小程序支持。

2. 使用语音搜索、拍照搜索等AI功能需安装APP(或打开微信小程序)。

3. 搜题卡过期将作废,不支持退款,请在有效期内使用完毕。

请使用微信扫码支付(元)
订单号:
遇到问题请联系在线客服
请不要关闭本页面,支付完成后请点击【支付完成】按钮
遇到问题请联系在线客服
恭喜您,购买搜题卡成功 系统为您生成的账号密码如下:
重要提示: 请勿将账号共享给其他人使用,违者账号将被封禁。
发送账号到微信 保存账号查看答案
怕账号密码记不住?建议关注微信公众号绑定微信,开通微信扫码登录功能
警告:系统检测到您的账号存在安全风险

为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!

- 微信扫码关注上学吧 -
警告:系统检测到您的账号存在安全风险
抱歉,您的账号因涉嫌违反上学吧购买须知被冻结。您可在“上学吧”微信公众号中的“官网服务”-“账号解封申请”申请解封,或联系客服
- 微信扫码关注上学吧 -
请用微信扫码测试
选择优惠券
确认选择
谢谢您的反馈

您认为本题答案有误,我们将认真、仔细核查,如果您知道正确答案,欢迎您来纠错

上学吧找答案