• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    1997年度高級程序員級下午試卷

    發布: 2007-5-26 13:59 | 作者: 未知 | 來源: 互聯網 | 查看: 29次 | 進入軟件測試論壇討論

    領測軟件測試網 試題一
    閱讀以下說明和流程圖,回答問題1至問題4,將解答寫在答卷的對應欄內。
    [說明]
    某公司將其生產的商品通過若干個銷售點進行銷售。銷售點在收到商品后的規定時間內把貨款匯給公司。
    流程圖描述了該公司發貨、收款、催款的處理過程。其中部分文件和單據的格式如下:
    商品文件:商品代號,商品名稱,單價
    銷售點文件:銷售點代號,銷售點名稱,地址
    發貨單:發貨日期,銷售點代號,商品代號,數量,金額
    收款單:收款日期,銷售點代號,商品代號,數量,金額,該商品的發貨日期
    處理1~3把當天的發貨單合并到發貨文件。處理4~6把當天的收款單合并到收款文件。處理7在發貨文件中當天已收款的記錄上加上已收款標記。處理8和處理9在月末執行一次,主要用于輸出月發貨報、催款通知單、月收款報告。
    [問題1]
    詳細寫出流程圖中商品文件和銷售點文件對處理1的作用。
    [問題2]
    說明處理8為何要寫發貨文件。
    [問題3]
    說明處理9除制作月收款報告外還對收款文件做什么操作。
    [問題4]
    為了提高處理效率,流程圖需作何改動。























    試題二
    閱讀以下說明和流程圖,回答問題1至問題3,將解答寫在答卷的對應欄內。
    [說明]
    本流程圖用來實現一組正整數的加權舍位平衡。已知正整數組
    A(a1,a2,…,an)

    滿足條件a1= (n>3),F將數組A中的每個數舍P位(P為正整數)后,得到另一正整數數組
    B(b1,b2,…,bn)
    它滿足如下條件:
    1、 b1是a1舍P位后四舍五入所得,即b1=INT(a1/10p0.5)

    2、 b1 =

    3、 bi=INT(ai/10P)+ei(i=2,3,…,n), 其中ei取值為0或1,當ei=1時,稱ei是第i項數據的進位

    4、 ei(i=2,3,……,n)之值根據余數MOD(ai,10P)乖上權fi(fi>0)后的數值大小來決定(其算法見流程圖),權fi存放在數組F中。
    其中INT是取整數函數,MOD是余數函數。例如正整數78965舍P=3位,則
    INT(78965/103)=78
    MOD(78965,103)=965
    [問題1]
    填充流程圖中①~④ ,把解答寫在答卷紙的相應位置上。
    [問題2]
    若 N=5,P=1,A=(1586,985,26,247,328)
    F=(1,1,1,1,1)
    則數組B的值是多少?
    [問題3]
    若N=3,P=1,A=(41,16,25),F=(1,0,0),則數組B的值是多少?
























    試題三
    閱讀以下說明和流程圖,回答問題1至問題3,將解答寫在答卷的對應欄內。
    [說明]
    下面給出的是某房產管理系統的一套分層數據流圖。其功能描述如下:
    (1) 系統隨時根據住房送來的入信單更新信戶基本信息文件;
    (2) 每月初系統根據物業管理委員會提供的月附加費(例如清潔費、保安費、大樓管理費等—)表和房租調整表,計算每家住戶的月租費(包括月附加費),向住戶發出交費通知單。住戶交費時,系統輸入交費憑證,核對后輸出收據給住戶;
    (3) 系統定期向物業管理委員會提供住房分配表和交費情況表;
    (4) 住戶因分戶或換房,在更新住戶基本信息文件的同時,系統應立即對這些住戶做月租費計算,以了結分戶或換房前的房租。
    假定題中提供的頂層圖是正確的,請回答下列問題:
    [問題1]
    指出哪張圖中的哪些文件可不必畫出。
    [問題2]
    指出在哪些圖中遺漏了哪些數據流;卮饡r請用如下形式之一:
    1) ××圖中遺漏了××加工(或文件)流向××加工(或文件)的××數據流;
    2) ××圖中加工××遺漏了輸入(或輸出)數據流××。
    [問題3]
    指出加工2圖中加工2.3能檢查出哪些不合格交費憑證。

    [流程圖]

    頂層圖









    試題四
    在COMET型計算機上可以使用試卷上所附的CASL匯編語言。閱讀下列程序說明和CASL程序,將應填入__(n)__處的字句,寫在答卷的對應欄內。
    [程序說明]
    本子程序將一個非負二進整數翻譯成五位十進整數字符。
    進入子程序時,在GR0中給出被翻譯的非負二進整數,在GR2中給出存放五位十進整數數字字符的起始地址。
    十進制數字字符用ASCII碼表示。當結果小于五位時,左邊無空白符替換;當二進整數為零時,在(GR2)+4中存放0的ASCII碼。
    數字字符0至9的ASCII碼是48至57,空白符的ASCII碼是32。
    [程序]

    START
    LEA GR1,0
    LEA GR3,32
    L1 ____(1)____
    JPZ L2
    ST GR3,0,GR2
    LEA GR2,1,GR2
    LEA GR1,1,GR1
    JNZ L1
    L2 ___(2)___
    L3 ___(3)___
    JMI L4
    SUB GR0,SN0,GR1
    LEA GR3,1,GR3
    ___(4)___
    L4 ST GR3,0,GR2
    LEA GR2,1,GR2
    LEA GR1,1,GR1
    ___(5)___
    JNZ L2
    RET
    SON NC 10000
    DC 1000
    DC 100
    DC 10
    DC 1
    END




    試題五
    閱讀以下程序說明和FORTRAN程序,將應填入__(n)__處的字句,寫在答卷的對應欄內。
    [程序說明]
    對稱矩陣通常只需存儲其下三角部分,例如,下列對稱矩陣

    可用一維數組(1,2,3,4,5,6,7,8,9,10)存儲其下三角部分。N階對稱矩陣下三角部分的元素個數為(N*N+N)/2。
    本子程序用來計算N階對稱矩陣A的平方B,B也是一個N階對稱矩陣。程序中X,Y是分別存入A,B下三角部分的一維數組。
    [程序]

    SUBROUTINE P(X,Y,N)
    INTEGER X(N*N+N)/2,Y(N*N+N)/2),S
    M=1
    DO 10 JJ=__(1)__
    DO 10 II =__(2)__
    I=II
    J=JJ
    L=__(3)__
    S=0
    DO 30 K=1,N
    S=S+X(I)*X(J)
    IF(____(4)____)THEN
    I=I+L
    ELSE
    I=I+1
    ENDIF
    IF(____(5)____)THEN
    J=J+L
    ELSE
    J=J+1
    ENDIF
    L=L-1
    30 CONTINUE
    Y(M)-S
    M=M+1
    10 CONTINUE
    END

    試題六
    閱讀以下程序說明和C程序,將應填入__(n)__ 處的字句,寫在答卷的對應欄內。
    [程序說明]
    某系統由n個部件組成,這些部件被物理地分成若干個分離的部件組。同一組內的兩件部件i和j,它們或直接相連,或間接相連(部件i和部件j間接相連是指在這兩件部件之間有一個部件相連序列,其中部件i和j分別與這相連序列中的某個部件直接相連)。系統的n個部件被統一編號為0,1,…,n-1。本程序輸入所有直接相連的部件號對,分別求出系統各分離部件組中的部件號并輸出。
    程序根據輸入的直接相連的兩件部件號,建立n個鏈表,其中第i個鏈表的首指針為s
    ,其結點是與部件i直接相連的所有部件號。
    程序依次處理各鏈表。在處理s鏈表中,用top工作鏈表重新構造s鏈表,使s鏈表對應系統中的一個部件組,其中結點按部件號從小到大連結。

    [程序]

    # include
    #define N 100
    typeef struct node{
    int data;
    struct node *link;
    } NODE;
    NODE*s[N];
    int i,j,n,t;
    NODE *q,*p,*x,*y,*top;
    main()
    { printf(“Enter number of parts.”);
    scanf(“%d”,&n);
    for(i=0;ibr> printf(“Enter pairs./n”);
    white (scanf(“%d%d”,&i,&j)= =2)
    { /*輸入相連部件對,生成相連部件結點鏈表*/
    p=(NODE *)malloc(sizeof(NODE));
    p->data=j; p->link=s; s=p;
    p=(NODE *)malloc(sizeof(NODE));
    P->data=i; p->link=s[j]; s[j];=p;
    }
    for(i=0;ibr> for(top=s,____(1)____;top!=NULL;)
    { /*將第i鏈表移入top工作鏈表,并順序處理工作鏈表的各結點*/
    q=top;____(2)____;
    if(s[j=q->data]!=NULL)
    { /將j鏈表也移入工作鏈表*/
    for(p=s[j];p->link !=NULL;p=p->link);
    p->link=top; top=s[j];____(3)____;
    }
    /*在重新生成的第i鏈表中尋找當前結點的插入點*/
    for(y=s;____(4)____;x=y,y=y->link);
    if(y!=NULL && y ->data= =q->data)
    free(q);/*因重新生成的第i鏈表已有當前結點,當前結點刪除* /
    else { /* 當前結點插入重新生成的i鏈表*/
    __-__(5)____;
    if(y= =s) s=q;
    else x->link=q;
    }
    }
    for(i=0;ibr> { /*輸出結果*/
    if (s= =NULL)continue;
    for(p=s;p!=NULL;)
    { printf(“\t%d”,p->data);
    q=p->link; free(p); p=q;
    }
    printf(“\n”);
    }
    }

    試題七
    閱讀以下程序說明和FORTRAN程序,將應填入__(n)__處的字句,寫在答卷的對應欄內。
    [程序說明]
    本子程序實現地圖的著鈀。在地圖上,一個國家所著的顏色必須與所有相鄰的國家所著的顏色不同,F已證明,僅需四種不同的顏色就能解決地圖的著鈀
    若地圖上有N個國家,分別用1至N編號。子程序中用數組INDEX(N,2)和BORDER(M)存放N個國家的相鄰情況。INDEX(I,1)和INDEX(I,2)分別表示與第I國相鄰的國家編號在數組BORDER中的起始位置和終止位置,即這些鄰國的編號存放在BORDER(INDEX(I,1))至BORDER(INDEX(I,2))中。例如,對應于圖1所示的地圖,數級INDEX和BORDER具有如下值:



    INDEX=



    BORDER-(2,3,4,5,1,3,1,2,4,5,1,3,5,1,3,4)


    子程序中分別用1,2,3,4代表四種不同顏色,著色結果存放在數組COLOR中,即數組元素COLOR(I)的值為第I個國家所著的顏色。
    子程序采用試控法找解。首先從第I個國家著第一種顏色開始,順序為各個國家尋找著色方案。對第I個國家,當為它找到一種未被它的相鄰國家著色的顏色時,就用該顏色對此國家著色,并準備處理下一國家;當不能為它找到一個未被它的相鄰國家著色的顏色時,就回溯——即改變第I-1個國家的著色方案。直至最終為全部國家找到著色方案。

    [程序]

    SUBROUTINE P(INDEX,BORDER,COLOR,N,M)
    INTEGER INDEX(N,2),BORDER(M),COLOR(N)
    DO 10 I=1,N
    COLOR(I)=0
    I=1
    IF(__(1)__)THEN
    K=COLOR(I)+1
    IF(__(2)__)THEN
    J=INDEX(I,1)
    IF(J.LE.INDEX(I,2))THEN
    IF(__(3)__)THEN
    J=J+1
    GOTO 20
    ELSE
    K=K+1
    ____(4)____
    ENDIF
    ___-(5)____
    I=I+1
    GOTO 40
    ENDIF
    COLOR9I)=0
    _____(6)_____
    GOTO 40
    ENDIF
    IF(I.EQ.0)THEN
    WRITE(*,*)’NO SOLUTION’
    ENDIF
    END

    試題八
    閱讀以下程序說明和C程序,將應填入__(n)__處的字句,寫在答卷的對應欄內。
    [程序說明]
    一個相連的區域被不規則地分割成n個不同的小區域;每個小區域與若干其它小區域相鄰接,F用cn種不同顏色為該區域著色,要求每個小區域著同一種顏色,相鄰小區域著不同顏色。
    設小區域被順序編號為0,1,…,n-1。每個小區域與其它小區域的鄰接關系用兩維數組bordering表示,元素bordering[j]表示i號小區域與j 號小區域之間的鄰接關系:

    0 j小區域與i小區域不鄰接
    bordering[j]=
    1 j小區域與i小區域相鄰接

    程序中,把計算結果存入于兩維數組colored中,顏色編號為0,1,…,cn-1,元素colored[coler][j]的含義是

    0 j小區域不用顏色color著色
    colored[color][j]=
    1 j小區域用顏色color著色

    函數colorcountry(bordering,colored,n,cn)根據所給的小區域鄰接關系數組bordering、小區域個數n 、顏色數cn,將找到的著色方案記錄在數組colored中。函數采用試探法找解。首先從第一個小區域著第一種顏色開始順序為各小區域找著色方案。對某個小區域,當為它找到一種未被它的相鄰小區域著色的顏色時,就用該顏色對該小區域著色,并準備處理下一個小區域。當不能為某個小區域找到一個未被它的相鄰小區域著色的顏色時,就回溯。如最終為全部小區域找到著色方案,函數返回1;否則,函數返回0。
    程序假定小區域個數不超過20,顏色數為4。

    [程序]

    #include
    #define n 20
    #define CN 4
    int colorcountry(int bordering[][N], int colored[][N], int n,int cn)
    { int color,used,i,c;
    for(color=0;colorbr> for(i=0;ibr> c =0; /*從第1個小區域開始*/
    color =0; /*從著第1種顏色開始試控*/
    while(cbr> { /*還未對全部小區域著色時循環*/
    while(___(1)___)/*順序對每種顏色作試探*/
    {/*檢查當前顏色是否已被某相鄰小區域著色*/
    for (i=0, used=0; !used && ibr> if(____(2)____)used=1;
    if(!used)break; /*當前顏色未被相鄰小區域著色*/
    color++
    }
    if(!used)
    { /*找到一種可用顏色,用此色著色,并準備處理下一個小區域*/
    ____(3)____=1; color=0;
    }else{/*未找到一種可用顏色,回溯*/
    c--;if (c<0)return 0; /*發現沒有解的情況*/
    for(color=0;____(4)____;color++);
    ____(5)____=0
    }
    }
    return 1;
    }
    print(int colored[ ][N],int n,int cn) /*輸出結果*/
    { char *colort[ ]={“RED”,”BLUE”,”GREEN”,”YELLOW”};
    int color,i;
    for(color=0;colorbr> { printf(“\n%s;\n”,colortb1[color]);
    for(i=0;ibr> if(colored[color]) printf(“\t%d”,i);
    printf(“\n”);
    }
    }
    int colored[CN][N],bordering[N][N];
    main()
    { int c,i,j,n;
    printf(“Enter number of areas.”); scanf(“%d”,&n);
    printf(“Enter bordering:\n”);
    for(i=0;ibr> for(j=0;jbr> for(i=0;ibr> { printf(“Enter areas to link %d area(<0 to next).\n”,i);
    scanf(“&d”,&j);
    while(j>=0)
    { if(i !=j) bordering[j]=bordering[j]=1;
    scanf(“%d”,&j);
    }
    }
    if(colorcountry(bordering,colored,n,CN))
    print(colored,n,CN);
    else printf(“No Solution.\n”);
    }

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備2023014753號-2
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>