ロジックについて への返答

投稿で使用できる特殊コードの説明。(別タブで開きます。)
本名は入力しないようにしましょう。
投稿した後で削除するときに使うパスワードです。返答があった後は削除できません。
返答する人が目安にします。相手が小学生か社会人かで返答の仕方も変わります。
最初の投稿が質問の場合、質問者が解決時にチェックしてください。(以降も追加書き込み・返信は可能です。)
※「過去ログ」について書くときはその過去ログのURLも書いてください。

以下の返答は逆順(新しい順)に並んでいます。

投稿者 長年やっても初心者君  (社会人) 投稿日時 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
投稿者 長年やっても初心者君  (社会人) 投稿日時 2009/3/7 04:27:33
やっかいな質問に回答いただき深く感謝しております。


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

灯台もと暗し、いや意味が違うかな
投稿者 るしぇ  (社会人) 投稿日時 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/6 23:25:03
ありがとうございます。
そうしたアイディアはたくさんのサンプルを読み書きするうちに自然と身に付いて
いくものなのでしょうか?
ちなみに私はVB.netから始めて、サンプルを真似てゲームを作ることはできるようになったのですが
とてもVBができるようになったとは思っていません。
それでVB2008入門というコンパクトな本を購入して基礎から勉強している次第です。
もともとゲームしか作る気持ちはなかったのですが、一通り学んでおこうと思って取り組んでいます。

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

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

プログラムの定石は普通の入門本にいくらでも書いてあるでしょうし、
ネットでTipsで公開されています。
その中に『テキストボックスに数字を入力すると漢数字に変換するプログラム』
があれば万々歳ですが、ほとんどの場合、そんな自分にだけ都合の良い
プログラムが転がっていることはありません。
『数値を10で割った余りが0から9の値になる』サンプルを見て、
それが『テキストボックスに数字を入力すると漢数字に変換するプログラム』
に利用できることを思いつかねばなりません。
投稿者 長年やっても初心者君  (社会人) 投稿日時 2009/3/6 20:53:17
テキストボックスに数字を入力すると漢数字に変換するプログラムの
サンプルですが、最初はコードを読んでもさっぱり解釈できませんでした。
でも入力された数値を10で割った余りが0から9の値になるということが
わかり視界が開けました。
この剰余を使うということに気づくことが、いわゆるロジックと考えてよいのでしょうか

こうしたロジックを、定石としてまとめられた本などはあるのでしょうか>