未知题型

请编制程序PROG1.ASM,其功能是:对10个无符号字节数据排序(升序),然后剔除第一个数和最后一个数,并按四舍五入原则计算其余8个数据的算术平均值。将剩余的8个数据存入指定的内存区域中,其后存放平均值。
例如:
内存中有:1,5,4,0,7,9,2,6,8,3
结果为:1,2,3,4,5,6,7,8,5
部分程序已给出,其中原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中。运算结果要求从RESULT开始存放,由过程SAVE保存到文件 OUTPUT1.DAT中。
填空BEGIN和END之间已给出的源程序使其完整(空白已用横线标出,每行空白一般只需一条指令,但采用功能相当的多条指令亦可),或删除BEGIN和END之间原有的代码并自行编程来完成要求的功能。
对程序必须进行汇编,并与IO.OBJ链接产生PROG1.EXE执行文件,最终运行程序产生结果(无结果或结果不正确者均不得分)。调试中若发现整个程序中存在错误之处,请加以修改。
试题程序:
EXTRN LOAD:FAR, SAVE:FAR
N EQU 10
DSEG SEGMENT
SOURCE DB N DUP(?)
RESULT DB N-1 DUP(0)
NAME0 DB 'INPUT1. DAT',0
NAME1 DB 'OUTPUT 1.DAT',0
TEMP DW 0
DSEG ENDS
SSEG SEGMENT STACK
DB 256 DUP(?)
SSEG ENDS
CSEG SEGMENT
ASSUME CS: CSEG, SS: SSEG, DS: DSEG, ES: DSEG
START PROC FAR
PUSH DS
XOR AX, AX
PUSH AX
MOV AX, DSEG
MOV DS, AX
MOV ES, AX
LEA DX, SOURCE
LEA SI, NAME0
MOV CX, N
CALL LOAD
;*** BEGIN ***
MOV BX, (1)
GOONI: (2)
LEA SI, SOURCE
GOONJ: MOV AL, [SI]
CMP AL, [SI+1]
JLE NEXT
XCHG AL, [SI+1]
MOV [SI], AL
NEXT: ADD SI, 1
LOOP GOONJ
(3)
JNZ GOONI
CLD
LEA SI, SOURCE
LEA DI, RESULT
MOV CX, (4)
INC SI
LP2: LODSB
CBW
ADD TEMP, AX
STOSB
LP1: LOOP LP2
MOV AX, TEMP
(5)
DIV DL
ADD AH, AH

A.ASM,其功能是:对10个无符号字节数据排序(升序),然后剔除第一个数和最后一个数,并按四舍五入原则计算其余8个数据的算术平均值。将剩余的8个数据存入指定的内存区域中,其后存放平均值。
B.DAT中读入SOURCE开始的内存单元中。运算结果要求从RESULT开始存放,由过程SAVE保存到文件
C.DAT中。
D.OBJ链接产生PROG1.EXE执行文件,最终运行程序产生结果(无结果或结果不正确者均不得分)。调试中若发现整个程序中存在错误之处,请加以修改。
E.DAT',0
【参考答案】

(1)N (2) MOV CX N-1 (3) DEC BX(4) N-2 (5) MOV DL N-2 (6) ADD...

(↓↓↓ 点击下方‘点击查看答案’看完整答案 ↓↓↓)

相关考题

未知题型 在名为Form1的窗体上建立一个名为Text1的文本框,将MultiLine属性设置为True,ScrollBars属性设置为2。同时建立两个名称分别为Cmd1和Cmd2的命令按钮,标题分别为Read和Save(如下图所示)。要求程序运行后,如果单击Read按钮。则读入inl.txt文件中的100个整数,放入二个数组中(数组下界为1),同时在文本框中显示出来;如果单击Save按钮,则计算数组中大于或等于1并且小于400的所有数之和,把求和结果在文本框Text1中显示出来,同时把计算结果存入考生文件夹中的文件out1.txt中。(在prog.bas中的putdata过程可以把结果存入out1.txt文件,考生可以把该模块文件添加到自己的工程中,直接调用此过程)注意:文件必须存放在考生文件夹中,窗体文件名为execise1.frm,工程文件名为execise1.vbp,计算结果存入out1.txt,否则没有成绩。

未知题型 在考生文件夹中有一个工程文件execise2.vbp及窗体文件execise2.frm。在名为Form1的窗体上有一个文本框,名称为Text1:还有两个命令按钮,名称分别为Cmd1和Cmd2,标题分别为“计算”和“保存”,如下图所示。有一个函数过程isprime可以在程序中直接调用,其功能是判断参数a是否为素数,如果是素数,则返回True,否则返回False。编写适当的事件过程,使得在运行时,单击“计算”按钮,则找出大于5000的第1个素数,并显示在Text1中:单击“保存”按钮,则把Text1中的计算结果存入考生文件夹下的out2.txt文件中。注意:考生不得修改isprime函数过程和控件的属性,必须把计算结果通过“保存”按钮存入 out2.txt文件中,否则无成绩。

