[1 級共通問題 ] 1 次の説明文に最も適した答えを解答群から選び, 記号で答えなさい 1. 複数のハードディスク装置を 1 つの装置として管理し, アクセスの高速化や信頼性を高めるための技術 2. 経路選択機能やパケットのフィルタリング機能を持ち, ネットワーク上のデータを中継する装置 3. シ

Similar documents
7 プログラムの説明を読んで, プログラムの (1)(5) を答えなさい < プログラムの説明 > 処理内容 CSV ファイル ( 作品名データと入場者数データ ) を読み, 年齢区分ごとの入場者数と売上金額を表示するプログラムである 入力データ作品名データ ( ファイル名 :movie.csv)

2

問題1 以下に示すプログラムは、次の処理をするプログラムである

プログラミングA

<4D F736F F D2091E F196E291E889F090E C4816A82CC838C E646F6378>

Java講座

PowerPoint プレゼンテーション

Microsoft Word - 商業-3

情報処理Ⅰ

スライド 1

2

デジタル表現論・第4回

Week 1 理解度確認クイズ解答 解説 問題 1 (4 2 点 =8 点 ) 以下の各問いに答えよ 問題 bit 版の Windows8.1 に Java をインストールする時 必要なパッケージはどれか 但し Java のコンパイルができる環境をインストールするものとする 1. jdk

Prog1_15th

プログラミング入門1

JAVA入門

スクールCOBOL2002

.NETプログラマー早期育成ドリル ~VB編 付録 文法早見表~

基本情報STEP UP演習Java対策

問題1 以下に示すプログラムは、次の処理をするプログラムである

デジタル表現論・第6回

Microsoft PowerPoint - Visualプログラミング

目 次 オブジェクト指向 1 3 オブジェクト指向 2 9 二分探索 14 二次元配列 16 ソート 18 ArrayList 25 解答 27 2

模擬試験問題(第1章~第3章)

オブジェクト指向プログラミング・同演習 5月21日演習課題

PowerPoint Presentation

Javaセキュアコーディングセミナー東京 第3回 入出力(File, Stream)と例外時の動作 演習解説

