一起答
主观

●试题八

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

【说明】

该应用程序是用来修改文本框中的字体属性,其运行窗口如图4所示。

窗口由1个标签(Labell)、1个文本框(txtPassage)和4个选择框(chkFont,chkltalic,chkSize,chkColor)组成。程序运行后,用户在文本框内输入一段文字,然后按需要单击各选择框,用以改变文本的字体、字型、颜色及大小。

文本框的Mulitine属性已经设为True。当不选择"黑体"时,文字应是"宋体"。当不选择"大小16"时,字号为9。当不选择"紫色"时,字色为黑色。当不选择"斜体"时,文字采用正常字型。

【程序代码】

Private Sub chkFont Click()

If (1) Then

txtPassage.FontName="黑体"

Else

txtPassage.FontName="宋体"

End If

End Sub

Private Sub (2) ()

If chkColor.Value=1 Then

txtPassage.ForeColor=QBColor (13) 

Else

txtPassage.ForeColor=QBColor(0)

End If

End Sub

Private Sub chkltalic_Click()

If chkltalic.

Value=1 Then

txtPassage.FontI talic=  (3) 

Else

txtPassage.FontItalic= (4) 

End If

End Sub

Private Sub chkSize_Click()

If (5) Then

txtPassage.Font.Size=16

Else

txtPassage.Font.Size=9

End If

End Sub

