- ベストアンサー
プログラムの処理で必要な変数とは?初心者のコツとは?
WindFallerの回答
- WindFaller
- ベストアンサー率57% (465/803)
こんにちは。 VB系だけで、その言語はなにか分かりませんが、 >"プログラムの処理の中で必要な値、パラメータを変数として挙げてみる" >"算数でよく使うx+y=10のように一般式を作るような感じで考えてみる" 変数とは、両方とも違うのではないでしょうか? パラメータは、いわゆる引き数です。 「算数のx+y=10」は、x と y を求めることですから、変数として使うこともありますが、算数の考え方とは違います。総当り制のプロクラムならありますが、必ずしもそこに変数が使われるとは限りません。変数とは、プログラム上で一定の変化する値です。 >他の人が書いたプログラムを読む練習をしています。 そもそも、そのアプローチの仕方が違っているのではないでしょうか? 掲示板で覚えた人の中には、最悪のコードを書く人がいます。何でも知っているのに、根本的な問題自体を認識しないのです。 時々、読んで覚えるという方がいらっしゃいますが、あなたが天才的な人ならともかく、プログラムは書いて、Run(実行して)、Try and Error でしか、覚えられないと思っています。 まず、教本でそのコードを真似ることから始まります。そして、練習問題で、自分で考えてコードを書いて、答え合わせをします。 >どういうものを変数として用意し、流れを書いていくかというコツ 私の書いている内容が、ご質問者さんの聞いている意味が違うかもしれません。もし、いわゆるコーディング・スタイルの話だとしたら、初心者のレベルではありません。 ただ、私自身が感じるのは、あるレベルに達した人は、だいたい同じようなコーディングになります。それがなぜなのかは分かりません。逆に、あるレベルに達していない人は、一定のルールも持たない、何でもありのコードになってしまいます。VB系は何でもありのようですが、やはり、それなりに一定のルールを持って書いている人が大半です。しかし、初心者の人には、何が正しく、何がダメなのかは分かりませんから、あまり掲示板のコードは参考にしないほうがよいです。囲碁などでいう、定石外しが多く存在しますから、そのようなコツを覚えても初心者には意味がありません。
関連するQ&A
- インスタンス変数の値の保持に関して
お世話になります。現在Rubyのプログラムを生成しております。 CSVを出力加工するプログラムで、処理の流れは以下のとおりです。 1) 処理対象となるCSVファイルより、値を1つずつ取り出す records = Array.new(1) test_field_1 = PARAMETER.new(records[1].to_s) test_field_2 = PARAMETER.new(records[2].to_s) ... ... 2) initializeメソッドへ渡し、インスタンス変数「@parameter」 へ上書きし渡す。 def initialize(p) @parameter = p end 3) 出力時に(オブジェクト名.メソッド名)にて、メソッド処理を 行う。 printf(test_field_1.TEST_FIELD_1) printf(test_field_2.TEST_FIELD_2) ... ... 概ねの処理は、これで解決できるのですが、一箇所だけ前パラメータ 値を保持させたまま、次のパラメータを処理させたいのです。 具体的に申し上げますと、 1) test_field_100 = PARAMETER.new(records[100].to_i) def TEST_FIELD_100 @parameter = @parameter / 100 end ⇒ ここの@parameterの値を保持したまま、次のメソッドの処理を 行いたいのです。 うまいプログラムの書き方があれば、ご教示頂ければ助かります。 よろしくお願いいたします。
- 締切済み
- Ruby
- 従属変数yと独立変数xを用意します。
従属変数yと独立変数xを用意します。 xの2乗という演算を行い、その結果をyに格納します。 このときyが非負となるxの条件何か? またyが非正となるxの条件は何か? 算数や数学の初歩的なレベルで回答をお願いします。 質問者のレベルをいくつか想定して回答もらえると嬉しいです。
- 締切済み
- 数学・算数
- エクセルVBA 変数の値を別の変数に格納するには?
Xという変数に格納した値を Y1,Y2,Y3という変数にいれて Y値を操作するという作業をすることが目的です。 最初は Y1 = X としてみましたがうまくいかず、苦し紛れに Worksheets(1).Cells(1, 1) = X Y1 = Worksheets(1).Cells(1, 1) Y2 = Worksheets(1).Cells(1, 1) Y3 = Worksheets(1).Cells(1, 1) X値をいったんセルにいれて そこからY値をとるという われながらなかなかセンスのない処理をしています。 だれか美しいコードを教えてください。
- ベストアンサー
- Visual Basic
- グローバル変数について
言語:Visual c++ 2008 Express Edition OS:win xp pro Win用イベント処理から呼ばれるプログラムをコンパイルすると以下のメッセージが表示される。 グローバル変数、静的変数、または gc ヒープのオブジェクトを参照しているネイティブ型のメンバを宣言することはできません。 プログラムの中で、1次元の配列として以下のように array<System::String ^> ^output = gcnew array<String^>(MAX_PAT_LEN); // OUTPUT Table とグローバル変数を定義している。 関数aの中で position[cnt][0] = i - output[ state]->Length +1 ; /* 位置 */ position[cnt][1] = output[ state]->Length ; /* パターン長さ*/ とか参照して、 関数bの中で output[ state] = gcnew String( reinterpret_cast<char*>(pat) ) ;/* パターンの設定*/ とか設定しているだけなんです。 最上位の関数で確保して,パラメタで渡してもいいんですが、最上位と目的の関数にある途中の関数にパラメタを追加しなければならないので、大変です。 どうすればいいか,分かる方がおりましたら教えて下さい。 よろしくお願いします
- ベストアンサー
- C・C++・C#
- C#で共有変数の定義をするには
C#で共有変数の定義をするには、どうしたらよいでしょうか。具体的には、起動パラメータで、任意の文字列(3~4バイト)を渡して、C#アプリケーションを、起動し、プログラムの任意の場所で、そのパラメータを参照したいと考えています。起動パラメータの受け取りは、できるのですが、そのパラメータを、プログラムのどこからも参照できる領域(ここの定義方法が不明)に格納するには、どうしたらよいでしょうか。(2重起動を許す前提です。実行時に1つの目のプログラムにはパラメータ"XYZ"を渡し、2つ目のプログラムを起動時にはパラメータ"ABCD"を渡し、その値により、プログラムの動作を制御したいと思っています) Windows-xp visual-studio2008 C#でwindowsアプリケーションを作成しています。
- ベストアンサー
- その他(プログラミング・開発)
- RPGのプログラム感のパラメーター
サブプロにパラメーターを渡し、処理をさせたいのですが、 サブプロは曜日計算をさせるもので、 パラメーターはA(4桁の西暦),B(2桁の月),C(2桁の日付)の変数で、 それぞれ桁数が4,2,2小数点桁数はすべて0です。 この3つを渡し、処理をさせWEEKという変数に曜日を算出させ、元のプログラムにその値を返したいのですが、受け渡しと値の戻し方がわかりません。 受け渡し側のパラメーターの宣言の仕方、CALLの仕方、WEEKの値の受け取り方 受け渡される側のパラメータの宣言の仕方、値の戻し方を教えてください。 よろしくお願い致します。
- ベストアンサー
- その他(プログラミング・開発)
- バッチファイルの変数をパラメーター化
お世話様です。 WindowsXP環境に下記バッチファイルがあります。 バッチコード内は以下の通りです。 ------------------------------------------------ set TARGET_FILE=test.txt ------------------------------------------------ この【TARGET_FILE】という変数内に格納されている【test.txt】という値を パラメーターとしてあるVBS内の変数Aがそれを受け取って処理をする・・・。 という事は可能でしょうか? 上記バッチは数種類あり、【TARGET_FILE】変数内の値がそれぞれ違います。 VBSコード内は以下の通りです。 ------------------------------------------------ Option Explicit Dim FILE FILE = ○○○←ここに上記バッチ内の【TARGET_FILE】変数の値を受け取る。 MsgBox FILE ------------------------------------------------ 各バッチは上記VBSで実行したいのです。 Msgbox程度の処理は当然バッチでも可能ですが、何個もVBSを作成するのは厳しいので、 パラメーターが可能であれば、このVBS1個で済みます。 ご存知の方がおりましたら、お知恵を拝借しても宜しいでしょうか? 何卒宜しくお願い致します。
- ベストアンサー
- Visual Basic