新 学 習 指 導 要 領 におけるプログラミング Java 言 語 の 演 習 例



Similar documents
<4D F736F F D20819C486F70658F6F93588ED297708AC7979D89E696CA837D836A B E A2E646F63>

Microsoft Word - 第3章.doc

入 札 参 加 資 格 申 請 システム 操 作 マニュアル 入 札 参 加 資 格 の 資 格 有 効 ( 変 更 ) 日 を 迎 えると 追 加 届 の 登 録 ができるようになります ( 入 札 参 加 資 格 申 請 の 定 時 受 付 では いずれかの 申 請 先 団 体 から 入 札 参

TIPS - 棚 割 りを 開 始 するまで Liteを 起 動 し 企 業 情 報 の 追 加 を 行 い 棚 割 を 行 う 企 業 の 追 加 をして 下 さい 企 業 情 報 の 追 加 時 に エラーメッセージが 表 示 された 場 合 別 途 TIPS トラブルが 発 生 した 場 合

学校教育法等の一部を改正する法律の施行に伴う文部科学省関係省令の整備に関する省令等について(通知)

2016 年 度 情 報 リテラシー 変 更 された 状 態 同 様 に 価 格 のセルを 書 式 設 定 する 場 合 は 金 額 のセルをすべて 選 択 し [ 書 式 ]のプルダウンメニューか ら[ 会 計 ]を 選 択 する すると が 追 加 され 金 額 としての 書 式 が 設 定 さ

(Microsoft Word - Excel\211\236\227p2\217\315.docx)

Microsoft PowerPoint - 報告書(概要).ppt

2 課 題 管 理 ( 科 学 研 究 費 補 助 金 ) 画 面 が 表 示 されます 補 助 事 業 期 間 終 了 後 欄 の[ 入 力 ] をクリックします [ 入 力 ]ボタンが 表 示 されていない 場 合 には 所 属 する 研 究 機 関 の 事 務 局 等 へお 問 い 合 わせく

改 定 履 歴 改 訂 日 改 訂 理 由 及 び 内 容 承 認 者 確 認 者 改 訂 者 05/8/7 新 版 発 行 05/0/5 推 奨 動 作 環 境 を 追 記

質 問 票 ( 様 式 3) 質 問 番 号 62-1 質 問 内 容 鑑 定 評 価 依 頼 先 は 千 葉 県 などは 入 札 制 度 にしているが 神 奈 川 県 は 入 札 なのか?または 随 契 なのか?その 理 由 は? 地 価 調 査 業 務 は 単 にそれぞれの 地 点 の 鑑 定

情報処理技能検定試験 表計算2級 手順書

SXF 仕 様 実 装 規 約 版 ( 幾 何 検 定 編 ) 新 旧 対 照 表 2013/3/26 文 言 変 更 p.12(1. 基 本 事 項 ) (5)SXF 入 出 力 バージョン Ver.2 形 式 と Ver.3.0 形 式 および Ver.3.1 形 式 の 入 出 力 機 能 を

(3) 小 単 元 の 指 導 と 評 価 の 計 画 小 単 元 第 11 章 税 のあらまし の 指 導 と 評 価 の 計 画 ( 四 次 確 定 申 告 制 度 抜 粋 ) 関 心 意 欲 態 度 思 考 判 断 技 能 表 現 知 識 理 解 小 単 元 の 評 価 規 準 税 に 関 す

2016 年 度 情 報 リテラシー 三 科 目 合 計 の 算 出 関 数 を 用 いて 各 教 科 の 平 均 点 と 最 高 点 を 求 めることにする この2つの 計 算 は [ホーム]タブのコマ ンドにも 用 意 されているが 今 回 は 関 数 として 作 成 する まず 表 に 三 科


KINGSOFT Office 2016 動 作 環 境 対 応 日 本 語 版 版 共 通 利 用 上 記 動 作 以 上 以 上 空 容 量 以 上 他 接 続 環 境 推 奨 必 要 2

為 が 行 われるおそれがある 場 合 に 都 道 府 県 公 安 委 員 会 がその 指 定 暴 力 団 等 を 特 定 抗 争 指 定 暴 力 団 等 として 指 定 し その 所 属 する 指 定 暴 力 団 員 が 警 戒 区 域 内 において 暴 力 団 の 事 務 所 を 新 たに 設

医 療 費 自 己 負 担 額 支 払 明 細 書 入 力 シート - 目 次 - < 第 1 章 > 共 通 事 項 説 明 医 療 費 自 己 負 担 額 支 払 明 細 書 入 力 シート 目 次 1.1 本 システムの 注 意 点 入 力 項 目 について 基 本 情

PowerPoint プレゼンテーション

<4D F736F F D20819C B78AFA95DB91538C7689E68DEC90AC289

< 目 次 > 8. 雇 用 保 険 高 年 齢 雇 用 継 続 給 付 27 ( 育 児 休 業 給 付 介 護 休 業 給 付 ) 8.1 高 年 齢 雇 用 継 続 給 付 画 面 のマイナンバー 設 定 高 年 齢 雇 用 継 続 給 付 の 電 子 申 請 高

1. 決 算 の 概 要 法 人 全 体 として 2,459 億 円 の 当 期 総 利 益 を 計 上 し 末 をもって 繰 越 欠 損 金 を 解 消 しています ( : 当 期 総 利 益 2,092 億 円 ) 中 期 計 画 における 収 支 改 善 項 目 に 関 して ( : 繰 越

Taro-1-14A記載例.jtd

(5) 給 与 制 度 の 総 合 的 見 直 しの 実 施 状 況 について 概 要 の 給 与 制 度 の 総 合 的 見 直 しにおいては 俸 給 表 の 水 準 の 平 均 2の 引 き 下 げ 及 び 地 域 手 当 の 支 給 割 合 の 見 直 し 等 に 取 り 組 むとされている

01_07_01 データのインポート_エクスポート_1

Taro-2220(修正).jtd

は 固 定 流 動 及 び 繰 延 に 区 分 することとし 減 価 償 却 を 行 うべき 固 定 の 取 得 又 は 改 良 に 充 てるための 補 助 金 等 の 交 付 を 受 けた 場 合 にお いては その 交 付 を 受 けた 金 額 に 相 当 する 額 を 長 期 前 受 金 とし

<4D F736F F F696E74202D B E E88E68C9A90DD8BC65F E DC58F4994C52E >

目 次 遺 失 物 管 理 プログラム 利 用 者 マニュアル 1. 動 作 条 件 遺 失 物 管 理 プログラムのインストール 運 用 の 流 れ 起 動 方 法 操 作 方 法 について 基 本 的 な 操

検 討 検 討 の 進 め 方 検 討 状 況 簡 易 収 支 の 世 帯 からサンプリング 世 帯 名 作 成 事 務 の 廃 止 4 5 必 要 な 世 帯 数 の 確 保 が 可 能 か 簡 易 収 支 を 実 施 している 民 間 事 業 者 との 連 絡 等 に 伴 う 事 務 の 複 雑

目 次 機 能 運 用 上 の 注 意 処 理 手 順 画 面 説 明 ログイン 直 送 先 選 択

4 応 募 者 向 けメニュー 画 面 が 表 示 されます 応 募 者 向 けメニュー 画 面 で [ 交 付 内 定 時 の 手 続 を 行 う] [ 交 付 決 定 後 の 手 続 を 行 う]をクリックします 10

Ⅰ 校 外 における 研 修 の 留 意 点 1 校 外 における 研 修 のコマ 数 の 考 え ア) 午 前 午 後 の 講 座 は 0.5 日 (0.5 コマ) イ) 全 日 の 講 座 は 1.0 日 (1.0 コマ) 2 校 外 における 研 修 として 選 択 できない 講 座 研 修

2 一 般 行 政 職 給 料 表 の 状 況 ( 平 成 2 年 月 1 日 現 在 ) 1 号 給 の 給 料 月 額 最 高 号 給 の 給 料 月 額 ( 注 ) 給 料 月 額 は 給 与 抑 制 措 置 を 行 う 前 のものです ( 単 位 : ) 3 職 員 の 平 均 給 与 月

<4D F736F F D208ED089EF95DB8CAF89C193FC8FF38BB CC8EC091D492B28DB88C8B89CA82C982C282A282C42E646F63>

<4D F736F F D AC90D1955D92E CC82CC895E DD8C D2816A2E646F63>

エ CarotDAV が 起 動 すると 次 のようなウィンドウが 表 示 されます メニューバーにある File から New Connection の WebDAV を 選 択 します オ 次 のような 設 定 画 面 が 表 示 されたら General タブでネットワークアドレスなどを 設

兵庫県公立学校教職員等財産形成貯蓄事務取扱細則

事前チェック提出用現況報告書作成ツール入力マニュアル(法人用)

<6D313588EF8FE991E58A778D9191E5834B C8EAE DC58F4992F18F6F816A F990B32E786C73>

<4D F736F F D F8D828D5A939982CC8EF68BC697BF96B38F9E89BB82CC8A6791E52E646F63>

2 役 員 の 報 酬 等 の 支 給 状 況 平 成 27 年 度 年 間 報 酬 等 の 総 額 就 任 退 任 の 状 況 役 名 報 酬 ( 給 与 ) 賞 与 その 他 ( 内 容 ) 就 任 退 任 2,142 ( 地 域 手 当 ) 17,205 11,580 3,311 4 月 1

<4D F736F F D2091E F18CB48D C481698E7B90DD8F9590AC89DB816A2E646F63>

C.1 共 有 フォルダ 接 続 操 作 の 概 要 アクセスが 許 可 されている 研 究 データ 交 換 システムの 個 人 用 共 有 フォルダまたは メーリングリストの 共 有 フォルダに 接 続 して フォルダを 作 成 したり ファイル をアップロードまたはダウンロードしたりすることがで

平成22年12月27日

<4D F736F F D204D46834E A6D92E8905C8D905F93B193FC819593FA8E9F95D C5292E646F63>

計算式の取り扱い

一般競争入札について

第1回

< 入 力 にあたっての 注 意 事 項 > 応 募 基 本 情 報 の 申 請 は 代 表 申 請 方 式 の 場 合 は 代 表 申 請 を 行 う 応 募 者 が 連 名 申 請 方 式 の 場 合 は 連 名 申 請 する 応 募 者 のうちのいずれかの1 者 が 研 究 体 を 代 表 し

Microsoft PowerPoint - 04_H26material_practice_No3-3.pptx

預 金 を 確 保 しつつ 資 金 調 達 手 段 も 確 保 する 収 益 性 を 示 す 指 標 として 営 業 利 益 率 を 採 用 し 営 業 利 益 率 の 目 安 となる 数 値 を 公 表 する 株 主 の 皆 様 への 還 元 については 持 続 的 な 成 長 による 配 当 可

住宅改修の手引き(初版)

目 次 1. 論 理 関 数 IF IF の 概 要 論 理 式 の 種 類 等 号 不 等 号 具 体 的 な 使 い 方 ネスト 複 数 の 条 件 を 記 述...

0605調査用紙(公民)

工事記録写真チェックシステム 操作説明書

- もくじ - Ver の 変 更 点 P.3 1 障 害 者 総 合 支 援 法 概 要 P.4 2 平 成 25 年 度 以 降 地 域 区 分 対 応 P 地 域 区 分 設 定 方 法 P 地 域 区 分 について P 地 域 単 価 の 確

入 札 参 加 者 は 入 札 の 執 行 完 了 に 至 るまではいつでも 入 札 を 辞 退 することができ これを 理 由 として 以 降 の 指 名 等 において 不 利 益 な 取 扱 いを 受 けることはない 12 入 札 保 証 金 免 除 13 契 約 保 証 金 免 除 14 入

1 書 誌 作 成 機 能 (NACSIS-CAT)の 軽 量 化 合 理 化 電 子 情 報 資 源 への 適 切 な 対 応 のための 資 源 ( 人 的 資 源,システム 資 源, 経 費 を 含 む) の 確 保 のために, 書 誌 作 成 と 書 誌 管 理 作 業 の 軽 量 化 を 図

SchITコモンズ【活用編】

地 方 税 法 第 72 条 の4 第 3 項 の 規 定 により 一 定 の 農 事 組 合 法 人 が 行 う 農 業 に 対 しては 事 業 税 が 非 課 税 とされています 埼 玉 県 では その 具 体 的 な 取 扱 いについて 以 下 のとおり 定 めましたので 事 業 税 の 申

MetaMoJi ClassRoom/ゼミナール 授業実施ガイド

年齢別人数計算ツールマニュアル

CSI情報管理システム

(4) 給 与 制 度 の 総 合 的 見 直 しの 実 施 状 況 について 概 要 国 の 給 与 制 度 の 総 合 的 見 直 しにおいては 俸 給 表 の 水 準 の 平 均 2の 引 下 げ 及 び 地 域 手 当 の 支 給 割 合 の 見 直 し 等 に 取 り 組 むとされている.

2 役 員 の 報 酬 等 の 支 給 状 況 役 名 法 人 の 長 理 事 理 事 ( 非 常 勤 ) 平 成 25 年 度 年 間 報 酬 等 の 総 額 就 任 退 任 の 状 況 報 酬 ( 給 与 ) 賞 与 その 他 ( 内 容 ) 就 任 退 任 16,936 10,654 4,36

縦 計 横 計 をSUM 関 数 で 一 度 に 計 算 する 縦 横 の 合 計 を 表 示 するセルが 計 算 対 象 となる セルと 隣 接 している 場 合 は 一 度 に 合 計 を 求 め ることができます 1 計 算 対 象 となるセル 範 囲 と 合 計 を 表 示 する セル 範

PowerPoint プレゼンテーション

平成25年度 独立行政法人日本学生支援機構の役職員の報酬・給与等について

POWER EGG V2.01 ユーザーズマニュアル ファイル管理編

