重要提示:请勿将账号共享给其他人使用,违者账号将被封禁!
查看《购买须知》>>>
首页 > 通信工程师
网友您好,请在下方输入框内输入要搜索的题目:
搜题
拍照、语音搜题,请扫码下载APP
扫一扫 下载APP
题目内容 (请给出正确答案)
[单选题]

若对8253写入控制字的值为96H,说明设定8253的()。

A.计数器1工作在方式2且只写入低8位计数初值

B.计数器1工作在方式2且一次写入16位计数初值

C.计数器2工作在方式3且只写入低8位计数初值

D.计数器2工作在方式3且一次写入16位计数初值

答案
查看答案
更多“若对8253写入控制字的值为96H,说明设定8253的()。”相关的问题

第1题

当8253控制字设置为3AH时。CPU将向8253()初值。

A.一次写入8位

B.一次写入16位

C.先写入低8位。再写入高8位

D.上述三种情况均不对

点击查看答案

第2题

如果芯片8253的控制字为0A5H,8253各计数器的工作方式是

A.计数器0工作在模式1

B.计数器0工作在模式2

C.计数器1工作在模式1

D.计数器2按BCD码计数方式工作

E.计数器2工作在模式2

点击查看答案

第3题

已知8253的Cho用作计数器,口地址为40H,计数频率为2MHz。控制字寄存器口地址为43H,计数器回0时输出
信号用作中断请求信号,执行下列程序段后,发出中断请求信号的周期是【 】。

MOV AL,36H

OUT 43H,AL

MOV AL,OFFH

OUT 40H,AL

OUT 40H,AL

点击查看答案

第4题

芯片8253的计数器1工作在模式2,下列正确的控制字是A.51HB.52HC.53HD.54H

芯片8253的计数器1工作在模式2,下列正确的控制字是

A.51H

B.52H

C.53H

D.54H

点击查看答案

第5题

假设8251A中写入的模式字是F3H,则该8251A被设置成

A.同步操作

B.内部对波特率时钟进行64分频

C.字符长度为5位

D.采用偶校验

E.字符长度为8位

点击查看答案

第6题

试题五(共15分)阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。【说明】某网上商品销

试题五(共15分)

阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。

【说明】

某网上商品销售系统的业务流程如下:

(1)将客户的订单记录(订单号,客户ID,商品ID,购买数量)写入订单表;

(2)将库存表(商品ID,库存量)中订购商品的库存量减去该商品的购买数量。针对上述业务流程,完成下列问题:

【问题1】(3分)

假设库存量有大于等于O的约束,可能出现如下情况:当订单记录写入订单表后,

修改库存表时因违法约束而无法执行,应如何处理?(100字以内)

【问题2】(6分)

引入如下伪指令:将商品A的订单记录插入订单表记为I(A);读取商品A的库存量到变量x,记为x=R(A);变量x值写入商品A中的库存量,记为W(A,x)。则客户i的销售业务伪指令序列为:Ii(A),xi=Ri (A),xi=xi-ai,Wi (A,Xi)。其中ai为商品的购买数量。

假设当前库存量足够,不考虑发生修改后库存量小于o的情况。若客户1、客户2同时购买同一种商品时,可能出现的执行序列为:I1(A),I2 (A),X1=R1 (A),X2= R2 (A),x1= x1-a1 , W1 (A, xi), X2 =X2- a2, W2(A,X2)。

(1)此时会出现什么问题(100字以内)?

(2)为了解决上述问题,引入共享锁指令SLock(A)和独占锁指令XLock(A)对数据

A进行加锁,解锁指令Unlock(A)对数据A进行解锁,客户i的加锁指令用SLocki(A)表示,其它类同。插入订单表的操作不需要引入锁指令。请补充上述执行序列,使其满足2PL协议,并使持有锁的时间最短。

【问题3】(6分)

下面是用E-SQL实现的销售业务程序的一部分,请补全空缺处的代码。

SET TRANSACTION ISOLATION LEVEL REPEATABLE READ;

INSERT INTO 订单表VALUES(:OID,:CID,:MID,:qty);

iferror then {ROLLBACK; (a) ;}

UPDATE库存表

SET库存量=库存量-:qty

WHERE (b) ;

iferror then {ROLLBACK; return;}

(c)

点击查看答案

第7题

●试题七 阅读以下说明和C++代码,将解答写入答题纸的对应栏内。 【说明】 请编写一个函数int SeqS

●试题七

阅读以下说明和C++代码,将解答写入答题纸的对应栏内。

【说明】

请编写一个函数int SeqSearch(int list[],int start,int n,int key),该函数从start开始,在大小为n的数组list中查找key值,返回最先找到的key值的位置,如果没有找到则返回-1。请修改程序中画线部分的错误并将不同情况下的输出结果补充完整。

【程序】

文件search.cpp的内容如下:

#include <iostream.h>

int SeqSearch(int list[],int start,int n,int key)

{

for(int i=start;i<=n;i++)// (1)

{

if(list[i]=key) // (2)

{

return i;

}

}

return -1;

}

