matumatuのなでしこ学習帳

2008-02-10本日は、なでしこ本 P.68の学習です

学習レベルを判定した結果 LV = 3: HP = 115 : MP = 300

11:22

  • 完了予想日数 = 472 → 475 悪化
    • 完了予想年月日 = 2009/05/25 → 2009/05/30 悪化
      • はてなカウンター値 = 12559
        • 学習開始日から本日までの日数 =88日

  仕事がますます忙しくなり、数値がどんどん悪化する。 (^_^;)


下記のプログラム「文字列の比較3.nako」は、

11:22

なでしこ本CDROM → sample → 03-01

に入っているプログラムです。


# 文字列を設定
A = 「7」
B = 「33」
# 文字列を整数に変換する
A = INT(A)
B = INT(B)
# 比較する
もし、A<Bならば
  「A<B」と表示
違えば
  「A>B」と表示。

  • 動作結果 : 「文字列の比較3」さすが、

         サンプルプログラムなので、

        「A<B」と正常に表示された。


次に、サンプルプログラムは、文字列を強制的に整数に変換しているが、

11:22

文字列を強制的に実数に変換した場合と比較出来るように改造した。


プログラム名「文字列の比較3A.nako」

11:22

# 文字列を設定 (改造版)
# サンプルプログラムは、文字列を強制的に整数に変換しているが、
# このプログラムは、文字列を強制的に実数に変換した場合と比較出来るように改造しています。

A = 「0.4」
B = 「0.5」
# 文字列を実数に変換する
A = FLOAT(A)
B = FLOAT(B)
# 比較する
もし、A<Bならば
  「実数A:{A} < 実数B:{B}」と表示
違えば
  「実数A:{A} ≧ 実数B:{B}」と表示。

C = 「0.4」
D = 「0.5」
# 文字列を整数に変換する
C = INT(C)
D = INT(D)
# 比較する
もし、C<Dならば
  「整数C:{C}  < 整数D:{D}」と表示
違えば
  「整数C:{C}  ≧ 整数D:{D}」と表示。

E = 「0.5」
F = 「0.4」
# 文字列を整数に変換する
E = INT(E)
F = INT(F)
# 比較する
もし、E<Fならば
  「整数E:{E}  < 整数F:{F}」と表示
違えば
  「整数E:{E}  ≧ 整数F:{F}」と表示。


  • 動作結果 :  の改造プログラムを動作させると

         正常に、下記のように表示した。

        「実数A:0.4 < 実数B:0.5」

        「整数C:0  ≧ 整数D:0 」

        「整数E:0  ≧ 整数F:0 」

         実は、サンプルプログラムは、

         結果が「=」になる場合を想定していないので、

         サンプルプログラムを単純に改造し、

         C = 「0.4」とD = 「0.5」を整数に変換して

         比較すると、「C > D」と表示された。

         こで、あわてて、E = 「0.5」とF = 「0.4」

         も追加したり、実数整数とも、変換後の

         数値表示したところ、「=」になる場合を想定していない

         ために、変な結果になることが分かった。

         こで、「>」を、「≧」に改造した結果、正常に判定された。

         整数にする時に、小数点以下四捨五入でなく、

         切り捨てになることを、学習した。

         数値の比較で、単純に「>」、「<」で判定すると、

         結果が「=」の時に、誤動作することを学習した。


明日の予定

11:22

なでしこ本 P.69に進む予定です。