试题出自试卷《2011年程序员考试考前密卷(五)-下午试题》
参考答案
查看试卷详情
相关试题
  1. ●试题七

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

    【说明】

    下面的程序的功能是利用实现Runnable接口的方法来创建线程,并利用它来执行响应的一些操作。最后使得m的执行结果:100,如图3。

    注意:请勿改动main()主方法和其他已有的语句内容,仅在下划线处填入适当的语句。

    class ClassName (1) Runnable{

    int n;

     (2) {

    try{

    Threa

       D.sleep(2000);

    n=100;

    }catch( (3) e){}

    }

    public static void main(String[]args){

    try{

    ClassName a=new ClassName();

     (4) 

    thread1. (5) ();

    thread1.join();

    int m=A.n;

    System.out.println("m="+m);

    }catch( (3) e){}

    }

    }

  2. ●试题八

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

    【说明】

    该应用程序是用来修改文本框中的字体属性,其运行窗口如图4所示。

    窗口由1个标签(Labell)、1个文本框(txtPassage)和4个选择框(chkFont,chkltalic,chkSize,chkColor)组成。程序运行后,用户在文本框内输入一段文字,然后按需要单击各选择框,用以改变文本的字体、字型、颜色及大小。

    文本框的Mulitine属性已经设为True。当不选择"黑体"时,文字应是"宋体"。当不选择"大小16"时,字号为9。当不选择"紫色"时,字色为黑色。当不选择"斜体"时,文字采用正常字型。

    【程序代码】

    Private Sub chkFont Click()

    If (1) Then

    txtPassage.FontName="黑体"

    Else

    txtPassage.FontName="宋体"

    End If

    End Sub

    Private Sub (2) ()

    If chkColor.Value=1 Then

    txtPassage.ForeColor=QBColor (13) 

    Else

    txtPassage.ForeColor=QBColor(0)

    End If

    End Sub

    Private Sub chkltalic_Click()

    If chkltalic.

    Value=1 Then

    txtPassage.FontI talic=  (3) 

    Else

    txtPassage.FontItalic= (4) 

    End If

    End Sub

    Private Sub chkSize_Click()

    If (5) Then

    txtPassage.Font.Size=16

    Else

    txtPassage.Font.Size=9

    End If

    End Sub

  3. ●试题六

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

    【说明】

    设计一个类模板Sample用于对一个有序数组采用二分法查找元素下标。

    【C++程序】

    #include

    #define Max 100∥最多元素个数

    template

    class Sample

    {

    T A[Max]:∥存放有序数序

    int n:∥实际元素个数

    public

    Sample(){}∥默认构造函数

    Sample(T a[],int i);∥初始化构造函数

    int seek(T c);

    void disp()

    {

    for(int i=0;i

    cout<[i]<<"";

    cout<

    }

    };

    template

    Sample::Sample(T a[],int i)

    {

    n=i;

    for(intj=0;j

     (1) ;

    }

    template

    int Sample::seek(T c)

    {

    int low=0,high=n-1,mid;

    while( (2) )

    {

    mid=(low+high)/2;

    if( (3) )

    return mid;

    else if( (4) )

    low=mid+l;

    else

     (5) ;

    }

    return-1;

    }

    void main()

    {

    char a[]="acegkmpwxz";

    Samples(a,1。);

    cout<<"元素序列:";s.disp();

    cout<<"元素′g′的下标:"<

    }

  4. ●试题五

    阅读以下应用说明、属性设置及Visual Basic程序代码,将应填入(n)处在字句写在答题纸的对应栏内。

    【说明】

    本应用程序的运行窗口如图2所示。

    只要用户单击"闪烁"按钮,文字"欢迎光临"就会以0.3秒消失、0.3秒显示反复进行闪烁;单击"停止"按钮时,闪烁停止,恢复图示的初态。

    在开发过程中,需要设置的属性如表1所示。

    在开发过程中,需要编写的程序代码如下:

    【程序】

    Private Sub CmdF_Click()

    Timer1. (3) =True

    Labe1.Visible=False

    End Sub

    Private Sub Timer1_Timer()

     (4) =not Label.Visible

    End Sub

    Private Sub CmdT_Click()

    Timer1.Enabled= (5) 

    Labe1.Visible=true

    End Sub

  5. ●试题四

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

    【说明】

    将一正整数序列{K1,K2,…,K9}重新排列成一个新的序列,新序列中,比K1小的数都在K1的前面(左面),比K1大的数都在K1的后面(右面),最后调用writeDat()函数的新序列输出到文件out.dat中。

    在程序中已给出了10个序列,每个序列有9个正整数,并存入数组a[10][9]中,分别求出这10个新序列。

    例:序列 {6,8,9,1,2,5,4,7,3}

    经重排后成为{3,4,5,2,1,6,8,9,7}

    【函数】

    #include

    #include

    void jsValue(int a[10][9])

    {int i,j,k,n,temp;

    int b[9];

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

    {temp=a[i][0];

    k=8;n=0;

    for(j=8;j=0;j--)

    {if(temp[i][j]) (1) =a[i][j];

    if(temp>a[i][j]) (2) =a[i][j];

    if(temp=a[i][j]) (3) =temp;

    }

    for(j=0;j<9;j++)a[i][j]=b[j];

    }

    }

    void main()

    {

    int a[10][9]={{6,8,9,1,2,5,4,7,3},{3,5,8,9,1,2,6,4,7},

    {8,2,1,9,3,5,4,6,7},{3,5,1,2,9,8,6,7,4},

    {4,7,8,9,1,2,5,3,6},{4,7,3,5,1,2,6,8,9},

    {9,1,3,5,8,6,2,4,7},{2,6,1,9,8,3,5,7,4},

    {5,3,7,9,1,8,2,6,4},{7,1,3,2,5,8,9,4,6}

    };

    int i,j;

     (4) ;

    for(i=0;i<10;i++){

    for(j=0;j<9;j++){

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

    if( (5) )printf(",");

    }

    printf("\n");

    }

    getch();

    }

  6. ●试题三

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

    【说明】

    函数DelA_InsB(LinkedList La,LinkedList Lb,int key1,int key2,int len)的功能是:将线性表A中关键码为key1的结点开始的len个结点,按原顺序移至线性表B中关键码为key2的结点之前,若移动成功,则返回0;否则返回-1。线性表的存储结构为带头结点的单链表,La为表A的头指针,Lb为表B的头指针。单链表结点的类型定义为

    typedef struct node {

    int key;

    struct node *next;

    }*LinkedList;

    【函数】

    int DelA_InsB(LinkedList La,LinkdeList Lb,int key1,int key2,int len)

    {LinkedList p,q,s,prep,pres;

    int k;

    if(!La->next||!Lb->next||len<=0)return-1;

    p=La->next;prep=La;

    while(p & & p->key != key1){/*查找表A中键值为key1的结点*/

    prep=p;p=p->next;

    }

    if(!p)return -1;/*表A中不存在键值为key1的结点*/

    q=p;k=1;

    while(q &&  (1) ){/*在表A中找出待删除的len个结点*/

     (2) ;k++;

    }

    if(!q)return -1;/*表A中不存在要被删除的len个结点*/

    s=Lb->next; (3) ;

    while(s && s->key !=key2){/*查找表B中键值为key2的结点*/

    pres=s;s=s->next;

    }

    if(!s)return -1;/*表B中不存在键值为key2的结点*/

     (4) =q->next;/*将表A中的len个结点删除*/

    q->next= (5) ;

    pres->next=p;/*将len个结点移至表B*/

    return 0;

    }

  7. ●试题一

    阅读下列说明和流程图,将应填入(n)处的语句写在答题纸的对应栏内。

    【说明】

    下列流程图用于从数组K中找出一切满足:K(I)+K(J)=M的元素对(K(I),K(J))(1≤I≤J≤N)。假定数组K中的N个不同的整数已按从小到大的顺序排列,M是给定的常数。

    【流程图】

    此流程图1中,比较"K(I)+K(J)∶M"最少执行次数约为 (5) 。

    图1

  8. ●试题二

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

    【说明】

    函数print(BinTreeNode*t;DateType &x)的功能是在二叉树中查找值为x的结点,并打印该结点所有祖先结点。在此算法中,假设值为x的结点不多于一个。此算法采用后序的非递归遍历形式。因为退栈时需要区分右子树。函数中使用栈ST保存结点指针ptr以及标志tag,Top是栈顶指针。

    【函数】

    void print(BinTreeNode*t;DateType&x){

    stack ST;int i,top;top=0;∥置空栈

    while(t!=NULL&&t->data!=x‖top!=0)

    {while(t!=NULL&&t->data!=x)

    {

    ∥寻找值为x的结点

     (1) ;

    ST[top].ptr=t;

    ST[top].tag=0;

     (2) ;

    }

    if(t!=Null&&t->data==x){∥找到值为x的结点

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

    printf("%d",ST[top].ptr->data);}

    else{

    while( (4) )

    top--;

    if(top>0)

    {

    ST[top].tag=1;

       (5) ;

    }

    }

    }