表紙(第1巻)

(2) 広 島 国 際 学 院 大 学 ( 以 下 大 学 という ) (3) 広 島 国 際 学 院 大 学 自 動 車 短 期 大 学 部 ( 以 下 短 大 という ) (4) 広 島 国 際 学 院 高 等 学 校 ( 以 下 高 校 という ) ( 学 納 金 の 種 類 ) 第 3 条

「給与・年金の方」からの確定申告書作成編

研究者情報データベース

PowerPoint プレゼンテーション

<4D F736F F D C97F195CF8AB DEC90E096BE8F912091E6312E313294C52E646F63>

Microsݯft Word - 91 forܠ2009November.docx

している 5. これに 対 して 親 会 社 の 持 分 変 動 による 差 額 を 資 本 剰 余 金 として 処 理 した 結 果 資 本 剰 余 金 残 高 が 負 の 値 となるような 場 合 の 取 扱 いの 明 確 化 を 求 めるコメントが 複 数 寄 せられた 6. コメントでは 親

電子申告直前研修会(所得税編)

公 営 企 業 職 員 の 状 況 1 水 道 事 業 1 職 員 給 与 費 の 状 況 ア 決 算 区 分 総 費 用 純 利 益 職 員 給 与 費 総 費 用 に 占 める ( 参 考 ) 職 員 給 与 費 比 率 22 年 度 の 総 費 用 に 占 A B B/A める 職 員 給 与

<4D F736F F D203193FA8AD45F95CA8E86325F89898F4B315F94F093EF8AA98D AD97DF914F82CC8FEE95F182CC8EFB8F C28E8B89BB2E646F63>

スライド 1

(Microsoft Word - \220\340\226\276\217\221.doc)

4. 発 注 者 コード 及 び 成 績 評 定 8 (Q4-1) 該 当 の 発 注 者 コードが 付 与 されていないので 追 加 してください... 8 (Q4-2) 発 注 者 コードが 不 正 確 空 白 のものがあり 点 数 を 入 力 できません 成 績 評 定 の 入 力 ができませ

答申第585号

練 習 をはじめる 前 に... 3 試 験 前 にすること... 4 受 験 番 号 名 前 の 入 力... 4 試 験 本 番... 4 注 意 すること... 4 試 験 後 にすること... 4 解 答 の 印 刷... 4 練 習 問 題... 5 処 理 手 順... 6 日 付 時

東京都立産業技術高等専門学校

(2) 支 状 況 保 育 所 ( 定 員 60 人 以 上 ) 支 状 況 は 次 とおりです 1 総 入 構 成 比 は 割 合 が88.1% 活 動 外 入 が2.1% 特 別 入 が9.8%でした 2 構 成 比 は 運 営 費 入 が80.1% 経 常 経 費 補 助 金 入 が17.8%

養 老 保 険 の 減 額 払 済 保 険 への 変 更 1. 設 例 会 社 が 役 員 を 被 保 険 者 とし 死 亡 保 険 金 及 び 満 期 保 険 金 のいずれも 会 社 を 受 取 人 とする 養 老 保 険 に 加 入 してい る 場 合 を 解 説 します 資 金 繰 りの 都

返還同意書作成支援 操作説明書

<4D F736F F D E598BC68A8897CD82CC8DC490B68B7982D18E598BC68A8893AE82CC8A C98AD682B782E993C195CA915B C98AEE82C382AD936F985E96C68B9690C582CC93C197E1915B927582CC898492B75F8E96914F955D89BF8F915F2E646F6

「1 所得税及び復興特別所得税の確定申告書データをお持ちの方」からの更正の請求書・修正申告書作成編

1. 前 払 式 支 払 手 段 サーバ 型 の 前 払 式 支 払 手 段 に 関 する 利 用 者 保 護 等 発 行 者 があらかじめ 利 用 者 から 資 金 を 受 け 取 り 財 サービスを 受 ける 際 の 支 払 手 段 として 前 払 式 支 払 手 段 が 発 行 される 場 合

03_主要処理画面.xlsx

2. ど の 様 な 経 緯 で 発 覚 し た の か ま た 遡 っ た の を 昨 年 4 月 ま で と し た の は 何 故 か 明 ら か に す る こ と 回 答 3 月 17 日 に 実 施 し た ダ イ ヤ 改 正 で 静 岡 車 両 区 の 構 内 運 転 が 静 岡 運

1級 ワンポイント

Taro-学校だより学力調査号.jtd

岡山県警察用航空機の運用等に関する訓令

一 覧 表 ( 専 従 者 用 ) YES NOチャート( 専 従 月 額 単 価 用 ) (P.4)を 参 考 にしてください < 直 接 雇 用 者 > 一 覧 表 ( 専 従 者 用 )の 単 価 は 委 託 期 間 中 に 継 続 して 半 年 以 上 当 該 AMED 事 業

Transcription:

平 成 24 年 度 商 業 教 育 改 善 委 員 会 報 告 平 成 25 年 3 月 兵 庫 県 高 等 学 校 商 業 教 育 協 会

新 学 習 指 導 要 領 におけるプログラミング Java 言 語 の 演 習 例

平 成 24 年 度 商 業 教 育 改 善 委 員 会 委 員 長 宿 南 敏 行 県 立 神 戸 商 業 高 等 学 校 校 長 副 委 員 長 長 谷 川 義 人 県 立 姫 路 商 業 高 等 学 校 校 長 委 員 小 柴 直 樹 県 立 神 戸 商 業 高 等 学 校 主 幹 教 諭 山 本 義 史 県 立 神 戸 商 業 高 等 学 校 教 諭 國 澤 剛 県 立 神 戸 商 業 高 等 学 校 教 諭 細 川 宗 一 郎 県 立 神 戸 商 業 高 等 学 校 教 諭 清 川 光 慶 市 立 神 港 高 等 学 校 教 諭 古 川 裕 士 伊 丹 市 立 高 等 学 校 教 諭 北 川 欽 一 県 立 龍 野 北 高 等 学 校 教 諭 鬼 頭 妙 子 県 立 姫 路 商 業 高 等 学 校 教 諭 福 谷 千 佳 県 立 姫 路 商 業 高 等 学 校 教 諭 事 務 局 奥 村 裕 幸 県 立 神 戸 商 業 高 等 学 校 教 諭 貞 松 敏 夫 県 立 神 戸 商 業 高 等 学 校 教 諭

目 第 章 は じ め に 第 2 章 Javaに 触 れてみよう ()Javaプログラムの 開 発 3 (2) Eclipseのセットアップ 3 (3) Javaを 動 かしてみよう 6 (4) 実 習 を 進 める 中 で 留 意 すること 8 (5) コマンドライン(コマンドプロンプト)を 利 用 する 方 法 0 第 3 章 Javaの 基 礎 () 基 本 文 法 2 変 数 の 型 次 2 出 3 入 力 力 4 四 則 演 算 5 文 字 データ 6 条 件 文 (IF 文 ) 7 繰 り 返 し 命 令 (Loop ~ While) (2) 配 列 29 (3) 配 列 を 利 用 した 処 理 39 線 形 探 索 ( 数 値 型 ) 2 線 形 探 索 ( 文 字 型 ) 3 並 べ 替 え 4 順 位 付 け 5 二 分 探 索 ( 数 値 型 ) 第 4 章 総 合 演 習 56 第 5 章 Javaアプレットの 作 成 64

第 章 はじめに 昭 和 45 年 (970 年 )からの 学 習 指 導 要 領 により 高 等 学 校 の 専 門 教 科 商 業 には 電 子 計 算 機 一 般 が 導 入 された 当 時 学 校 においても コンピュータを 学 ぶ と 言 えば 非 常 に 専 門 的 な 学 問 であり コンピュータについて 教 える と 言 えば 非 常 に 多 額 の 費 用 を 投 資 して 環 境 整 備 が 求 められた 時 代 である 世 界 の 先 進 国 を 手 本 としなが ら 世 界 有 数 の 工 業 国 への 成 長 を 願 い わが 国 では 人 々が 物 質 的 な 豊 かさを 求 めて 努 力 を 続 けてきた 時 代 である そのような 中 商 業 教 育 に 導 入 された 情 報 処 理 教 育 は 時 代 の 最 先 端 を 学 び 教 える とともに 時 代 の 最 先 端 で 活 躍 する いう 意 味 で 大 きな 注 目 を 浴 びた BASIC FORTRAN COBOL など 各 種 プログラミング 言 語 が 登 場 し 情 報 処 理 教 育 ではアルゴリズム プログラミング 言 語 について 学 ぶ 時 代 であった 世 界 中 での 技 術 革 新 の 中 でコンピュータの 小 型 化 が 進 むとともに MacOSや Windows などのオペレーティング システムが 登 場 し 汎 用 機 の 時 代 からパーソナルコンピュータの 時 代 を 迎 えた このような 社 会 の 流 れの 中 平 成 元 年 (988 年 )からの 学 習 指 導 要 領 ではワープロ 表 計 算 などのアプリケーションソフトウェアの 活 用 教 育 に 焦 点 がシフトした 以 降 ネットワークの 発 明 進 展 なども 関 連 し 情 報 処 理 教 育 の 中 心 は 開 発 者 ベースの 内 容 から 利 用 者 ベースの 内 容 に 変 遷 していった いまや 情 報 化 社 会 高 度 情 報 通 信 ネットワーク 社 会 ユビキタス 社 会 など 呼 び 方 は 様 々であるが ポケットから 携 帯 情 報 端 末 があたりまえのように 登 場 し 必 要 な 情 報 を 必 要 な 時 に 必 要 に 応 じて 得 られる 社 会 を 迎 えた スマホ が 台 頭 する 社 会 となり 人 々のコミュニケーション 手 段 にも 大 きな 変 化 をもたらしている 操 作 性 や 利 便 性 の 向 上 は 裏 を 返 せば ややこしいことは 知 らなくていい といったことでもある 表 計 算 ソフト つにしても 関 数 の 仕 組 みや 構 造 的 な 面 に 知 識 関 心 を 持 たなくても 使 えてしまう ただ アプリの 使 い 方 を 情 報 処 理 教 育 と 考 えるのは 大 きな 勘 違 いである モノゴトの 仕 組 みや 過 程 構 造 を 知 ることは 人 間 の 能 力 の つと して 不 可 欠 なものであると 考 える Web ベースで 社 会 が 動 き 情 報 という 大 きな 無 形 財 産 が 人 々の 生 活 を 大 きく 左 右 する 今 アルゴリズム プログラミングの 知 識 能 力 は 必 須 であり その 要 素 が Java 言 語 である Java 言 語 は 今 世 界 標 準 のプログラミング 言 語 として 世 界 中 で 活 用 されている プログラミングは 人 々を 幸 せ にする -ぜひ 商 業 教 育 の 中 で 科 目 プログラミング だけでなく 電 子 商 取 引 課 題 研 究 などでも 改 めてプログ ラミングを 学 ぶ 教 えることの 専 門 性 を 育 んで 頂 きたい 過 去 を 知 れば 未 来 が 見 える いまどきのプログラミング を ぜひすべての 商 業 教 育 の 中 で 導 入 発 展 して 頂 けることを 強 く 願 う 昭 和 45 年 昭 和 53 年 平 成 元 年 平 成 年 新 ( 平 成 25 年 ~) インターネット マルチメディア 文 書 デザイン 電 子 商 取 引 文 書 情 報 文 書 処 理 情 報 処 理 商 業 技 術 ソフトの 活 用 情 報 処 理 情 報 処 理 概 論 基 礎 理 解 ハード ソフト 電 子 計 算 機 一 般 情 報 処 理 Ⅰ プログラミング 基 礎 プログラミング プログラミング プログラミングⅠ 情 報 処 理 Ⅱ プログラミング プログラミング 応 用 プログラミングⅡ システム 開 発 情 報 管 理 ビジネス 情 報 ビジネス 情 報 管 理 OR 経 営 数 学 経 営 数 学 経 営 情 報 ビジネス 情 報 ソフトの 応 用 活 用

年 間 指 導 計 画 案 科 目 :プログラミング 単 位 数 :2~4 単 位 目 標 プログラミングに 関 する 知 識 と 技 術 を 習 得 させ プログラムの 役 割 や 重 要 性 について 理 解 させる ビジネスの 諸 活 動 においてコンピュータを 合 理 的 に 活 用 する 能 力 と 態 度 を 育 てる 2 年 間 計 画 学 期 月 学 習 内 容 学 習 のねらい 目 標 備 考 4 ハードウェア ア データの 表 現 イ 中 央 処 理 装 置 ウ 主 記 憶 装 置 エ 周 辺 装 置 コンピュータ 内 部 におけるデータの 表 現 及 びコンピュータが 動 作 する 仕 組 みなどを 取 り 扱 い ハードウェ アの 概 要 について 理 解 させる 2 進 数 で 動 くコンピュータの 特 性 を 理 解 する ハードウェアについての 知 識 を 身 につける ソフトウェア ア システムソフトウェア イ 応 用 ソフトウェア 役 割 や 機 能 を 取 り 扱 い ソフトウェ アの 概 要 について 理 解 させる データ 処 理 の 形 態 及 びプログラム 言 語 の 種 類 と 特 徴 を 取 り 扱 い デ ータ 処 理 とプログラムの 概 要 につ いて 理 解 させる ワープロソフト 表 計 算 ソフ トなど 具 体 例 をあげて 説 明 する 5 コンピュータとプログラミング ア ビジネスとデータ 処 理 イ プログラム 言 語 の 種 類 と 特 徴 プログラムを 作 成 するための 基 礎 的 な 知 識 と 技 術 を 習 得 させる 流 れ 図 記 号 の 学 習 Java の 基 本 文 法 の 学 習 6 7 プログラミングの 基 礎 ア プログラミングの 手 順 イ アルゴリズムの 表 現 技 法 ウ データ 構 造 と 制 御 構 造 エ 変 数 と 定 数 オ データの 入 出 力 と 演 算 カ 条 件 判 定 と 繰 り 返 し 処 理 コンピュータを 使 った 実 習 開 始 Eclipse の 基 本 操 作 につ いて 説 明 する 問 題 分 析 を 行 い 自 らプロ グラムを 組 んでいくことで 深 く 理 解 し 技 術 を 習 得 する 2 9 オブジェクト 指 向 の 考 え 方 プログラミングの 応 用 0 ア 配 列 の 利 用 イ ファイル 入 出 力 2 クラスの 定 義 とオブジェクトの 生 成 配 列 を 利 用 する 意 義 について 理 解 させるとともに 配 列 を 利 用 して 集 計 探 索 順 位 づけ 及 び 内 部 整 列 を 行 うための 技 法 を 習 得 させる ( 情 報 処 理 検 定 試 験 ) 配 列 の 意 義 を 配 列 を 使 わ ない 場 合 と 比 較 することで 確 認 する 3 ウ メソッドの 利 用 2 エ ユーザインターフェース 3 オ Applet の 利 用 文 字 や 画 像 などの 処 理 クラス メソッドについて 理 解 させる とともに クラス メソッドを 利 用 する ための 技 法 を 習 得 させる アプレットの Web 利 用 方 法 につい て 実 習 を 通 じて 理 解 を 深 める ( 情 報 処 理 検 定 試 験 ) クラスとメソッドについて 確 認 する ビジネスでの 活 用 を 考 察 す る 2

