设有两个参与人x和y,x有两个纯策略x1和x2,y有两个纯策略y1和y2。当y选择y1和y2时,x选择x1得到的支付分别为x11和x12,选择x2得到的支付分别为x1和x22;当x选择x1和x2时,y选择y1得到的支付分别为y11和y21,选择y2得到的支付分别为y12和y22 (1)试给出相应的博弈矩阵。 (2)这种博弈矩阵的表示是唯一的吗?为什么?

题目
设有两个参与人x和y,x有两个纯策略x1和x2,y有两个纯策略y1和y2。当y选择y1和y2时,x选择x1得到的支付分别为x11和x12,选择x2得到的支付分别为x1和x22;当x选择x1和x2时,y选择y1得到的支付分别为y11和y21,选择y2得到的支付分别为y12和y22 (1)试给出相应的博弈矩阵。 (2)这种博弈矩阵的表示是唯一的吗?为什么?

参考答案和解析
答案:
解析:
(1)如表10-10所示。

(2)不唯一。例如,将表的行与列互换后得到的就是另外一个博弈矩阵。
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

阅读下列函数说明和C代码,填入(n)处。

[说明]

以下C语言程序实现了生成从里到外是连续的自然数排列的回旋矩阵,矩阵形式如下:

7 6 5 16

8 1 4 15

9 2 3 14

10 11 12 13

程序的变量说明如下:

x1:矩阵上边界;

x2:矩阵下边界;

y1:矩阵左边界;

y2:矩阵右边界;

s:数组元素升降标记,s等于1为升,s等于-1为降;

a[]:存放矩阵元素的数组。

仔细阅读C语言程序源码,将(n)处的语句补充完整。(注:每处仅一个语句)

[C程序]

include<stdio.h>

void main ( )

{

const int N=20;

int i=0,j=0,a[N][N],n;

int m,x1,x2,y1,y2,s;

while (1)

{

Printf ("\ninput matrix row N( N>=2): ");

scanf ("%d",&n);

printf ("\n");

if (n>=2)

break;

}

m=n*n;

x1=0; y1=0; x2=n; y2=n;

if(n%2==0)

{j=n-1; y2=n-1; s=1;}

else

{i=n-1; y1=1; s=-1; }

while (1)

{

if (s==1)

{

for (i; i<x2; i++) a[i][j]=m--;

i--;

j--;

(1)

for (j;j>=y1;j--) a[i][j]=m--;

j++;

i--;

y1++;

(2)

}

else

{

for (i;i>=x1;i--)

a[i][j]=m--;

i++;

j++;

(3)

for (j;j<y2;j++)

(4)

(5)

i++;

(6)

S=i;

}

if (m<1) break;

}

for (i=O;i<n; i++)

{

for (j=O;j<n;j++)

printf ("%6d",a[i][j]);

printf ("\n");

}

printf ("\n");

}


正确答案:(1)x2--; (2)s=-1; (3)x1++; (4)a[i][j]=m--; (5)j--; (6)y2--;
(1)x2--; (2)s=-1; (3)x1++; (4)a[i][j]=m--; (5)j--; (6)y2--; 解析:自然数排列的回旋矩阵是一个经典程序设计题目。本题中生成的是一个从里到外是连续的自然数排列的回旋矩阵。仔细阅读代码,能够发现(1)处应该为矩阵下边界递减;(2)处应该为数组元素递减状态,即为降;(3)处应该为矩阵上边界递增;(4)处应该为存放矩阵元素的数组中的数据递减;(5)处应该为数组元素的列序号递减,即j--;(6)矩阵右边界递减。

第2题:

如果一个直线控件在窗体上呈现为一条垂直线,则可以确定的是( )。A.它的Y1、Y2属性的值相等SXB

如果一个直线控件在窗体上呈现为一条垂直线,则可以确定的是( )。

A.它的Y1、Y2属性的值相等

B.它的 X1、X2属性的值相等

C.它的X1、Y1属性的值分别与X2、Y2属性的值相等

D.它的 X1、X2属性的值分别与Y1、Y2属性的值相等


正确答案:B
B。【解析】当直线控件在窗体呈现垂直时,它的x1和X2属性应该相同,因为坐标是从左上角开始算起的。横向为X轴,纵向为Y轴。

第3题:

已知:T,y1,y2……yC;求解:P,x1,x2……xC属于哪种计算类型()。

A、露点压力

B、泡点温度

C、露点温度

D、泡点压力


参考答案:A

第4题:

阅读以下函数说明和Java代码,

[说明]

