ホームへ
情報処理技法(Javaプログラミング)2のトップページへ
情報処理技法(Javaプログラミング)2第1回課題
情報処理技法(Javaプログラミング)2の第1回課題の内容です。
※他人の課題をコピーしていた場合は、コピーさせた側・コピーした側とも、0点とするので、他人の課題を写したりせずに作成すること
課題内容
その1からその4まで、4つのプログラムを作ること(1つのプログラムにつき1〜2つのファイル)
その1
銀行のATMの引き出し機能について、下記の事項を全て実現したプログラム
- 標準入力から暗証番号を入力し、正しい暗証番号と照合する
- 正しい暗証番号は、プログラム中に記述しておく
- 入力された暗証番号が正しくなければ、正しい暗証番号が入力されるまで、暗証番号の入力と照合を繰り返す
- ただし、2. の暗証番号の入力と照合が4回目に達した時、それ以上の入力はできないことを標準出力で出力して、暗証番号の入力と照合を終わる
- 標準入力から引き出し金額を入力し、残高を標準出力で出力する
- 預金額は、プログラムの中に記述しておく
- 入力された引き出し金額が、預金額よりも多い場合は、引き出し金額が預金額よりも多いことを標準出力で出力し、預金額よりも少ない引き出し金額が入力されるまで、引き出し金額の入力と預金額との比較を繰り返す(この繰り返しは、回数制限はなしとする)
その2
筆算をするプログラム(アルゴリズムは下記のもの)
※筆算で足し算をする2つの数は、標準入力で入力するようにすること
筆算のアルゴリズム(基本コンセプト)
n桁目の数の和を求め、10以上になった場合にはn+1桁目に1を加える(これをnが1から自然数の桁数まで繰り返す)
準備:
- 2つの自然数は同じ桁数とする(50と200の場合、050と200として考える)
- 加えた結果を入れる変数(配列が便利)を用意する
- 繰り上がりを入れる変数を用意し、0を代入しておく
筆算のアルゴリズム(詳細)
- 1の位から最上位の位まで、下記を繰り返す
- その位の2つの数の和を求める
- 下位からの繰り上がりがあればそれも加える
- その和の1桁目を、求める和のその位の結果とする
- その和の2桁目を、次の桁への繰り上がりとする
- 最上位からの繰り上がりがあった場合は、求める和のその次(上位)の位の数とする
ヒント: 標準入力で入力された数を各桁に分解する方法
- 入力された数を変数numに代入する
- 変数iと、変数numの値の各桁を入れる配列(digit[])を用意しておく
- 変数iを0で初期化しておく
- 変数numを10で割り、商(quotient)と余り(remainder)を計算する
- 余り(remainder)を配列の要素「digit[i]」に代入する
- 変数numに商(quotient)を代入する
- 変数iの値を1増やす
- numが0になるまで2.〜4.を繰り返す
この処理により、配列の要素digit[0]に数の1桁目、配列の要素digit[1]に数の2桁目、配列の要素digit[2]に数の3桁目...が入る
その3
ある金額を、硬貨(1円, 5円, 10円, 50円, 100円, 500円)でおつりがないように支払うとき、できるだけ少ない枚数で支払うには、何円玉を何枚出せばよいかを計算するプログラム
Ex. 720円の品物を買うときには、500円玉1枚, 100円玉2枚, 50円玉0枚, 10円玉2枚, 5円玉0枚, 1円玉0枚を出す
条件
- アルゴリズムを文章で書いてプログラムと一緒に送ること(メールの本文に書くか、Word文書を作ること)
- 支払う金額は標準入力で入力すること
- 金額は何円玉を何枚出すかを標準出力に出力すること(500円玉を何枚、100円玉を何枚、と列挙すること)
その4
逐次探索を使って配列に代入されている数を探すプログラム
※逐次探索は、探索の処理をする前に、数をソートしておく必要なし
条件
- 配列へのデータは乱数を使って作成すること(ソートのプログラムを参考に)
- 作成した乱数は、ファイルに出力すること(配列の何番目に何のデータが入っているかわかるように)
- 探したいデータは、標準入力で入力
- データが見つかった場合は、そのデータを入れている配列の添え字を標準出力に出力すること(xx番目のデータが探したいデータだった、という出力)
※ファイルに出力したデータを見て、正しい添え字が出力されているかどうかを確認すること
- データが見つからない場合は「Not Found!」と標準出力に出力すること
提出期限
10月31日(月) 18:00
提出先
WebClassの「第1回課題」の提出場所に、javaファイル(classファイルではなく)をzipファイルにまとめたもの提出すること
zipファイル作成方法
Javaファイルを4つ提出する必要がありますが、WebClassの提出場所はファイルを1つしか提出できません。そこで、下記の方法で、4つのファイルを1つにまとめたzipファイルを作成します。
- 「学生番号-Java2-1」(すべて半角英数)というフォルダ(学生番号が「knnx1001」であれば、「knnx1001-Java2-1」というフォルダ)を作成し、Javaファイルをすべてこのフォルダの中に入れる
- 1. のフォルダの上で右クリック→「XXを圧縮」を選択する(「XX」の部分は、選択したものによって違う)
- 「学生番号-Java2-1.zip」というファイルができあがるので、このファイルをWebClassに提出する
注意事項
- きちんとコンパイルして、正しい結果が出力されるかどうかを確かめてみること
- うまくいかなかった場合には、下記のことを書いて提出すること
- どれだけがんばったか
- どこがどうなって、うまくいかなかったか
※プログラムが未完成でも、がんばりに応じて評価するので、しっかり主張すること
Copyright (C) Junko Shirogane, Tokyo Woman's Christian University 2016, All rights reserved.