解答2-7 コメント取出し状態図 エスケープ 中 other any \ 文字列 定数 other \n : 行末コメント取出し終了 “ “ / / : 行末 コメント 取出し 初期化 初期状態 / //コメント ‘ ‘ other Other : コメント取出し Other : コメント取出し 文字 定数2 文字 定数1 other * : コメント 取出し 通常コメント * other \ * : 通常 コメント 取出し 初期化 any * : コメント 取出し ‘ 文字定数 エラー エスケープ 中 Other : コメント取出し / :通常コメント 取出し終了
解答5-4 書籍の登録・削除付きDFDの例 レポート 要求 分類 管理 報告 要求 ログデータ 利用者 報告指令 貸出要求 返却要求 貸出 ログファイル 応答 書籍貸出 情報 書籍管理データ 書籍 登録 登録指令 管理指令 分類 指令 書籍 情報 書籍情報 書籍データ 書籍 削除 削除指令 管理業務者 書籍ID
解答5-6 図5-3のDFDのSC変換例 分類処理を メインにした例 分類処理 利用者 チェック 貸出 返却 ログデータ 出力 利用者 要求読込 利用者 データベース 処理 利用者 応答出力 書籍管理 データ処理 エラー メッセージ 出力
解答8-1 税金: int tax=0; foaall elem in 要素 tax += 要素.税金; return tax; 団体or住民 税金 市町村 税金 要素 住民 税金: return 住民税 村 町 市
解答9-3 if(from=>to) pivot=data[… left=from… while(left… while(data[left]… letf++; while(data[right]… right--; if(left<=right) temp=data[left]; data[left]=… data[right]=… left++; right--; qsort(data,from,right); qsort(data,left,to); 1 2 3 4 14 5 6 15 7 8 E 9 10 11 辺の数:20 節数:16 CV=20-16+2x1=6 12 13
解答9-4の例 n>=m n/p>=m 2n>=m n-m=k>0 2n/p>=m n-mp=k>0 E1 金額表示(n円) n>=m n円投入 C1 m円切符の ランプが付く E2 n/p>=m p人分 を押す C2 2n>=m E3 大人用切符を1枚出す 子供ボタン を押す C3 2n/p>=m n-m=k>0 E4 大人用切符をp枚出す n-mp=k>0 m円切符 ボタン押 C4 E5 子供用切符を1枚出す n-m/2=k>0 E6 子供用切符をp枚出す n-mp/2=k>0 E7 つり銭をk円出す かつ または
解答9-6 Operator Num Operand 測度 計算式 量 qsort() 3 data 10 要素の種類数 n=n1+n2 26 int 4 from 5 プログラム長 N=N1+N2 112 [] 8 to 見積もり長 Ne=n1xlog2N1+n2xlog2N2 153 , 9 pivot プログラム量 V=Nxlog2n 526 {} left プログラム抽象度 L=Vd/V 0.034 ; 14 right 見積もり抽象度 Le=(2/n1)x(n2/N2) 0.019 if() 2 temp プログラミング量 E=V/L 15317 >= 1 見積もり時間 Te=E/18 851 return Total(N2) 48 = 6 種類数(n2) 最も簡単な表現のプログラム量(Vd) 18 + / while() <= < \++ > \-- Total(N1) 64 種類数(n1) 解答9-6