现要编写一个画矩形的程序,目前有两个画图程序:DP1和DP2,DP1用函数draw_a_line(x1,y1,x2,y2)画一条直线,DP2则用drawline(x1,x2,y1,y2)画一条直线。当实例化矩形时,确定使用DPI还是DP2。

为了适应变化,包括“不同类型的形状”和“不同类型的画图程序”,将抽象部分与实现部分分离,使它们可以独立地变化。这里,“抽象部分”对应“形状”,“实现部分”对应“画图”,与一般的接口(抽象方法)与具体实现不同。这种应用称为Bridge(桥接)模式。图7-1显示了各个类间的关系。

[图7-1]

这样,系统始终只处理3个对象:Shape对象、Drawing对象、DP1或DP2对象。以下是JAvA语言实现,能够正确编译通过。

[Java代码]

//DP1.Java文件

public class DPI{

static public void draw_a_line(double x1,double y1,

double x2,double y2){

//省略具体实现

}

}

//DP2.java文件

public class DP2{

static public void drawline(double x1,double y1,

double x2,double y2){

//省略具体实现

}

}

//Drawing.java文件

(1) public class Drawing{

abstract public void drawLine(double x1,double y1,double x2,double y2);

}

//V1Drawing.java文件

public class V1Drawing extends Drawing{

public void drawLine(double x1,double y1,double x2,double y2){

DP1.draw_a_line(x1,y1,x2,y2);

}

}

//V2Drawing.java文件

public class V2Drawing extends Drawing{

public void drawLine(double x1,double y1,

double x2,double y2){//画一条直线

(2);

}

}

//Shape.java文件

abstract public class Shape{

abstract public void draw();

private (3) dp;

Shape(Drawing dp){

_dp=dp;

}

protected void drawLine(double x1,double y1,

double x2,double y2){

(4);

}

}

//Rectangle.java文件

public class Rectangle extends Shape{

private double_x1,_x2,_y1,_y2;

public Rectangle(Drawing dp,

double x1,double y1,

double x2,double y2){

(5);

_x1=x1;_x2=x2;

_y1=y1;_y2=y2;

}

public void draw(){

//省略具体实现

}

}

(1)


正确答案:abstract
abstract 解析:由类Drawing的drawLine()方法是abstract的知,Drawing要么是接口,要么是抽象类,在此为抽象类,故空(1)应填abstract。

第5题:

