ロジックについて

タグの編集
投稿者 長年やっても初心者君  (社会人) 投稿日時 2009/3/6 20:53:17
テキストボックスに数字を入力すると漢数字に変換するプログラムの
サンプルですが、最初はコードを読んでもさっぱり解釈できませんでした。
でも入力された数値を10で割った余りが0から9の値になるということが
わかり視界が開けました。
この剰余を使うということに気づくことが、いわゆるロジックと考えてよいのでしょうか

こうしたロジックを、定石としてまとめられた本などはあるのでしょうか>
投稿者 るしぇ  (社会人) 投稿日時 2009/3/6 22:11:22
> 数値を10で割った余りが0から9の値になる
> こうしたロジックを、定石としてまとめられた本などはあるのでしょうか
算数の教科書がそうなのでは?ロジックというより単なる知識かなぁ。
数字の法則?数の不思議をまとめた雑学的な本も出版されてますね。

それを
> テキストボックスに数字を入力すると漢数字に変換するプログラム
に利用するかどうかはロジックではなくアイデアだと思います。
他にもアイデアがあれば、そっちのロジックで実現しても問題ないです。
逆にそのロジックは他のプログラムにも利用できるでしょう?

プログラムの定石は普通の入門本にいくらでも書いてあるでしょうし、
ネットでTipsで公開されています。
その中に『テキストボックスに数字を入力すると漢数字に変換するプログラム』
があれば万々歳ですが、ほとんどの場合、そんな自分にだけ都合の良い
プログラムが転がっていることはありません。
『数値を10で割った余りが0から9の値になる』サンプルを見て、
それが『テキストボックスに数字を入力すると漢数字に変換するプログラム』
に利用できることを思いつかねばなりません。
投稿者 長年やっても初心者君  (社会人) 投稿日時 2009/3/6 23:25:03
ありがとうございます。
そうしたアイディアはたくさんのサンプルを読み書きするうちに自然と身に付いて
いくものなのでしょうか?
ちなみに私はVB.netから始めて、サンプルを真似てゲームを作ることはできるようになったのですが
とてもVBができるようになったとは思っていません。
それでVB2008入門というコンパクトな本を購入して基礎から勉強している次第です。
もともとゲームしか作る気持ちはなかったのですが、一通り学んでおこうと思って取り組んでいます。

それにしても、上記のようなアイディアは、数学の雑学のような本も読んでいないと思いつかないですね。
投稿者 るしぇ  (社会人) 投稿日時 2009/3/7 01:09:13
> そうしたアイディアはたくさんのサンプルを読み書きするうちに自然と身に付いて
> いくものなのでしょうか?
正直なところ、なんでこんな質問が出てくるのか不思議に感じます。
なんでもそうじゃないんですか?著作物は特に顕著ですよね。
作詞・作曲しかり、小説・漫画しかり。
料理・俳句・絵画…芸術的なものは当然ですよね。
創作するのですから。
まぁ、分かり易い例として芸術的なものを挙げましたが、
何の数学的な知識も、物理的な知識も持たない人が、りんごを
落ちるところを見ても何もひらめかないでしょうね。
スポーツとかでも同じでしょう?

一般に天才といわれる人やひらめきを得た人は、サンプルなしで
無から有を作り出すこともあるでしょうが、凡人はサンプルで
訓練した上に、サンプルを呼び水にして何か作り出すものではない
でしょうか。

ただ、
> テキストボックスに数字を入力すると漢数字に変換するプログラム
に関しては
http://rucio.groupsite.jp/commu/ThreadDetail.aspx?ThreadId=8997
> お陰様で、Select Caseを初体験出来ました。
Select Case なんて入門書の30ページ目くらいにある基本構文です。
別に If 文10個書いても同じ機能は実現できます。そうなると入門書の
10ページ目の内容すら使えてないレベル?アイデアとかひらめきとか
必要ないと思います。
ゴールに向かってボールを蹴りたいけどボールの蹴り方が分かりません
というなら、蹴り方を覚えればできるようになると思うのですが。。。
できないのなら原因は他にあるのかも。

> それにしても、上記のようなアイディアは、数学の雑学のような本も
> 読んでいないと思いつかないですね。
その結論で納得してしまうのは簡単で楽ですよね。
そこで納得してしまう人はアイデアを出すことさえやめてしまうのでは?
でも、その雑学の本を書いた人は、雑学の本を読んでいたから書けたのでは
ないと思います。
投稿者 長年やっても初心者君  (社会人) 投稿日時 2009/3/7 04:27:33
やっかいな質問に回答いただき深く感謝しております。


> お陰様で、Select Caseを初体験出来ました。
これは私の発言ではございません。
同じプログラムを作っている人がいらっしゃったとは知りませんでした。

灯台もと暗し、いや意味が違うかな
投稿者 長年やっても初心者君  (社会人) 投稿日時 2009/3/7 06:13:25
テキストボックスに数字を入力すると漢数字に変換するプログラムの
サンプル載せておきます。


Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim kanji() As String = New String() {"0", "一", "二", "三", "四", "五", "六", "七", "八", "九"}
        Dim number As Integer
        Dim kansuji As String = ""
        Dim sign As String = ""


        If Integer.TryParse(TextBox1.Text, number) Then

            If number < 0 Then
                sign = "-"  'マイナスの符号
            End If

            Do
                kansuji = kanji(number Mod 10) & kansuji
                number ¥= 10
            Loop Until number < 1
            TextBox2.Text = sign & kansuji
        Else
            TextBox2.Text = "整数を入力してください"




        End If


        

    End Sub
End Cla