在九宫格棋盘上,两位选手轮流在棋盘上摆各自的棋子(每次一枚),谁先取得三子一线的结果就取胜。设程序方MAX的棋子用(×)表示,对手MIN的棋子用(○)表示,MAX先走。静态估计函数f(p)规定如下:若p对任何一方来说都不是获胜的格局,则f(p)=(所有空格都放上MAX的棋子之后,MAX的三子成线(行、列、对角)的总-(所有空格都放上MIN的棋子之后,MIN的三子成线(行、列、对角)的总数)。当×在中央位置,○在中上位置时,则可得f(p)=()A、1B、2C、4D、6

题目

在九宫格棋盘上,两位选手轮流在棋盘上摆各自的棋子(每次一枚),谁先取得三子一线的结果就取胜。设程序方MAX的棋子用(×)表示,对手MIN的棋子用(○)表示,MAX先走。静态估计函数f(p)规定如下:若p对任何一方来说都不是获胜的格局,则f(p)=(所有空格都放上MAX的棋子之后,MAX的三子成线(行、列、对角)的总-(所有空格都放上MIN的棋子之后,MIN的三子成线(行、列、对角)的总数)。当×在中央位置,○在中上位置时,则可得f(p)=()

  • A、1
  • B、2
  • C、4
  • D、6

相似考题
更多“在九宫格棋盘上,两位选手轮流在棋盘上摆各自的棋子(每次一枚),谁先取得三子一线的结果就取胜。设程序方MAX的棋子用(×)表示,对手MIN的棋子用(○)表示,MAX先走。静态估计函数f(p)规定如下:若p对任何一方来说都不是获胜的格局,则f(p)=(所有空格都放上MAX的棋子之后,MAX的三子成线(行、列、对角)的总-(所有空格都放上MIN的棋子之后,MIN的三子成线(行、列、对角)的总数)。当×在中央位置,○在中上位置时,则可得f(p)=()A、1B、2C、4D、6”相关问题
  • 第1题:

    下列给定程序中,函数fun()的功能是:在字符串str中找出ASCII码值最大的字符,将其放在第一个位置上,并将该字符前的原字符向后顺序移动。例如,调用fun()函数之前给字符串输入ABCDeFGH,调用后字符串中的内容为 eABCDFGH。

    请改正程序中的错误,使它能得出正确的结果。

    注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。

    试题程序:

    include<stdio.h>

    /***************found************/

    fun(char *p)

    { char max, *q;int i=0;

    max=p[i];

    while (p[i]!=0)

    {if (max<p[i])

    {

    /***************found************/

    p = q +i;max=p[i];

    }

    i++;

    }

    /***************found************/

    while (q<p)

    {*q=*(q-1);

    q--;

    }

    p[0]=max;

    }

    main()

    { char str[80];

    printf("Enter a string: "); gets(str);

    printf("\nThe original string: ");

    puts(str);

    fun(str);

    printf("\nThe string after moving: ");

    puts(str); printf("\n\n");

    }


    正确答案:(1)错误:fun(char*p) 正确:void fun(char*p) (2) 错误:p=q+i; 正确:q=p+i; (3) 错误:while(qp) 正确:while(q>p)
    (1)错误:fun(char*p) 正确:void fun(char*p) (2) 错误:p=q+i; 正确:q=p+i; (3) 错误:while(qp) 正确:while(q>p) 解析:本题解答需要3个步骤:
    (1) 找到字符串中ASCII码值最大的字符,并保存。
    (2) 将该字符复制,并将该字符前面的字符串顺次后移。
    (3) 将ASCII码值最大的字符赋给字符串的第1个字符。找到ASCII码值最大的字符可以通过定义一个字符max,该字符初始时等于字符串的第1个字符,若字符串的下一个字符大于max,则将下一个字符赋给max,如此循环到字符尾,即可得到 ASCII码值最大的字符,同时令指针q指向最大字符。之后对最大字符前面的子串顺次后移,可采用while语句实现。
    此题需要熟练掌握和灵活应用C语言的字符与整型变量的关系以及字符串操作。

  • 第2题:

    论述题2:以下是某“象棋中走马事件”应用程序的走马规则,请按要求回答问题

    以下是中国象棋中走马事件中的走马原则:

    1)如果落点在棋盘外,则不移动棋子。

    2)如果落点与起点不构成日字型,则不移动棋子。

    3)如果落点处有己方棋子,则不移动棋子。

    4)如果在落点方向的邻近交叉点有棋子(绊马腿),则不移动棋子。

    5)如果不属于(1)~(4)条,且落点处无棋子,则移动棋子。

    6)如果不属于(1)~(4)条,且落点处为对方棋子(非老将),则移动棋子并除去对方棋子。

    7)如果不属于(1)~(4)条,且落点处为对方老将,则移动棋子,并提示战胜对方,

    游戏结束。

    (1)画出该应用程序的因果图。

    (2对该软件进行基于因果图的方法设计测试用例。


    正确答案:问题1: 解答: 第一步从中国象棋中走马事件中的走马原则的描述中明确原因和结果。 原因: 1 落点在棋盘上。 2 落点与起点构成日字。 3 落点处无己方棋子。 4 落点方向的邻近交叉点无棋子。 5 落点处无棋子。 6 落点处为对方棋子(非老将)。 7 落点处为对方老将。 结果: 21.不移动棋子。 22.移动棋子。 23.移动棋子并除去对方棋子。 24.移动棋子并提示战胜对方结束游戏。 第二步根据上面分析的原因和结果结合题目中二者的关系建立因果图。 其因果图如图17-3所示图中结点11是导出结果的进一步原因。 第三步标记约束。 由于4种结果不能同时发生所以在因果图上标记O(惟一)约束。由于原因5、6、7不能同时发生所以在因果图上标出E(异)约束。 问题2: 解答: 根据上面的因果图建立对应的判定表。 在该应用程序中原因有7个一个完整的判定表应有27(上标)=128种情况。由于篇幅的限制且考虑到5、 6、7原因只与中间结果11有关所以这里将完整的判定表拆分为两个子表如表17-12和表17-13所示。对于结果22、23、24中间结果是原因因此在表17-13中将11作为原因。 由表17-12可知当结点11为1时结果21为0。由于结果21、22、23、24受到O约束的限制不能同时为0所以在表17-13中的的2列是不能出现的情况;同样受到O约束的还有8、12、14和16列;由于E约束第7、8、11到16列也是不可能出现的情况。在表中用灰框表示。 最后根据判定表设计测试用例。如表17-13所示判定表中没有被划去的每一列就是一个测试用例。
    问题1: 解答: 第一步,从中国象棋中走马事件中的走马原则的描述中,明确原因和结果。 原因: 1 落点在棋盘上。 2 落点与起点构成日字。 3 落点处无己方棋子。 4 落点方向的邻近交叉点无棋子。 5 落点处无棋子。 6 落点处为对方棋子(非老将)。 7 落点处为对方老将。 结果: 21.不移动棋子。 22.移动棋子。 23.移动棋子,并除去对方棋子。 24.移动棋子,并提示战胜对方,结束游戏。 第二步,根据上面分析的原因和结果,结合题目中二者的关系,建立因果图。 其因果图如图17-3所示,图中,结点11是导出结果的进一步原因。 第三步,标记约束。 由于4种结果不能同时发生,所以在因果图上标记O(惟一)约束。由于原因5、6、7不能同时发生,所以在因果图上标出E(异)约束。 问题2: 解答: 根据上面的因果图,建立对应的判定表。 在该应用程序中,原因有7个,一个完整的判定表应有27(上标)=128种情况。由于篇幅的限制,且考虑到5、 6、7原因只与中间结果11有关,所以这里将完整的判定表拆分为两个子表,如表17-12和表17-13所示。对于结果22、23、24,中间结果是原因,因此在表17-13中,将11作为原因。 由表17-12可知,当结点11为1时,结果21为0。由于结果21、22、23、24受到O约束的限制,不能同时为0,所以在表17-13中的的2列是不能出现的情况;同样受到O约束的还有8、12、14和16列;由于E约束,第7、8、11到16列也是不可能出现的情况。在表中用灰框表示。 最后根据判定表设计测试用例。如表17-13所示,判定表中没有被划去的每一列就是一个测试用例。 解析:首先分析走马规则,找出所有的原因以及所有可能的结果,结合题目中找出二者的联系,按照因果图的画法规则,画出因果图。然后按照基于因果图的方法设计测试用例。

  • 第3题:

    阅读下列说明,回答问题1至问题3。

    【说明】

    因果图方法的思路是:从用自然语言书写的程序规格说明描述中找出因(输入条件)和果(输出或程序状态的改变),通过因果图转换为判定表。

    分析中国象棋中走马的实际情况(下面未注明的均指的是对马的说明),马走日字型(邻近交叉点无棋子),遇到对方棋子可以吃掉,遇到本方棋子不能落到该位置。

    应用中可能有多种输入条件,在什么情况下可采用因果图法设计测试用例?

    根据上述说明,利用因果图法,下面列出走棋出现的情况和结果,找出哪些是正确的输入条件,哪些是正确的输出结果,请把相应的字母编号填入表中。 A.落点在棋盘上; B.落点与起点构成日字;

    C.移动棋子; D.落点处为对方棋子:

    E.落点处为自己方棋子;F.移动棋子,并除去对方棋子;G.落点方向的邻近交叉点无棋子;H.不移动棋子;I.落点处无棋子。

    下图画出中国象棋中走马的因果图,请把问题2中列出的输入条件和输出结果的字母编号填入到空白框中相应的位置。

    请帮忙给出每个问题的正确答案和分析,谢谢!


    问题 1 答案解析:应用的输出结果依赖于各种输入条件的组合或各种输入条件之间有某种相互制约关系。
    应用的输出结果依赖于各种输入条件的组合或各种输入条件之间有某种相互制约关系。

    问题 2 答案解析:



    问题 3 答案解析:1.(11)(12)(13)分别填入结果A、B、G不计顺序 2.(14)中填写E 3.(15)(22)中分别填写IC;(16)(23)中分别填写DF 或者(15)(22)中分别填写DF;(16)(23)中分别填写IC 4.(21)中填写H
    1.(11)(12)(13)分别填入结果A、B、G,不计顺序 2.(14)中填写E 3.(15)(22)中分别填写I,C;(16)(23)中分别填写D,F 或者(15)(22)中分别填写D,F;(16)(23)中分别填写I,C 4.(21)中填写H

  • 第4题:

    今有甲、乙、丙三堆棋子共98枚。先从甲堆中分棋子给另外两堆,使两堆数各增加一倍,再把乙堆棋子照这样分配一次,最后把丙堆棋子也这样分配,结果甲堆棋子数是丙堆棋数的4/5,乙堆棋子数是丙堆棋子数的22/15。求三堆中原来最多一堆的棋子是多少?( )

    A.16

    B.30

    C.52

    D.64


    正确答案:C
    最终结果丙堆的棋子数是:98÷(1+4/5+22/15)=30(枚)
    ,因此,最终结果甲堆棋子数是:30×4/5=24(枚)
    乙堆棋子数是:30×22/15=44(枚)
    倒推到乙堆棋子分配完毕时,甲堆应有棋子24÷2=12(枚),乙堆应有棋子44÷2=22(枚),故丙堆应有棋子98-(12+22)=64(枚)。再倒推到甲堆棋子分配完毕时,甲堆应有棋子12÷2—6(枚),丙堆应有棋子64÷2=32(枚),故乙堆应有棋子98-(6+32)=60(枚)。倒推到开始状态时乙堆应有棋子60÷2=30(枚)棋子,丙堆应有32÷2=16(枚)棋子,故甲堆应有98一(30+16)一52(枚)棋子。故三堆中原来棋子最多的是甲堆,它有棋子52枚。因此,本题正确答案为C。

  • 第5题:

    设(X,Y)的联合分布函数为F(x,y)=则P(max{X,y}>1)=_______.


    答案:
    解析:
    由Fx(x)=F(x,+∞)=得X~E(2),同理Y~E(3),且X,Y独立.P(max{X,Y}>1)=P(X>1Y>1)=1-P(X≤1,Y≤1)=1-P(X≤1)P(Y≤1)

  • 第6题:

    小华与爸爸下围棋,其中有一行棋子个数为18,小华最后落下的那颗棋在这行从左向右数 刚好排第13,爸爸最后落下的那颗棋在这行从右向左数刚好排第16。那么小华和爸爸最 后各自落下的棋子之间有多少颗棋子?( )


    A. 8
    B. 9
    C. 10
    D. 11

    答案:B
    解析:
    从左向右,小华最后落下的那颗棋子排第13,则这颗棋右面还有18 —13 = 5(颗);从右向左数,爸爸最后落下的那颗棋子刚好排第16,说明这颗棋的左面还有18—16 = 2(颗);除去这7颗棋子,还剩18—5 — 2 = 11(颗),那么小华和爸爸最后各自落下的棋子之间有11一2 = 9(颗),因此B项正确。

  • 第7题:

    一个棋子在棋盘上可能有几口气?


    正确答案:一个棋子在棋盘上可能中间有4口,边上有3口,角上有2口气。

  • 第8题:

    一着棋走了以后,不得再予更改。落子生根,以()为准。

    • A、手碰到棋子
    • B、棋子碰到棋盘
    • C、手离开棋子
    • D、对方走下一步棋

    正确答案:C

  • 第9题:

    下列关于行棋的说法正确的是()

    • A、每一步棋都只能用同一只手来走
    • B、同时触摸双方棋子或无法确定先触摸何方棋子的处理方法与先触摸对方的棋子,后触摸己方的棋子的处理方法相同
    • C、摆正棋子不须事先征得对方同意,不以摸子论处
    • D、在同一棋局中五次走出不合规则的着法,为输棋

    正确答案:A

  • 第10题:

    单选题
    要把对方的棋子从棋盘上拿掉,就要紧住对方棋子所有的()。
    A

    线

    B

    C

    格子


    正确答案: B
    解析: 暂无解析

  • 第11题:

    单选题
    一着棋走了以后,不得再予更改。落子生根,以()为准。
    A

    手碰到棋子

    B

    棋子碰到棋盘

    C

    手离开棋子

    D

    对方走下一步棋


    正确答案: B
    解析: 暂无解析

  • 第12题:

    单选题
    在九宫格棋盘上,两位选手轮流在棋盘上摆各自的棋子(每次一枚),谁先取得三子一线的结果就取胜。问第一步的最好着法是把棋子下在()
    A

    左上位置

    B

    中上位置

    C

    中央位置

    D

    中左位置


    正确答案: D
    解析: 暂无解析

  • 第13题:

    已有函数max(a,b),为了使函数指针变量p指向函数max,则下面选项中赋值方法正确的是( )。

    A.p=max

    B.*p=max

    C.p=max(a,b)

    D.*p=max(a,b)


    正确答案:A

  • 第14题:

    fun函数的功能是首先对a所指的N行N列的矩阵找出各行中最大的数,再求这N个最大值中最小的那个数作为函数值返回,请填空。#include <stdio.h>#define N 100int fun(int(*a)[N]){ int row,col,max,min; for(row=0;row<N;row++) { for(max=a[row][0],col=1;col<N;col++) if() max=a[row][col]; if(row==0) min=max; else if() min=max; } return min;}


    正确答案:max<a[row][col],max<min
    本题中的第一空要求判断出每一行中的最大数,应该填写条件max<a[row] [col],第二空要求从N个最大值中找出最小的数,应填入条件max<min。

  • 第15题:

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

    【说明】

    输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。

    【函数】

    main ( )

    {

    int number[10];

    input (number);

    max min (number);

    output (number);

    }

    input (number)

    int number[10];

    {int i;

    for ( i=0;i<9;i++ )

    scanf ( "%d,",&number[i] );

    scanf ( "%d",&number[9] );

    }

    max_min ( array )

    int array[10];

    {int *max,*min,k,1;

    int *p,*arr_end;

    arr end=(1);

    max=min=array;

    for ( p=(2);p<arr_end;p++ )

    if((3)) max=p;

    else if ( *p<*min ) min=p;

    (4);

    l=*min;

    (5);array[0]=1;1=*p;

    *p=array[9];array[9]=k;k=*p;

    return;

    }

    output ( array )

    int array[10];

    { int *p;

    for ( p=array;p<array+9;p++ )

    printf ( "%d,",*p );

    printf ( "%d\n",array[9] );

    }


    正确答案:(1)array+10 (2) array+1 (3) *p>*max (4) k=*max (5) *p=array[0]
    (1)array+10 (2) array+1 (3) *p>*max (4) k=*max (5) *p=array[0]

  • 第16题:

    对于一循环应力,以σmin表示最小应力,σmax表示最大应力,则此循环应力的静力成分σm为()。

    A:σmmin
    B:σm=1/2(σminmax)
    C:σm=1/2(σmaxmin)
    D:σmmax

    答案:B
    解析:

  • 第17题:

    一堆棋子中,黑棋子的数量是白棋子的3倍,从这堆棋子中每次取出黑棋子5颗,
    白棋子3颗,等白棋子取完时,黑棋子还剩20颗,请问这堆棋子共有多少?

    A: 44颗
    B: 60颗
    C: 72颗
    D: 80颗

    答案:B
    解析:
    若每次取白棋子3颗,黑棋子3x3=9颗,则同时取完。现在每次少取9-5:4颗.
    则取了20+4=5次,共有棋子(5+3)x5+20=60颗。

  • 第18题:

    【说明】因果图方法的思路是:从用自然语言书写的程序规格说明描述中找出因(输入条件)和果(输出或程序状态的改变),通过因果图转换为判定表。分析中国象棋中走马的实际情况(下面未注明的均指的是对马的说明),马走日字型(邻近交叉点无棋子),遇到对方棋子可以吃掉,遇到本方棋子不能落到该位置。10、【问题1】应用中可能有多种输入条件,在什么情况下可采用因果图法设计测试用例?11、【问题2】根据上述说明,利用因果图法,下面列出走棋出现的情况和结果,找出哪些是正确的输入条件,哪些是正确的输出结果,请把相应的字母编号填入表中。A.落点在棋盘上;B.落点与起点构成日字;C.移动棋子;D.落点处为对方棋子:E.落点处为自己方棋子;F.移动棋子,并除去对方棋子;G.落点方向的邻近交叉点无棋子;H.不移动棋子;I.落点处无棋子。



    12、【问题3】下图画出中国象棋中走马的因果图,请把问题2中列出的输入条件和输出结果的字母编号填入到空白框中相应的位置。



    答案:
    解析:
    10、[解析]应用的输出结果依赖于各种输入条件的组合或各种输入条件之间有某种相互制约关系。11、[解析]考查因果图划分输入条件与输出条件的方法。



    12、【问题3】下图画出中国象棋中走马的因果图,请把问题2中列出的输入条件和输出结果的字母编号填入到空白框中相应的位置。

  • 第19题:

    要把对方的棋子从棋盘上拿掉,就要紧住对方棋子所有的()。

    • A、线
    • B、气
    • C、格子

    正确答案:B

  • 第20题:

    在九宫格棋盘上,两位选手轮流在棋盘上摆各自的棋子(每次一枚),谁先取得三子一线的结果就取胜。问第一步的最好着法是把棋子下在()

    • A、左上位置
    • B、中上位置
    • C、中央位置
    • D、中左位置

    正确答案:C

  • 第21题:

    单选题
    下列关于触摸棋子的说法中不正确的是()。
    A

    行棋方触摸己方至少一个棋子,必须走动所触摸的第一个可以走动的棋子

    B

    行棋方触摸对方至少一个棋子,必须吃掉所触摸的第一个可以被吃掉的棋子

    C

    如一方的兵升变,则当所选择的升变棋子触及升变格时,即为升变棋子选定而不能再更换

    D

    如果行棋方所触摸的棋子不能走动或吃掉,判处行棋方犯规一次


    正确答案: A
    解析: 暂无解析

  • 第22题:

    单选题
    下列关于行棋的说法正确的是()
    A

    每一步棋都只能用同一只手来走

    B

    同时触摸双方棋子或无法确定先触摸何方棋子的处理方法与先触摸对方的棋子,后触摸己方的棋子的处理方法相同

    C

    摆正棋子不须事先征得对方同意,不以摸子论处

    D

    在同一棋局中五次走出不合规则的着法,为输棋


    正确答案: A
    解析: 暂无解析

  • 第23题:

    单选题
    在九宫格棋盘上,两位选手轮流在棋盘上摆各自的棋子(每次一枚),谁先取得三子一线的结果就取胜。设程序方MAX的棋子用(×)表示,对手MIN的棋子用(○)表示,MAX先走。静态估计函数f(p)规定如下:若p对任何一方来说都不是获胜的格局,则f(p)=(所有空格都放上MAX的棋子之后,MAX的三子成线(行、列、对角)的总-(所有空格都放上MIN的棋子之后,MIN的三子成线(行、列、对角)的总数)。当×在中央位置,○在中上位置时,则可得f(p)=()
    A

    1

    B

    2

    C

    4

    D

    6


    正确答案: B
    解析: 暂无解析

  • 第24题:

    多选题
    极小极大搜索方法中,关于f(p)取值下列说法正确的是()
    A

    一般规定有利于MAX的势态,f(p)取正值。

    B

    有利于MIN的势态,f(p)取负值。

    C

    势均力敌的势态,f(p)取0值。

    D

    若f(p)=+∞,则表示MAX赢,若f(p)=-∞,则表示MIN赢。


    正确答案: B,A
    解析: 暂无解析