matumatuのなでしこ学習帳

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

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

23:48

  • 完了予想日数 = 470 → 472 悪化
    • 完了予想年月日 = 2009/05/21 → 2009/05/25 悪化
      • はてなカウンター値 = 12242

  いつのにか、12000のキリ番をえていた。 (^_^;)

        • 学習開始日から本日までの日数 =86日

  仕事がさらに忙しくなり、数値がますます悪化した。 (^_^;)


下記のプログラム「文字列を足す2.nako」は、

23:48

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

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


「3」&「5」を表示。            # ... 35
「3本の」&「ニンジン」を表示。 # ... 3本のニンジン

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

         なでしこ本のとおり、

        「35」

        「3本のニンジン」と表示された。


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

23:48

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

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


もし、「あ」>「か」ならば
  「あ>か」と表示。
違えば
  「あ<か」と表示。

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

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

        「あ<か」と正常に表示された。


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

23:48

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

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


もし、「7」<「33」ならば
  「7<33」と表示
違えば
  「7>33」と表示。

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

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

        「7>33」と数字と見なすと、変な結果だが、

         文字列と見なすと正常な結果が表示された。


プログラム名「文字列を足す2A.nako」

23:48

# 文字列と文字列をくっっけるときは「&」 (改造版)
# &の数を増やし、複数行になった場合に正常に動作するか、テストをするように改造した。

「1」&「2」&「3」&「4」&「5」&                           # ... 12345
「6」&「7」&「8」&「9」&「10」を表示。                       # ... 678910
「1個の」&「リンゴと、」&「2個の」&「冷凍餃子と、」&
「3本の」&「ニンジンと、」&「4個の」&「冷凍ミカンを食べたら、」を表示。
「5回も」&「下痢をした。 (^_^;)」を表示。
# ... 1個のリンゴと、2個の冷凍餃子と、3本のニンジンと、4個の冷凍ミカンを食べたら、
#     5回も下痢をした。 (^_^;)

         で文字同士をくっっけ過ぎて、複数行になったが

        「12345678910」

        「1個のリンゴと、2個の冷凍餃子と、3本のニンジンと、

4個の冷凍ミカンを食べたら」

        「5も下痢をした。 (^_^;)」

         と正常に表示された。

         また、試しに複数行になる場合で、

         を行末に置いて、文字同士をくっっけると、正常動作する。

         を行頭に置いて、文字同士をくっっけると、エラーになる

         事を学習した。

         下記が、複数行になる時の、の位置による、テスト結果です。


複数行の場合に、正常に動作する「&」の位置

09:36

         ・・・文字列・・・&  ← 正常動作!
         ・・・文字列・・・

複数行の場合に、エラーになる「&」の位置

09:37

         ・・・文字列・・・
         &・・文字列・・・   ← エラーになる!

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

23:48

# 文字列を比較する場合 (改造版)
# サンプルプログラムは、「ひらがな」の文字列を比較しているが、
# 「アルファベット」の文字列を比較ように改造した。

もし、「A」>「K」ならば
  「A>K」と表示。
違えば
  「A<K」と表示。

  • 動作結果 :  サンプルプログラム「文字列の比較.nako」

         の場合、「あ<か」と表示されたが、

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

         の場合、「A<K」と表示された。


次に、サンプルプログラムは、桁数が揃っていない文字列を比較しているが、

23:48

「0」の文字列追加して、桁数を揃えながら比較ように改造した。


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

23:48

# 文字列として数値を比較した場合 (改造版)
# サンプルプログラムは、桁数が揃っていない文字列を比較しているが、
# 「0」の文字列を追加して、桁数を揃えながら比較ように改造した。

もし、「7」<「33」ならば    # 桁数が揃っていない場合。
  「7<33」と表示
違えば
  「7>33」と表示。

もし、「07」<「33」ならば   # 0を付けて、桁数を2桁に揃えた場合。
  「07<33」と表示
違えば
  「07>33」と表示。

もし、「007」<「033」ならば  # 0を付けて、桁数を3桁に揃えた場合。
  「007<033」と表示
違えば
  「007>033」と表示。

もし、「0007」<「0033」ならば # 0を付けて、桁数を4桁に揃えた場合。
  「0007<0033」と表示
違えば
  「0007>0033」と表示。

  • 動作結果 : 桁数が揃っていない「7>33」だけが、

        一文字目を比べてしまうので、不自然な結果になった。

        こで、「0」の文字列追加して、桁数を揃えながら

        桁数を2桁~4桁に揃えてテストすると、

        「07<33」

        「007<033」

        「0007<0033」

        と、全て正常に表示された。

        つまり、「文字列として数値を比較する」時は、

        「0」を付けて、桁数を揃えると正常に

        比較動作が行われると、学習した。 (^_^;)


明日の予定

23:48

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