void main()

{

int A[10];

int key,count=0,pos;

cout<<" Enter a list of 10 integers: ";

for(pos=0;pos<10;pos++)

{

cin>>A; // (3)

}

cout<<"Enter a key: ";

cin>>key;

pos=0;

while((pos=SeqSearch(A,pos,10,key))!=-1)

{

count++;

pos++;

}

cout<<key<<" occurs "<<count<<(count!=1?" times":" time")<<" in the list."<<endl;

}

第一种情况:输入2 3 12 6 8 45 8 33 7 输入key:8

输出: (4)

第二种情况:输入2 3 12 6 8 45 8 33 7 输入key:9

输出: (5)

点击查看答案

第8题

阅读以下说明和C++代码,将解答写入对应栏内。 [说明] 类Stock的定义中有三处错误,分别在代码的

阅读以下说明和C++代码,将解答写入对应栏内。

[说明]

类Stock的定义中有三处错误,分别在代码的第04、06、10行。请补齐下述代码中的空缺(1)~(3),修改错误并给出修改后该行的完整代码,最后完善程序运行后的输出结果。

[C++程序]

01 include<iostream.h>

02 using namespace std;

03 class Stock{

04 protected:

05 Stock(){shares=0; share_val=0.0;Output();}

06 Stock(int n=0,double pr=3.5): (1) {//初始化shares值为n

07 share_val=pr;

08 Output();

09 };

10 void~Stock(){};

11 void Output()(cout<<shares<<';'<<share val<<endl;}

12 public:

13 //成员函数

14 private:

15 //成员变量

16 int shares;

17 double share_val;

18 };

19

20 void main(){ //构造三个Stock对象a,b,C

21 Stock a(1);

22 Stock b;

23 Stock C;Stock();

24 //其他代码省略,且代码无输出

25 }

程序运行后的输出结果为:

1:3.5

(2)

(3)

点击查看答案

第9题

