国产18禁黄网站免费观看,99爱在线精品免费观看,粉嫩metart人体欣赏,99久久99精品久久久久久,6080亚洲人久久精品

2016年計算機(jī)軟件水平考試軟件設(shè)計師練習(xí)試題

時間:2016-03-21 15:45:00   來源:無憂考網(wǎng)     [字體: ]
試題一

  閱讀下列說明和數(shù)據(jù)流圖,回答問題1 至問題3,將解答填入答題紙的對應(yīng)欄內(nèi)。

  某圖書管理系統(tǒng)的主要功能是圖書管理和信息查詢。對于初次借書的讀者,系統(tǒng)自動生成讀者號,并與讀者基本信息(姓名、單位、地址等)一起寫入讀者文件。系統(tǒng)的圖書管理功能分為四個方面:購入新書、讀者借書、讀者還書以及圖書注銷。1.購入新書時需要為該書編制入庫單。入庫單內(nèi)容包括圖書分類目錄號、書名、作者、價格、數(shù)量和購書日期,將這些信息寫入圖書目錄文件并修改文件中的庫存總量(表示到目前為止,購入此種圖書的數(shù)量)。

  2.讀者借書時需填寫借書單。借書單內(nèi)容包括讀者號和所借圖書分類目錄號。系統(tǒng)首先檢查該讀者號是否有效,若無效,則拒絕借書;若有效,則進(jìn)一步檢查該讀者已借圖書是否超過限制數(shù)(假設(shè)每位讀者能同時借閱的書不超過5 本),若已達(dá)到限制數(shù),則拒絕借書;否則允許借書,同時將圖書分類目錄號、讀者號和借閱日期等信息寫入借書文件中。

  3.讀者還書時需填寫還書單。系統(tǒng)根據(jù)讀者號和圖書分類目錄號,從借書文件中讀出與該圖書相關(guān)的借閱記錄,標(biāo)明還書日期,再寫回到借書文件中,若圖書逾期,則處以相應(yīng)的罰款。

  4.注銷圖書時,需填寫注銷單并修改圖書目錄文件中的庫存總量。系統(tǒng)的信息查詢功能主要包括讀者信息查詢和圖書信息查詢。其中讀者信息查詢可得到讀者的基本信息以及讀者借閱圖書的情況;圖書信息查詢可得到圖書基本信息和圖書的借出情況。圖書管理系統(tǒng)的頂層圖如圖1-1 所示;圖書管理系統(tǒng)的第0 層DFD 圖如圖]-2 所示其中,加工2 的細(xì)化圖如圖1-3 所示。

  [數(shù)據(jù)流圖1-1]

  圖1-1 圖書管理系統(tǒng)頂層圖

  [數(shù)據(jù)流圖1-2]

  圖1-2 圖書管理系統(tǒng)第0 層DFD 圖

  [數(shù)據(jù)流圖1-3]

  [問題1](2 分)

  數(shù)據(jù)流圖1-2 中有兩條數(shù)據(jù)流是錯誤的,請指出這兩條數(shù)據(jù)流的起點和終點。

  [問題2](6 分)

  數(shù)據(jù)流圖1-3 中缺少三條數(shù)據(jù)流,請指出這三條數(shù)據(jù)流的起點和終點。

  [問題3](7 分)

  根據(jù)系統(tǒng)功能和數(shù)據(jù)流圖填充下列數(shù)據(jù)字典條目中的(1)和(2):

  查洵請求信息=[查詢讀者請求信息|查詢圖書請求信息]

  讀者情況=讀者號+姓名+所在單位+{借書情況}

  管理工作請求單= (1)

  入庫單= (2)

  試題二

  閱讀下列說明和算法,回答問題 1 和問題2,將解答填入答題紙的對應(yīng)欄內(nèi)。

  [說明]

  算法2-1 是用來檢查文本文件中的圓括號是否匹配。若文件中存在圓括號沒有對應(yīng)的左括號或者右括號,則給出相應(yīng)的提示信息,如下所示:文件 提示信息

  (1+2)

  abc) 缺少對應(yīng)左括號:第2 行,第4 列

  ((def)gx)) 缺少對應(yīng)左括號:第3 行,第10 列

  (((h)

  ij)(k

  (1ml)

  缺少對應(yīng)右括號:第5 行,第4 列; 第4

  行,第1 列

  在算法2-1 中,stack 為一整數(shù)棧。算法中各函數(shù)的說明如下表所示:

  函數(shù)名 函數(shù)功能

  push(int i) 將整數(shù)i 壓入棧stack 中。

  pop() stack 的棧頂元素出棧。

  empty() 判斷stack 棧是否為空.若為空,函數(shù)返回1,否則函數(shù)返回0。

  nextch()

  讀取文本文件中的下一個字符,并返回該字符的ASCII 值,將字符所在的行號以及字 符在行中的位置分別存儲到變量row 和col中,若遇到文件結(jié)束符,則將變量EOF 置為true;kind(charch)判斷字符ch 是左括號還是右括號,若是左括號,函數(shù)返回1,若是右括號,函數(shù)返回2, 若兩者都不是,函數(shù)返回0。

  [算法2-1]

  將棧stack 置空,置EOF 為false

  ch←nextch();

  while(not EOF)

  k←kind(ch);

  if (k ==__(1)__)

  push(__(2)__); push(__(3)__);

  elseif( k ==__(4)__)

  if(not empty())

  pop();pop():

  else

  顯示錯誤信息(缺少對應(yīng)左括號或右括號);顯示行號row;顯示列號col;

  endif

  endif

  ch←nextch();

  endwhile

  if(not empty())

  顯示錯誤信息(缺少對應(yīng)左括號或右括號);

  while(not empty())

  row←pop(); col←pop();

  顯示行號row;顯示列號col;

  endwhile

  endif

  為了識別更多種類的括號,對算法2-1 加以改進(jìn)后得到算法2-2。算法2-2 能夠識別圓括號,方括號和花括號(不同類型的括號不能互相匹配)。改進(jìn)后,函數(shù)kind(charch)的參數(shù)及其對應(yīng)的返回值如下表所示:

  ch ( ) { } [ ] 其它

  返回值 1 2 3 4 5 6 0

  [算法2-2]

  將棧stack 置空,置EOF 為false

  ch←nextch();

  while(not EOF)

  k←kind(ch);

  if(k > 0)

  if(判斷條件1)

  push(__(5)__):push(__(6)__);push(__(7)__):

  elseif( 判斷條件2 and 判斷條件3 )

  pop(); pop(); pop();

  else

  顯示錯誤信息(缺少對應(yīng)左括號或右括號);顯示行號row;顯示列號col;

  endif

  endif

  ch←nextch();

  endwhile

  if(not empty())

  顯示錯誤信息(缺少對應(yīng)左括號或右括號);

  while(not empty())

  pop();row←pop();col←pop();

  顯示行號row;顯示列號col;

  endwhile

  endif

  [問題1]

  請將[算法2-1]和[算法2-2]中(1)至(7)處補充完整。

  [問題2]

  請從下面的選項中選擇相應(yīng)的判斷邏輯填補[算法2-2]中的“判斷條件廣至“判斷條件3”。注意,若“判斷條件2”的邏輯判斷結(jié)果為假,就無需對“判斷條件3”進(jìn)行判斷。

  (a)字符是括號 (b)字符是左括號 (c)字符是右括號 (d)棧空 (e)棧不空

  (f)棧頂元素表示的是與當(dāng)前字符匹配的左括號

  (g)棧頂元素表示的是與當(dāng)前字符匹配的右括號

  試題三

  閱讀下列說明和 E—R 圖,回答問題 1~3,把解答寫在答卷的對應(yīng)欄內(nèi)。

  試用 SQL 語言定義教師( TEACHER )模式;卮饡r字段的數(shù)據(jù)類型以及題中未指明的名字由考生自己定義。

  [說明]

  設(shè)有下列關(guān)于教務(wù)管理系統(tǒng)的 E—R 圖。圖中矩形表示實體,圓表示屬性,雙圓表示關(guān)鍵字屬性,菱形表示實體間的聯(lián)系。為了答題的方便,圖中的實體和屬性同時給出了中英文兩種名字,回答問題時只須寫出英文名即可。

  [E-R]圖

  [問題1]

  寫出與上述 E—R 圖對應(yīng)的關(guān)系模式,并用下劃線標(biāo)明相應(yīng)的關(guān)鍵字。

  [問題2]

  問題 1 中的關(guān)系模式屬于第幾范式? 如果屬于第三范式,則說明理由;如果不屬于第

  三范式,則將它化為第三范式( 回答時只須寫出修改的部分 )。

  [問題3]

  試用 SQL 語言定義教師( TEACHER )模式;卮饡r字段的數(shù)據(jù)類型以及題中未指明的名字由考生自己定義。

  試題四

  在 UML 中,一個用例是用戶與計算機(jī)之間為達(dá)到某個目的的一次交互佂是對一個系統(tǒng)提供的功能的一種描述。它描述了用戶提出的一些可見需求佂。需求分析首先應(yīng)定義用例。

  電梯系統(tǒng)中的用例如下:

  (1) 電梯呼叫:電梯接受乘客的呼叫,電梯呼叫按鈕的亮滅!系統(tǒng)控制部分電梯呼叫按鈕信息的更新等;

  (2) 樓層請求:電梯接受乘客的樓層選擇!樓層按鈕的亮滅和系統(tǒng)控制部分樓層按鈕信息的更新等;

  (3) 運行方向標(biāo)識:電梯應(yīng)該有這種機(jī)制,即讓乘客知道電梯目前的運動方向,決定是否進(jìn)電梯;

  (4) 電梯位置標(biāo)識:電梯應(yīng)該讓乘客知道其的目的層是否到達(dá),決定是否離開電梯;

  (5) 電梯就緒:電梯處于靜止?fàn)顟B(tài),隨時等候正常的運行調(diào);

  (6) 電梯超載:電梯載重超過規(guī)定的重量,予以報警,停止運行,否則運行;

  根據(jù)提示,回答下面問題:

  問題【1】

  電梯系統(tǒng)的角色是乘客和電梯控制系統(tǒng),乘客和系統(tǒng)交互完成任務(wù),乘客通過呼叫電梯和樓層與電梯系統(tǒng)交互。用例圖表明角色和用例的處理關(guān)系。請將下面的電梯系統(tǒng)用例圖補充完整。__(1)___、___(2)___、___(3)___、___(4)___、___(5)___、___(6)___、___(7)___。

  問題【2】

  狀態(tài)圖能描述一個特定對象的所有可能的狀態(tài)以及由于各種事件的發(fā)生而引起的狀態(tài)轉(zhuǎn)移。大多數(shù)面向?qū)ο蠹夹g(shù)都使用狀態(tài)圖來描述一個對象在其生命周期中的行為。電梯系統(tǒng)的狀態(tài)由上升、下降、停止、第一層和向第一層下降狀態(tài)組成。請將下面的電梯系統(tǒng)狀態(tài)圖補充完整。__(1)___、___(2)___、___(3)___、___(4)___。

  問題【3】根據(jù)3 個層次的觀點, 類圖分為哪3 個層次?它們各有什么特點?請簡要說用。

  試題五

  閱讀下列程序說明和 C 程序,把應(yīng)填入其中__n__ 處的字句,寫在答卷的對應(yīng)欄內(nèi)。

  [程序說明]

  (1)本程序利用輾轉(zhuǎn)相除法求兩個均不超過100 次的多項式A,B 的公因式。

  例: A(x)=x3 一x2+x 一1=(x2+1)(x 一1)

  B(x)=x5 一7x4 十7x3-3x2+6x+4=(x2+1) (x3-7x2 十6x+4)

  公因式為x2+1。

  (2)輾轉(zhuǎn)相除法的算法如下:

  用其中的一個多項式去除另一個多項式;然后,將所得余式變成除式,原除式變成被除式。如此反復(fù)相除,當(dāng)余式為。時,當(dāng)前除式即為公因式。

  [程序]

  #include

  #include

  #define DECISE.0005

  #define MAX_POWER 100

  main( )

  { int i,a,b;

  float Ca[MAX_POWER+1],Cb[MAX _POWER+1];

  void Remainder();

  scanf("%d",&a);

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

  scanf( "%f",&Ca[i] );

  scanf( "%d",&b) ;

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

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

  Remainder(Ca,Cb,a,b);

  }

  void Remainder(Pointer A,Pointer B,a,b)

  float *Pointer A,*Pointer B;

  int a,b;

  { float x,y,*Temp;

  int i,j,F(xiàn)1ag=1;

  while ( Flag )

  { i=0;

  while ( PointerB[i]==0 )

  { i ++;b 一-;

  __①__ ;

  }

  x=Pointer[i];

  while ( i<=b )

  PointerB[i++]/=x;

  for ( i=0;i<=a-b;i++ )

  { __②__ ;

  for(j=0;j

  { y = PointerA[i+l+j]一x * PointerB[j+1];

  PointerA[ __③__ ]=

  ( y

  }

  }

  Temp=Pointer A;

  PointerA=PointerB; ·

  PointerB = __④__ ;

  a=b--;

  for ( Flag=0,i=0;i

  if ( PointerB[i] !=0.0 ) Flag=1;

  }

  printf( "The Greatest Common Factor is:\n");

  for ( i=0;i

  if ( PointerA[i]!= 0.0)

  printf( "%5.3f *x ∧%d%s",

  PointerA[I],a-i,( PointerA[i+1]<0.0 ) ?"":"+" );

  printf( "%5.3f\n",PointerA[a] );

  }

  下午試題答案

  試題一

  [問題1]

  起點:讀者文件 終點,登記讀者信息或3

  起點:處理查詢請求 或2 終點:讀者文件

  [問題2]

  起點:圖書目錄文件 終點:圖書信息查詢或2.2

  起點:借書文件 終點:讀者信息查詢或2.1

  起點:借書文件 終點:圖書信息查詢或2.2

  [問題3]

  (1)[入庫單|借書單|還書單|注銷單]

  (2)分類目錄號+書名+作者+價格+數(shù)量+購書日期

  解析:本題為系統(tǒng)分析題,重點考察了考生對系統(tǒng)分析中結(jié)構(gòu)化分析方法的理解與掌握程度,以及考生使用結(jié)構(gòu)化分析方法進(jìn)行系統(tǒng)分析解決實際應(yīng)用問題的能力。[問題1] 圖書管理系統(tǒng)的主要功能是圖書管理和信息查詢。對于初次借書的讀者,系統(tǒng)自動生成讀者號,并與讀者基本信息(姓名、單位、地址等)一起寫入讀者文件。因此,“登錄讀者信息或3”將會產(chǎn)生一個文件用以存儲讀者基本信息;同時,系統(tǒng)的信息查詢功能主要包括讀者信息查詢和圖書信息查詢,其中讀者信息查詢可得到讀者的基本信息以及讀者借閱圖書的情況,因此,“處理查詢請求或2”還會用到讀者基本信息文件。因此,數(shù)據(jù)流圖1-2 中起點:讀者文件 ——>終點,登記讀者信息或3;起點:處理查詢請求 或2——〉終點:讀者文件是錯誤的。正確的應(yīng)為:登記讀者信息或3 ——>讀者文件 終點;起點: 讀者文件 或2——〉終點:處理查詢請求。

  [問題2]系統(tǒng)的信息查詢功能主要包括讀者信息查詢和圖書信息查詢。其中讀者信息查詢可得到讀者的基本信息以及讀者借閱圖書的情況;圖書信息查詢可得到圖書基本信息和圖書的借出情況。因此,“圖書信息查詢或2.2”會用到圖書目錄文件和借書文件;“讀者信息查詢或2.1”需要借書文件。所以數(shù)據(jù)流圖1-3 中缺少三條數(shù)據(jù)流,分別為:起點:圖書目錄文件——〉終點:圖書信息查詢或2.2;起點:借書文件——〉終點:讀者信息查詢或2.1;起點:借書文件——〉終點:圖書信息查詢或2.2。

  [問題3] 本題要求考生根據(jù)系統(tǒng)功能和數(shù)據(jù)流圖填充數(shù)據(jù)字典條目。首先分析一下“管理工作請求單”包含那些條目。管理工作請求單是由圖書館管理員向圖書管理系統(tǒng)提供的,購入新書時需要為該書編制入庫單,因此管理工作請求單應(yīng)該包含“入庫單”;讀者借書時需填寫借書單,則管理工作請求單應(yīng)該包含“借書單”;讀者還書時需填寫還書單,則管理工作請求單應(yīng)該包含“還書單”;注銷圖書時,需填寫注銷單并修改圖書目錄文件中的庫存總量,則管理工作請求單應(yīng)該包含“注銷單”。故,管理工作請求單=[入庫單|借書單|還書單|注銷單]。其次。在分析“入庫單”的條目。入庫單內(nèi)容包括圖書分類目錄號、書名、作者、價格、數(shù)量和購書日期,因此“入庫單=分類目錄號+書名+作者+價格+數(shù)量+購書日期”。

  試題二

  [問題1]

  (1)l (2)col (3)row (4)2 (5)col (6)row (7)k

  [問題2]

  判斷條件1:b

  判斷條件2:e

  判斷條件3:f

  試題三

  [問題 1]

  DEPT(DNAME,DHEAD,PHONE)

  TEACHER(TNO,TNAME,SEX,AGE,TITLE)

  STUDENT(SNO,SNAME,SEX,CLASS,MONITOR)

  COURSE(CNO,CNAME,HOUR,ROOM)

  D-T(DNAME,TNO)

  D-S(DNAME,SNO)

  TEACH(TNO,CNO,EVAL)

  STUDY(SNO,CNO,GRADE)

  其中有下劃線的項為關(guān)鍵項。

  [問題2]

  將STUDENT 分解為

  STUDENT(SNO,SNAME.SEX,CLASS)

  SCLASS(CLASS,MONITOR)

  [問題3]

  CREATE TABLE TEACHER(TNO(CHAR(8),NONULL),

  TNAME(CHAR(20)),SEX(CHAR(1)),AGE(1NTEGER),TITLE(CHAR(20)))

  試題四

  問題【1】

  問題【2】

  問題【3】

  答:根據(jù)3 個層次的觀點,類圖分為3 個層次:概念層、說明層和實現(xiàn)層。概念層的概念模型與實現(xiàn)它的軟件無關(guān),說明層考察的是軟件的接口部分,實現(xiàn)層才真正有嚴(yán)格意義上的類的概念,揭示出軟件實現(xiàn)體的構(gòu)成情況。

  試題五

  (1) PointerB += i--

  (2) x=PointerA[j]

  (3) i+1-j

  (4) (a>=b)? Temp+a—b-l:Temp