本サンプル問題の著作権は日本商工会議所に帰属します また 本サンプル問題の無断転載 無断営利利用を厳禁します 本サンプル問題の内容や解答等に関するお問 い合わせは 受け付けておりませんので ご了承ください 日商プログラミング検定 STANDARD(VBA) サンプル問題 知識科目 第 1 問 ( 知

Program Design (プログラム設計)

プログラミング入門1

メソッドのまとめ

JavaプログラミングⅠ

Prog1_3rd

1. 入力画面

040402.ユニットテスト

OSやマイクロプロセッサに依存することなく, 基本的にはどのようなプラットフォーム (OSやハードウェア ) でも動作する Java 言語で記述されたソースコードは, コンパイル時に Java バイトコードと呼ばれる中間コードに変換される それが, 実行時には Java 仮想マシン (JavaVM)

問題 01 以下は コンソールより年齢を入力させ その年齢にあった料金を表示するプログラムである 年齢ごとの金額は以下の通りである 年齢の範囲金額 0 歳以上 6 歳以下 120 円 7 歳以上 65 歳未満 200 円 65 歳以上無料 package j1.exam02; import java

Prog1_6th

Prog1_10th

プログラミング基礎I(再)


Java知識テスト問題

Microsoft PowerPoint ppt

Microsoft PowerPoint - ●SWIM_ _INET掲載用.pptx

Microsoft Word - VBA基礎(3).docx

問題 1 次の文章は Access データベース およびデータベースの概要について述べたものである にあてはまる適切なものを解答群 { } より選び その記号で答えよ 設問 1. Microsoft Access 2007 データベースのテーブルでは 表す としてデータを { ア. レコードを列 フ

Microsoft Word - NonGenList.doc

Microsoft PowerPoint - prog03.ppt

文字列操作と正規表現

Java プログラミング Ⅰ 3 回目変数 変数 変 数 一時的に値を記憶させておく機能型 ( データ型 ) と識別子をもつ 2 型 ( データ型 ) 変数の種類型に応じて記憶できる値の種類や範囲が決まる 型 値の種類 値の範囲 boolean 真偽値 true / false char 2バイト文

解答上の注意 1 解答は 解答 紙の問題番号に対応した解答欄にマークしなさい 2 選択肢は 問ごとに 意されています 問 1の選択肢は 問 2で使 しません 3 選択肢は量が多いため 探しやすさの観点よりグループ分けされています グループ分けに合わせて解答欄が区切られていますが 横 1 列で問題 1

全商情報処理検定プログラミング部門 サンプル問題1級解説

JavaプログラミングⅠ

12.1 インターネットアドレス インターネットアドレス インターネットアドレス 32 ビットの長さを持つインターネットに接続されたマシンを識別するのに使う インターネットアドレスは ピリオドで区切られたトークンの並びで表現されることもある インターネットアドレス

Microsoft Word _VBAProg1.docx

コンピュータ概論

manaba course 出席機能 操作マニュアル

Microsoft Word A08

tkk0408nari

スライド 1

Javaによるアルゴリズムとデータ構造

Microsoft PowerPoint - OOP.pptx

ガイダンス

Microsoft Word - java a.doc

スライド 1

Java プログラミング Ⅰ 7 回目 switch 文と論理演算子 条件判断文 3 switch 文 switch 文式が case の値と一致した場合 そこから直後の break; までを処理し どれにも一致しない場合 default; から直後の break; までを処理する 但し 式や値 1

Javaプログラムの実行手順

PowerPoint プレゼンテーション

Microsoft Word 練習問題の解答.doc

ファイル操作-バイナリファイル

JavaプログラミングⅠ

ただし 無作為にスレッドを複数実行すると 結果不正やデッドロックが起きる可能性がある 複数のスレッド ( マルチスレッド ) を安全に実行する ( スレッドセーフにする ) ためには 同期処理を用いるこ とが必要になる 同期処理は 予約語 synchronized で行うことができる ここでは sy

ExcelVBA 実技 問題集

PowerPoint プレゼンテーション

JavaプログラミングⅠ

D0050.PDF

Microsoft Word - Win-Outlook.docx

Java プログラミング Ⅰ 7 回目 switch 文と論理演算子 今日の講義講義で学ぶ内容 switch 文 論理演算子 条件演算子 条件判断文 3 switch 文 switch 文 式が case のラベルと一致する場所から直後の break; まで処理しますどれにも一致致しない場合 def

Microsoft PowerPoint Java基本技術PrintOut.ppt [互換モード]

Java プログラミング Ⅰ 3 回目変 数 今日の講義講義で学ぶ内容 変数とは 変数の使い方 キーボード入力の仕方 変 数 変 数 一時的に値を記憶させておく機能 変数は 型 ( データ型 ) と識別子をもちます 2 型 ( データ型 ) 変数に記憶する値の種類変数の型は 記憶できる値の種類と範囲

コンピュータ中級B ~Javaプログラミング~ 第3回 コンピュータと情報をやりとりするには?

JavaプログラミングⅠ

2

JavaプログラミングⅠ

CAC

(1) プログラムの開始場所はいつでも main( ) メソッドから始まる 順番に実行され add( a,b) が実行される これは メソッドを呼び出す ともいう (2)add( ) メソッドに実行が移る この際 add( ) メソッド呼び出し時の a と b の値がそれぞれ add( ) メソッド

Microsoft PowerPoint - prog09.ppt

Prog2_15th


プログラミングA

DVIOUT-exer

GEC-Java

JavaプログラミングⅠ

Prog2_12th

Microsoft PowerPoint - VBA解説1.ppt [互換モード]

た場合クラスを用いて 以下のように書くことが出来る ( 教科書 p.270) プログラム例 2( ソースファイル名 :Chap08/AccountTester.java) // 銀行口座クラスとそれをテストするクラス第 1 版 // 銀行口座クラス class Account String name

Microsoft PowerPoint - prog09.ppt

K227 Java 2

情報技術 Java の特徴 Java は現在 事務処理計算用プログラミング言語として開発された COBOL に取って代わり C 言語や C++ と並んで 現在最も使われているプログラミング言語の一つである Java は Write Once, Run Anywhere( プログラムを一度作成したらど

Excel2013 データベース1(テーブル機能と並べ替え)

Transcription:

プログラミング部門 1 級 無断転載禁止 2013 年? 月? 日実施 この問題は, 平成 24 年 5 月時点の参考資料です 平成 25 年度 ( 新検定基準による出題例 ) 情報処理検定試験 <プログラミング部門 > 第 1 級試験問題 注意事項 1. 監督者の指示があるまで, 試験問題に手を触れないでください 2. 試験問題は,10 ページあります 3. 解答はすべて解答用紙に記入します 4. 1 2 3 4 5 6 は共通問題です 5. 7 の問題は,Java マクロ言語 COBOLのいずれか1つを選択し, 解答用紙の選択言語を で囲んでください 6. 電卓などの計算用具は使用できません 7. 筆記用具などの物品の貸借はできません 8. 問題用紙の回収については監督者の指示にしたがってください 9. 制限時間は,60 分です 主催公益財団法人全国商業高等学校協会

[1 級共通問題 ] 1 次の説明文に最も適した答えを解答群から選び, 記号で答えなさい 1. 複数のハードディスク装置を 1 つの装置として管理し, アクセスの高速化や信頼性を高めるための技術 2. 経路選択機能やパケットのフィルタリング機能を持ち, ネットワーク上のデータを中継する装置 3. システム全体をいくつかの工程に分割し, 各工程の成果物をもとに後工程を順次進め, 前の工程に戻らないことを前提として開発する手法 4. 異機種間のデータ通信を可能とするために, 国際標準化機構が制定した通信機器の持つべき機能を階層別に定義したネットワーク設計指針 5. 電子商取引などの暗号化通信において使用される公開鍵の正当性を認める第 3 者機関 解答群 ア. 認証局 イ. プロトタイプモデル ウ. シンクライアント エ.HTTPS オ.UPS カ. ルータ キ. ウォータフォールモデル ク. プログラム設計 ケ.RAID コ. ディジタル署名 サ.OSI 参照モデル シ. ハブ 2 次の A 群の語句に最も関係の深い説明文を B 群から選び, 記号で答えなさい <A 群 > 1. サブネットマスク 2. ブラックボックステスト 3.VRAM 4. トップダウンテスト 5.MIME <B 群 > ア.NIC などのネットワーク機器を一意に識別するためのハードウェア固有の番号 イ. ディスプレイ装置に表示するための画像情報を一時的に保持する専用の記憶装置 ウ. インターネットやイントラネットなどの情報通信ネットワークを使って, 音声データを送受信する技術 エ. 複数のモジュールを結合してテストをするさいに, スタブと呼ばれるダミーの下位モジュールを用意して, 上位モジュールから順番に行うテスト手法 オ. プログラムの内部構造に着目せず, 入力データに対する出力結果が正しいかどうかを検証すること カ. 複数のモジュールを結合してテストをするさいに, ドライバと呼ばれるダミーの上位モジュールを用意して, 下位モジュールから順番に行うテスト手法 キ. 各国の言語や, 画像, 音声, 動画など形式の異なる様々なデータを電子メールで扱うための規格 ク.IP アドレスから, 特定のグループを示すネットワークアドレスを取り出すための値 ケ. プログラムの内部構造に着目し, 設計したとおりに動作するかどうかを検証すること コ. ハードディスク装置の代替として利用されており, 記憶媒体としてフラッシュメモリを使用している補助記憶装置 3 次の説明文に最も適した答えをア, イ, ウの中から選び, 記号で答えなさい 1.10 進数の 7.25 を 2 進数で表したもの ア.111.01 イ.111.1 ウ.111.11 2.LAN 内部のクライアントの代理としてインターネット接続を行うサーバ ア.DNS サーバイ. プロキシサーバウ.POP サーバ 3. 入力が 0 と 1 または, 1 と 0 のときだけ 1 を出力する論理回路 ア.AND 回路イ.OR 回路ウ.XOR 回路 4. システムの一部に障害が発生しても, 最低限の機能でシステムの稼働を継続する設計思考 ア. フェールセーフイ. フェールソフトウ. フールプルーフ 5. 平均シーク時間が 15 ミリ秒,6,000 回転 / 分の磁気ディスク装置の平均待ち時間はいくらか ア.10 ミリ秒イ.15 ミリ秒ウ.20 ミリ秒

[1 級共通問題 ] 4 次の各問いに答えなさい 問 1. 流れ図の説明を読んで, 流れ図の (1) にあてはまる答えを解答群から選び, 記号で答えなさい < 流れ図の説明 > 処理内容配列に記憶された数値を並べ替える流れ図である 処理条件 1. 配列 Pt は 2 桁の数値が記憶されており, データ件数は n である 配列 Pt 71 24 (0) (n-1) 2. 配列 Pt の数値を先頭から昇順に並べ替える 3. 条件式が かつ で複合されている場合, 先に記述された条件式が偽となった時点で, 判定を終了するものとする 4. 並べ替えが終わったら, 配列 Pt の内容をディスプレイに表示する < 流れ図 > はじめ 配列 Pt を準備し, データを記憶する データ件数 n s は 1 から 1 ずつ増やして (1) の間 Pt(s) Work t は s - 1 から 1 ずつ減らして t 0 かつ Pt(t) > Work の間 Pt(t) Pt(t + 1) t s - 1 解答群 ア.Work Pt(t + 1) イ.s n 配列 Pt を表示 おわり ウ.Work Pt(t) エ.s n - 1 問 2. 流れ図の説明を読んで, 流れ図の (3)(5) にあてはまる答えを解答群から選び, 記号で答えなさい < 流れ図の説明 > < 流れ図 > 処理内容はじめ配列に記憶された数値に順位を付ける流れ図であ配列 Nin を準備し, データを記憶するる 配列 Jun を準備する処理条件 1. 配列 Nin は整数値が記憶されており, データ件データ件数 n 数はnである ループ1 p は 0 から 1 ずつ増やして配列 p < n の間 Nin 271 523 (0) (n-1) 2. 配列 Jun を利用して, 配列 Nin の数値の降順に順位を付ける 配列 Jun (0) (n-1) 3. 順位付けが終わったら, 配列 Nin と Jun の内容をディスプレイに表示する 解答群 (3) s は 0 から 1 ずつ増やして s < n - 1 の間 ループ 3 (4) t < n の間 Nin(s) < Nin(t) (5) Nin(s) > Nin(t) 解答不要 ア.0 Jun(p) イ.Jun(s) + 1 Jun(s) ウ.t は s + 1 から 1 ずつ増やしてエ.Jun(t) + 1 Jun(t) オ.t は s から 1 ずつ増やしてカ.1 Jun(p) ループ 3 ループ 4 p は 0 から 1 ずつ増やして p < n の間 Nin(p),Jun(p) を表示 ループ 4 おわり

[1 級共通問題 ] 5 流れ図の説明を読んで, 流れ図の (1)(5) にあてはまる答えを解答群から選び, 記号で答えなさい < 流れ図の説明 > 処理内容発生順に記録された営業成績データを読み, キーボードから入力された担当地区の営業成績状況を表示する流れ図である 入力データ社員 ID (Sid) 実行結果 3405 社員 IDエラー 1345 社員 IDエラー 取扱品目コード (Tcodo) 販売金額 (Kin) ( 第 1 図 ) 担当地区を入力してください 北陸 ( 担当地区 ) 北陸 ( 社員 ID) ( 品目 1) ( 品目 20) ( 合計 ) ( 順位 ),,,,,, 担当地区を入力してください 関東 ( 担当地区 ) 関東 < 流れ図 > はじめ 配列 Hsid Htiku を準備しデータを記憶する 配列 Hkin を準備し, 初期化する データがある間 データを読む 探索処理 Ka Jo (1) Hkin(m,21) + Kin Hkin(m,21) g は 0 から 1 ずつ増やして g 99 の間 Sid " 社員 ID エラー " を表示 ( 第 2 図 ) 処理条件 1. 社員は 100 人であり, 配列 Hsid には社員 IDが, 配列 Htiku には担当地区が, 社員 IDの昇順にあらかじめ記憶されている なお, 配列 Hsid と Htiku は添字で対応している 配列 (0) (1) (99) Hsid 1001 1005 4502 (0) (1) (99) Htiku 関東九州 北陸 2. 第 1 図の入力データを読み, 次の処理を行う 社員 IDをもとに配列 Hsid を探索する なお, 見つからない場合は, 入力データのエラーとし, 社員 IDとエラーメッセージを表示する 配列 Hkin に取扱品目別に販売金額を集計する なお, 取扱品目コードは120 であり, 配列 Hkin の列方向の添字と対応しており, 行方向の添字は配列 Hsid と対応している また, 21 列目に社員別の合計を集計する 配列 Hkin (0) (1) (20) (21) (22) (0) (1) (99) ( 不使用 ) ( 品目 1) ( 品目 20) ( 合計 ) ( 順位 ) 配列 Hkin の 22 列目に合計の降順に順位を付ける だたし, 合計が同じ場合は, 同順位とする 3. 入力データが終了したら, キーボードから入力された担当地区の社員だけを, 社員 ID の昇順に営業成績状況をディスプレイに表示する 4. キーボードから end が入力されたら処理を終了する 5. 社員 ID 以外のデータにエラーはないものとする 解答群ア.m - 1 Ka イ.Hkin(m,Tcodo) + Kin Hkin(m,Tcodo) ウ.Hkin(Tcodo,m) + Kin Hkin(Tcodo,m) エ.m + 1 Ka オ.Hkin(h,21) > Hkin(k,21) カ.Tiku = Htiku(m) キ.h + 1 k ク.Tiku = Htiku(g) ケ.Hkin(h,21) < Hkin(k,21) コ.h + 1 j 1 Hkin(g,22) ループ 3 h は 0 から 1 ずつ増やして h 98 の間 ループ 4 k は j から 1 ずつ増やして k 99 の間 (3) Hkin(k,22) + 1 Hkin(k,22) ループ 4 ループ 3 " 担当地区を入力してください " を表示 キーボードから Tiku を入力 ループ 5 Tiku "end" の間 Tiku を表示 ループ 6 g は 0 から 1 ずつ増やして g 99 の間 (4) Hsid(g),Hkin(g,1) Hkin(g,22) を表示 ループ 6 " 担当地区を入力してください " を表示 キーボードから Tiku を入力 ループ 5 おわり 解答不要 Hkin(h,22) + 1 Hkin(h,22) 探索処理 入口 0 Ka 99 Jo (Ka + Jo) 2 m ループ 7 Sid Hsid(m) かつ Ka Jo の間 Sid > Hsid(m) (5) m - 1 Jo (Ka + Jo) 2 m ループ 7 出口 小数点以下切り捨て

[1 級共通問題 ] 6 流れ図の説明を読んで, 流れ図の (1)(5) にあてはまる答えを解答群から選び, 記号で答えなさい < 流れ図の説明 > 処理内容 開発商品評価データを読み, 開発商品評価表を表示する流れ図である 入力データ 商品番号 (SyoBan) 実行結果 評価コード (Hcod) 評価 1 (Hyo(1)) 評価 5 (Hyo(5)) ( 第 1 図 ) ( 開発商品評価表 ) ( 消費者評価 ) ( 社長評価 ) ( 商品番号 ) ( 評価 1)( 評価 5) ( 評価 1)( 評価 5) ( 評価計 ) 4 20 12 5 7 105 2 14 14 1 8 103 35 16 18 5 2 103 31 2 18 5 7 60 6 8 6 6 8 54 ( 第 2 図 ) 処理条件 1. 開発商品は 50 個であり, 商品番号 150 が割り当てられている 2. 評価コードは1: 消費者評価,2: 社長評価である 評価 1 評価 5は110 点であり, 消費者評価のみ, 各評価に配列 Omomi の値を乗じて求める なお, 値はあらかじめ記憶されている 配列 (0) (1) (3) (4) (5) 0momi 不使用 2 1 3 2 2 3. 第 1 図の入力データを読み, 以下の手順で配列 Kei に集計する なお, 配列 Kei の行方向は商品番号と添字で対応している 商品番号を0 列目に転記する 評価コードが1の場合, 各評価を配列 Omomi で乗じて求め,1 列目から5 列目に記憶する 評価コードが2の場合, 各評価をそのまま6 列目から 10 列目に記憶する 11 列目には評価計を集計する 配列 Kei (0) (1) (5) (6) (10) (11) (0) (1) (49) (50) ( 商品番号 ) ( 評価 1) ( 評価 5) ( 評価 1) ( 評価 5) ( 評価計 ) 4. 入力データが終了したら, 配列 Kei のデータを評 価計の降順に並べ替える ただし, 評価計が同じ場 合は商品番号の昇順に並べ替える 5. データにエラーはないものとする 解答群 ア.Kei(0,11) > Kei(n,11) イ.Hcod + 5 h ウ.g + 5 h エ.Hyo(SyoBan) Omomi(g) オ.Kei(s,t) カ.Kei(0,s) Kei(n + 1,s) キ.Hyo(g) Omomi(g) ク.Kei(0,11) < Kei(n,11) ケ.Kei(t,s) コ.Kei(m,s) Kei(0,s) < 流れ図 > はじめ 配列 Omomi を準備し, データを記憶する 配列 Kei を準備し, 初期化する データがある間 データを読む SyoBan Kei(SyoBan,0) g は 1 から 1 ずつ増やして g 5 の間 Hcod = 1 (1) Kei(SyoBan,g) Kei(SyoBan,11) + Kei(SyoBan,g) Kei(SyoBan,11) ループ 3 m は 2 から 1 ずつ増やして m 50 の間 ループ 4 s は 0 から 1 ずつ増やして s 11 の間 Kei(m,s) Kei(0,s) ループ 4 ループ 5 n は m - 1 から 1 ずつ減らして (3) の間 ループ 6 s は 0 から 1 ずつ増やして s 11 の間 Kei(n,s) Kei(n + 1,s) ループ 6 ループ 5 ループ 7 s は 0 から 1 ずつ増やして s 11 の間 (4) ループ 7 ループ 3 ループ 8 t は 1 から 1 ずつ増やして t 50 の間 ループ 9 s は 0 から 1 ずつ増やして s 11 の間 (5) を表示 ループ 9 ループ 8 おわり Hyo(g) Kei(SyoBan,h) Kei(SyoBan,11) + Kei(SyoBan,h) Kei(SyoBan,11)

[1 級 Java 選択者のための問題 ] 7 プログラムの説明を読んで, プログラムの (1)(5) を答えなさい <プログラムの説明 > 処理内容データベースに記録された学籍番号と進路先コードから, 学年進路先別割合を表示するプログラムである 入力データ ( 表名 :sinro) ( 学籍番号 ) gakusekibango 実行結果 ( 進路先コード ) code ( 第 1 図 ) 処理条件 1. 第 1 図の入力データは, 学籍番号と進路先コードが記録されている なお, 進路先コードは次のとおりである 0: 四大 1: 短大 2: 専門 3: 企業 4: 公務員 5: その他 sinro 表の内容 gakusekibango code 3101 1 3102 4 3540 0 2.sinro 表から学籍番号の昇順に抽出する 1 件分のデータごとに,getInt メソッドで取得したデータを次のような syukei オブジェクトと sinrobetu オブジェクトに人数を集計する syukei オブジェクト ( 配列 ) sinrobetu オブジェクト ( 配列 ) (0) (1) (5) (0) (3 年 1 組 ) (1) (3 年 2 組 ) (4) (3 年 5 組 ) (5) ( 学年合計 ) (0) ( 進学 ) (1) ( 就職 ) ( その他 ) ( 四大 ) ( 短大 ) ( 専門 ) ( その他 ) getint メソッドは,ResultSet オブジェクトの現在行にある指定された列の値を int として取得する 3. 第 1 図の入力データが終了したら,syukei オブジェクトの内容を第 2 図の実行結果のようにディスプレイに表示する 4.syukei オブジェクトの学年合計の降順に並べ替えを行う なお, 同じ人数の場合は, 進路先コードの昇順に並べ替えられる 5. 最後に, 生徒人数に対する進路先別の割合を計算し,syukei オブジェクトと sinrobetu オブジェクトの内容を第 2 図の実行結果のようにディスプレイに表示する <Java プログラム > // クラス Sinro public class Sinro { public static void main(string[] args) { Syori syori = new Syori(); syori.sinrobetusyukei(); Hyoji hyoji = new Hyoji(syori); hyoji.kurasuhyoji(); syori. (1) ; hyoji.gakunenhyoji(); // クラス Syori import java.sql.*; public class Syori { private String[] sinrosaki = {" 四大 "," 短大 ", " 専門 "," 企業 "," 公務員 "," その他 "; private int[][] syukei = new int[6][6]; private int[] sinrobetu = new int[3]; private int seitonin; private ResultSet rs; private Statement stmt; private Connection con; public Syori(){ try { Class.forName(" ドライバ名 "); con = DriverManager.getConnection(" データベースの場所 ", " ユーザ名 ", " パスワード "); stmt = con.createstatement(); String sqlstr = "SELECT * FROM sinro ORDER BY gakusekibango ASC"; rs = stmt.executequery(sqlstr); catch (ClassNotFoundException e) { System.out.println(" クラスが見つかりません "); catch (SQLException e) { ( 第 2 図 )

[1 級 Java 選択者のための問題 ] System.out.println(" エラーが発生しました "); public String[] getsinrosaki(){ return sinrosaki; public int[][] getsyukei(){ return syukei; public int[] getsinrobetu(){ return sinrobetu; public int getseitonin(){ return seitonin; public void sinrobetusyukei() { try{ while (rs.next()) { int soe2; int gakusekino = rs.getint("gakusekibango"); int sinrono = rs.getint("code"); int soe1 = gakusekino / 100-31; ; syukei[5][sinrono]++; if (sinrono <= 2) { soe2 = 0; else if (sinrono <= 4) { soe2 = 1; else { soe2 = 2; sinrobetu[soe2]++; seitonin++; rs.close(); stmt.close(); con.close(); catch (SQLException e) { System.out.println(" エラーが発生しました "); public void sinrobetusort() { for (int m = syukei[5].length - 1; m > 0; m--) { for (int n = 0; n < m; n++) { if (syukei[5][n] < syukei[5][n + 1]) { int hozonkei = syukei[5][n]; syukei[5][n] = syukei[5][n + 1]; syukei[5][n + 1] = hozonkei; String hozonsaki = sinrosaki[n]; sinrosaki[n] = sinrosaki[n + 1]; (3) = hozonsaki; // クラス Hyoji public class Hyoji { private Syori syori; private String[] sinrosaki; private int[][] syukei; private int[] sinrobetu; private int seitonin; public Hyoji(Syori syori){ this.syori = syori; sinrosaki = syori.getsinrosaki(); syukei = (4) ; sinrobetu = syori.getsinrobetu(); seitonin = syori.getseitonin(); public void KurasuHyoji() { for (int m = 0; m < 5; m++) { int kumi = m + 1; System.out.print("3 年 " + kumi + " 組 "); for (int n = 0; (5) ; n++) { String ninzu = String.format("%2d",syukei[m][n]); System.out.print("\t" + sinrosaki[n] + ":" + ninzu + " 名 "); System.out.println(); public void GakunenHyoji() { syori.sinrobetusort(); System.out.println(" 学年進路先別割合 "); for (int m = 0; m < syukei[5].length; m++) { double wari = (double)syukei[5][m] * 100 / seitonin; String per = String.format("%.1f", wari); System.out.println(sinrosaki[m] + ":" + " 約 " + per + "%"); System.out.print(" 進学 :" + sinrobetu[0] + " 名 " + "\t"); System.out.print(" 就職 :" + sinrobetu[1] + " 名 " + "\t"); System.out.print(" その他 :" + sinrobetu[2] + " 名 " + "\t");

[1 級マクロ言語選択者のための問題 ] 7 次のプログラムの説明を読んで, プログラム中の空欄 (1)(5) を答えなさい < プログラムの説明 > 処理内容ユーザーフォームから備品貸出返却情報を入力し, 予約情報の更新および貸出可能リストを表示するプログラムである 入出力データ備品データ ( ファイル名 :bihin.csv) 備品管理番号備品名貸出フラグ ( 第 1 図 ) 貸出簿データ ( ファイル名 :kasidasi.csv) 備品管理番号部署コード貸出年月日返却予定日返却フラグ ( 第 2 図 ) 処理条件 1. 第 1 図の備品データは, 次のように備品管理番号の昇順に記録されている なお, 備品数は 300 件以内であり, 貸出フラグは 1 が貸出中を示している bihin.csv の内容配列 101, プロジェクタ ZX01,0 102, プロジェクタ ZX02,0 845, ホワイトボード,WBK4,1 ユーザーフォーム 実行結果 BBkno BNamae BFlg (0) (0) (0) (299) (299) (299) ( 備品名 ) 2. 第 2 図の貸出簿データは, 次のように貸出番号の昇順に記録されている なお, 返却フラグは 1 が貸出中の備品である Kasidasi.csv の内容配列 101,115,120425,120512,1 Kasi (0) (1) (3) (4) (0) (9999) 本日の日付 120106 (TextBox1) 備品管理番号 244 (TextBox2) 部署コード 114 (TextBox3) 返却予定日 120204 (TextBox4) ( 備品管理番号 ) ( 部署コード ) ( 貸出年月日 ) ( 返却予定日 ) ( 返却フラグ ) 3.TextBox1 および TextBox4 の日付の表示形式は次のとおりである 例 2012 年 1 月 1 日 120101 4. 備品データのうち, 貸出可能機器 ( 貸出フラグが 0 である備品 ) の備品管理番号と備品名を TextBox5 に表示する 5. 貸出の場合は,TextBox2TextBox4 に使用者の情報を入力し 貸出ボタンをクリックする 6. 返却の場合は, 借用している備品管理番号を TextBox2 に入力し 返却ボタンをクリックすると使用者情報を TextBox3 および TextBox4 に表示し 確認したのち 処理を行う 7. 貸出処理および返却処理を 1 件行うごとに 貸出可能リスト (TextBox5) を更新する 8. 終了ボタンをクリックすると第 1 図の備品データと第 2 図の貸出簿データを最新の状況に更新し, 処理を終わる 9. 備品管理番号以外のデータにエラーはなく, 操作は正常に行われるものとする <マクロ言語プログラム > Option Explicit Dim Kasi(9999, 4) As Long Dim BBkno(299) As Integer, BNamae(299) As String, BFlg(299) As Integer Dim Kekka As Integer, f As Integer, n As Integer, p As Integer, h As Integer, s As Integer Private Sub UserForm_Initialize() Call Byomi Call Kyomi ' システム日付を TextBox1 に表示する TextBox1 = Format(Right(Year(Date), 2), "00") & Format(Month(Date), "00") & Format(Day(Date), "00") Private Sub Byomi() Open "bihin.csv" For Input As #1 n = 0 Do While (EOF(1) = False) Input #1, BBkno(n), BNamae(n), BFlg(n) If BFlg(n) = 0 Then TextBox5.Text = TextBox5.Text & BBkno(n) & " " & BNamae(n) & vbcr n = n + 1 Loop Close #1 Private Sub Kyomi() Open "kasidasi.csv" For Input As #2 p = 0 Do While (EOF = False) Input #2, Kasi(p, 0), Kasi(p, 1), Kasi(p, 2), Kasi(p, 3), Kasi(p, 4) p = p + 1 Loop Close #2 Private Sub clr() TextBox2.Text = "": TextBox3.Text = "": TextBox4.Text = "" 貸出 返却貸出 終了 貸出可能リスト 備品管理番号 備品名 101 プロジェクタZX01 102 プロジェクタZX02 105 プロジェクタZX05 201 ノートPC BZ323 202 ノートPC BZ324 205 ノートPC BZ327 (TextBox5) ( 第 3 図 )

[1 級マクロ言語選択者のための問題 ] Private Sub 貸出 _Click() Dim k As Integer Call tansaku(val(textbox2.text)) If (1) And BFlg(Kekka) = 0 Then Kasi(p, 0) = Val(TextBox2.Text): Kasi(p, 1) = Val(TextBox3.Text): Kasi(p, 2) = Val(TextBox1.Text) Kasi(p, 3) = Val(TextBox4.Text): Kasi(p, 4) = 1: BFlg(Kekka) = 1 TextBox5.Text = "" MsgBox " 貸出処理が完了しました " p = p + 1 Else If Kekka >= 0 And BFlg(Kekka) = 1 Then MsgBox " 入力された備品は貸出中です " Else MsgBox " 備品管理番号が間違っています 再入力してください " For k = 0 To n - 1 If BBkno(k) <> 0 Then If BFlg(k) = 0 Then TextBox5.Text = TextBox5.Text & BBkno(k) & " " & & vbcr Else Exit For Next k Call clr Private Sub 返却 _Click() Dim Kotae As Integer For f = 0 To n - 1 If Val(TextBox2.Text) = (3) Then Exit For Next f TextBox3.Text = Str(Kasi(f, 1)) TextBox4.Text = Str(Kasi(f, 3)) Kotae = MsgBox(" 部署コードと返却予定日に間違いはありませんか?", vbyesno) ' はい いいえ を選択する MsgBox If Kotae = 6 Then ' はい がクリックされた時 Kasi(f, 4) = 0 Call tansaku(val(textbox2.text)) BFlg(Kekka) = 0 TextBox5.Text = "" For s = 0 To n - 1 If BFlg(s) = 0 Then TextBox5.Text = TextBox5.Text & BBkno(s) & " Next s MsgBox " 返却処理が完了しました " Call clr Else ' いいえ がクリックされた時 MsgBox " 返却処理を中止しました " Call clr Private Sub tansaku(h As Integer) Dim Ue As Integer, Sita As Integer, m As Integer, Chk As Integer Ue = n: Sita = -1: Chk = 0 Do While (Chk = 0) m = (4) Select Case BBkno(m) Case Is = h: Chk = 1 Case Is < h: Sita = m Case Else: Ue = m End Select If Sita + 1 = Ue Then Chk = 2 Loop Select Case Chk Case 1: (5) Case 2: Kekka = -1 End Select Private Sub 終了 _Click() Open "bihin.csv" For Output As #1 For f = 0 To n - 1 Write #1, BBkno(f), BNamae(f), BFlg(f) Next f Close #1 Open "kasidasi.csv" For Output As #2 For f = 0 To p - 1 Write #2, Kasi(f, 0), Kasi(f, 1), Kasi(f, 2), Kasi(f, 3), Kasi(f, 4) Next f Close #2 End " & BNamae(s) & vbcr

[1 級 COBOL 選択者のための問題 ] 7 プログラムの説明を読んで, プログラムの (1)(5) を答えなさい < プログラムの説明 > 処理内容ある高校の生徒ファイルと図書館貸出ファイルを読み, 図書貸出数一覧表を印字するプログラムプログラムである 入力データ生徒ファイル ( ファイル名 :SEITO-FL, レコード名 :SEITO-REC) 生徒番号 (S-BAN) 名前 (S-NAMAE) ( 第 1 図 ) 図書館貸出ファイル ( ファイル名 :KASIDASI-FL, レコード名 :KASIDASI-REC) 貸出日 (K-TUKIHI) 生徒番号 (K-BAN) 分類番号 (K-BUN) 図書番号 (K-) ( 第 2 図 ) 実行結果 ( ファイル名 :OUT-FL, レコード名 :OUT-REC) ( 図書貸出数一覧表 ) ( 生徒番号 ) ( 名前 ) ( 総記 ) ( 文学 ) ( 合計 ) ( 順位 ) 2204 14 21 277 1 3622 8 33 275 2 1329 0 1 12 792 処理条件 1. 第 1 図の生徒ファイルは, 生徒番号の昇順に記録されている なお, 生徒数は 1,000 人以内である 2. 生徒ファイルを読み, テーブル NAMAE-TBL に名前を, テーブル TOSYO-TBL の 1 列目に生徒番号を記憶する テーブル NAMAE-TBL T-NAMAE (1) (1000) テーブル TOSYO-TBL T-TOSYO (1) (11) (12) (13) (1) 1101 1102 ( 第 3 図 ) (1000) ( 生徒番号 ) (000099) (900999) ( 合計 ) ( 順位 ) ( 総記 ) ( 文学 ) 3. 第 2 図の図書館貸出ファイルを読み, テーブル TOSYO-TBL に図書貸出数を集計する なお,12 列目には生徒ごとの貸出数の合計を集計する 生徒番号をもとに, テーブル TOSYO-TBL の1 列目を探索し, 行方向の添字を求める 分類番号の百の位は大分類 (09) であり, 列方向の添字 (211) を計算により求める 4. 図書館貸出ファイルを読み終えたあと, テーブル TOYO-TBL の合計の降順に順位をつける 5. 第 3 図のように順位の昇順に印字する 6. データにエラーはないものとする

[1 級 COBOL 選択者のための問題 ] <COBOL プログラム > WORKING-STORAGE SECTION. 01 PRINT-L. 02 PIC X(02) VALUE SPACE. 02 P-BAN PIC 9(04). 02 PIC X(06) VALUE SPACE. 02 P-NAMAE PIC X(14). 02 P-SYUKEI OCCURS 12. 03 PIC X(03) VALUE SPACE. 03 P-SU PIC Z,ZZ9. PROCEDURE DIVISION. S1. OPEN INPUT SEITO-FL KASIDASI-FL OUTPUT OUT-FL INITIALIZE E-FLG CNT TOSYO-TBL PERFORM UNTIL E-FLG = 1 READ SEITO-FL AT END MOVE 1 TO E-FLG T AT END COMPUTE CNT = CNT + 1 MOVE S-NAMAE TO T-NAMAE(CNT) MOVE S-BAN TO T-TOSYO(CNT 1) (1) END-READ INITIALIZE E-FLG PERFORM UNTIL E-FLG = 1 READ KASIDASI-FL AT END MOVE 1 TO E-FLG T AT END MOVE 0 TO KAG COMPUTE M = (KAG + JOG) / 2 PERFORM UNTIL T-TOSYO(M 1) = K-BAN IF T-TOSYO(M 1) < K-BAN THEN MOVE M TO KAG ELSE MOVE M TO JOG END-IF COMPUTE M = (KAG + JOG) / 2 (3) COMPUTE T-TOSYO(M SOE) = T-TOSYO(M SOE) + 1 COMPUTE T-TOSYO(M 12) = T-TOSYO(M 12) + 1 END-READ PERFORM VARYING N FROM 1 BY 1 UNTIL N = CNT COMPUTE S = N + 1 PERFORM VARYING T FROM S BY 1 UNTIL T > CNT IF (4) THEN COMPUTE T-TOSYO(N 13) = T-TOSYO(N 13) + 1 ELSE IF T-TOSYO(N 12) > T-TOSYO(T 12) THEN COMPUTE T-TOSYO(T 13) = T-TOSYO(T 13) + 1 END-IF END-IF PERFORM VARYING JUN FROM 1 BY 1 UNTIL JUN > CNT PERFORM VARYING N FROM 1 BY 1 UNTIL N > CNT IF T-TOSYO(N 13) = JUN THEN MOVE T-TOSYO(N 1) TO P-BAN MOVE T-NAMAE(N) TO P-NAMAE PERFORM VARYING (5) MOVE T-TOSYO(N P) TO P-SU(P - 1) WRITE OUT-REC FROM PRINT-L AFTER 1 END-IF CLOSE SEITO-FL KASIDASI-FL OUT-FL STOP RUN.

( 平成 25 年? 月? 日実施 ) 主催公益財団法人全国商業高等学校協会 平成 25 年度 ( 出題例 ) 情報処理検定試験プログラミング部門第 1 級 解答用紙 1 1 2 3 4 5 2 1 2 3 4 5 3 1 2 3 4 5 小計 4 (1) (3) (4) (5) 5 (1) (3) (4) (5) 6 (1) (3) (4) (5) 小計 Java マクロ言語 COBOL 7 (1) (3) (4) (5) 小計 試験場校名受験番号選択言語 合計 Java マクロ言語 COBOL 選択言語を で囲むこと

( 平成 25 年? 月? 日実施 ) 主催公益財団法人全国商業高等学校協会 平成 25 年度 ( 出題例 ) 情報処理検定試験プログラミング部門第 1 級審査基準 1 2 1 2 3 4 5 ケ カ キ サ ア 1 2 3 4 5 ク オ イ エ キ 各 2 点計 10 点 各 2 点計 10 点 3 1 2 3 4 5 小計各 2 点アイウイウ計 10 点 30 4 (1) (3) (4) エアカウ (5) イ 各 3 点計 15 点 5 (1) イ コ (3) (4) (5) オ ク エ 各 3 点計 15 点 6 (1) (3) (4) (5) キウアカケ 各 3 点計 15 点 小 45 計 Java マクロ言語 COBOL [Java] 7 (1) s i n r o b e t u S o r t ( ) s y u k e i [ s o e 1 ] [ s i n r o N o ] + + (3) s i n r o s a k i [ n + 1 ] (4) s y o r i. g e t S y u k e i ( ) (5) n < s y u k e i [ m ]. l e n g t h [ マクロ言語 ] 7 (1) K e k k a > = 0 B N a m a e ( k ) (3) K a s i ( f, 0 ) (4) I n t ( ( U e + S i t a ) / 2 ) (5) K e k k a = m [COBOL] 7 (1) M O V E 1 T O T - T O S Y O ( C N T 1 3 ) C O M P U T E J O G = C N T + 1 (3) C O M P U T E S O E = K - B U N / 1 0 0 + 2 (4) T - T O S Y O ( N 1 2 ) < T - T O S Y O ( T 1 2 ) (5) P F R O M 2 B Y 1 U N T I L P > 1 3 各 5 点計 25 点 試験場校名 受験番号 小 25 計 選択言語合計 Java マクロ言語 COBOL 100 選択言語を で囲むこと