阅读以下说明和C++代码,将解答写入对应栏内。【说明】 请编写一个函数int SeqSearch(int list[],int

阅读以下说明和C++代码,将解答写入对应栏内。

【说明】

请编写一个函数int SeqSearch(int list[],int start,int n,int key),该函数从start开始,在大小为n的数组list中查找key值,返回最先找到的key值的位置,如果没有找到则返回-1。请修改程序中画线部分的错误并将不同情况下的输出结果补充完整。

【程序】

文件search.cpp的内容如下:

include <iostream. h >

int SeqSearch(int list[ ] ,int start,int n,int key)

{

for(int i=start;i<=n;i++) //(1)

{

if(list[i] = key)//(2)

{

return i;

}

}

return -1;

}

void main()

{

int A[10]

int key,count=0,pos;

cout <<" Enter a list of 10 integers:";

for(pos=0;pos<10;pos++)

{

cin >>A; //(3)

}

cout <<" Enter a key; ";

cin >> key;

pos=0;

while((pos = SeqSearch (A, pos, 10, key)) !=-1 )

{

count ++;

pos ++;

}

cout<<key<<"occurs" <<count<< (count!=1?" times":" time") <<" in the list,"

<< endl;

}

第一种情况:输入2 3 12 6 8 45 8 33 7输入key:8

输出:(4)

第二种情况:输入2 3 126 8 45 8 33 7输入k6y:9

输出:(5)

点击查看答案

第10题

试题四(共15 分) 阅读下列说明和C代码,回答问题 1 至问题3,将解答写在答题纸的对应栏内。 【说明】

试题四(共15 分)

阅读下列说明和C代码,回答问题 1 至问题3,将解答写在答题纸的对应栏内。

【说明】

某应用中需要对100000 个整数元素进行排序,每个元素的取值在 0~5 之间。排序算法的基本思想是:对每一个元素 x,确定小于等于 x的元素个数(记为m),将 x放在输出元素序列的第m 个位置。对于元素值重复的情况,依次放入第 m-l、m-2、…个位置。例如,如果元素值小于等于4 的元素个数有 10 个,其中元素值等于 4 的元素个数有3个,则 4 应该在输出元素序列的第10 个位置、第 9 个位置和第8 个位置上。

算法具体的步骤为:

步骤1:统计每个元素值的个数。

步骤2:统计小于等于每个元素值的个数。

步骤3:将输入元素序列中的每个元素放入有序的输出元素序列。

【C代码】

下面是该排序算法的C语言实现。

(1)常量和变量说明

R:常量,定义元素取值范围中的取值个数,如上述应用中 R值应取6i:循环变量

n:待排序元素个数

a:输入数组,长度为n

b:输出数组,长度为n

c:辅助数组,长度为R,其中每个元素表示小于等于下标所对应的元素值的个数。

(2)函数sort

1 void sort(int n,int a[ ],intb[ ]){

2 int c[R],i;

3 for (i=0;i< (1) ;i++){

4 c[i]=0;

5 }

6 for(i=0;i<n;i++){

7 c[a[i]] = (2) ;

8 }

9 for(i=1;i<R;i++){

10 c[i]= (3) ;

11 }

12 for(i=0;i<n;i++){

13 b[c[a[i]]-1]= (4) ;

14 c[a[i]]=c[a[i] ]-1;

15 }

16 }

【问题1】(8 分)

根据说明和C代码,填充 C代码中的空缺(1)~(4)。

【问题2】(4 分)

根据C代码,函数的时间复杂度和空间复杂度分别为 (5) 和 (6) (用 O符号

表示)。

【问题3】(3 分)

根据以上C代码,分析该排序算法是否稳定。若稳定,请简要说明(不超过 100 字);

若不稳定,请修改其中代码使其稳定(给出要修改的行号和修改后的代码)。

从下列的2 道试题(试题五和试题六)中任选 1 道解答。

如果解答的试题数超过 道,则题号小的 道解答有效。

点击查看答案

第11题

阅读下列说明,回答问题 1 和问题 2 ,将解答填入答题纸的对应栏内。 【说明】 某抢红包软件规定发
红包人可以一次抛出多个红包,由多个人来抢。要求每个抢红包的人最多只能抢到同一批次中的一个红包,且存在多个人同时抢同一红包的情况。给定的红包关系模式如下: Red(ID,BatchID,SenderID,Money,ReceiverID) 其中 ID 唯一标识每一个红包; BatchID 为发红包的批次,一个 BatchID 值可以对应多个 ID 值;SenderID 为发红包人的标识;Money 为红包中的钱数; ReceiverID 记录抢到红包的人的标识。 发红包人一次抛出多个红包,即向红包表中插入多条记录,每条记录表示一个红包, 其 ReceiverID 值为空值。 抢某个红包时,需要判定该红包记录的 ReceiverID 值是否为空,不为空时表示该红包己被抢走,不能再抢,为空时抢红包人将自己的标识写入到 ReceiverID 宇段中,即为抢到红包。

【问题 1】 (9分) 引入两个伪指令 a = R(X) 和 W(b,X) 。其中a = R(X) 表示读取当前红包记录的 ReceiverID 字段(记为数据项 X) 到变量 a 中, W(b,X)表示将抢红包人的唯一标识 b 的值写入到当前红包记录的 ReceiverID 字段(数据项 X) 中,变量 a 为空值时才会执行 W(b,X) 操作。假设有多个人同时抢同一红包(即同时对同一记录进行操作),用 ai=Ri (X)和 Wi(bi, X)表示系统依次响应的第i个人的抢红包操作。假设当前数据项 X 为空值,同时有三个人抢同一红包,则 (1)如下的调度执行序列: a1 =R1, a2 = R2(X),W1(b1 ,X),W2(b2,X), a3 = R3(X) 抢到红包的是第几人?并说明理由。 (2)引入共享锁指令 SLocki(X)、独占锁指令XLocki(X)和解锁指令 ULocki(X) ,其中下标 i表示第 i个抢红包人的指令。如下的调度执行序列: SLock1(X),a1 = R1(X),SLock2(X),a2 = R2(X),XLock1(X)...... 是否会产生死锁?并说明理由。 (3)为了保证系统第一个响应的抢红包人为最终抢到红包的人,请使用上述。)中引入的锁指令,对上述(1)中的调度执行序列进行修改,在满足 2PL协议的前提下,给 出一个不产生死锁的完整的调度执行序列。 【问题 2】 (6分) 下面是用 SQL实现的抢红包程序的一部分,请补全空缺处的代码 CREATE PROCEDURE ScrambleRed (IN BatchNo VARCHAR(20) , --红包批号 (IN RecvrNo VARCHAR(20)) 一接收红包者 BEGIN --是否已抢过此批红包 if exists(SELECT * FROM Red WHERE BatchID = BatchNo AND ReceiverID = RecvrNo) thm return -1; end if; ---读取此批派发红包中未领取的红包记录ID DECLARE NonRecvedNo VARCHAR(30); DECLARE NonRecvedNo CURSOR FOR SELECT ID FROM Red WHERE BatchID = BatchNo AND ReceiverID IS NULL; -打开游标 OPEN NonRecvedRed; FETCH NonRecvedRed INTO NonRecvedNo; while not error 一抢红包事务 BEGIN TRANSACTION; //写入红包记录 UPDATE RED STE RECDIVER ID =RecvrNo WHERE ID = nonRECVED AND(a) //执行状态判定 If<修改的记录数>= 1 THEN COMMIT; (b); Return 1; Else ROLLBACK; End if; (c); End while --关闭游标 CLOSE NonRecved RD Return 0; END

点击查看答案
下载APP
关注公众号
TOP
重置密码
账号:
旧密码:
新密码:
确认密码:
确认修改
购买搜题卡查看答案 购买前请仔细阅读《购买须知》
请选择支付方式
  • 微信支付
  • 支付宝支付
点击支付即表示同意并接受了《服务协议》《购买须知》
立即支付 系统将自动为您注册账号
已付款,但不能查看答案,请点这里登录即可>>>
请使用微信扫码支付(元)

订单号:

遇到问题请联系在线客服

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