未知题型 图2-8是DHCP服务器安装中的“添加排除”窗口。参照图2-6和图2-7,为图2-8中配置相关信息。起始IP地址:(3); 结束IP地址:(4)。

未知题型 阅读以下关于DHCP服务器配置的技术说明,根据要求回答问题1~问题5。【说明】某局域网采用基于Windows Server 2003操作系统的DHCP服务器自动分配IP地址,其网络拓扑结构如图2-6所示。DHCP服务器分配的地址范围如图2-7所示。配置Windows Server 2003 DHCP服务器的第一步是,为该服务器分配一个(1)地址。对于DHCP服务组件的安装,可以依次选择“控制面板→添加或删除程序→添加/删除Windows组件”来安装,也可以通过(2)来安装该服务组件。(1) A.动态IP B.静态IP C.虚电路IP D.虚拟IP(2) A.Internet信息服务(IIS) B.域林(Domain Forest) C.服务器角色 D.Active Directory

未知题型 阅读下列说明,回答问题1至问题3。[说明]小张是个体经营者,主要经营各类电子产品。随着业务的发展,他计划创建自己的电子商务网站,为用户展示他所经营的商品信息,提供商品查询和购买功能,并能通过网站完成对用户、商品和订单的管理。小张就建站事宜与某公司进行了接洽,该公司按照开发规范给出了设计方案,其中系统开发的基本过程如下图所示。请按照图中各个分项,填写系统开发的各阶段名称。(1)(2)(3)(4)(5)

未知题型 DSEG SEGMENTBUF DB 1,5,4,0,7,9,2,6L EQU O0111001B 用作逻辑尺RESULT DB 10 DUP(?)DSEG ENDSSSEG SEGMENT STACKDB 256 DUP(0)SSEG ENDSCSEG SEGMENT

未知题型 请补充函数fun(),该函数的功能是:输出一个N×N矩阵,N由键盘输入,矩阵元素的值为随机数,并计算出该矩阵四周边元素的平均值,结果由函数返回。例如:当N=4时:注章:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。试题程序;include<stdio.h>include<conio.h>include<stdlib.h>define N 20double fun(int a[ ][N],int n){int i,j;int k;double s=0.0;double aver=0.0;printf('*****The array*****/n');for(i=0;i<n;i++){for(j=0;j<n;j++){a[i][j]=rand()%10;printf('%4d',a[i][j]);if(【 】)s+=a[i][j];}printf('/n');}k=【 】;aver=【 】;return aver;}main( ){int a[N][N];int n;double S;Clrscr( );printf('*****Input the dimension Of array N*****/n');scanf(“%d”,&n);S=fun(a,n);printf(“***** THE RESULT *****/n”);printf(“The average is %2,3f/n”,S);}