2

第 2 章 Java に 触 れてみよう ()Java プログラムの 開 発 フリーソフトウェア Eclipse を 利 用 する 方 法 プログラミングって 難 しそう このような 不 安 は 誰 でも 持 ってしまうものです たしかに プロになると 言 語 独 自 の 専 門 的 な 特 性 や 文 法 手 法 を 理 解 し それらを 組 み 合 わせてプログラムを 作 成 開 発 していくという 能 力 が 必 要 になるわけですが この 際 にプログラミング 以 外 のところでの 知 識 が 多 く 必 要 になり つまずいてしまう 場 合 があります しかし 初 心 者 がプログラミング 言 語 を 学 ぶにあたっては そのようなレベルを 目 指 す 必 要 はあり ません 私 たちが 英 語 や 中 国 語 など 他 の 国 の 言 葉 を 読 み 書 きできるようになりたいと 志 す 際 を 思 い 出 してみてください 文 法 や 単 語 の 存 在 は 意 識 しながらも なんとなくわかれば ボディランゲージなどを 組 み 合 わせることにより そ れなりな 会 話 はできるようになりますよね この 経 験 とプログラミング 言 語 に 触 れるというのはよく 似 ていて 私 た ちとコンピュータのコミュニケーションを 助 けてくれるツールのつが 以 下 に 示 す Eclipse(エクリプス) です Eclipse には 以 下 の 特 徴 があります GUI(Graphical User Interface)ツールなので コマンド( 専 門 的 な 命 令 )を 覚 えなくても 使 える つのウィンドウ 内 で プログラミングに 必 要 な 作 業 ができる プログラム 開 発 を 効 率 よく 行 うための 支 援 機 能 が 多 い 多 くの Java プログラマに 人 気 があり 使 っている 人 が 多 い Eclipse は 無 償 で 入 手 できる 開 発 環 境 のつで 単 純 な 画 面 操 作 でプログラムの 編 集 コンパイル( 翻 訳 ) 実 行 ができるソフトです デバッグ 機 能 が 充 実 しているので Eclipse を 使 えばそれなりな 会 話 ができるようになり 初 心 者 でもプログラミングに 集 中 できる というわけです 2コマンドライン(コマンドプロンプト)を 利 用 する 方 法 Windows であればメモ 帳 などのテキストエディタと Java のJDK(Java 開 発 キット)があれば コマンドライン(コマ ンドプロンプト)を 利 用 して コンパイル 実 行 ができます (2)Eclipse のセットアップ Eclipse の 開 発 環 境 に 必 要 なものは Eclipse 本 体 と それを 日 本 語 化 するパッケージ です All in One でダ ウンロードできるサイトがあり ここからまとめてダウンロードすれば 保 存 していくフォルダを 用 意 するだけですぐ に 利 用 することが 出 来 ます ( 機 能 も 網 羅 している 分 All in One でのダウンロード は 容 量 が 大 きくなってしまい ますが 細 かな 機 能 選 択 等 が 不 要 になりますので まとめて 一 括 の 入 手 をお 勧 めします ) では Eclipse のダウンロードから 起 動 そして 初 めてのプログラミングまで 進 めてみましょう Eclipse のダウンロード 右 のサイトにアクセスします http://mergedoc.sourceforge.jp/ 3

使 用 するバージョンを 選 びます ( 現 在 最 新 は[4.2Juno]になります 最 新 の Juno は 現 状 では 安 定 性 が 低 い ため 202 年 末 現 在 本 冊 子 では[3.7Indigo]をダウンロードします ) なお どのバージョンでも 本 冊 子 で 扱 うプログラムの 動 作 は 可 能 ですから ダウンロードランキングを 参 考 に その 時 に 一 番 使 われているバージョンを 選 択 するとよいでしょう Java の JRE あり 版 を 選 んで ダウンロードします 2Eclipse のインストール 任 意 のフォルダに 解 凍 します フォルダ 名 は d:\eclipse など 短 いフォルダ 名 にしてください 日 本 語 フォルダ 名 や c:\program Files など フォルダ 名 に 半 角 スペースがあると 動 作 しな い 場 合 があります ネットワークドライブやUSBメモリなどに 解 凍 しても 動 作 します 4

3Eclipse の 起 動 解 凍 したフォルダの 中 で eclipse.exe の 丸 いアイコンをダブルクリック ワークスペースの 選 択 をします ワークスペースはフォルダの 保 存 場 所 の 指 定 にあたります 参 照 ボタンをクリック クリック 保 存 する 場 所 を 指 定 します ネットワークドライブやUSBメモリでも 可 能 です 例 ネットワークドライブ( 今 回 は w ドライブ) 内 に 作 った java-rensyuu フォルダを 選 択 しOKをクリック (あらかじめ java-rensyuu フォルダを 作 成 しています ) クリック Eclipse が 起 動 しました 5

