本日の宿題

1/24

[宿題:基本・高度共通・J2級向け]

 けた落ちの説明として,適切なものはどれか。

 ア 値がほぼ等しい浮動小数点同士の減算において,有効けた数が大幅に減っ
  てしまうことがある。

 イ 演算結果が,扱える数値の最大値を超えることによって生じる誤差である。

 ウ 数表現のけた数に限度があるとき,最小のけたより小さい部分について四
  捨五入,切上げ又は切捨てを行うことによって生じる誤差である。

 エ 浮動小数点の加算において,一方の数値の下位のけたが欠落することであ
  る。

◆考えたこと・調べたこと・質問

○ア:桁落ち
×イ:オーバーフロー
×ウ:丸め誤差
×エ:情報落ち?

・桁落ち
浮動小数点演算で、計算結果が0に極端に近くなる加減算を行ったときに、有効数字の桁数が極端に少なくなる現象。
 例えば、「1.23456789x102-1.23456780x102」のような計算を行なうと、計算結果は「9x10-6」となり、有効数字の桁数は9桁から一気に1桁に減少してしまう。
参考:e-words

・桁あふれ(オーバーフロー)
 コンピュータが数値演算を行なった結果が、扱える数値の最大値を超えること。桁あふれともいう。
参考:e-words

丸め誤差
 小数点以下の極めて小さい単位で値を丸めて計算した結果、計算結果と正しい値がわずかにずれる現象のこと。
参考:e-words

・情報落ち
 同じ有効桁数で、大きな数と小さな数を足したり引いたりすると小さい数が結果に反映されない。
例) 1234+5.678=1239.678
 小数点以下が無視されて1239になってしまう。
参考:桁落ち・情報落ち

  • 私のAns:ア

☆正解でした ☆「調べた事」を採用して頂きました

宿題メール解説引用」
> 参考URL、大変解りやすい説明です。
> http://mt-net.vis.ne.jp/ADFE_mail/0223.htm

[宿題:ソフトウェア開発向け]

 自然数をキーとするデータを,ハッシュ表を用いて管理する。キー x のハッ
シュ値 h(x) を
  h(x) = x mod n
とする。ここで,n はハッシュ表の大きさであり,x mod n は x を n で割った
余りを表す。
 キーが a であるデータと,キーが b であるデータの間で,衝突が起きる条件
はどれか。

 ア a + b が n の倍数

 イ a - b が n の倍数

 ウ n が a + b の倍数

 エ n が a - b の倍数

◆考えたこと・調べたこと・質問
【保留】

  • 私のAns:正解はイ

宿題メール解説引用」
> 衝突が起きる→キーを n で割ったときの余りが等しい
> →キーは n の倍数に共通の数をたしたもの
> →キーの差をとると n の倍数

> n=33として、当てはめてみる。
>
> ア:a + b が n の倍数
>   a=60、b=6
>   このときのハッシュ値 h(x)は
>   h(60)= 60 mod 33 = 27
>   h( 6)= 6 mod 33 = 6
>   →衝突は起きない。
>
> イ:a - b が n の倍数
>   a=42、b=9
>   このときのハッシュ値 h(x)は
>   h(42)= 42 mod 33 = 9
>   h( 9)= 9 mod 33 = 9
>   →衝突が起きる。
>
> ウ:n が a + b の倍数
>   a=30、b=3
>   このときのハッシュ値 h(x)は
>   h(30)= 30 mod 33 = 30
>   h( 3)= 3 mod 33 = 3
>   →衝突は起きない。
>
> エ:n が a - b の倍数
>   a=19、b=8
>   このときのハッシュ値 h(x)は
>   h(19)= 19 mod 33 = 19
>   h( 8)= 8 mod 33 = 8
>   →衝突は起きない。

[宿題:情報セキュアド向け]

 オブジェクト指向における汎化の説明として,適切なものはどれか。

 ア あるクラスを基に,これに幾つかの性質を付加することによって,新しい
  クラスを定義する。

 イ 幾つかのクラスに共通する性質だけをもつクラスを定義する。

 ウ オブジェクトのデータ構造から所有の関係を見つける。

 エ 同一名称のメソッドをもつオブジェクトを抽象化してクラスを定義する。

◆考えたこと・調べたこと・質問
汎化:共通の性質を持つクラスを定義する

×ア:継承(インヘリタンス)
○イ:正しい
×ウ:集約
×エ:クラス化?

  • 私のAns:イ

☆正解でした ☆「考えたこと」を採用して頂きました

宿題メール解説引用」
 エは,なんでしょうね。Java だと,インターフェースというクラスみたい
なものがあります。

> ここのコンテンツは内容が濃くて、プログラミングを覚えるにも
> かなり勉強させてもらいました。
> http://mikata.curiocube.com/oop/part2/ch15_abstraction.html

> @IT 「ここから始めるオブジェクト指向
> http://www.atmarkit.co.jp/fjava/devs/object05/object05.html