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

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

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

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

    1988年度程序員水平考試——下午試題

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

    領測軟件測試網
    試題一 [說明]

    本流程圖是對某種簡單密碼文(密文)解密.密文由字符序列組成,解密后產

    生的字母序列稱為原文.解密算法如下:

    把密文s1s2...sn按順時針方向看成一個環,如下所示:

    s1

    sn

    s3

    sn-1

    si

    解密時按讀入的整數值KEY(KEY>1),從S1起順時針計數,當計數到第KEY個字

    符時,取出該字符作為原文的第一個字符,并把它從環中刪去.接著從下一個字符

    起繼續計數,取出第KEY個字符作為原文的第二個字符,并從環中刪去.依次類推,

    直至N個字符全部取完.由上述算法依次取出的字符序列即為原文.

    例如,當KEY=3時,密文NUITP的原文為INPUT.

    開始解密時,密文存放在字符數組S中, 長度為N(N>1),所得到的原文也存

    放在數組S中.為了從S(1)起依次存放原文字符,在必要時部分未解密的字符作適

    當的移動.


    試題三(15分)

    [程序說明] 本題給出的是計算兩個多項式之積的子程序.

    設兩個多項式分別為

    n n-1

    F(X)=FnX +Fn-1X +...+F1X+F0

    m m-1

    G(X)=GmX +Gm-1X +...+G1X+G0


    則它們的積多項式為

    k k-1

    P(x)=F(X)G(X)=PkX +Pk-1X +...P1X+P0


    其中, k=n+m; Pi=∑Fi-j*Gj (i=0,...,k);

    j


    記號∑Fi-j*Gj;表示對給定的i(0≤i≤n+m),和所有滿足

    0≤i-j≤n,≤j≤m

    的j,對Fi-j*Gj求和.

    程序用數組存貯多項式的序數,即數組的第i(≥0)個元素存貯多項式i次冪

    的系數.例如:

    5 3 2

    F(X)=5.7X -10.8X +0.49X +2.7用數組表示為

    0 1 2 3 4 5

    2.7 0 0.49 -10.8 0 5.7

    設程序已定義了如下的數據類型:

    const maxp=100; {允許的多項式最高次冪}

    type poly=record

    power: 0..maxp; {多項式的最高次冪}

    coef: array[0..maxp] of real

    {coef 存貯多項式的i次冪項的系數}

    end;


    [程序]

    procedure prod(f,g: poly; var p:poly);* var i,j,low,high:integer;

    temp: real;

    begin

    for i:=0 to f.power + g.power do

    begin

    if __________________

    then low:= ____________________

    else low:=0;

    if __________________

    then high:= ____________________

    else high:=i;

    temp:=0.0;

    for j:=low to high do

    temp:= _____________________

    p.coef:=temp

    end;

    _______________________

    end;


     

    試題七

    [程序說明] 本程序用于判別輸入的字符串是否為如下形式的字符串:

    W&M$

    其中子字符串M是子字符串W的字符反向排列.在此假定W不含有字符&和字符$,

    字符&用作W與M的分隔符,字符$用字符串的輸入結束符.

    例如,對輸入的以下字符串:

    ab&ba$, 11&12$

    ab&dd$, &$

    程序將分別輸出

    OK.(是), NO.(不是),

    NO.(不是), OK.(是).

    [程序]

    program accept (input,output);

    const

    midch='&';

    endch='$';

    var

    an:bollean; ch :char;

    procedure match (var answer: boolean);

    var

    ch1,ch2:char;

    f:boolean;

    begin

    read(ch1);

    if ch1<>endch then

    if ________________ then

    begin

    match (f);

    if f then

    begin

    read (ch2); answer:=____________________

    end

    else answer:=false

    end

    else ___________________

    else ___________________

    end;

    begin

    writeln('Enter string:');

    match (an);

    if an

    then begin

    _______________________

    if __________________________ then writeln ('OK.')

    else writeln ('NO.')

    end

    else writeln ('NO.')

    end.


    試題十一

    [程序說明] 本題給出的是將數組a的元素a1,a2,...,an從大到小排列的子程序.

    子程序采用改進的選擇方法,該方法基于以下思想:

    在選擇第一大元過程中,al與aj(j=n,n-1,...2)逐個比較,若發現aj1〉

    al,則aj1與a1交換,交換后新的aj1有性質aj1≥at(j1<t≤n).若再有aj2

    〉a1(j2<j1),aj2與a1交換,則交換后的aj2也有性質aj2≥at(j2<t≤n).

    如在挑選第一大元過程中,與a1交換的元素有k(k≥0)個,依次為aj1,aj2,...

    ajk則它們都滿足這一性質.它們的下標滿足n≥j1>j2>...>jk>1.有了這些下標,

    在確定第二大元時,可只考慮a2與aj(j=jk,jk-1,...,3)逐個比較.倘若jk=2,

    則可不經比較就知道a2就是第二大元.在選擇第二大元過程中,將與a2交換過

    的元素下標也記錄下來,可供選擇其他大元使用.但在選則第二大元時,應保證與

    a2交換的那些位置上的新值也都滿足上的述性質.依次類推,順序選擇第一,第

    二,...第n01大元,實現對a的排序.

    設程序包含有常量和類型定義:

    const maxn=1000;

    type vector=array [1..maxn] of integer;

    index=1..maxn;

    [程序]

    procedure sort (var a:vector;n:index);

    var

    p:vector;

    i,j,k,m,t:integer;

    begin

    k:=0;i:=1;m:=n;

    while i<n do

    begin

    for j:=m downto i+1 do

    if a<a[j] then

    t:=a;a:=a[j];a[j]:=t;

    k:=k+1;______________

    end;

    repeat

    ______________;

    if _____________ then _____________

    else

    begin m:=p[k];k:=k-1 end

    until (i<m) or (i=n);

    if _____________ then

    begin

    t:=a;__________;___________

    end

    end

    end;

    延伸閱讀

    文章來源于領測軟件測試網 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>