(3)Java を 動 かしてみよう 例 題 画 面 上 に Hello,world! と 表 示 するプログラムを 作 成 しなさい プロジェクト 名 :kadai ファイル 名 :Hello.java public class Hello{ public static void main(string[] args) { System.out.println("Hello,world!"); ファイル 新 規 その 他 Javaプロジェクト 次 へ と 順 に 選 択 2プロジェクト 名 kadai を 入 力 し 完 了 ボタンをクリック プロジェクト 名 を 入 力 2クリック 3 パースペクティブを 開 きますか? と 聞 いてきたら はい をクリック 4 新 規 Javaクラスの 作 成 をクリック 6

クラス 名 を 入 力 し public static void main(string[] args)にチェックを 入 れる クラス 名 を 入 力 2チェック 3クリック 5コードが 自 動 生 成 されるので 不 要 な 部 分 を 削 除 し 図 のようにプログラムを 入 力 して 実 行 ボタンをクリックしま す 入 力 後 クリック 6 保 管 して 起 動 OK ボタンをクリック 7 実 行 結 果 が 表 示 されます このような 流 れで 課 題 を 作 成 していきます プログラムの 中 身 以 外 の 操 作 は 共 通 ですので 以 後 の 課 題 では 操 作 については 省 略 していきます 7

課 題 例 のプログラムの 説 明 public class Hello { public static void main(string[] args) { System.out.println("Hello,world!"); このプログラムの 内 容 は 文 字 列 の 表 示 です Java 言 語 のプログラムで 文 字 を 表 示 するには Println() と いうメソッド( 一 連 の 処 理 の 集 まり)を 使 います これらの 前 には System.out をつけます System.out.println("Hello,world!"); (4) 実 習 を 進 める 中 で 留 意 すること 次 章 より 課 題 を 進 めていきますが はじめのうちは 以 下 のようなミスケースがよく 起 こると 思 います クラス 名 が 違 う または 最 初 が 大 文 字 でない (java の 文 法 では 大 文 字 と 小 文 字 の 区 別 をします) 8

第 3 章 Java の 基 礎 () 基 本 文 法 変 数 の 型 変 数 の 宣 言 型 識 別 子 ; 例 int hensu; 変 数 への 値 の 代 入 変 数 = 値 ; 例 int i i = 2; i 2 2 出 力 設 問 2- 自 分 の 名 前 を 表 示 しなさい 流 れ 図 はじめ " 相 田 一 郎 "を 表 示 おわり プログラム 例 2 3 4 5 ファイル 名 :Hyoji. java public class Hyoji{ public static void main(string[] args){ System.out.println(" 相 田 一 郎 "); 実 行 結 果 相 田 一 郎 2

設 問 2-2 学 科 学 年 クラス 番 号 名 前 を 表 示 しなさい 流 れ 図 はじめ " 商 業 科 "を 表 示 "3 年 組 "を 表 示 "4 番 "を 表 示 " 相 田 一 郎 "を 表 示 おわり プログラム 例 2 3 4 5 6 7 8 ファイル 名 :Hyoji2. java public class Hyoji2{ public static void main(string[] args){ System.out.println(" 商 業 科 "); System.out.println("3 年 組 "); System.out.println("4 番 "); System.out.println(" 相 田 一 郎 "); 実 行 結 果 商 業 科 3 年 組 4 番 相 田 一 郎 3

3 変 数 を 使 った 処 理 設 問 3- 国 語 英 語 の 小 テストの 点 数 平 均 点 名 前 を 表 示 しなさい 2 教 科 の 点 数 平 均 点 名 前 は 変 数 に 入 れること 平 均 点 は 小 数 で 表 示 すること 流 れ 図 はじめ 0 kokugo 9 eigo 9.5 avg " 相 田 一 郎 " name kokugoを 表 示 eigoを 表 示 avgを 表 示 nameを 表 示 おわり 4

プログラム 例 2 3 4 5 6 7 8 9 0 2 3 4 5 6 7 8 9 ファイル 名 :Hensu. java public class Hensu{ public static void main(string[] args){ // 変 数 宣 言 int kokugo; int eigo; double avg; String name; // 値 代 入 kokugo = 0; eigo = 9; avg = 9.5; name = " 相 田 一 郎 " ; // 表 示 System.out.println(" 国 語 :"+kokugo); System.out.println(" 英 語 :"+eigo); System.out.println(" 平 均 :"+avg); System.out.println(" 名 前 :"+name); 実 行 結 果 国 語 :0 英 語 :9 平 均 :9.5 名 前 : 相 田 一 郎 5

4 入 力 設 問 4- 国 語 の 点 数 英 語 の 点 数 平 均 点 名 前 を 入 力 し その 内 容 をそれ ぞれ 表 示 しなさい 2 教 科 の 点 数 平 均 点 名 前 はそれぞれ 変 数 に 入 れること 平 均 点 は 小 数 で 表 示 すること 流 れ 図 はじめ kokugoを 入 力 eigoを 入 力 avgを 入 力 nameを 入 力 kokugoを 表 示 eigoを 表 示 avgを 表 示 nameを 表 示 おわり 6

プログラム 例 2 3 4 5 6 7 8 9 0 2 3 4 5 6 7 8 9 20 2 22 23 24 25 ファイル 名 :Nyuryoku. java import java.util.*; public class Nyuryoku{ public static void main(string[] args){ // 変 数 宣 言 int kokugo; int eigo; double avg; String name; // 値 代 入 Scanner scan = new Scanner(System.in); System.out.println(" 国 語 の 点 数 を 入 力 してください"); kokugo = scan.nextint(); System.out.println(" 英 語 の 点 数 を 入 力 してください"); eigo = scan.nextint(); System.out.println(" 平 均 点 を 入 力 してください"); avg = scan.nextdouble(); System.out.println(" 名 前 を 入 力 してください"); name = scan.next(); // 表 示 System.out.println(" 国 語 :"+kokugo); System.out.println(" 英 語 :"+eigo); System.out.println(" 平 均 :"+avg); System.out.println(" 名 前 :"+name); 実 行 結 果 国 語 の 点 数 を 入 力 してください 0 英 語 の 点 数 を 入 力 してください 9 平 均 点 を 入 力 してください 9.5 名 前 を 入 力 してください 相 田 一 郎 国 語 :0 英 語 :9 平 均 :9.5 名 前 : 相 田 一 郎 7

5 四 則 演 算 設 問 5- 国 語 の 点 数 英 語 の 点 数 名 前 を 入 力 し 2 教 科 の 平 均 点 を 求 めて 入 力 した 内 容 とともにそれぞれ 表 示 しなさい 2 教 科 の 点 数 名 前 平 均 点 はそれぞれ 変 数 に 入 れること 平 均 点 は 小 数 で 表 示 すること 流 れ 図 はじめ kokugoを 入 力 eigoを 入 力 nameを 入 力 (kokugo+eigo) 2 avg kokugoを 表 示 eigoを 表 示 avgを 表 示 nameを 表 示 おわり 8

プログラム 例 2 3 4 5 6 7 8 9 0 2 3 4 5 6 7 8 9 20 2 22 23 24 25 ファイル 名 :Shisoku. java Import java.util.*; public class Shisoku{ public static void main(string[] args){ // 変 数 宣 言 int kokugo; int eigo; double avg; String name; // 値 代 入 Scanner scan = new Scanner(System.in); System.out.println(" 国 語 の 点 数 を 入 力 してください"); kokugo = scan.nextint(); System.out.println(" 英 語 の 点 数 を 入 力 してください"); eigo = scan.nextint(); System.out.println(" 名 前 を 入 力 してください"); name = scan.next(); // 平 均 点 計 算 avg = ( kokugo + eigo ) / 2.0; // 表 示 System.out.println(" 国 語 :"+kokugo); System.out.println(" 英 語 :"+eigo); System.out.println(" 平 均 :"+avg); System.out.println(" 名 前 :"+name); 実 行 結 果 国 語 の 点 数 を 入 力 してください 0 英 語 の 点 数 を 入 力 してください 9 名 前 を 入 力 してください 相 田 一 郎 国 語 :0 英 語 :9 平 均 :9.5 名 前 : 相 田 一 郎 9

設 問 5-2 2 つの 数 値 を 入 力 し 和 差 積 商 を 求 めてそれぞれ 表 示 しなさい 流 れ 図 はじめ xを 入 力 yを 入 力 x + y a x - y b x y c x y d aを 表 示 bを 表 示 cを 表 示 dを 表 示 おわり 20

プログラム 例 2 3 4 5 6 7 8 9 0 2 3 4 5 6 7 8 9 20 2 22 23 ファイル 名 :Shisoku2. java import java.util.*; public class Shisoku2 { public static void main(string[] args){ // 変 数 宣 言 int x,y,a,b,c,d; // 入 力 Scanner scan = new Scanner(System.in); System.out.println(" 数 値 を 入 力 してください"); x = scan.nextint(); System.out.println(" 数 値 を 入 力 してください"); y = scan.nextint(); // 計 算 a = x + y; b = x - y; c = x * y; d = x / y; // 表 示 System.out.println(" 和 :"+a); System.out.println(" 差 :"+b); System.out.println(" 積 :"+c); System.out.println(" 商 :"+d); 実 行 結 果 数 値 を 入 力 してください 6 数 値 を 入 力 してください 2 和 :8 差 :4 積 :2 商 :3 参 考 : 次 のような 演 算 子 の 使 い 方 もあります 単 項 演 算 子 変 換 前 変 換 後 += a = a + b a += b -= a = a - b a -= b *= a = a * b a *= b /= a = a / b a /= b インクリメント 演 算 子 ++ i ++ は i = i + の 計 算 式 と 同 じ 演 算 をします デクリメント 演 算 子 i は i = i のの 計 算 式 と 同 じ 演 算 をします 2

6 文 字 列 データ 設 問 6- 名 前 をキーボードから 入 力 し 実 行 結 果 のように 表 示 するプログラムを 作 成 しなさい 入 力 データ 名 前 na 実 行 結 果 名 前 を 入 力 花 子 こんにちは 花 子 です よろしくお 願 いします 処 理 条 件. キーボードから 名 前 を 入 力 し あいさつ 文 を 表 示 する 流 れ 図 はじめ " 名 前 を 入 力 "を 表 示 na を 入 力 "こんにちは ",na,"です"を 表 示 "よろしくお 願 いします"を 表 示 おわり プログラム 2 3 4 5 6 7 8 9 0 2 import java.util.*; public class Aisatu { public static void main(string args []){ String na ; Scanner scan = new Scanner(System.in); System.out.println(" 名 前 を 入 力 "); na = scan.next(); System.out.println("こんにちは " + na + "です"); System.out.println("よろしくお 願 いします "); 22

7 条 件 文 (IF 文 ) 設 問 7- 区 分 と 人 数 をキーボードから 入 力 し 実 行 結 果 のように 表 示 するプログラム を 作 成 しなさい 入 力 データ 区 分 ku 人 数 nin 実 行 結 果 区 分 を 入 力 人 数 を 入 力 2 大 人 が2 人 で 料 金 は 3,000 円 です 処 理 条 件. キーボードから 区 分 と 人 数 を 入 力 し 入 場 料 金 を 求 め 表 示 する 2. 区 分 は 大 人 が 子 どもが 2 である 3. 料 金 は 大 人 が 500 子 どもが 800 とする 流 れ 図 はじめ " 区 分 を 入 力 "を 表 示 ku を 入 力 " 人 数 を 入 力 "を 表 示 ninを 入 力 ku = NO YES nin 500 kin nin 800 kin " 大 人 " mei " 子 ども" mei 文 字 列 の 書 式 化 kin kingaku mei,"が",nin, " 人 で 料 金 は", kingaku," 円 です "を 表 示 おわり 23

プログラム 2 3 4 5 6 7 8 9 0 2 3 4 5 6 7 8 9 20 2 22 23 24 25 import java.util.*; publicclass kubun{ publicstaticvoid main(string args []) { int ku, nin, kin; String mei; Scanner scan = new Scanner(System.in); System.out.println(" 区 分 を 入 力 "); ku = scan.nextint(); System.out.println(" 人 数 を 入 力 "); nin = scan.nextint(); if (ku == ){ kin = nin * 500; mei = " 大 人 "; else{ kin = nin * 800; mei = " 子 ども"; String kingaku = String.format("%,7d", kin); // //Stringクラスのformat()メソッドで 文 字 列 を 書 式 化 する System.out.println(mei + "が" + nin + " 人 で "+ " 料 金 は" + kingaku + " 円 です"); String.format("%,7d", kin)0 進 数 形 式 の 整 数 7 桁 で 右 寄 せコンマ 付 き 24

8 繰 り 返 し 命 令 設 問 8-2 から 00 までの 偶 数 の 合 計 を 求 め 実 行 結 果 のように 表 示 するプログラ ムを 作 成 しなさい 処 理 条 件 実 行 結 果 2 から 00 までの 偶 数 の 合 計 を 求 めて 表 示 する 2 から 00 までの 偶 数 の 和 2550 繰 り 返 し 命 令 には 以 下 の3パターンがあります A 先 判 断 while( 条 件 式 ) { 処 理 条 件 式 が 成 立 する 間 処 理 を 繰 り 返 す B 後 判 断 do { 処 理 while( 条 件 式 ); 処 理 を 実 行 した 後 に 条 件 の 判 定 を 行 い 条 件 が 成 立 する 間 処 理 を 繰 り 返 す C for 文 for ( 初 期 化 式 ; 条 件 式 ; 更 新 式 ) { 処 理 変 数 の 値 を 変 化 させて 条 件 式 が 成 立 するまで 処 理 を 繰 り 返 す 初 期 化 式 変 数 の 最 初 の 値 を 設 定 する 例 int i=2 条 件 式 繰 り 返 しの 条 件 を 記 述 する 更 新 式 処 理 の 実 行 が 一 巡 した 時 に 実 行 する それぞれ 省 略 は 可 能 ですが 初 期 化 式 以 外 を 省 略 すると 無 限 ループになります A. 先 判 断 の 場 合 B. 後 判 断 の 場 合 C.for 文 の 場 はじめ はじめ はじめ "2から00まで の 偶 数 の 和 " を 表 示 "2から00まで の 偶 数 の 和 " を 表 示 "2から00まで の 偶 数 の 和 " を 表 示 0 kei 0 kei 0 kei 2 i 2 i ループ iは2から2ずつ 増 や して i <= 00 の 間 i ループ <= 00 の 間 ループ kei + i kei kei + i kei kei + i kei ループ i + 2 i i + 2 i keiを 表 示 ループ i <= 00 の 間 ループ おわり keiを 表 示 keiを 表 示 おわり おわり 25

A.while( 先 判 断 ) 文 の 場 合 2 3 4 5 6 7 8 9 0 2 3 4 5 6 publicclass gusu { publicstaticvoid main(string args []){ int kei ; int i ; System.out.println("2から00までの 偶 数 の 和 "); kei = 0; i = 2 ; // 繰 り 返 し 処 理 前 判 定 while (i <= 00){ // iが00 以 下 のあいだ 繰 り 返 す kei = kei + i; i = i + 2; System.out.println(kei); B.do while( 後 判 断 ) 文 の 場 合 2 3 4 5 6 7 8 9 0 2 3 4 5 6 publicclass gusu { publicstaticvoid main(string args []){ int kei ; int i ; System.out.println("2から00までの 偶 数 の 和 "); kei = 0; i = 2 ; C.for 文 の 場 合 2 3 4 5 6 7 8 9 0 2 3 4 // 繰 り 返 し 処 理 後 判 定 do{ kei = kei + i; i = i + 2; while (i <= 00); // iが00 以 下 のあいだ 繰 り 返 す System.out.println(kei); publicclass gusu3 { publicstaticvoid main(string args []){ int kei ; int i ; System.out.println("2から00までの 偶 数 の 和 "); kei = 0; // 繰 り 返 し 処 理 for(i = 2; i <= 00; i = i + 2){ kei = kei + i; System.out.println(kei); 26

設 問 8-2 次 のプログラムを 作 成 しなさい パスワードを 入 力 する パスワードは 数 値 のみ パスワードチェックは 3 回 までとする 流 れ 図 はじめ i ループ i 3の 間 "パスワードを 入 力 し てください"を 表 示 passを 入 力 pass = 23 YES NO pass 23 YES " 一 致 しました"を 表 示 NO " 一 致 しませんでした"を 表 示 i + i ループ おわり 27

プログラム 例 ファイル 名 :Password. java importjava.util.*; 2 public class Password{ 3 public static void main(string[] args) { 4 // 変 数 宣 言 5 int pass; 6 // 入 力 7 Scanner scan = new Scanner(System.in); 8 int i = ; 9 while ( i<=3 ) { 0 //キーボードからの 入 力 System.out.print("パスワードを 入 力 して 下 さい:"); 2 pass = scan.nextint(); 3 // チェック 4 if (pass == 23 ) { 5 System.out.println(" 一 致 しました"); 6 //ループ 脱 出 7 break; 8 9 if (pass!= 23 ) { 20 System.out.println(" 一 致 しませんでした"); 2 22 i++; 23 24 25 実 行 結 果 パスワードを 入 力 してください: 一 致 しませんでした パスワードを 入 力 してください:2 一 致 しませんでした パスワードを 入 力 してください:23 一 致 しました インクリメント 演 算 i++ i = i + の 計 算 式 と 同 じです 28

(2) 配 列 設 問 兵 庫 商 事 の 売 上 データをキーボードから 入 力 し 実 行 結 果 のように 表 示 する プログラムを 作 成 しなさい 入 力 データ 実 行 結 果 品 番 数 量 ban su 処 理 条 件. キーボードから 品 番 と 数 量 を 入 力 し 品 番 ごとに 数 量 計 を 配 列 tsu に 求 める また 合 計 を tsu(5) に 求 める 配 列 tsu (0) () (2) ~ (5) 品 番 を 入 力 してください 数 量 ~を 入 力 してください 0 品 番 数 量 計 割 合 (%) 08.2 2 2036.4 3 25 45.5 合 計 55 平 均 8.3 2. 品 番 は ~5 の 5 種 類 である 3. 品 番 に 0 が 入 力 されたら 入 力 を 終 了 し 実 行 結 果 のように 割 合 を 求 め 品 番 と 数 量 合 計 と 割 合 を 表 示 する 4. 最 後 に 合 計 と 平 均 を 表 示 する 5. ~5 以 外 の 品 番 が 入 力 されたら 品 番 エラーと 表 示 する 6. 売 上 データのない 品 番 は 表 示 しない 異 なる 型 の 変 数 間 での 変 換 long 型 変 数 = short 型 変 数 何 の 問 題 もなく 行 われる 型 変 換 型 の 違 う 値 同 士 の 演 算 () 暗 黙 的 な 型 変 換 サイズの 小 さい 型 から 大 きな 型 に 自 動 的 に 変 換 する 例 )int 型 long 型 サイズの 大 きな 型 から 小 さな 型 に 変 換 すると エラーになる long 型 short 型 short 型 変 数 = long 型 変 数 格 納 先 が 小 さいので long 型 の 一 部 しか 格 納 できない できません!! (2)キャスト 演 算 子 明 示 的 に 型 変 換 を 行 うキャスト 演 算 子 を 用 い れば サイズの 大 きな 型 から 小 さな 型 に 変 換 で きる 例 ) 整 数 同 士 の 割 り 算 の 結 果 を 小 数 で 求 める ことができる short 型 long 型 29

流 れ 図 はじめ 0 kensu ループ2 iは0からずつ 増 やしてi < 5 の 間 ループ 無 限 ループ tsu(i) 0 YES " 品 番 を 入 力 し てください" を 表 示 NO tsu(i) * 00 / tsu(5) wari ban を 入 力 ban = 0 NO ban >= かつ ban <= 5NO NO " 品 番 エラー" を 表 示 YES YES " 数 量 を 入 力 し てください" を 表 示 ban を 入 力 書 式 指 定 文 字 列 に 変 換 wari per i + j j, tsu(i), per を 表 示 kensu + kensu tsu(ban - ) + su tsu(ban - ) tsu(5) + su tsu(5) ループ2 " 合 計 ",tsu(5) を 表 示 ループ " 品 番 "," 数 量 合 計 "," 割 合 (%)"を 表 示 tsu(5) / kensu heikin 書 式 指 定 文 字 列 に 変 換 heikin per " 平 均 ", per を 表 示 おわり 30

プログラム 2 3 4 5 6 7 8 9 0 2 3 4 5 6 7 8 9 20 2 22 23 24 25 26 27 28 29 30 3 32 33 34 35 36 37 38 39 40 4 42 43 import java.util.*; public class Wariai { public static void main(string[] args){ int ban, su; int i, j; double wari, heikin; int kensu = 0; int[ ] tsu = new int[6]; Scanner scan = new Scanner(System.in); "\t"タブコード for( ; ; ){ // 無 限 ループ System.out.print(" 品 番 を 入 力 してください"); ban = scan.nextint(); if(ban == 0){ //ban が 0 と 等 しければ break; // 無 限 ループを 抜 け 出 す if ( ban >= && ban <= 5 ){ //ban が 以 上 でかつ5 以 下 System.out.print(" 数 量 を 入 力 してください"); su= scan.nextint(); tsu[ ban - ] = tsu[ ban - ] + su ; tsu[5] = tsu[5] + su ; else { System.out.println(" 品 番 エラー"); System.out.println(" 品 番 " + "\t" + " 数 量 合 計 " + "\t" + " 割 合 (%)"); // for(i = 0;i < 5; i++){ if(tsu[i]!= 0){ // tsu[i] が 0 と 等 しくなければ wari = (double)(tsu[i]) * 00 / tsu[5];// 2 キャスト 演 算 子 String per = String.format("%.f", wari);// 3 j = i + ; System.out.println( j + "\t" + tsu[i] + "\t" +per); kensu++; //kensu = kensu + System.out.println(" 合 計 " + "\t" + tsu[5]); heikin = (double)(tsu[5]) / kensu; String per = String.format("%.f", heikin); System.out.println(" 平 均 " + "\t" + per); 2 heikin = (double)(tsu[5]) / kensu キャスト 演 算 子 例 ) 実 数 データ 名 = (double)( 整 数 データ 名 ) 整 数 データ 名 3String.format("%.f", wari) 浮 動 小 数 点 数 を 小 数 桁 まで 表 示 3

設 問 2 兵 庫 スポーツ 株 式 会 社 のある 週 間 の 売 上 データをキーボードから 入 力 し 入 力 データ 実 行 結 果 のように 表 示 するプログラムを 作 成 しなさい 店 番 ten 品 番 hin 金 額 kin 実 行 結 果 店 番 を 入 力 して 下 さい 4 品 番 を 入 力 して 下 さい 金 額 を ~ 入 力 して 下 さい 300 店 別 品 別 売 上 金 額 一 覧 神 戸 支 店 野 球 :,000 サッカー: 2,500 ~ テニス:,500 計 : 24,000 姫 路 支 店 野 球 : 2,000 サッカー:,00 ~ テニス:,800 計 : 2,000 赤 穂 支 店 野 球 : 2,400 サッカー: 2,00 ~ テニス: 2,500 計 : 9,000 城 崎 支 店 野 球 :,200 サッカー: 2,800 ~ テニス:,600 計 : 7,000 三 田 支 店 野 球 : 2,300 サッカー: 2,600 ~ テニス: 900 計 : 9,500 計 野 球 :,200 サッカー:2,500 ~ テニス:0,600 計 : 22,500 処 理 条 件. キーボードから 店 番 と 品 番 と 金 額 を 入 力 し 店 番 別 品 番 別 金 額 合 計 を 配 列 tkin に 求 める 配 列 tkin (0) () ~ (5) (0) () (2) (3) (4) 2. 店 番 は が 神 戸 2 が 姫 路 3 が 赤 穂 4 が 城 崎 5 が 三 田 の 5 種 類 であり 配 列 tmei に 記 憶 する 配 列 tmei 3. 品 番 は が 野 球 2 がサッカー 3 が 陸 上 4 がテニスの 4 種 類 であり 配 列 hmei に 記 憶 する 配 列 hmei 4. ~5 以 外 の 店 番 が 入 力 されたら 店 番 エラーと 表 示 する 5. ~4 以 外 の 品 番 が 入 力 されたら 品 番 エラーと 表 示 する 6. 店 番 に 0 が 入 力 されたら 入 力 を 終 了 し 実 行 結 果 のように 店 番 別 品 番 別 金 額 合 計 店 別 計 品 番 別 計 を 表 示 する (0) () (2) (3) (4) 神 戸 姫 路 赤 穂 城 崎 三 田 (0) () (2) (3) (4) 野 球 サッカー 陸 上 テニス 計 この 問 題 では 次 の3つの 処 理 パターンがある つの main のみでメソッドを 使 わない 場 合 2main と 3 つのメソッドで 作 成 した 場 合 3メソッドに 戻 り 値 をつけた 場 合 32

パターン つの main のみでメソッドを 使 わない 場 合 流 れ 図 はじめ 配 列 tmeiに 店 名 を 記 憶 配 列 hmeiに 品 名 を 記 憶 " 店 別 品 別 売 上 金 額 一 覧 "を 表 示 " 店 番 を 入 力 してください"を 表 示 ループ2 iは0からずつ 増 やして i < 6 の 間 ten を 入 力 tmei(i)を 表 示 ループ ten 0 の 間 ループ3 jは0からずつ 増 やして j < 5 の 間 ten >= かつ ten <= 5 YES NO 書 式 指 定 文 字 列 に 変 換 tkin(i, j) kingaku " 品 番 を 入 力 してください"を 表 示 hin を 入 力 " 店 番 エラー"を 表 示 hmei(j),kingaku を 表 示 hin >= かつ hin <= 4 NO ループ3 YES " 金 額 を 入 力 してください"を 表 示 " 品 番 エラー"を 表 示 改 行 kin を 入 力 ループ2 tkin(ten -,hin - ) + kin tkin(ten -,hin - ) おわり tkin(5,hin - ) + kin tkin(5,hin - ) tkin(ten -,4) + kin tkin(ten -,4) tkin(5,4) + kin tkin(5,4) " 店 番 を 入 力 してください"を 表 示 ten を 入 力 ループ 33

パターンのプログラム 2 3 4 5 6 7 8 9 0 2 3 4 5 6 7 8 9 20 2 22 23 24 25 26 27 28 29 30 3 32 33 34 35 36 37 38 39 40 4 42 43 44 45 46 47 import java.util.*; publicclass UriageKei { publicstaticvoid main(string[] args){ int ten,hin, kin; int i, j; int[ ][ ]tkin = newint[6][5]; String [ ]tmei = {" 神 戸 支 店 "," 姫 路 支 店 "," 赤 穂 支 店 "," 城 崎 支 店 "," 三 田 支 店 ", " 計 "; String [ ]hmei = {" 野 球 ","サッカー"," 陸 上 ","テニス"," 計 "; Scanner scan = new Scanner(System.in); System.out.print(" 店 番 を 入 力 してください"); ten = scan.nextint(); while(ten!= 0){ if ( ten >= && ten <= 5 ){ System.out.print(" 品 番 を 入 力 してください"); hin = scan.nextint(); if ( hin >= && hin <= 4 ){ System.out.print(" 金 額 を 入 力 してください"); kin = scan.nextint(); tkin[ten - ][hin - ] = tkin[ten - ][hin - ] + kin ; tkin[5][hin - ] = tkin[5][hin - ] + kin ; tkin[ten - ][4] = tkin[ten - ][4] + kin ; tkin[5][4] = tkin[5][4] + kin ; else { System.out.println(" 品 番 エラー"); else{ System.out.println(" 店 番 エラー"); System.out.print(" 店 番 を 入 力 してください"); ten = scan.nextint(); System.out.println("\t" + " 店 別 品 別 売 上 金 額 一 覧 "); for(i = 0;i < 6; i++){ System.out.print( tmei[i] + " "); for(j = 0;j < 5; j++){ String kingaku = String.format("%,6d", tkin[i][j]); // %,6d 6 桁 で 右 寄 せコンマ 付 き System.out.print( hmei[j] + ":" + "\t"+ kingaku + "\t" ); System.out.println(); 34

パターン2 main と 3 つのメソッドで 作 成 した 場 合 流 れ 図 2 はじめ input_ten()メソッド input_ban()メソッド ukオブジェクトを 生 成 " 店 番 を 入 力 してくださ い"を 表 示 " 品 番 を 入 力 してくださ い"を 表 示 配 列 tmeiに 店 名 を 記 憶 ten を 入 力 hin を 入 力 配 列 hmeiに 品 名 を 記 憶 出 口 出 口 ukオブジェクトの input_ten()メソッド を 実 行 input_kin()メソッド ループ ten 0 の 間 " 金 額 を 入 力 してくださ い"を 表 示 ten >= かつ ten <= 5 NO kin を 入 力 YES ukオブジェクトの input_ban()メソッド を 実 行 " 店 番 エラー"を 表 示 出 口 hin >= かつ hin <= 4 YES NO " 店 別 品 別 売 上 金 額 一 覧 " を 表 示 ukオブジェクトの input_kin()メソッド を 実 行 " 品 番 エラー"を 表 示 ループ2 iは0からずつ 増 やして i < 6 の 間 tkin(ten -,hin - ) + kin tkin(ten -,hin - ) tmei(i)を 表 示 tkin(5,hin - ) + kin tkin(5,hin - ) ループ3 jは0からずつ 増 やして j < 5 の 間 tkin(ten -,4) + kin tkin(ten -,4) 書 式 指 定 文 字 列 に 変 換 tkin(i, j) kingaku tkin(5,4) + kin tkin(5,4) hmei(j),kingaku を 表 示 ukオブジェクトの input_ten()メソッド を 実 行 ループ ループ3 改 行 ループ2 おわり 35

パターン2のプログラム 2 3 4 5 6 7 8 9 0 2 3 4 5 6 7 8 9 20 2 22 23 24 25 26 27 28 29 30 3 32 33 34 35 36 37 38 39 40 4 42 43 44 45 46 47 48 49 50 5 52 53 54 import java.util.scanner; publicclass UriageKei2 { privatestaticintten, hin, kin; static Scanner scan = new Scanner(System.in); void input_ten(){ // 店 番 入 力 メソッド System.out.print(" 店 番 を 入 力 してください"); ten = scan.nextint(); void input_ban(){ // 品 番 入 力 メソッド System.out.print(" 品 番 を 入 力 してください"); hin = scan.nextint(); void input_kin(){ // 金 額 入 力 メソッド System.out.print(" 金 額 を 入 力 してください"); kin = scan.nextint(); publicstaticvoid main(string[] args) { UriageKei2 uk = new UriageKei2(); int i, j; int[ ][ ]tkin = newint[6][5]; String [ ]tmei = {" 神 戸 支 店 "," 姫 路 支 店 "," 赤 穂 支 店 "," 城 崎 支 店 "," 三 田 支 店 ", " 計 "; String [ ]hmei = {" 野 球 ","サッカー"," 陸 上 ","テニス"," 計 "; uk.input_ten(); // 店 番 入 力 メソッド 呼 び 出 し while(ten!= 0){ if ( ten>= &&ten<= 5 ){ uk.input_ban(); // 品 番 入 力 メソッド 呼 び 出 し if ( hin>= &&hin<= 4 ){ uk.input_kin(); // 金 額 入 力 メソッド 呼 び 出 し tkin[ten - ][hin - ] += kin ; tkin[5][hin - ] += kin ; tkin[ten - ][4] += kin ; tkin[5][4] += kin ; else { System.out.println(" 品 番 エラー"); else{ System.out.println(" 店 番 エラー"); uk.input_ten(); // 店 番 入 力 メソッド 呼 び 出 し System.out.println("\t" + " 店 別 品 別 売 上 金 額 一 覧 "); for(i = 0;i < 6; i++) { System.out.print( tmei[i] + "\t"); for(j = 0;j < 5; j++) { String kingaku = String.format("%,6d", tkin[i][j]); System.out.print( hmei[j] + ":" + "\t"+ kingaku + "\t" ); System.out.println(); 36

パターン3 メソッドに 戻 り 値 をつけた 場 合 流 れ 図 3 はじめ input(na)メソッド ukオブジェクトを 生 成 na,"を 入 力 "を 表 示 配 列 tmeiに 店 名 を 記 憶 atai を 入 力 配 列 hmeiに 品 名 を 記 憶 return(atai) 出 口 ukオブジェクトの input(" 店 番 ")メソッド の 実 行 結 果 をtenに 代 入 ループ ten 0 の 間 ten >= かつ ten <= 5 YES NO " 店 別 品 別 売 上 金 額 一 覧 " を 表 示 ukオブジェクトの input(" 品 番 ")メソッド の 実 行 結 果 をhinに 代 入 " 店 番 エラー"を 表 示 ループ2 iは0からずつ 増 やして i < 6 の 間 hin >= かつ hin <= 4 NO tmei(i)を 表 示 YES ukオブジェクトの input(" 金 額 ")メソッド の 実 行 結 果 をkinに 代 入 " 品 番 エラー"を 表 示 ループ3 jは0からずつ 増 やして j < 5 の 間 tkin(ten -,hin - ) + kin tkin(ten -,hin - ) 書 式 指 定 文 字 列 に 変 換 tkin(i, j) kingaku tkin(5,hin - ) + kin tkin(5,hin - ) hmei(j),kingaku を 表 示 tkin(ten -,4) + kin tkin(ten -,4) ループ3 改 行 tkin(5,4) + kin tkin(5,4) ループ2 ukオブジェクトの input(" 店 番 ")メソッド の 実 行 結 果 をtenに 代 入 おわり ループ 37

パターン 3 のプログラム 2 3 4 5 6 7 8 9 0 2 3 4 5 6 7 8 9 20 2 22 23 24 25 26 27 28 29 30 3 32 33 34 35 36 37 38 39 40 4 42 43 44 45 46 47 48 49 50 5 import java.util.scanner; publicclass UriageKei3 { static Scanner scan = new Scanner(System.in); int input(string na){ // 入 力 メソッド System.out.print(na + "を 入 力 "); int atai = scan.nextint(); return atai;// 入 力 したataiを 返 す publicstaticvoid main(string[] args) { UriageKei3 uk = new UriageKei3(); int i, j; int ten, hin, kin; int[ ][ ]tkin = newint[6][5]; String [ ]tmei = {" 神 戸 支 店 "," 姫 路 支 店 "," 赤 穂 支 店 "," 城 崎 支 店 "," 三 田 支 店 ", " 計 "; String [ ]hmei = {" 野 球 ","サッカー"," 陸 上 ","テニス"," 計 "; ten = uk.input(" 店 番 "); // 入 力 メソッドを 実 行 戻 り 値 をtenに 代 入 while(ten!= 0){ if ( ten >= && ten <= 5 ){ hin = uk.input(" 品 番 "); // 入 力 メソッドを 実 行 戻 り 値 をhinに 代 入 if ( hin >= && hin <= 4 ){ kin = uk.input(" 金 額 "); // 入 力 メソッドを 実 行 戻 り 値 をkinに 代 入 tkin[ten - ][hin - ] += kin ; tkin[5][hin - ] += kin ; tkin[ten - ][4] += kin ; tkin[5][4] += kin ; else { System.out.println(" 品 番 エラー"); else{ System.out.println(" 店 番 エラー"); ten = uk.input(" 店 番 "); // 入 力 メソッドを 実 行 戻 り 値 をtenに 代 入 System.out.println("\t" + " 店 別 品 別 売 上 金 額 一 覧 "); for(i = 0;i <6; i++) { System.out.print( tmei[i] + "\t"); for(j = 0;j < 5; j++) { String kingaku = String.format("%,6d", tkin[i][j]); System.out.print( hmei[j] + ":" + "\t"+ kingaku + "\t" ); System.out.println(); 38

(3) 配 列 を 利 用 した 処 理 線 形 探 索 ( 数 値 型 ) 設 問 兵 庫 商 事 の 売 上 データをキーボードから 入 力 し 実 行 結 果 のように 表 示 するプログ ラムを 作 成 しなさい 入 力 データ 品 番 nban 実 行 結 果 数 量 nsu 品 番 を 入 力 数 量 を 入 力 30 品 番 : 商 品 名 :チーズケーキ 金 額 : 9,000 品 番 を 入 力 2 品 番 エラー 取 り 扱 う 5 種 類 の 商 品 品 番 商 品 名 単 価 チーズケーキ 300 3 抹 茶 ムース 350 5 ザッハトルテ 380 6 ミルフィーユ 420 7 モンブラン 340 処 理 条 件. キーボードから 品 番 と 数 量 を 入 力 し 品 番 によってテーブルから 商 品 名 および 単 価 を 探 求 し 金 額 を 求 め 表 示 する 探 索 によって 等 しい 品 番 が 見 つからないときには 品 番 エラーと 表 示 する 2. 品 番 に 0 が 入 力 されたら プログラムを 終 了 する 39

流 れ 図 はじめ input(na)メソッド swオブジェクトを 生 成 na,"を 入 力 "を 表 示 配 列 banに 品 番 を 記 憶 atai を 入 力 配 列 meiに 商 品 名 を 記 憶 return atai 出 口 配 列 tankaに 単 価 を 記 憶 swオブジェクトの input(" 品 番 ")メソッド の 実 行 結 果 をnbanに 代 入 ループ nban 0 の 間 0 sw ループ2 sは0からずつ 増 やして s < ban.length かつ sw = 0 の 間 nban = ban(s) NO YES swオブジェクトの input(" 数 量 ")メソッド の 実 行 結 果 をnsuに 代 入 書 式 指 定 文 字 列 に 変 換 tanka(s) * nsu kingaku s = ban.length - YES " 品 番 エラー"を 表 示 NO " 品 番 :",ban(s), " 商 品 名 :",mei(s)," 金 額 : ",kingakuを 表 示 sw ループ2 swオブジェクトの input(" 品 番 ")メソッド の 実 行 結 果 をnbanに 代 入 ループ おわり 40

プログラム 2 3 4 5 6 7 8 9 0 2 3 4 5 6 7 8 9 20 2 22 23 24 25 26 27 28 29 30 3 32 33 34 35 36 37 38 39 40 4 import java.util.*; publicclass Sweets { static Scanner scan = new Scanner(System.in); int input(string na){ // 入 力 メソッド System.out.print(na + "を 入 力 "); int atai = scan.nextint(); return atai;// 入 力 したataiを 返 す publicstaticvoid main(string args[]) { Sweets sw = new Sweets(); int[] ban = {,3,5,6,7; String[] mei = {"チーズケーキ"," 抹 茶 ムース ","ザッハトルテ","ミルフィーユ", "モンブラン"; int[] tanka = {300,350,380,420,340; int nban, nsu, sw ; nban = sw.input(" 品 番 "); // 入 力 メソッドを 実 行 戻 り 値 をnbanに 代 入 while(nban!= 0){ // データを 線 形 探 索 する sw = 0; for(int s = 0; s < ban.length && sw == 0; s++) { // if(nban == ban[s]) { nsu = sw.input(" 数 量 "); // 入 力 メソッドを 実 行 戻 り 値 をnsuに 代 入 String kingaku = String.format("%,7d", tanka[s] * nsu); System.out.println(" 品 番 :" + ban[s] + "\t" + " 商 品 名 :" + mei[s] + "\t" + " 金 額 :" + kingaku); sw = ; // 見 つかったらループを 終 了 する else if (s == ban.length - ){ // 見 つからなかったら System.out.println(" 品 番 エラー"); nban = sw.input(" 品 番 "); // 入 力 メソッドを 実 行 し 戻 り 値 をnbanに 代 入 する ban.length 配 列 変 数 名.length で 配 列 の 要 素 数 ( 長 さ)を 取 得 できる 4

2 線 形 探 索 ( 文 字 列 型 ) 設 問 県 名 ( 近 畿 2 府 4 県 )データをキーボードから 入 力 し 実 行 結 果 のように 表 示 す るプログラムを 作 成 しなさい 入 力 データ 実 行 結 果 県 名 mei 府 県 名 を 入 力 兵 庫 県 兵 庫 県 県 庁 所 在 地 神 戸 県 花 のじぎく 近 畿 2 府 4 県 のデータ 府 県 名 県 庁 所 在 地 県 花 京 都 府 京 都 しだれ 桜 大 阪 府 大 阪 さくらそう 兵 庫 県 神 戸 のじぎく 滋 賀 県 大 津 しゃくなげ 奈 良 県 奈 良 奈 良 八 重 桜 和 歌 山 県 和 歌 山 梅 府 県 名 を 入 力 石 川 県 県 名 エラー 処 理 条 件. キーボードから 府 県 名 を 入 力 し 府 県 名 によってテーブルから 県 庁 所 在 地 および 県 花 を 探 索 し 表 示 する 探 索 によって 等 しい 府 県 名 が 見 つからないときには 府 県 名 エラーと 表 示 する 2. 府 県 名 に おわり が 入 力 されたら プログラムを 終 了 する 42

流 れ 図 はじめ 配 列 kenに 府 県 名 を 記 憶 配 列 kenchoに 県 庁 所 在 地 を 記 憶 配 列 kenkaに 県 花 を 記 憶 0 sw ループ sw = 0 の 間 " 府 県 名 を 入 力 "を 表 示 mei を 入 力 0 sw2 mei = "おわり" NO YES sw ループ2 sは0からずつ 増 やして s < ken.length かつ sw2 = 0 の 間 mei = ken(s) YES NO ken(s)," 県 庁 所 在 地 ",kencho(s)," 県 花 ", kenka(s)を 表 示 sw2 ループ2 sw2 ken(s) NO YES " 府 県 名 エラー"を 表 示 ループ おわり 43

プログラム 2 3 4 5 6 7 8 9 0 2 3 4 5 6 7 8 9 20 2 22 23 24 25 26 27 28 29 30 3 import java.util.*; public class Kenmei { public static void main(string args[]) { String[] ken = {" 京 都 府 "," 大 阪 府 "," 兵 庫 県 "," 滋 賀 県 "," 奈 良 県 "," 和 歌 山 県 "; String[] kencho = {" 京 都 "," 大 阪 "," 神 戸 "," 大 津 "," 奈 良 "," 和 歌 山 "; String[] kenka = {"しだれ 桜 ","さくらそう","のじぎく","しゃくなげ", " 奈 良 八 重 桜 "," 梅 "; String mei; int sw = 0; int sw2; Scanner scan = new Scanner(System.in); while(sw == 0){ System.out.println(" 府 県 名 を 入 力 "); mei = scan.next(); sw2 = 0; if(mei.equals("おわり")) { sw = ; else { for(int s = 0;s < ken.length && sw2 == 0 ;s++) { if(mei.equals(ken[s])) { System.out.println (ken[s] + " 県 庁 所 在 地 "+ kencho[s] + " 県 花 " + kenka[s]); sw2= ; if (sw2!= ) System.out.println(" 府 県 名 エラー"); 44

3 並 べ 替 え 設 問 兵 庫 商 事 の 売 上 データをキーボードから 入 力 し 実 行 結 果 のように 表 示 するプロ グラムを 作 成 しなさい 入 力 データ 販 売 員 コード hco 売 上 高 uri 実 行 結 果 販 売 員 コードを 入 力 売 上 高 を 入 力 30 ~ 処 理 条 件. キーボードから 販 売 員 コードと 売 上 高 を 入 力 し 配 列 tcode およびに turi に 記 憶 する 配 列 tcode (0) () (2) (3) (4) 販 売 員 コード 売 上 高 5 8,000 2 6,000 ~ 3 2,000 配 列 turi (0) () (2) (3) (4) 2. データ 件 数 は 5 である 3. 販 売 員 コードに 0 が 入 力 されたら 入 力 を 終 了 し 売 上 高 の 降 順 に 並 べ 替 えて 表 示 する 並 べ 替 え 方 法 について 次 の3 方 法 を 示 している 隣 接 交 換 法 (プログラム) 逐 次 交 換 法 (プログラム 2) 選 択 法 (プログラム 3) 45

流 れ 図 隣 接 交 換 法 逐 次 交 換 法 はじめ ループ sは0からずつ 増 やして s < 5 の 間 ループ2 iは4からずつ 減 らして i > 0 の 間 ループ2 iは0からずつ 増 やして i <= 5 の 間 " 販 売 員 コードを 入 力 "を 表 示 ループ3 jは0からずつ 増 やして j < i の 間 ループ3 jはi+からずつ 増 やして j < 5 の 間 tocode(s) を 入 力 turi(j) < turi(j+) NO turi(i) < turi(j) NO " 売 上 高 を 入 力 "を 表 示 turi(s) を 入 力 YES tcode(j+) work tcode(j) tcode(j+) work tcode(j) YES tcode(j+) work tcode(j) tcode(j+) work tcode(j) ループ turi(j+) work2 turi(j) turi(j+) work2 turi(j) turi(j+) work2 turi(j) turi(j+) work2 turi(j) ループ3 ループ3 2 " 販 売 員 コード", " 売 上 高 "を 表 示 ループ2 2 選 択 法 ループ2 2 ループ4 iは0からずつ 増 やして i < 5 の 間 ループ2 iは0からずつ 増 やして i < 4 の 間 書 式 指 定 文 字 列 に 変 換 turi(i) kin tcode(i),kinを 表 示 ループ4 おわり i max ループ3 jはi+からずつ 増 やして j < 5 の 間 turi(max) < turi(j) j max YES NO ループ3 max i YES tcode(j+) work tcode(j) tcode(j+) work tcode(j) turi(j+) work2 turi(j) turi(j+) work2 turi(j) ループ2 2 46

プログラム ( 隣 接 交 換 法 ) 2 3 4 5 6 7 8 9 0 2 3 4 5 6 7 8 9 20 2 22 23 24 25 26 27 28 29 30 3 32 33 34 35 36 37 43 44 import java.util.*; public class Sort { public static void main(string args []) { int [] tcode =new int[5]; int [] turi =new int[5]; int work, work2; int s, i, j; Scanner scan = new Scanner(System.in); // データを 記 憶 する for(s = 0; s < 5 ; s++) { System.out.println(" 販 売 員 コードを 入 力 "); tcode[s] = scan.nextint(); System.out.println(" 売 上 高 を 入 力 "); turi[s] = scan.nextint(); // 並 べ 替 え 隣 接 交 換 for(i = 4; i > 0; i--) { for(j = 0; j < i ; j++ ) { if(turi[j] < turi[j + ]) { work = tcode[j + ]; tcode[j + ] = tcode[j]; tcode[j] = work; work2 = turi[j + ]; turi[j + ] = turi[j]; turi[j] = work2; System.out.println(" 販 売 員 コード" + "\t" + " 売 上 高 "); for(i = 0;i < 5;i++){ String kin = String.format("%,7d", turi[i]); System.out.println("\t" + tcode[i] + "\t" + kin); 47

プログラム 2( 逐 次 交 換 法 ) 2 3 4 5 6 7 8 9 0 2 3 4 5 6 7 8 9 20 2 22 23 24 25 26 27 28 29 30 3 32 33 34 35 36 37 import java.util.*; public class Sort2 { public static void main(string args []) { int [] tcode =new int[5]; int [] turi =new int[5]; int work, work2; int s, i, j; Scanner scan = new Scanner(System.in); // データを 記 憶 する for(s = 0; s < 5 ; s++) { System.out.println(" 販 売 員 コードを 入 力 "); tcode[s] = scan.nextint(); System.out.println(" 売 上 高 を 入 力 "); turi[s] = scan.nextint(); // 並 べ 替 え 逐 次 交 換 for(i = 0; i <= 5; i++) { for(j = i + ; j < 5 ; j++ ) { if(turi[i] < turi[j]) { work = tcode[i]; tcode[i] = tcode[j]; tcode[j] = work; work2 = turi[i]; turi[i] = turi[j]; turi[j] = work2; System.out.println(" 販 売 員 コード" + "\t" + " 売 上 高 "); for(i = 0;i < 5;i++){ String kin = String.format("%,7d", turi[i]); System.out.println("\t" + tcode[i] + "\t" + kin); 48

プログラム 3( 選 択 法 ) 2 3 4 5 6 7 8 9 0 2 3 4 5 6 7 8 9 20 2 22 23 24 25 26 27 28 29 30 3 32 33 34 35 36 37 38 39 40 4 42 import java.util.*; public class Sort3 { public static void main(string args []) { int [] tcode =new int[5]; int [] turi =new int[5]; int work, work2; int s, i, j, max; Scanner scan = new Scanner(System.in); // データを 記 憶 する for(s = 0; s < 5 ; s++) { System.out.println(" 販 売 員 コードを 入 力 "); tcode[s] = scan.nextint(); System.out.println(" 売 上 高 を 入 力 "); turi[s] = scan.nextint(); // 並 べ 替 え 選 択 法 for(i = 0; i < 4; i++) { max = i; for(j = i + ; j < 5 ; j++ ) { if(turi[max] < turi[j]) { max = j; if(max!= i) { work = tcode[i]; tcode[i] = tcode[max]; tcode[max] = work; work2 = turi[i]; turi[i] = turi[max]; turi[max] = work2; System.out.println(" 販 売 員 コード" + "\t" + " 売 上 高 "); for(i = 0;i < 5;i++){ String kin = String.format("%,7d", turi[i]); System.out.println("\t" + tcode[i] + "\t" + kin); 49

4 順 位 づけ 設 問 兵 庫 商 事 の 売 上 データをキーボードから 入 力 し 実 行 結 果 のように 表 示 するプロ グラムを 作 成 しなさい 入 力 データ 実 行 結 果 販 売 員 コード hco 売 上 高 uri 処 理 条 件. キーボードから 販 売 員 コードと 売 上 高 を 入 力 し 配 列 tcode およびに turi に 記 憶 する 配 列 tcode (0) () (2) (3) (4) 販 売 員 コードを 入 力 02 売 上 高 を 入 力 500000 ~ 販 売 員 コード 売 上 高 順 位 02 500,000 4 5 300,000 5 ~ 20 900,000 配 列 turi (0) () (2) (3) (4) 2. 配 列 jun を 利 用 して 売 上 高 の 降 順 に 順 位 を 付 ける 配 列 jun (0) () (2) (3) (4) 3. データ 件 数 は 5 である 4. 販 売 員 コードに 0 が 入 力 されたら 入 力 を 終 了 し 販 売 員 コード 売 上 高 順 位 を 表 示 する 50

流 れ 図 はじめ ループ sは0からずつ 増 やして s < 5 の 間 " 販 売 員 コードを 入 力 "を 表 示 ループ2 sは0からずつ 増 やして s < 4 の 間 ループ3 tはs+からずつ 増 やして t < 5 の 間 tocode(s) を 入 力 " 売 上 高 を 入 力 "を 表 示 turi(s) < turi(t) YES jun(s) + jun(s) NO turi(s) を 入 力 jun(s) turi(s) > turi(t) YES jun(t) + jun(t) NO ループ ループ3 2 ループ2 " 販 売 員 コード", " 売 上 高 "," 順 位 "を 表 示 2 ループ4 iは0からずつ 増 やして i < 5 の 間 書 式 指 定 文 字 列 に 変 換 turi(i) kin tcode(i),kin,jun(i) を 表 示 ループ4 おわり 5

プログラム 2 3 4 5 6 7 8 9 0 2 3 4 5 6 7 8 9 20 2 22 23 24 25 26 27 28 29 30 3 32 33 34 35 36 37 38 39 40 import java.util.scanner; public class Juni { public static void main(string args []) { int [] tcode = new int[5]; int [] turi = new int[5]; int [] jun = new int[5]; int s, t, i; Scanner scan = new Scanner(System.in); // データを 記 憶 する for(s = 0; s < 5 ; s++) { System.out.println(" 販 売 員 コードを 入 力 "); tcode[s] = scan.nextint(); System.out.println(" 売 上 高 を 入 力 "); turi[s] = scan.nextint(); jun[s] = ; // 順 位 づけをする for(s = 0; s < 4; s++) { for(t = s + ; t < 5; t++) { if(turi[s] < turi[t]) { jun[s]= jun[s] + ; else if(turi[s] > turi[t]) { jun[t]= jun[t] + ; System.out.println(" 販 売 員 コード" + "\t" + " 売 上 高 "+ "\t" + " 順 位 "); for(i = 0;i < 5;i++){ String kin = String.format("%,6d", turi[i]); System.out.println("\t" + tcode[i] + "\t" + kin+ "\t" + jun[i]); 52

5 二 分 探 索 ( 数 値 型 ) 設 問 兵 庫 商 事 の 売 上 データをキーボードから 入 力 し 実 行 結 果 のように 表 示 するプロ グラムを 作 成 しなさい 入 力 データ 品 番 nban 実 行 結 果 数 量 nsu 取 り 扱 う5 種 類 の 商 品 品 番 商 品 名 単 価 チーズケーキ 300 3 抹 茶 ムース 350 5 ザッハトルテ 380 6 ミルフィーユ 420 7 モンブラン 340 品 番 を 入 力 数 量 を 入 力 30 品 番 商 品 名 チーズケーキ 金 額 9,000 品 番 を 入 力 2 品 番 エラー 処 理 条 件. キーボードから 品 番 と 数 量 を 入 力 し 品 番 によってテーブルから 商 品 名 および 単 価 を 検 索 し 金 額 を 求 め 表 示 する 検 索 によって 等 しい 品 番 が 見 つからないときには 品 番 エラーと 表 示 する 2. 品 番 に 0 が 入 力 されたら プログラムを 終 了 する 53

流 れ 図 はじめ input(na)メソッド sbオブジェクトを 生 成 na,"を 入 力 "を 表 示 配 列 banに 品 番 を 記 憶 atai を 入 力 配 列 meiに 商 品 名 を 記 憶 return(atai) 出 口 配 列 tankaに 単 価 を 記 憶 sbオブジェクトの input(" 品 番 ")メソッド の 実 行 結 果 をnbanに 代 入 ループ nban 0 の 間 0 sw 0 lo ban.length - hi ( lo + hi) / 2 m ループ2 sw = 0 の 間 nban = ban(m) YES sbオブジェクトの input(" 数 量 ")メソッド の 実 行 結 果 をnsuに 代 入 NO nban > ban(m) YES NO m + lo m - hi 書 式 指 定 文 字 列 に 変 換 tanka(m) * nsu kingaku ( lo + hi) / 2 m " 品 番 :",ban(m), " 商 品 名 :",mei(m)," 金 額 : ",kingakuを 表 示 sw lo > hi sw YES NO " 品 番 エラー"を 表 示 ループ2 swオブジェクトの input(" 品 番 ")メソッド の 実 行 結 果 をnbanに 代 入 ループ おわり 54

プログラム 2 3 4 5 6 7 8 9 0 2 3 4 5 6 7 8 9 20 2 22 23 24 25 26 27 28 29 30 3 32 33 34 35 36 37 38 39 40 4 42 43 44 45 46 47 48 49 50 import java.util.*; public class Sweets_BinarySearch { static Scanner scan = new Scanner(System.in); int input(string na){ // 入 力 メソッド System.out.print(na + "を 入 力 "); int atai = scan.nextint(); return atai;// 入 力 した atai を 返 す public static void main(string args[]) { Sweets_BinarySearch sb = new Sweets_BinarySearch(); int[] ban = {,3,5,6,7; String[] mei = {"チーズケーキ"," 抹 茶 ムース ","ザッハトルテ", "ミルフィーユ","モンブラン"; int[] tanka = {300,350,380,420,340; int nban, nsu, sw; int hi, lo, m; nban = sb.input(" 品 番 "); // 入 力 メソッドを 実 行 し 戻 り 値 を nban に 代 入 する while(nban!= 0){ sw = 0; lo = 0; hi = ban.length - ; m = (lo + hi)/ 2; // 中 央 値 を 求 める while(sw == 0){ if (nban == ban[m]){ nsu = sb.input(" 数 量 "); // 入 力 メソッドを 実 行 し 戻 り 値 を nsu に 代 入 する String kingaku = String.format("%,7d", tanka[m] * nsu); System.out.println(" 品 番 :" + ban[m] + "\t" + " 商 品 名 :" + mei[m] + "\t" + " 金 額 :" + kingaku); sw = ; // ループを 終 了 する else if(nban > ban[m]) { lo = m + ; else { hi = m - ; m = (lo + hi)/ 2; if(lo > hi) { System.out.println(" 品 番 エラー"); sw = ; nban = sb.input(" 品 番 "); // 入 力 メソッドを 実 行 し 戻 り 値 を nban に 代 入 する 55

第 4 章 総 合 演 習 () オブジェクトごとにメソッドを 作 成 する 点 数 を 入 力 し 判 定 結 果 を 画 面 に 表 示 するプログラムを 作 成 しなさい 入 力 データ 得 点 ten 実 行 結 果 点 数 を 入 力 してください 70 判 定 は B 流 れ 図 はじめ input()メソッド inputメソッド testhanteiオブジェク トを 生 成 input()メソッドを 実 行 " 点 数 を 入 力 してくださ い"を 表 示 output()メソッド を 実 行 tenを 入 力 終 わり 終 出 わり 口 output()メソッド " 判 定 は"を 表 示 ten=00 YES NO NO ten>=80 YES ten>=50 NO "S"を 表 示 "A"を 表 示 YES "B"を 表 示 "C"を 表 示 出 口 56

プログラム 例 2 3 4 5 6 7 8 9 0 2 3 4 5 6 7 8 9 20 2 22 23 24 25 26 import java.util.*; public class TestHantei { int ten; public void input(){ Scanner scan=new Scanner(System.in); System.out.println(" 点 数 を 入 力 してください"); ten=scan.nextint(); public void output(){ System.out.print(" 判 定 は"); if(ten == 00){ System.out.println("S"); else if(ten >= 80){ System.out.println("A"); else if(ten >= 50){ System.out.println("B"); else{ System.out.println("C"); public static void main(string[] args) { TestHanteitesthantei=new TestHantei(); testhantei.input(); testhantei.output(); クラス データと 処 理 をひとまとめにしたものをクラスといいます データのことをフィールド 処 理 のこと をメソッドといいます フィールドやメソッドのことをクラスのメンバといいます フィールド int 型 ten TestHantei クラス 入 力 処 理 出 力 処 理 メイン 処 理 input output main メソッド オブジェクト クラスは 変 数 に 対 する 型 のようなもので それ 自 体 に 値 を 格 納 することはできない そこでクラスを もとに 値 を 格 納 できる 変 数 のようなものを 作 ります これをオブジェクトといいます つのクラスからいくつでもオブジェクトの 生 成 ができます int 型 ten TestHantei クラス 入 力 処 理 出 力 処 理 メイン 処 理 input output main testhantei オブジェクト 57

(2) オブジェクトの 作 成 国 語 と 英 語 の 点 数 を 入 力 し 判 定 結 果 を 画 面 に 表 示 するプログラムを 作 成 しなさい 入 力 データ 得 点 ten 実 行 結 果 国 語 の 点 数 を 入 力 してください 70 英 語 の 点 数 を 入 力 してください 80 国 語 の 判 定 はB 英 語 の 判 定 はA 流 れ 図 はじめ input()メソッド inputメソッド kokugoオブジェクトを 生 成 kamoku,"の 点 数 を 入 力 し てください"を 表 示 eigoオブジェクトを 生 成 tenを 入 力 " 国 語 " kokugo.kamoku output()メソッド 終 出 わり 口 " 英 語 " eigo.kamoku kokugoオブジェクト のinput()メソッド を 実 行 " 判 定 は"を 表 示 NO eigoオブジェクトの input()メソッドを 実 行 ten=00 YES NO ten>=80 kokugoオブジェクト のoutput()メソッド を 実 行 "S"を 表 示 "A"を 表 示 YES ten>=50 YES NO eigoオブジェクト のoutput()メソッ ドを 実 行 "B"を 表 示 "C"を 表 示 終 わり 出 口 58

プログラム 例 import java.util.*; 2 public class TestHantei { 3 int ten; 4 String kamoku; 5 public void input(){ 6 Scanner scan = new Scanner(System.in); 7 System.out.println(kamoku + "の 点 数 を 入 力 してください"); 8 ten = scan.nextint(); 9 0 public void output(){ System.out.print(kamoku + "の 判 定 は"); 2 if(ten == 00){ 3 System.out.println("S"); 4 else if(ten >= 80){ 5 System.out.println("A"); 6 else if(ten >= 50){ 7 System.out.println("B"); 8 else{ 9 System.out.println("C"); 20 2 22 public static void main(string[] args) { 23 TestHanteikokugo = new TestHantei(); 24 TestHanteieigo = new TestHantei(); 25 kokugo.kamoku = " 国 語 "; 26 eigo.kamoku = " 英 語 "; 27 kokugo.input(); 28 eigo.input(); 29 kokugo.output(); 30 eigo.output(); 3 32 つのクラスから 2つのオブジェクトを 生 成 しています int 型 入 力 処 理 ten String 型 kamoku TestHantei クラス 出 力 処 理 メイン 処 理 input output main kokugo オブジェクト eigo オブジェクト 59

(3) 最 大 値 を 求 める 身 長 と 体 重 を 複 数 入 力 し それぞれの 最 大 値 を 求 めるプログラムを 作 成 しなさい 入 力 データ 身 長 ( 体 重 ) x 実 行 結 果 身 長 を 入 力 してください- で 終 了 70 80 60 - 体 重 を 入 力 してください- で 終 了 80 75 65 - 身 長 の 最 大 値 は 80 体 重 の 最 大 値 は 80 流 れ 図 input(s)メソッド inputメソッド 0 x はじめ s shumoku shinchoオブジェクトを 生 成 taijuオブジェクトを 生 成 ループ x>=0の 間 shinchoオブジェク トのinput(" 身 長 ")メソッドを 実 行 s,"を 入 力 してくださ い-で 終 了 "を 表 示 taijuオブジェクト のinput(" 体 重 ")メ ソッドを 実 行 shinchoオブジェク トのoutput()メソッ ドを 実 行 xを 入 力 x>max s shumoku YES NO output()メソッド inputメソッド taijuオブジェクト のoutput()メソッ ドを 実 行 ループ shumoku,"の 最 大 値 は ",maxを 表 示 終 わり 出 口 出 口 60

プログラム 例 import java.util.scanner; 2 public class ShintaiKeisoku { 3 int max = 0; 4 String shumoku; 5 public void input(string s){ 6 Scanner scan = new Scanner(System.in); 7 int x = 0; 8 shumoku = s; 9 System.out.println(s + "を 入 力 してください- で 終 了 "); 0 while(x >= 0){ x = scan.nextint(); 2 if(x > max){ 3 max = x; 4 5 6 7 public void output(){ 8 System.out.println(shumoku + "の 最 大 値 は" + max); 9 20 public static void main(string[] args) { 2 ShintaiKeisokushincho = new ShintaiKeisoku(); 22 ShintaiKeisokutaiju = new ShintaiKeisoku(); 23 shincho.input(" 身 長 "); 24 taiju.input(" 体 重 "); 25 shincho.output(); 26 taiju.output(); 27 28 6

(4) メソッドからの 戻 り 値 の 利 用 数 値 ( 整 数 )を 入 力 し その 数 値 の 階 乗 を 表 示 するプログラムを 作 成 しなさい ただし 別 ファイ ルにて Kaijo クラスを 用 意 して 階 乗 を 求 める kaijo メソッドを 作 成 し それを 利 用 すること 入 力 データ 数 値 su 実 行 結 果 数 値 を 入 力 してください 5 5!=20 流 れ 図 はじめ kaijoクラスからkオブ ジェクトを 生 成 kaijo(a)メソッド " 数 値 を 入 力 してくだ さい"を 表 示 suを 入 力 a=0 ループ a b,aをずつ 減 らし a>の 間 NO YES kオブジェクトの kaijo(su)メソッド の 実 行 結 果 を kekkaに 代 入 b (a-) b b su,"!=",kekkaを 表 示 ループ 終 わり 出 口 return(b) プログラム 例 :Factorial.java import java.util.*; 2 public class Factorial { 3 public static void main(string[] args) { 4 intsu,kekka; 5 Scanner scan =new Scanner(System.in); 6 Kaijo k = new Kaijo(); 7 System.out.println(" 数 値 を 入 力 してください"); 8 su = scan.nextint(); 9 kekka=k.kaijo(su); 0 System.out.println(su + "!=" + kekka); 2 62

プログラム 例 :Kaijo.java public class Kaijo { 2 public intkaijo(int a){ 3 int b; 4 if(a == 0){ 5 b = ; 6 else{ 7 for(b = a ; a > ; a --){ 8 b = b * (a - ); 9 0 return b; 2 3 63

第 5 章 Javaアプレットの 作 成 Javaアプレットは Javaプログラムの 実 行 形 態 のひとつで ネットワークを 通 じてWebブ ラウザ 上 に 読 み 込 まれて 実 行 されるプログラムで チャットやCGアニメーション 教 育 機 関 による 学 習 システムなどで 利 用 されています まずは Hello World と 表 示 するだけのアプレットを 作 ってみましょう プログラム 例 :HelloApplet.java import java.applet.applet; 2 import java.awt.graphics; 3 public class HelloApplet extends Applet { 4 public void paint(graphics g){ 5 g.drawstring("hello World!",0,2); 6 7 3 行 目 のクラス 名 のあとに extends Applet と 記 述 されています これは すでにある Applet ク ラスを 利 用 して 新 しいクラスを 作 成 するときに 記 述 します 作 成 されるクラスはもとになったクラスの 性 質 を 引 き 継 ぎ すべてのフィールドとメソッドが 新 しいクラスでも 利 用 可 能 になっています このように 既 に 定 義 されているクラスをもとに 拡 張 や 変 更 を 加 えた 新 しいクラスを 定 義 することを 継 承 といいます また Applet クラスを 利 用 するために 行 目 で applet クラスをインポートし ています 4 行 目 ~6 行 目 は paint メソッドといい アプレットに 表 示 する 文 字 列 や 画 像 などのグラフィック スについて 記 述 します 5 行 目 の drawstring メソッドを 実 行 し 文 字 列 Hello World! を x 方 向 に 0ドット y 方 向 に2ドットの 位 置 に 表 示 します Eclipse 等 で 実 行 すると 下 の 図 のようにアプレットビューアが 起 動 し アプレットが 実 行 されます 実 際 に Web ブラウザ 上 でアプレットを 動 作 させるため メモ 帳 などのテ キストエディタを 用 いて 次 のような HTML ファイルを 作 成 します HTML ファイル:hello.html <html> 2 <head><title>アプレット</title></head> 3 <body> 4 <h>hello アプレット</h> 5 <applet code="helloapplet.class" width=00 height=00></applet> 6 </body> 7 </html> 5 行 目 の applet タグでアプレットのファイル 名 とサイズを 指 定 しています ここでは 縦 00ドッ ト 横 00ドットでサイズを 指 定 しています 64

作 成 した HTML ファイルと 同 じフォルダ(ディレクトリ)に HelloApplet.class ( HelloApplet.Java のワークスペース 内 の bin フォルダにあります)をコピーし HTML ファイルを 開 くと 次 のように 表 示 さ れます 課 題 今 日 の 運 勢 を 表 示 するおみくじアプレットを 作 成 しなさい 実 行 結 果 アプレットビューアによる 表 示 プログラム 例 import java.applet.applet; 2 import java.awt.graphics; 3 import java.util.random; 4 public class Omikuji extends Applet { 5 Random rnd = new Random(); 6 String str[] = {" 大 吉 "," 吉 "," 中 吉 "," 小 吉 "," 末 吉 "," 凶 "; 7 int i = rnd.nextint(str.length); 8 public void paint(graphics g){ 9 g.drawstring(" 今 日 の 運 勢 は" + str[i] + "です ",0,2); 0 乱 数 を 生 成 するために Random クラスを 使 用 しています 5 行 目 で Random クラスのインスタンスを 作 成 し 7 行 目 の nextint メソッドで0から 始 まり 引 数 - を 超 えない 範 囲 の 整 数 を 返 します ここ で 引 数 は length メソッドを 用 いて 文 字 列 型 配 列 str の 要 素 数 を 取 得 しています Random クラスを 使 用 するために 3 行 目 で Random クラスをインポートしています 65

課 題 2 今 日 の 運 勢 を 表 示 するボタンつきおみくじアプレットを 作 成 しなさい 実 行 結 果 ボタンクリック 前 ボタンクリック 後 プログラム 例 import java.applet.applet; 2 import java.awt.button; 3 import java.awt.graphics; 4 import java.awt.event.actionevent; 5 import java.awt.event.actionlistener; 6 import java.util.random; 7 public class Omikuji2 extends Applet implements ActionListener { 8 Random rnd = new Random(); 9 String str[] = {" 大 吉 "," 吉 "," 中 吉 "," 小 吉 "," 末 吉 "," 凶 "; 0 String mes = ""; Button b = new Button("おみくじを 引 く"); 2 inti; 3 public void init(){ 4 setlayout(null); 5 add(b); 6 b.setbounds(50,50,00,20); 7 b.addactionlistener(this); 8 9 public void paint(graphics g){ 20 g.drawstring(mes,0,2); 2 22 public void actionperformed(actionevent e) { 23 i = rnd.nextint(str.length); 24 mes = " 今 日 の 運 勢 は" + str[i] + "です "; 25 repaint(); 26 27 66

ボタンの 表 示 ボタンを 表 示 するには Button クラスを 利 用 します Button クラスを 利 用 するために 2 行 目 で Button クラスをインポートし 行 目 でオブジェクトを 生 成 しています init メソッドの 処 理 3 行 目 ~8 行 目 の init メソッドにはアプレットが 読 み 込 まれたときに 度 だけ 行 う 処 理 を 記 述 します アプレットに 対 する 初 期 化 の 処 理 などを 行 います 4 行 目 の setlayout メソッドでアプレットの 画 面 上 のレイアウトを 指 定 します 引 数 に null を 指 定 することで ボタンなどのオブジェクトをオブジェクトごとに 座 標 や 大 きさを 自 由 に 設 定 することが できます 5 行 目 の add(b)で 画 面 上 にボタンを 追 加 し 6 行 目 の b.setbounds(50,50,00,20)でボタンの 場 所 (x 方 向 に50 y 方 向 に50)と 大 きさ( 幅 00 高 さ20)を 指 定 しています イベント 処 理 ボタンを 表 示 するだけではなく ボタンがクリックされたときに 特 定 の 処 理 を 行 うようにイベントリ スナの 登 録 を 行 います ボタンが 押 されたときのイベントの 種 類 は ActionEvent というクラスで イベ ントリスナを 登 録 するために addactionlistener メソッドが 用 意 されています 7 行 目 の b.addactionlistener(this)で 表 示 したボタンにイベントリスナの 登 録 を 行 っています ボタンがクリックされたときの 処 理 を22 行 目 ~26 行 目 の actionperformed メソッドに 記 述 します 25 行 目 の repaint()メソッドで 画 面 に 表 示 される 内 容 を 更 新 します これらのイベント 処 理 を 行 うために 4 行 目 ~5 行 目 で ActionEvent クラスと ActionListener クラ スをインポートし 7 行 目 のクラス 宣 言 で implements ActionListener と 記 述 して ActionListener イ ンターフェースを 組 み 込 む 必 要 があります さまざまなイベント 処 理 課 題 2では ActionListener インターフェースを 用 いたイベント 処 理 を 行 いましたが マウスイベン トやキーボードからの 入 力 など さまざまなイベント 処 理 を 行 うことができます 一 例 を 示 しておきま すので 参 考 にしてください ボタンがクリックされたときのイベント 処 理 インターフェース ActionListener インポートするクラス java.awt.event.actionevent; java.awt.event.actionlistener; リスナの 登 録 addactionlistener 呼 び 出 されるメソッド actionperformed(actionevent e) ボタンがクリックされたときの 処 理 を 記 述 します 2キーボード 操 作 によるイベント 処 理 インターフェース KeyListener インポートするクラス java.awt.event.keyevent; java.awt.event.keylistener; リスナの 登 録 addkeylistener 呼 び 出 されるメソッド keypressed(keyevent e) キーが 押 されたときの 処 理 を 記 述 します keyreleased(keyevent e) キーが 離 された 時 の 処 理 を 記 述 します keytyped(keyevent e) キーが 押 されたときの 処 理 を 記 述 します ( 主 に 文 字 キー) 67

3マウス 操 作 によるイベント 処 理 インターフェース MouseListener インポートするクラス java.awt.event.mouseevent; java.awt.event.mouselistener; リスナの 登 録 addmouselistener 呼 び 出 されるメソッド mouseclicked(mouseevent e) マウスのボタンがクリックされたとき(マウスのボタンを 押 して 離 したとき)の 処 理 を 記 述 します mouseentered(mouseevent e) マウスカーソルがアプレットの 上 に 乗 ったときの 処 理 を 記 述 します mouseexited(mouseevent e) マウスカーソルがアプレットから 離 れたときの 処 理 を 記 述 します mousepressed(mouseevent e) マウスのボタンが 押 されたときの 処 理 を 記 述 します mousereleased(mouseevent e) マウスのボタンが 押 された 状 態 から 離 されたときの 処 理 を 記 述 します 4KeyListener を 使 ったプログラム 例 import java.applet.applet; 2 import java.awt.graphics; 3 import java.awt.event.keyevent; 4 import java.awt.event.keylistener; 5 public class KeyTest extends Applet implements KeyListener { 6 String str; 7 public void init(){ 8 str=""; 9 addkeylistener(this); 0 public void paint(graphics g){ 2 g.drawstring(str, 0, 2); 3 4 public void keypressed(keyevent e) {// 使 用 しなくても 記 述 する 必 要 があります 5 public void keyreleased(keyevent e) { 6 str=""; 7 repaint(); 8 9 public void keytyped(keyevent e) { 20 str=e.getkeychar()+"キーが 押 されました"; 2 repaint(); 22 23 文 字 キーなどが 押 されたときにどのキーが 押 されたかを 表 示 するアプレットです 文 字 キー 以 外 のキ ーが 押 された 場 合 は 何 も 処 理 が 行 われません 20 行 目 の getkeychar メソッドで 押 されたキーの 文 字 を 取 得 しています 68

平 成 24 年 度 商 業 教 育 改 善 委 員 会 委 員 長 宿 南 敏 行 県 立 神 戸 商 業 高 等 学 校 校 長 副 委 員 長 長 谷 川 義 人 県 立 姫 路 商 業 高 等 学 校 校 長 j a v a グ ル ー プ 委 員 小 柴 直 樹 県 立 神 戸 商 業 高 等 学 校 主 幹 教 諭 山 本 義 史 県 立 神 戸 商 業 高 等 学 校 教 諭 國 澤 剛 県 立 神 戸 商 業 高 等 学 校 教 諭 細 川 宗 一 郎 県 立 神 戸 商 業 高 等 学 校 教 諭 清 川 光 慶 市 立 神 港 高 等 学 校 教 諭 古 川 裕 士 伊 丹 市 立 高 等 学 校 教 諭 北 川 欽 一 県 立 龍 野 北 高 等 学 校 教 諭 鬼 頭 妙 子 県 立 姫 路 商 業 高 等 学 校 教 諭 福 谷 千 佳 県 立 姫 路 商 業 高 等 学 校 教 諭 事 務 局 奥 村 裕 幸 県 立 神 戸 商 業 高 等 学 校 教 諭 貞 松 敏 夫 県 立 神 戸 商 業 高 等 学 校 教 諭