未知题型 阅读以下说明及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:由上述计算过程可以看出,18位身份证号码中可能包含非数字的字母X(代表数字10)。下面的应用程序基于这一算法实现了身份证号码的升位查询:在开发过程中,显示新旧两种身份证号码的文本框(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 StringDim S As Integercode = Textl. Text '提取15位身份证号码If Len(code) < > 15 ThenMsgBox 'ID 号码长度不正确,请检查!'(1)End Ifcode = Left(code, 6) + '19' + (2) (code, 9) '年份升位S=0For 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 SelectText2. Text = code '显示18位身份证号码End Sub

未知题型 阅读以下说明和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;//返回最小值所在内存地址}

未知题型 阅读以下说明和流程图,回答问题,并将解答填入对应栏内。【说明】求解约瑟夫环问题。算法分析:n个士兵围成一圈,给他们依次编号,班长指定从第w个士兵开始报数,报到第s个士兵出列,依次重复下去,直至所有士兵都出列。【流程图】【问题】将流程图中的(1)~(5)处补充完整。

未知题型 阅读以下说明和流程图,将应填入(n)处的字句写在对应栏内。[说明]下面的流程图用于计算一个英文句子中最长单词的长度(即单词中字母个数)MAX。假设该英文句子中只含字母、空格和句点“.”,其中句点表示结尾,空格之间连续的字母串称为单词。[流程图]

未知题型 请在“答题”菜单上选择相应的命令,完成下面的内容:接收并阅读由djks@djks.com发来的E-mail,并按E-mail中的指令完成操作。

未知题型 阅读下列C程序和程序说明,将应填入(n)处的字句写在答题纸的对应栏内。【说明】用克鲁斯卡尔算法求解给定图的最小生成树。include <stdio. h>include <stdlib. h>define MAXN 30typedef struct{ int v1,v2; /*一条边依附的两个顶点*/int weight; /*边上的权值*/}EDGE;typedef struct{ int Vnum; /*图中的顶点数目*/EDGE e[MAXN*(MAXN-1)/2]; /*图中的边*/}Graph;typedef struct node{ /*用链表存储同一个连通分量的顶点*/int v;struct node *next;}Alist;void heapadjust(EDGE data[], int s, int m){ /*将元素序列data[s..m]调整为小顶堆, 堆顶元素(最小元素)为data[s]*/int j;EDGE t;t=data[s]; /*备份元素data[s], 为其找到适当位置后再插入*/for(j=2*s+1; j<=m; j=j*2+1){/*沿值较小的子结点向下筛选*/if(j<m &&(1)) ++j;if(!(t. weight>data[j]. weight)) break;data[s]=data[j];s=j; /*用s记录待插入元素的位置(下标)*/}/*for*/data[s]=t; /*将备份元素插入由s所指出的插入位置*/}/*heapadjust*/int creat_graph(Graph *p) /*输入图中的顶点及边, 返回图中边的数目*/{ int k=0; /*记录图中边的数目*/int n;int v1,v2;int w;printf('vertex number of the graph:');scanf('%d', &n); /*输入图中的顶点数目*/if(n<1) return 0;p->Vnum=n;do{ printf('edge(vertex1,vertex2,weight):');scanf('%d %d %d', &V1, &v2, &w);if(v1>=0 && v1<n && v2>=0 && v2<n){p->e[k]. v1=v1; p->e[k]. v2=v2; p->e[k]. weight=w;k++;}/*if*/}while(!( (2) ));return k; /*返回图中边的数目*/}/*creat_graph*/int kruskal(Graph G, int enumber, int tree[][3]){ /*用kruskal算法求无向连通图G的最小生成树, 图中边所得数目为enumber, *//*数组tree[][3]中存放生成树中边的顶点和边上的权值, 函数返回生成树的代价*/int i, k, m, c=0;int v1, v2;Alist *p, *q, *a[MAXN];for(i=0; i<G.Vnum; ++i){ /*将每个连通分量中的顶点存放在一个单链表中*/a[i]=(Alist*)malloc(sizeof(Alist));if(!a[i]) {printf('/n mernory allocation error!');exit(0);}/*if*/a[i]->v=i; a[i]->next=NULL;}/*for*/for(i=enumber-1; i>=0; --i)/*按照边上的权值建立小顶堆*/heapadjust( (3) );k=G. Vnum; /*k用于计算图中的连通分量数目*/m=enumber-1;i=0;do{v1=G. e[0]. v1; v2=G. e[0]. v2;p=a[v1];while(p && p->v!=v2){ /*判断当前选择的边的顶点是否在一个连通分量中*/q=p; p=p->next;}if(!p){ /*当前边的顶点不在一个连通分量中*/p=q;p->next=a[G. e[0]. v2];&nb

未知题型 在“客人”表中添加如下数据。(2)将客人表的客人ID列隐藏,名字字段移动至最前,设置数据表按照“名字”和“性别”字段列升序排列。(3)将“城市”表的单元格效果设置为“凸起”。“城市”表如图所示。

未知题型 阅读以下说明和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 ) { }}

未知题型 完成下面的程序,使显示结果如下图所示。Private Sub Form_Click()FontSize=18Sample$s='【 】'x=(ScaleWidth-TextWidth(Sample$))/2y=(ScaleHeight-TextHeight(Sample$))/2CurrentX=xCurrentY=y【 】Sample$End Sub

未知题型 在考生文件夹下TEACHER文件夹中创建名为BSP.TXT的文件,并将属性设置为隐藏和存档。

未知题型 阅读以下关于网页制作和网页编程的说明,根据要求回答问题。[说明]某企业制作了一个电子商务网站,图7-10是网站向消费者收集反馈信息的反馈表。用户在填写反馈表时,需要正确地输入自己的相关信息,并且弹出提示信息,否则不能够提交成功。该功能通过调用外部JavaScript脚本checkinput.js文件实现。系统的数据库名为shangwu01,所在服务器IP地址为 123.254.198.67。以下给出的是提交按钮触发过程的部分代码,请根据图7-10所示内容填写下述HTML代码中空缺的部分。

未知题型 下面程序的输出结果是【】。char b[]='ABCD';main(){char b[30];strcpy(&b[0],'GH');strcpy(&am

未知题型 阅读以下说明,回答问题1~7。【说明】在IMail管理器中,选中MailUser邮件主机,然后在它右边的面板中选中'General'选项卡,出现一个邮件配置窗口,如图2-3所示。如果在IMail管理器中,选中User1用户,然后在它右边的面板中选中'General'选项卡,则会出现另外一个邮件配置窗口,如图2-4所示。限制MailUser邮件主机里每个用户的邮箱大小不超过10MB,如何配置?