若八位二进制数[X1]原=01010110,[Y1]]原=00110100,[X2补=10100011,[Y2]补=11011010,则进行运算[x1]原+[Y1]原,[X2]补+[Y2]补会产生的结果是______。

A.前者下溢,后者上溢

B.两者都上溢

C.两者都不会产生溢出

D.前者上溢,后者下溢


正确答案:D
解析:对于8位二进制数,用原码进行运算时,结果小于-127或者大于+127就发生溢出;用补码运算时,若结果小于-128或者大于+127就溢出。如果是正数超过表示范围,则称“上溢”,负数超出表示范围就称“下溢”。
  对于补码判断是否产生溢出,通常有两种方法。一是采用双符号位,用“11”表示负,“00”表示正。若两个符号位相同,则无溢出,若为“10”则为下溢,为“01”则为上溢。若采用该方法,[X1]+[Y1](正数的原码等于补码)的双符号位由“00”变为“01”,产生了上溢;[x2]+[Y2]的双符号由“11”变为“10”,产生了下溢。另外一种方法是使用单符号位,用最高位向前的进位与次高位向前的进位相异或,如果结果为0表示无溢出,结果为1有溢出。当结果的最高位为0时为下溢,最高位为1时为上溢。

第6题:

阅读以下说明和C++代码,

[说明]

现要编写一个画矩形的程序,目前有两个画图程序:DP1和DP2,DP1用函数draw_a_line(x1,y1,x2,y2)画一条直线,DP2则用drawline(x1,x2,y1,y2)画一条直线。当实例化矩形时,确定使用DP1还是DP2。为了适应变化,包括“不同类型的形状”和“不同类型的画图程序”,将抽象部分与实现部分分离,使它们可以独立地变化。这里,“抽象部分”对应“形状”,“实现部分”对应“画图”,与一般的接口(抽象方法)与具体实现不同。这种应用称为Bridge(桥接)模式。图6-1显示了各个类间的关系。

[图6-1]

这样,系统始终只处理3个对象:Shape对象、Drawingg对象、DP1或DP2对象。以下是C++语言实现,能够正确编译通过。

[C++代码]

class DP1{

public:

static void draw_a_line(double x1,double y1,double x2,double y2){

//省略具体实现

}

};

class DP2{

public:

static void drawline(double x1,double x2,double y1,double y2){

//省略具体实现

}

};

class Drawing{

public:

(1) void drawLine(double x1,double y1,double x2,double y2)=0;

};

class V1Drawing:public Drawing{

public:

void drawLine(double x1,double y1,double x2,double y2){

DP1::draw_a_line(x1,y1,x2,y2);

}

};

class V2Drawing:public Drawing{

public:

void drawLine(double x1,double y1,double x2,double y2){

(2)

}

};

class Shape{

privatc:

(3) dp;

public:

Shape(Drawing*dp);

virtual void draw()=0;

void drawLine(double x1,double y1,double x2,double y2);

};

Shape::Shape(Drawing*dp)

{

_dp=dp;

}

void Shape::drawLine(double x1,double y1,double x2,double y2)

{ //画一条直线

(4);

}

class Rectangle:public Shape{

privatc:

double_x1,_y1,_x2,_y2;

public:

Rectangle(Drawing *dp,double x1,double y1,

double x2,double y2);

void draw();

};

Rectangle::Rectangle(Drawing*dp,double x1,double y1,double x2,double y2)

: (5)

{

_x1=x1;_y1=yl;_x2=x2;_y2=y2;

}

void Rectangle::draw()

{

//省略具体实现

}

(1)


正确答案:virtual
virtual 解析:由函数drawLine()结尾的“=0”易知,空(1)应填virtual。

第7题:

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

【说明】

现要编写一个画矩形的程序,目前有两个画图程序:DP1和DP2,DP1用函数draw_a_line(x1, y1,x2,y2)画一条直线,DF2则用drawline(x1,x2,y1,y2)画一条直线。当实例画矩形时,确定使用DP1还是DP2。为了适应变化,包括“不同类型的形状”和“不同类型的画图程序”,将抽象部分与实现部分分离,使它们可以独立地变化。这里,“抽象部分”对应“形状”,“实现 部分”对应“画图”,与一般的接口(抽象方法)与具体实现不同。这种应用称为Bridge(桥接)模式。图9-7显示了各个类间的关系。

这样,系统始终只处理3个对象:Shape对象、Drawing对象、DP1或DP2对象。以下是 C++语言实现,能够正确编译通过。

【C++代码】

class DP1{

public:

static void draw_a_line(double x1, double y1,double x2, double y2){

//省略具体实现

}

);

class DP2{

public:

static void drawline(double x1, double x2,double y1, double y2){

//省略具体实现

}

};

class Drawing{

public:

(1) void drawLine(double x1,double y1,double x2,double y2)=0;

};

class V1Drawing:public Drawing{

public:

void drawLine(double x1, double y1,double x2, double y2){

DP1::draw_a_line(x1,y1,x2,y2);

}

};

class V2Drawing:public Drawing{

public:

void drawLine(double x1, double y1, double x2, double y2){

(2);

}

};

class Shape{

private:

(3) _dp;

public:

Shape(Drawing *dp);

virtual void draw()=0;

void drawLine(double x1, double y1, double x2, double y2);

};

Shape::Shape(Drawing *dp)

{

_dp = dp;

}

void Shape::drawLine(double x1, double y1, double x2, double y2)

{ //画一条直线

(4);

}

class Rectangle: public Shape{

private:

double _x1,_y1,_x2,_y2;

public:

Rectangle(Drawing *dp, double x1, double y1,

double x2, double y2);

void draw();

};

Rectangle::Rectangle(Drawing *dp, double x1, double y1, double x2, double y2)

:(5)

{

_x1=x1;_y1=y1;_x2=x2;_y2=y2;

}

void Rectangle::draw()

{

//省略具体实现

}


正确答案:(1) virtual (2) DP2::drawline(x1x2y1y2) (3) Drawing (4) _dp->drawLine(x1y1x2y2) (5) Shape(dp)
(1) virtual (2) DP2::drawline(x1,x2,y1,y2) (3) Drawing (4) _dp->drawLine(x1,y1,x2,y2) (5) Shape(dp) 解析:由函数drawLine()结尾的“=0”易知,空(1)应填virtual。
空(2)是调用DP2系统的相应方法,可参照DP1的对应函数的函数体,但要注意参数不完全相同,应填DP2::drawline(x1,x2,y1,y2)。
_dp属性是用来存储Drawing对象的,参照Shape的构造函数可确认这一点,空(3)应填 Drawing*。
Shape类的drawLine方法是通过调用Drawing对应的方法来实现所需要的功能,因此空(4)应填_dp->drawLine(x1,y1,x2,y2)。
空(5)显然是基类构造函数,应填Shape(dp)。

第8题:

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

【说明】

现要编写一个画矩形的程序,目前有两个画图程序:DP1和DP2,DP1用函数draw_a_line(x1,y1,x2,y2)画一条直线,DP2则用drawline(x1,x2,y1,y2)画一条直线。当实例画矩形时,确定使用DP1还是DP2。

为了适应变化,包括“不同类型的形状”和“不同类型的画图程序”,将抽象部分与实现部分分离,使它们可以独立地变化。这里,“抽象部分”对应“形状”,“实现部分”对应“画图”,与一般的接口(抽象方法)与具体实现不同。这种应用称为Bridge(桥接)模式。图9-6显示了各个类间的关系。

这样,系统始终只处理3个对象:Shape对象、Drawing对象、DP1或DP2对象。以下是 Java语言实现,能够正确编译通过。

【Java代码】

//DP1.java文件

public class DP1{

static public void draw_a line(double x1,double y1,

double x2,double y2){

//省略具体实现

}

}

//DP2.java文件

public class DP2{

static public void drawline(double x1,double y1,

double x2,double y2){

//省略具体实现

}

}

//Drawing.java文件

(1) public class Drawing{

abstract public void drawLine(double x1, double y1, double x2, double y2);

}

//V1Drawing.java文件

public class V1Drawing extends Drawing{

public void drawLine(double x1, double y1, double x2, double y2){

DP1.draw_a_line(x1,y1,x2,y2);

}

}

//V2Drawing.java文件

public class V2Drawing extends Drawing{

public void drawLine(double x1,double y1,

double x2, double y2)(//画一条直线

(2);

}

}

//Shape.java文件

abstract public class Shape{

abstract public void draw();

private (3) _dp;

Shape(Drawing dp){

_dp=dp;

}

protected void drawLine(double x1,double y1,

double x2, double y2){

(4);

}

}

//Rectangle.java文件

public class Rectangle extends Shape{

private double_x1,_x2,_y1,_y2;

public Rectangle(Drawing dp,

double x1,double y1,

double x2,double y2){

(5);

_x1=x1;_x2=x2;

_y1=y1;_y2=y2;

}

public void draw(){

//省略具体实现

}

}


正确答案:(1) abstract (2) DP2.drawline(x1x2y1y2) (3) Drawing (4) _dp.drawLine(x1y1x2y2)
(1) abstract (2) DP2.drawline(x1,x2,y1,y2) (3) Drawing (4) _dp.drawLine(x1,y1,x2,y2) 解析:由类Drawing的drawLine()方法是abstract的,因此Drawing要么是接口,要么是抽象类,在此为抽象类,故空(1)应填abstract。
空(2)是调用DP2系统的相应方法,可参照DP1的对应函数的函数体,但要注意参数不完全相同,应填DP2.drawline(x1,x2,y1,y2)。
_dP属性是用来存储Drawing对象的,参照Shape的构造函数可确认这一点,空(3)应填 Drawing。
Shape类的drawLine方法是通过调用Drawing对应的方法来实现所需要的功能,因此空(4)应填_dp.drawLine(x1,y1,x2,y2)。
空(5)显然是基类构造函数,应填super(dp)。
(5) super(dp)

第9题:

程序段如下,当发生Form_Click事件时,窗体上输出的结果是( )。 Option Explicit Private x As Integer Public y As Integer Sub Test() Dim y as integer x=2:y=2 Print"x1=";x;"y1=";y End Sub Private Sub Form_Click() x=1:y=1 Test Print "X2=";x;"y2=";y End Sub

A.x1=2 y1=2 x2=2 y2=1

B.x1=2 y1=2 x2=2 y2=2

C.x1=2 y1=1 x2=2 y2=2

D.x1=2 y1=1 x2=2 y2=1


正确答案:A
解析:本题首先定义了一个窗体级变量x和一个全局变量y。当发生窗体的单击事件后,给窗体级变量x和全局变量y分别赋值1,然后调用Test函数。在该函数中定义了一个局部变量y,在函数中使用的y是局部变量,给窗体级变量x赋值2,给局部变量y赋值2,输出的x和y的值都是2。函数调用返回后,窗体级的变量x的值为2,全局变量y的值依旧为1。

第10题:

(18)如果一个直线控件在窗体上呈现为一条垂直线,则可以确定的是

A)它的Yl、Y2属性的值相等

B)它的X1、X2属性的值相等

C)它的X1、Yl属性的值分别与X2, Y2属性的值相等

D) 它的X1、X2属性的值分别与Y1、Y2属性的值相等


正确答案:B

更多相关问题