スライド 1

Similar documents
スライド 1

Java 基礎問題ドリル ~ メソッドを理解する ~ 次のプログラムコードに 各設問の条件にあうメソッドを追加しなさい その後 そのメソッドが正しく動作することを検証するためのプログラムコードを main メソッドの中に追加しなさい public class Practice { // ここに各設問

Method(C 言語では関数と呼ぶ ) メソッドを使うと 処理を纏めて管理することができる 処理 ( メソッド ) の再実行 ( 再利用 ) が簡単にできる y 元々はC 言語の関数であり 入力値に対する値を 定義するもの 数学では F(x) = 2x + 1 など F(x)=2x+1 入力値 (

Prog1_10th

Java講座

スライド 1

JavaプログラミングⅠ

Microsoft Word - java a.doc

Prog2_9th

デジタル表現論・第6回

JavaプログラミングⅠ

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

<4D F736F F D2091E F196E291E889F090E C4816A82CC838C E646F6378>

基本情報STEP UP演習Java対策

文字列操作と正規表現

(Microsoft PowerPoint - \223\306\217KJAVA\221\346\202R\224\ ppt)

プログラミング入門1

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

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

JavaプログラミングⅠ

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

デジタル表現論・第4回

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

プログラミング入門1

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

ガイダンス

Javaプログラムの実行手順

メソッドのまとめ

Microsoft Word - keisankigairon.ch doc

プログラミングA

問 次の Fortran プログラムの説明及びプログラムを読んで、設問に答えよ。

JavaプログラミングⅠ

プログラミング入門1

プログラムの基本構成

人工知能入門

2

Prog1_6th

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

Prog1_15th

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

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

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

Microsoft PowerPoint - prog03.ppt

Program Design (プログラム設計)

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

Prog1_3rd

JavaプログラミングⅠ

PowerPoint プレゼンテーション

Prog1_2nd

System.out.println("char : " + (int)character.min_value + "~" + (int)character.max_value); System.out.println("float : " + Float.MIN_VALUE + "~" + Flo

HCI プログラミング 10 回目テキストフィールドとキーイベント 今日の講義で学ぶ内容 テキストフィールドの利用 キーイベントの処理 テキストフィールドの利用 1 テキストフィールドを配置してみましょう テキストフィールドを用いることにより 数値や文字列などのデータ入力が可能になります ソースファ

Prog2_10th

Microsoft PowerPoint - prog08.ppt

Microsoft PowerPoint - chap10_OOP.ppt

Microsoft PowerPoint - prog09.ppt

2

Java言語 第1回

PowerPoint プレゼンテーション

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

Microsoft PowerPoint - prog09.ppt

r1.dvi

Microsoft PowerPoint ppt

10K pdf

Assignment_.java 0 Assignment_.java 課題 : 台形の面積 / class Assignment_ public static void main(string[] args) throws IOException キーボード準備 int top, bottom,

HK13

PowerPoint プレゼンテーション

I java A

JavaプログラミングⅠ

2

PowerPoint プレゼンテーション

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

Prog1_11th

メソッドのまとめ

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

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

プログラミング入門1

情報実習Ⅱ

Programming-C-9.key

ガイダンス

試験問題に記載されている会社名又は製品名は, それぞれ各社の商標又は登録商標です なお, 試験問題では, 及び TM を明記していません

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

GEC-Java

Java演習(2) -- 簡単なプログラム --

JavaプログラミングⅠ

問 次の Fortran プログラムの説明及びプログラムを読んで、設問に答えよ。

ガイダンス

K227 Java 2

ToDo: 今回のタイトル

Microsoft PowerPoint - prog04.ppt

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

break 文 switch ブロック内の実行中の処理を強制的に終了し ブロックから抜けます switch(i) 強制終了 ソースコード例ソースファイル名 :Sample7_1.java // 入力値の判定 import java.io.*; class Sample7_1 public stati

3,, となって欲しいのだが 実際の出力結果を確認すると両方の配列とも 10, 2, 3,, となってしまっている この結果は代入後の配列 a と b は同じものになっていることを示している つまり 代入演算子 = によるの代入は全要素のコピーではなく 先をコピーする ため 代入後の a と b は

11 ソフトウェア工学 Software Engineering デザインパターン DESIGN PATTERNS デザインパターンとは? デザインパターン 過去のソフトウェア設計者が生み出したオブジェクト指向設計に関して, ノウハウを蓄積し 名前をつけ 再利用しやすいようにカタログ化したもの 各デ

第14回若年者ものづくり競技大会「業務用ITソフトウェア・ソリューションズ」職種 模擬競技課題


ガイダンス

JavaプログラミングⅠ

Programming-C-3.key

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

メディプロ1 Javaプログラミング補足資料.ppt

Transcription:

コンピュータプログラミング II (2019 年度前期 ) 学力考査問題公開版 20190718 (2) 問題 1 クラス図からソースプログラムの導出 ( 提出 CoffeeShop.java) クラス図 CoffeeShop からソースプログラムを導出しなさい. CoffeeShop information():void getcoffee(number:int):string getprice(coffee:string):int 問題 2 東京の平均気温 ( 提出 Tokyo.java) このプログラムは, 東京の日平均気温の月平均値 ( 度 ) を扱います.(1)~(3) の手順にしたがって, プログラムを作成しなさい. (1) クラス図 Tokyo からソースプログラムを導出しなさい. Tokyo gettemperature(month:int):int (2) 動作確認用プログラム TokyoMain.java を作成しなさい. public class TokyoMain { public static void main(string[] args) { for(int i = 0; i < 12; i++) { int month = i + 1; int temp = Tokyo.getTemperature(month); System.out.println(month + " 月 " + temp + " 度 "); > java TokyoMain 1 月 5 度 2 月 5 度 3 月 12 度 4 月 17 度 5 月 20 度 6 月 22 度 7 月 28 度 8 月 28 度 9 月 23 度 10 月 19 度 11 月 14 度 12 月 8 度

(3) API 仕様 Tokyo を満足するように Tokyo.java を実装しなさい. API 仕様 Tokyo gettemperature 東京の日平均気温の月平均値を返却します. 引数 (month:int) は月です. 日平均気温の月平均値 (2018 年 東京 ) を以下に示します. 1 月 5( 度 ), 2 月 5( 度 ), 3 月 12( 度 ), 4 月 17( 度 ), 5 月 20( 度 ), 6 月 22( 度 ), 7 月 28( 度 ), 8 月 28( 度 ), 9 月 23( 度 ),10 月 19( 度 ),11 月 14( 度 ),12 月 8( 度 ) 出典 : 気象庁ホームページ http://www.data.jma.go.jp/obd/stats/etrn/view/monthly_s3.php?prec_no=44&block_n o=47662 ( 小数点以下を四捨五入しています ) 問題 3 ゴルフゲーム ( 提出 Golf.java) このプログラムは, ゴルフゲームです. プレーヤーは, ボールを飛ばしたい距離 ( 目標距離 ) を入力して, ボールを打ちます. ボールは乱数で決められた距離を飛びます. そして, カップに入ったかどうかを出力 ( 表示 ) します. 第 1 打のカップまでの距離は 100m です. 第 5 打まで打つことができます. (1)~(3) の手順にしたがって, プログラムを作成しなさい. (1) クラス図 Golf からソースプログラムを導出しなさい. Golf gettarget():int shot(target:int):int getmessage(distance:int, shotdistance:int):string getdifference(distance:int, shotdistance:int):int getcupinmessage(count:int):string

20190718 (3) (2) 動作確認用プログラム GolfGame.java を作成しなさい. public class GolfGame { public static void main(string[] args) { System.out.println(" ゴルフゲーム "); int distance = 100; for(int i = 0; i < 5; i++) { int count = i + 1; System.out.println(" 第 " + count + " 打 "); System.out.println(" カップまでの距離は " + distance + "m です "); System.out.print(" 目標距離を入力してください :"); int target = Golf.getTarget(); int shotdistance = Golf.shot(target); System.out.println(shotDistance + "m 飛びました "); String message = Golf.getMessage(distance, shotdistance); System.out.println(message); distance = Golf.getDifference(distance, shotdistance); if(distance == 0) { String msg = Golf.getCupInMessage(count); System.out.println(msg); return; System.out.println(" おわり "); > java GolfGame ゴルフゲーム第 1 打カップまでの距離は100mです目標距離を入力してください :99 100m 飛びましたカップに入りましたホールインワンおめでとう > java GolfGame ゴルフゲーム第 1 打カップまでの距離は 100m です目標距離を入力してください :99 97m 飛びました届きませんでした第 2 打カップまでの距離は 3m です目標距離を入力してください :3 4m 飛びました越えました第 3 打カップまでの距離は 1m です目標距離を入力してください :1 1m 飛びましたカップに入りましたパーです

(3) API 仕様 Golf を満足するように Golf.java を実装しなさい. API 仕様 Golf gettarget 目標距離を入力します. キーボードから整数を入力し, その整数を返却します. shot ボールをショットし, ボールが飛んだ距離 ( 整数 ) を返却します. 引数 (target:int) は目標距離です. 飛んだ距離は, 目標距離に,-2, -1, 0, +1, +2 のいずれかの数値 ( 乱数 ) を加算します. なお, 目標距離を 2 以下にした場合は, 飛んだ距離が 0m( 真上に飛ぶ ) やマイナス ( 後ろに飛ぶ ) の場合もあります. ヒント 乱数(RandomNumber) クラスを利用して,0から4までの乱数を生成します. この乱数から2を減算することで,-2, -1, 0, +1, +2 の乱数を生成します. さらに, 目標距離を加算し, ボールが飛んだ距離とします. getmessage 引数で渡された値により, 以下の文字列を返却します. 引数 (distance:int) は, カップまでの距離です. 引数 (shotdistance:int) は, ボールが飛んだ距離です. 引数の値の比較 distance > shotdistance distance < shotdistance distance == shotdistance 返却値届きませんでした越えましたカップに入りました getdifference 残された距離を計算します. カップまでの距離とボールが飛んだ距離の差の絶対値を返却します. 引数 (distance:int) は, カップまでの距離です. 引数 (shotdistance:int) は, ボールが飛んだ距離です. getcupinmessage 絶対値は, 値がマイナスの場合に, 符号をプラスにします. カップにボールが入った時 ( カップイン ) のメッセージを返却します. 引数 (count:int) は, 打った回数です. コースの規定打数を 3 回 ( パー 3) とし, 打った回数とメッセージの関係を以下に示します. 1 打 ホールインワンおめでとう,2 打 バーディーです, 3 打 パーです,4 打 ボギーです,5 打 ダブルボギーです KeyboardReader クラスを利用するには以下の記述が必要です. import jp.tdu.util.keyboardreader; RandomNumber クラスを利用するには以下の記述が必要です. import jp.tdu.util.randomnumber;

問題 4 チャートの作成 ( 提出 Chart.java) このプログラムは, チャート ( グラフ ) を作成するものです. 東京の日平均気温の月平均値を使用して, 横棒グラフを作成します. (1)~(3) の手順にしたがって, プログラムを作成しなさい. (1) クラス図 Chart からソースプログラムを導出しなさい. Chart 20190718 (4) makeline(str:string, length:int):string makebar(str1:string, str2:string, length:int):string makeaxis(str1:string, str2:string, maxvalue:int):string makevalues(str:string, maxvalue:int):string (2) 動作確認用プログラム ChartMain.java を作成しなさい. public class ChartMain { public static void main(string[] args) { int width = 2; System.out.println(" 月 "); for(int i = 0; i < 12; i++) { int month = i + 1; int temp = Tokyo.getTemperature(month); String v = ChartMain.right(width, month); String bar = Chart.makeBar("=", "x", temp); System.out.println(v + ":" + bar); String space = Chart.makeLine(" ", width); String axis = Chart.makeAxis("+", "-", 30); String values = Chart.makeValues(".", 30); String space2 = Chart.makeLine(" ", 10); System.out.println(space + axis); System.out.println(space + values); System.out.println(space + space2 + " 気温 ( 度 )"); public static String right(int width, int number) { return String.format("%" + width + "d", number); String クラスの format メソッドは, 指定した書式に従って文字列を作成します. 桁数を width として, 整数 number を右寄せします.

> java ChartMain 月 1:====x 2:====x 3:===========x 4:================x 5:===================x 6:=====================x 7:===========================x 8:===========================x 9:======================x 10:==================x 11:=============x 12:=======x +----+----+----+----+----+----+ 0...5...10...15...20...25...30 気温 ( 度 ) (3) API 仕様 Chart を満足するように Chart.java を実装しなさい. API 仕様 Chart makeline makebar makeaxis 文字列 str を length の数だけ連結した文字列 (line) を作成し, 返却します. 引数 (str:string) は,line に使う文字列です. 引数 (length:int) は,line の長さです. 文字列 str1 を length-1 の数だけ連結した文字列 (bar) を作成し, 最後に str2 を連結し, 返却します. 引数 (str1:string) は,bar に使う文字列です. 引数 (str2:string) は,bar の最後に使う文字列です. 引数 (length:int) は,bar の全体の長さです. 横軸 (axis) の文字列を作成し, 返却します. 引数 (str1:string) は,0 および 5 の倍数で使用する目盛用の文字です. 引数 (str2:string) は, 横軸に使用する文字です. 引数 (maxvalue:int) は, 横軸の最大値です.( 横軸には最大値を含みます.) makevalues ヒント 0 および 5 の倍数は,5 で割った余りが 0 の場合です, 目盛の数値の文字列 (values) を作成し, 返却します. 目盛の数値は,0 および 5 の倍数を使います. 引数 (str:string) は, 数値の間に使う文字列 (1 文字 ) です. 引数 (maxvalue:int) は, 横軸の最大値です.( 横軸には最大値を含みます. 最大値は 2 桁までです.) ヒント 0 および 5 の倍数は,5 で割った余りが 0 の場合です, 数値が 2 桁の場合, 数値の間の文字を 1 つ減らす必要があります.