第22回 北海道高等学校情報処理競技大会
兼 第21回 全国高等学校情報処理競技大会北海道予選
北 海 道 大 会 競 技 問 題
[Ⅰ]関連用語と情報活用
(解答時間 問題【1】、【2】、【3】、【4】とあわせて40分) 主 催 北海道高等学校長協会商業部会 北 海 道 産 業 教 育 振 興 会 財団法人 全国商業高等学校協会 大会日 平成21年5月29日(金) 会 場 洞爺湖町(洞爺湖町文化センター) 当番校 北海道虻田高等学校 注意事項 (1)解答は明瞭に記入してください。特に文字の記入に際しては、0、O、D、1、I、/、Z、2、 U、Vなどに気をつけてください。 (2)筆記用具は、鉛筆またはシャープペンシルと消しゴムです。 (3)電卓は使用できません。 (4)下敷きは使用してもかまいません。 (5)筆記用具など物品の貸借はできません。 (6)答案を訂正するときは、消しゴムではっきりと消してください。 (7)答案作成が終わっても、着席したまま静かにしていてください。 (8)途中で気分が悪くなった場合、手をあげて係員に知らせてください。【注意】 係員の指示があるまで、問題に手を触れないでください。
【1】次の文に最も関係の深い語を解答群から選び、記号で答えなさい。 1.入力装置のうち、ポインティングデバイスに分類され、CADシステムの図形入力などに使用される もの。 ア.OCR イ.OMR ウ.イメージスキャナ エ.タブレット 2.Linuxに代表されるソフトウェアであって、再配布の自由、再配布時のソースコードの包含、 派生ソフトウェア改変の許諾などが要求されるもの。 ア.オープンソースソフトウェア イ.コンポーネントウェア ウ.シェアウェア エ.ミドルウェア 3.プリンタで印刷するときなどに、印刷データを一時的に記憶するメモリ。 ア.キャッシュメモリ イ.バッファメモリ ウ.メインメモリ エ.フラッシュメモリ 4.実際に実行するハードウェアと異なるハードウェア上で開発する際に使用するもので、他のコンピュータ で実行するためのオブジェクトモジュール(機械語)を生成するプログラム。 ア.シミュレータ イ.ジェネレータ ウ.エミュレータ エ.クロスコンパイラ 5.TCP/IPのネットワークに接続された機器を、ネットワーク経由で管理する際に使用される プロトコル。 ア.PPP イ.MIB ウ.SNMP エ.ARP 6.同時に実行できる複数の命令の動作をコンパイルの段階でまとめてひとつの命令とし、高速化を図る 方法。 ア.RISC イ.CISC ウ.命令パイプライン エ.VLIW 7.すべてのタスクが平等に選択されるように、タイムクォンタムを使い切ったとき、実行中のタスクを キューの最後尾につけて、次のタスクを実行する方式。 ア.ラウンドロビン イ.オーバーレイ ウ.プリエンプション エ.スプーリング 8.Javaで記述されたプログラムをプラットフォームから独立した中間コードに変換し、解釈・実行 する環境。 ア.リバースエンジニアリング イ.仮想マシン ウ.スクリプト エ.インタプリタ 9.数値を2進数で格納するレジスタがある。このレジスタに正の整数Ⅹを入れた後、5倍にする処理 として正しいもの。ここで、シフトによるあふれは発生しないものとする。 ア.レジスタの値を2ビット左にシフトした値にⅩを加える イ.レジスタの値を2ビット右にシフトした値にⅩを加える ウ.レジスタの値を1ビット左にシフトした値にⅩを加え、再度左に 1 ビットシフトする エ.レジスタの値を1ビット左にシフトした値と1ビット右にシフトした値を加える 10.コンピュータプログラムなどの著作物に関する記述のうち、適切なもの。 ア.共同開発によるプログラムの著作権は、開発費用を負担した割合に従って権利が帰属する。 イ.著作権は、プログラムには認められるが、データベースについては認められていない。 ウ.著作権法では、プログラムは保護の対象であるが、プログラムを作成するためのノウハウや アルゴリズムは保護の対象ではない。 エ.著作物を作成するために用いるプログラム言語や規約も著作権法による保護の対象である。
【2】次の各問に答えなさい。 1.10進数の演算式11÷32の結果を2進数で表すといくつか。 2.ビット列Aとビット列Bの排他的論理和演算の結果がビット列Cになるとき、ビット列Bの値を 示しなさい。ただし、ビット列Aは10110010、ビット列Cは00111101とする。 3.1件 1,280 文字のメッセージを伝送速度 128kbps の通信回線を用い、調歩同期方式で連続送信す る。1分間に送信可能なメッセージ数は最大何件か。1文字は8ビットで、スタートビット、スト ップビットはそれぞれ1ビットとする。なお、1k は 1000 とする。 4.次の図のシステム全体の稼働率を 0.95 以上としたい。装置Aの最低限必要な稼働率はいくつか。 ただし、稼働率は四捨五入して小数第2位まで求めよ。 5.次の仕様の磁気ディスク装置で、1ブロック 7,500 バイトのデータを読み込むのに必要な時間は 何ミリ秒か。 6.主記憶装置のアクセス時間が 40 ナノ秒、キャッシュメモリのアクセス時間が 5 ナノ秒であった。 あるプログラムを実行し、このシステムのメモリのアクセス時間を測定したところ 8.5 ナノ秒であ った。このプログラムを実行したときのキャッシュメモリのヒット率はいくつか。 7.4,000 個の相異なる要素が、キーの昇順に整列された表がある。外部から入力したキーによって この表を2分探索して、該当するキーの要素を取り出す。このときのキーの比較回数は最大何回か。 ただし、該当するキーは必ず表中にあるものとする。 8.あるオンライントランザクションシステムでは、1時間当たり 36,000 件のトランザクション処 理が要求されている。トランザクションのうち、40%が 100 万ステップ、60%が 200 万ステップの 命令の実行が必要であった。必要な CPU の処理能力は、最低何 MIPS か。 9.次の条件で飲食店を開業する場合、月 160,000 円の利益を出すためには、1席あたり1日何人の 客数が必要か。 10.事業年度初日に 2,000,000 円で購入したコンピュータシステムを定率法により5年間で減価償却 を行っている。1年目の減価償却額が 560,000 円であった場合、2年目の減価償却額はいくらにな るか。 0.99 0.98 0.85 A 回転速度 3,000 回転/分 1トラックの容量 15,000 バイト 平均シーク時間 20 ミリ秒 客1人あたりの売上高 500 円 客1人あたりの売上高 における変動費 100 円 固定費 400,000 円/月 1 ヶ月の営業日数 20 日 客席数 10 席
【3】次の(1)、(2)の問題を解きなさい。 (1)Tパソコンショップでは、以下のようなオーダーメイドパソコンの見積表を使用している。 処理条件にしたがって、各設問に答えなさい。 シート名「見積表」 シート名「構成・オプション表」 シート名「配送・代引料金表」 処理条件 (1)シート名「見積表」の B4 にコード番号を入力すると、構成内容および料金が表示される。 (2)シート名「見積表」は、次のように作成されている。 ①「コード番号」の左1桁の数字は、「CPU コード」を表し、左2文字目から3桁の数字は 「HDD コード」、左から5桁目以降の数字は「メモリコード」を表す。 それぞれの構成内容と価格は、シート名「構成・オプション表」に記載されている。 例:メモリが 512MB の場合 1320512 メモリが 2000MB の場合 13202000 ②「モニタ」を選択する場合、C10 に 1 を入力する。「アクセサリ」を選択する場合は、C11 に 1 を 入力する。 なお、モニタを選択した場合は、\20,000、アクセサリを選択した場合は、\10,000 の追加料金が かかる。 ③ C12 は配送先地域のコード番号を入力する。 ④ D12 は「料金レベル」と「配送先地域コード」をもとに、シート名「配送・代引料金表」の配送 料金表から求める。料金レベルは、モニタおよびアクセサリを選択した場合にそれぞれ 1 として カウントし、その合計値とする。たとえばモニタまたはアクセサリのどちらか一方を選択した場 合は料金レベル1、両方選択した場合は料金レベル2となる。 ⑤「急便指定」をする場合は C13 に 1 を入力する。なお、急便を指定した場合、D16 の配送料金は D12 の3割増しになる。 ⑥ D15 は D7 から D11 の合計に消費税5%を加えた額を表示する。 ⑦ D17 は、商品代金をもとにシート名「配送・代引料金表」の代引手数料表を参照して求める。 ⑧ D18 は、D15 から D17 の合計を求める。
設問1 シート名「見積表」の C7 に設定する式の空欄(1)~(2)にあてはまる適切なものを解答 群から選び、記号で答えなさい。 = (1) (VALUE( (2) (B4,1)),構成・オプション表!$A$4:$C$6,2,0) 設問2 シート名「見積表」の D8 に設定する式の空欄(1)~(2)にあてはまる適切なものを解答 群から選び、記号で答えなさい。 = (1) (VALUE( (2) (B4,2,3)),構成・オプション表!$B$13:$D$14,2,0) 設問3 シート名「見積表」の C9 に設定する式の空欄(1)~(4)にあてはまる適切なものを解答 群から選び、記号で答えなさい。 =IF((1)(B4)=7,(2)(B4,3)(3)"MB",VALUE((2)(B4,4))/(4) (3)"GB") 設問4 シート名「見積表」の D12 に設定する式の空欄(1)~(4)にあてはまる適切なものを解答 群から選び、記号で答えなさい。 = (1) (配送・代引料金表!B5:G7,(2)+(3)+(4),C12) 設問5 シート名「見積表」の D16 に設定する式の空欄(1)~(2)にあてはまる適切なものを解答 群から選び記号で答えなさい。 =IF((1) =1,D12*(2) ,D12) 設問6 コード番号が「25002000」、モニタとアクセサリを選択、配送先地域コード「5」、急便指定の 場合の見積金額を解答群から選び記号で答えなさい。
ア.INT イ.MID ウ.RIGHT エ.MIN オ.LEFT カ.LEN キ.VLOOKUP ク.HLOOKUP
<解答群>
ア.INT イ.MID ウ.RIGHT エ.MIN オ.LEFT カ.LEN キ.VLOOKUP ク.HLOOKUP
<解答群>
ア.LEFT イ.MID ウ.HLOOKUP エ.LEN オ.> カ.< キ.<> ク.& ケ.% コ.RIGHT サ.VLOOKUP シ.5 ス.10 セ.100 ソ.1000 <解答群>
ア.HLOOKUP イ.MATCH ウ.INDEX エ.SEARCH オ.VLOOKUP カ.1 キ.2 ク.5 ケ.C11 コ.C8 サ.C10 シ.C9 <解答群> ア.D13 イ.0.03 ウ.C13 エ.0.3 オ.D12 カ.1.03 キ.C12 ク. 1.3 <解答群> ア.77,330 イ.63,365 ウ.57,065 エ.53,915 オ.68,285 <解答群>
(2)次の表は,ツアー代金の請求金額を求める見積書である。処理条件にしたがって、各設問に 答えなさい。なお、解答においてセルの指定に絶対参照は使用しないこと。 シート名「ツアー代金計算」 シート名「お客様検索」 シート名「ツアー検索」 処理条件 シート名「ツアー代金計算」は次のように作成さている。 (1)B7 のツアーコードは、シート名「ツアー検索」にあるツアーコードを入力し、「ツアー名」を B8 に表示する。 ツアーコードは半角英数字で、ツアーコード以外のコードを入力した場合は、B8 に「ツアー コードエラー」と表示する。 (2)B10 お客様コードは、シート名「お客様検索」にあるお客様コード入力し、「お客様名」を B11 に表示する。 お客様コードは半角英数字で、お客様コード以外のコードを入力した場合は、B11 に「お客様 コードエラー」と表示する。 (3)B12 は、お客様の入会日から見積書作成日までの経過日数で次のように分類し表示する。 入会日から 10 年以上 ・・・ 「優待会員」 入会日から5年以上 10 年未満 ・・・ 「特別会員」 入会日から5年未満 ・・・ 「一般会員」 また、経過日数は次の式で求める。 (セル D5 - シート名「お客様検索」算出日数)÷ 364 なお、B11 が空白かまたは「お客様コードエラー」の場合は、空白を表示する。 解答に使用できる演算子及び関数 四則演算 + - * / 参照演算子“” , : 比較演算子 = < > <= >= 関数
HLOOKUP VLOOKUP INDEX RIGHT LEFT IF OR AND WEEKDAY DATE INT VALUE
使用できる戻り値 TRUE FALSE
(4)B14、B15 は人数を入力する。 (5)B17 は宿泊日を入力する。宿泊日は見積作成日の翌日からの受付とし、それ以外は B18 に 「宿泊日がエラーです」と表示する。出発日は B18 に自働的に表示される。 宿泊曜日は宿泊日によって「金曜日」「土曜日」「平日」に分類され、B19 に表示される。 (6)B21 には次の食事付き内容によって「1」または「2」を入力する。B22 は食事内容を表示する。 1泊朝食付 ・・・ 1 1泊 2 食付 ・・・ 2 (7)B24 はシート名「ツアー検索」から大人1人分の料金を表示する。B18 が空白か「ツアーコード エラー」、B22 が空白か「食事コードエラー」であれば 0 を表示する。 (8)B26 は、宿泊日が「金曜日」または「土曜日」の場合、料金に 1,000 円追加され表示する。 B19 が空白か「宿泊日がエラーです」であれば 0 を表示する。 (9)B27 は、次の会員分類によって B24 の大人1人様料金が割り引かれ、B14 を乗じた料金が表示さ れる。 「優待会員」・・・20%割引 「特別会員」・・・10%割引 「一般会員」・・・ 5%割引 (10)B29 は、次の式でツアー代金請求金額を計算し表示する。 (大人1人様料金×大人人数+子供1人様料金×子供人数)+追加料金-割引料金 B14 または B15 が空白か、B27 が 0 であれば 0 を表示する。 設問1 シート名「ツアー代金計算」のセル B11 に設定する式の空欄(1)~(2)を埋めなさい。 =IF(B10="","",IF(ISERROR(MATCH(B10,お客様検索!$A$5:$A$14,0))= (1) ,"お客様コードエラー", (2) (B10,お客様検索!$A$5:$B$14,2,0))) 設問2 シート名「ツアー代金計算」のセル B12 に設定する式の空欄(1)~(3)を埋めなさい。 =IF((1)(B11="",B11="お客様コードエラー"),"",IF(((D5-(VLOOKUP(B10, お客様検索!$A$5:$D$14,4,0)))/364)>=10,"優待会員",IF(((D5-(VLOOKUP(B10, お客様検索!$A$5:$D$14,4,0)))/364)(2), (3) ,"一般会員"))) 設問3 シート名「ツアー代金計算」のセル B19 に設定する式の空欄(1)~(3)を埋めなさい。 =IF(OR(B18="",B18="宿泊日がエラーです"),"",IF((1)(B17,1)=6, (2) , IF((1)(B17,1)=7, (3) ,"平日"))) 設問4 シート名「ツアー代金計算」のセル B24 に設定する式の空欄(1)~(4)を埋めなさい。 =IF(OR(B8="",B8="ツアーコードエラー",B22="",B22="食事コードエラー"),0, IF(B14=0,0,(1)(ツアー検索!$C$6:$H$12,VALUE((2)(B7,1)), IF((3)(B14<=2,B21=1),1,IF((3)((4),B21=1),2, IF((3)(B14<=2,B21=2),4,IF((3)(B14>=3,B21=2),5))))))) 設問5 シート名「ツアー代金計算」のセル B27 に設定する式の空欄(1)~(2)を埋めなさい。 =IF(OR(B12="",B12="お客様エラーコード",B14="",B24=0),0, IF(B12="優待会員",B24*20%, (1) ,B24*10%,B24*5%))*(2)) 設問6 シート名「ツアー代金計算」のセル B7 に「H12」、セル B10 に「U07」、セル B14 に「2」、セル B15 に「1」、セル B17 に「2009/10/16」、セル B21「2」を入力したときのセル B29 に表示される値 を答えなさい。 なお、宿泊曜日の表示は,「金曜日」である。
【4】次のデータベースに関する記述を読み、各設問に答えなさい。 A高校では、夏季休業中に進路別講習として、3年生に対して各種講座を開設している。講座は複 数開設されており、講師1名が30名程度の生徒の指導にあたることになっている。 講座を担当する講師は常に20名程度で、生徒は複数の講座を受けることができる。 大学では、生徒の受講状況を把握するためにデータベースシステムを導入している。データベース構 造は次のとおりである。 データベースの構造 生徒表 生徒コード 生徒氏名 住 所 電話番号 講座表 講座コード 講座名 開催日 講師コード 講師表 講師コード 講師氏名 受講表 生徒コード 講座コード 設問1 現行システムに関するE-R図を作成した。空欄( 1 )~( 3 )にあてはまるものを解答 群の中から選び記号で答えなさい。ただし、図中の1とNの表記は、それぞれが 1 対 1 の関係か、 1 対Nの関係かを示している。 設問2 受講表の主キーに該当するものはどれか、適切なものを解答群から選び記号で答えなさい。 設問3 生徒表から、「生徒コード」が「1056」の生徒データを削除する場合、次のSQL文の空欄( 1 ) ~( 2 )にあてはまる適切な語句を答えなさい。 (1) * FROM 生徒表 WHERE (2) ='1056' ア.生徒表 イ.講座表 ウ.講師表 エ.受講表 <解答群> ア.生徒コード イ.講座コード ウ.生徒コードと講座コード <解答群> 生徒表 (1) (2) (3) N 1 1 1 N N
設問4 講座ごとの講習参加人数を集計する場合、次のSQL文の空欄( 1 )~( 4 )にあてはま る適切な語句を答えなさい。 SELECT 講座表.講座コード, (1) AS 人数 FROM 生徒表, 講座表, 受講表 WHERE 生徒表. (2) = 受講表. (2) AND 講座表.講座コード = 受講表.講座コード (3) (4) 設問5 これまでに講座に参加しておらず、これからもすべての講座に参加する予定のない生徒の一覧 を表示する場合、次のSQL文の空欄( 1 )~( 2 )にあてはまる適切な語句を答えなさい。 SELECT 生徒コード, 生徒氏名 FROM 生徒表 WHERE 生徒コード (1) (SELECT 生徒コード FROM (2) ) 設問6 この大学では、事業拡大の方策として、複数の講師で一つの講座を担当することになった。 この方策を実施された場合に、E-R図とデータベースに対して、それぞれ必要となる変更の 内容を解答群から選び、記号で答えなさい。 E-R図の変更 データベースの変更 (1) (2) (3) <データベースの変更に関する解答群> ア.新しい表を一つ追加する イ.既存の表を一つ削除する ウ.既存の表に属性を一つ追加する エ.既存の表から属性を一つ削除する オ.変更は必要ない <E-R図の変更に関する解答群> ア.既存の関連の一つを1:1に変更する イ.既存の関連の一つを1:多(多:1) に変更する ウ.既存の関連の一つを多:多に変更する エ.変更は必要ない
[Ⅰ]関連用語と情報活用 解答用紙
学校名 高校 選手番号 得点 【1】 【2】 1 1 2 2 3 3 件 4 4 5 5 ミリ秒 6 6 7 7 回 8 8 MIPS 9 9 人 10 10 円 設問1 (1) (2) 設問2 (1) (2) 設問3 (1) (2) (3) (4) 設問4 (1) (2) (3) (4) 設問5 (1) (2) 設問6 【3】(1) 設問1 (1) (2) 設問2 (1) (2) (3) 設問3 (1) (2) (3) 設問4 (1) (2) (3) (4) 設問5 (1) (2) 設問6 【3】(2) 設問1 (1) (2) (3) 設問2 (1) 設問3 (1) (2) 設問4 (1) (2) (3) (4) 設問5 (1) (2) 設問6 (1) (2) (3) 【4】第22回 北海道高等学校情報処理競技大会
兼 第21回 全国高等学校情報処理競技大会北海道予選
北 海 道 大 会 競 技 問 題
[Ⅱ]アルゴリズム
(解答時間 問題【1】、【2】、【3】とあわせて40分) 主 催 北海道高等学校長協会商業部会 北 海 道 産 業 教 育 振 興 会 財団法人 全国商業高等学校協会 大会日 平成21年5月29日(金) 会 場 洞爺湖町(洞爺湖町文化センター) 当番校 北海道虻田高等学校 注意事項 (1)解答は明瞭に記入してください。特に文字の記入に際しては、0、O、D、1、I、/、Z、2、 U、Vなどに気をつけてください。 (2)筆記用具は、鉛筆またはシャープペンシルと消しゴムです。 (3)電卓は使用できません。 (4)下敷きは使用してもかまいません。 (5)筆記用具など物品の貸借はできません。 (6)答案を訂正するときは、消しゴムではっきりと消してください。 (7)答案作成が終わっても、着席したまま静かにしていてください。 (8)途中で気分が悪くなった場合、手をあげて係員に知らせてください。【注意】 係員の指示があるまで、問題に手を触れないでください。
ア.ST(MIN) → 保存2 イ.ST(P) → 保存1 ウ.MIN → P エ.P → MIN オ.ST(MIN) → ST(P) カ.ST(P) → ST(MIN) キ.ST(MIN) > ST(Q)
ク.ST(Q) > ST((MIN) ケ.保存2→ ST(MIN) コ.保存2→ ST(P) サ.BT(R), ST(R)を出力 シ.BT(Q), ST(Q)を出力 ス.P ≠ MIN セ.Q ≠ MIN 部品番号 BU 仕損品数 SI 入力形式 出力形式 (部品番号) (仕損品数) 03 2 04 5 06 5 02 11 05 18 01 23 (1) (2) (3) (4) (5) (6) BT 01 02 03 04 05 06 配列 (1) (2) (3) (4) (5) (6) ST 23 11 2 5 18 5 <解答群> 【1】ある部品に対する仕損品のデータを読み、仕損品の少ない部品の順に分類し出力形式のように 出力したい。処理条件にしたがって流れ図の(1)~(7)の空欄に入れる正しい答えを解答群 から選び、記号で答えなさい。 処理条件 (1)部品番号の配列を BT、仕損品の配列を ST とする。 (2)部品数は6品とする。なお、仕損品数が同じ場合は、部品番号の昇順に出力する。 (3)データは、部品番号の昇順に記録されている。 作業領域
はじめ はじめ NO (2) (1) 配列 BT と ST に データを読み込む P + 1 → S Q → MIN 交換処理 (3) YES NO YES NO おわり (4) ループ1 P は 1 から 1 ずつ増やし P > 5 まで ループ2 Q は S から 1 ずつ増やし Q > 6 まで ループ3 R は 1 から 1 ずつ増やし R > 6 まで ループ2 ループ1 ループ3 はじめ 交換処理 BT(MIN) → 保存1 出口 (5) BT(P) → BT(MIN) 保存1 → BT(P) (6) (7)
第1図 (配列 moji) 第2図 (文字の配置) 第3図 (縮小・拡大) (任意の数値が6の場合) 第4図 (縮小・拡大) (任意の数値が3の場合) 【2】第 1 図の2次元配列 moji を利用し、各図のとおり文字を再配置するシステムがある。処理条件 にしたがって、流れ図の(1)~(4)の空欄に入れる正しい答えを解答群から選び、記号で答え なさい。また、流れ図の(5)~(7)の空欄をうめなさい。 処理条件 (1)第1図から、第2図のとおり文字が配置される。(流れ図 文字の配置) (2)第2図の文字配置をもとに、任意の数値の指定によって、第3図・第4図のように文字配置 を縮小、または拡大させる。(流れ図 縮小・拡大) (3)任意の数値の範囲は、「1」から「6」までである。「1」は等倍であり、「6」が最も縮小し た状態になる。 (4)2次元配列 moji の添字は(行、列)で表わされる。
ア.1 → tate イ.”” → moji(tate,yoko) ウ.hozon + 1 → hozon エ.yoko > (16 - kesu) オ.kioku + 1 → yoko カ.2 → tate キ.kioku + 1 → kioku ク.”N” → moji(tate,yoko) ケ.yoko > (15 - kesu) コ.tate + 1 → hozon
文字の配置 出 口 (1) ループ1 tate > 14 まで 1 → yoko ”N” → moji(tate,yoko) ループ2 yoko > 14 まで yoko → kioku ループ3 kioku = tate まで ”N” → moji(tate,kioku) (2) ループ3 ループ2 yoko + 1 → yoko ”N” → moji(tate,yoko) tate + 1 → tate ループ1 縮小・拡大 1 → tate ループ1 tate > kesu まで 1 → yoko ループ2 数値 → kesu ループ2 yoko > 15 まで (3) yoko + 1 → yoko tate + 1 → tate ループ1 ループ3 tate > (15 - kesu) まで 1 → yoko kesu + 1 → hozon ループ4 yoko > 15 まで ”” → moji(tate,yoko) yoko < kesu yes no yes no (4) ”” → moji(tate,yoko)
A
ループ5 ループ5A
”” → moji(tate,hozon) tate = hozon yes no ”N” → moji(tate,hozon) (6) (5) ”N” → moji(tate,kesu) hozon + 1 → hozon yoko + 1 → yoko ループ4 (7) ループ3 ループ6 tate > 15 まで 1 → yoko ループ7 yoko > 15 まで ”” → moji(tate,yoko) yoko + 1 → yoko ループ7 tate + 1 → tate ループ6 出 口【3】次の処理説明を読み、流れ図の(1)~(6)の空欄をうめなさい。 【処理説明】 配列Dの要素D(i)(i=1、2、…、n;n はデータの個数)に格納されたデータが非負の整数の 場合に、それらを比較して値の降順に番号付けを行い、その結果を配列R(i)(i=1、2、…、n) に格納する処理を行う。ただし、データが等しいときは同じ順位とする。 例えば、n=5 の場合は、 右の表のようになる。 順位付けの処理方法として、次の2通りを考える。 【方法1】大小比較による方法 最初に配列Rの要素をすべて1にする。次に、最初のデータD(1)を2番目のデータD(2)から最後のデータ D(n)までと順に比較し、小さいほうのデータの順位を表す配列Rの要素に1を加える。 続いて2番目のデータを3番目からn番目のデータまでと順に比較し、同様の処理を行う。 さらに、この処理を3番目のデータから(n- 1)番目のデータまで繰り返すことによって順位付けをするこ とができる。 【方法2】度数を利用する方法 各データの度数(出現回数)を調べた後で、その度数をデータの降順に加算していくことによって順位付け をする。配列Dの要素D(i)(i=1、2、…、n)の順位付けは、次の手順で行う。 ただし、データのとりうる最大値mは、あらかじめ与えられているものとする。 手順1:最初に、作業用の度数を表す配列Nの要素N(j)、及び作業用の順位を表す配列Lの要素L(j)を すべて0にする。 手順2:次に、配列Dの要素D(i)の度数を求め、配列Nの要素N(D(i))に格納する。 手順3:順位を表す変数をkとし、初期値を1とする。度数N(j)をjの降順(大→小の順)に加算しなが ら順位付けを行い、順位kを配列Lの要素L(j)に格納する。 ただし、N(j)=0 のときL(j)=0 とする。 手順4:配列Dの要素D(i)に対する順位は、配列Lの要素L(D(i))で得られる。したがって、配列Lの 要素L(D(i))の値を、順位を表す配列Rの要素R(i)に格納して順位を求める。 例:表3の配列で示したデータ数nが 12、要素D(i)のとりうる最大値mが 10 の場合に、 D(2)=D(8)=D(10)=5の順位付けを考える。表4の配列NのN(5)の度数=3となり、表5の 配列Lの順位=4となる。 したがって、表6の配列Rの順位はR(2)=R(8)=R(10)=4となる。 表3 配列D i データ 1 2 2 5 3 7 4 10 5 4 6 6 7 3 8 5 9 4 10 5 11 2 12 1 表4 配列N j 度数 0 0 1 1 2 2 3 1 4 2 5 3 6 1 7 1 8 0 9 0 10 1 ※作業用の度数を表す配列 表5 配列L j 順位 0 0 1 12 2 10 3 9 4 7 5 4 6 3 7 2 8 0 9 0 10 1 ※作業用の順位を表す配列 表6 配列R(順位を表す) i 順位 1 10 2 4 3 2 4 1 5 7 6 3 7 9 8 4 9 7 10 4 11 10 12 12 表1 配列D i データ 1 20 2 30 3 10 4 50 5 40 i 順位 1 4 2 3 3 5 4 1 5 2 表2 配列R(順位を表す)
n を入力 ループ1 i は 1 から 1 ずつ増やし i > n まで > <方法1> 大小比較による順位付け 入力 D(i) (i=1,2,・・・,n) ループ2 i は 1 から 1 ずつ増やし (1) まで ループ1 1 → R(i) はじめ ループ3 j は i+1 から 1 ずつ増やし j > n まで おわり ループ3 ループ2 D(i):D(j) < = R(i) + 1 → R(i) 出力 R(i) (i=1,2,・・・,n) (2) n と m を入力 ループ1 j は 1 から 1 ずつ増やし j > m まで <方法2> 度数を利用する順位付け 入力 D(i) (i=1,2,・・・,n) ループ1 0 → N(j) はじめ 0 → L(j) 出力 R(i) (i=1,2,・・・,n) おわり ループ2 i は 1 から 1 ずつ増やし i > n まで (3) → N(D(i)) ループ2 1 → k ループ3 j は m から 1 ずつ減らし j < 0 まで = 0 (4) yes no k → L(j) → k (5) ループ3 ループ4 i は 1 から 1 ずつ増やし i > n まで (6) → R(i) ループ4 【流れ図記号の見方】 処理 P(i) (i=1,2,・・・,n) i に初期値 1 を与え、配列P(i) に対する処理を 1 回実行する毎 に、i を 2,3,4 と順に変化させ n になるまで繰り返す。
[Ⅱ]アルゴリズム 解答用紙
学校名 高校 選手番号 得点 【1】 【2】 【3】 (1) (2) (3) (4) (5) (6) (1) (2) (3) (4) (5) (6) (7) (1) (2) (3) (4) (5) (6) (7)[Ⅰ]関連用語と情報活用 審査基準
学校名 高校 選手番号 得点 100点 【1】 【2】 1 エ タブレット 1 0.01011 2 ア オープンソースウェア 2 10001111 3 イ バッファメモリ 3 600 件 4 エ クロスコンパイラ 4 0.87 5 ウ SNMP 5 40 ミリ秒 6 エ VLIW 6 0.9 (90%も可) 7 ア ラウンドロビン 7 12 回 8 イ 仮想マシン 8 16 MIPS 9 ア 9 7 人 10 ウ 著作権法では、プログラムは保護の対象であるが、・・・ 10 403,200 円 レジスタの値を2ビット左に・・・ 設問1 (1) キ (2) オ 設問2 (1) ク (2) イ 設問3 (1) エ (2) コ (3) ク (4) ソ 設問4 (1) ウ (2) ケ ※ (3) サ ※ (4) カ ※ 設問5 (1) ウ (2) ク 設問6 オ 【3】(1) 設問1 (1) TRUE (2) VLOOKUP 設問2 (1) OR (2) >=5 (3) “特別会員” 設問3 (1) WEEKDAY (2) “金曜日” (3) “土曜日”設問4 (1) INDEX (2) RIGHT (3) AND (4) B14>=3 設問5 (1) IF(B12=”特別会員” (2) B14 設問6 27,800 【3】(2) 設問1 (1) エ (2) イ (3) ウ 設問2 (1) ウ 設問3 (1) DELETE (2) 生徒コード 設問4 (1) COUNT(*) (2) 生徒コード (3) GROUP BY (4) 講座表.講座コード 設問5 (1) NOT IN (2) 受講表 設問6 (1) ウ (2) ア ※ (3) エ ※ 【4】 各2点 20 点 各2点 20 点 各1点 15 点 各1点 15 点 各2点 30 点 ※設問4 (2)(3)(4) は順不同 ※設問6 (2)(3) は順不同
[Ⅱ]アルゴリズム 審査基準
学校名 高校 選手番号 得点 100点 【1】 【2】 【3】 (1) i > n - 1 i > (n - 1)も可 (2) R(j) + 1 → R(j) (3) N(D(i)) + 1 (4) N(j) (5)k
+ N(j) (6) L(D(i)) (1)カ
(2)キ
(3)イ
(4)エ
(5)
hozon > 15 – kesu hozon > (15 - kesu)も可
(6)