約 2,847,015 件
https://w.atwiki.jp/pleasealloy/pages/19.html
コラム「同じ」プログラムであるとはどういうことか 望まれないバージョンアップ プログラムをバージョンアップするとき、お客さん自体がそれを望んでいるわけではなく、単に古いOSが入手できなくなったとか、新しいOSが古い開発環境で作られたものの動作をサポートしてくれないとか、そういう外的なきっかけであることが多いようです。 こういう場合、お客さんはプログラムの挙動が変わることを一番恐れていて、やりたくもないバージョンアップをして、その結果実行結果が変わってしまったという場合、勢い製造現場への風当たりも強くなってしまいます。 また、こういうバージョンアップの場合、お客さんは仕様を考え直すようなモチベーションもなく、単に「前と同じように動作すること」という要求仕様で終わってしまうことも少なくありません。 しかし、VisualBasic6で作られたプログラムを無理やりC#やVB.Netで書き直すと、プログラムの形そのものが変わってしまい「どんなケースでも同じ結果を出す」プログラムであることを示すことが非常に難しくなります。 仕様であるものとないもの プログラムの動きには、残念なことに「こうしている」ものと「こうなっている」ものがあり、運がよければ前者は仕様に書かれているのですが、後者は書かれていません。そのため後者の範囲にあるものは、バージョンアップによって動きが変わってもそれに気づくこと自体が非常に難しくなります。たまたま見つかることはあっても、見つけるためのテストというものは、そもそも想定出来ません。想定できるものは仕様に書かれているからです。 通常、ネジなど工業製品には「許容公差」というものが仕様に必ずあり、どの範囲なら「同じ」と言っていいかが仕様に明確に定められています。 しかしソフトウェアにはこういうものがなく、発注側は「同じといったら同じだ」を繰り返すばかりです。 困ったことに、二つのものが同じであるかを証明するには無限の時間が必要ですが、同じでないことは、ただひとつの反例を見つけた時点で証明が終わってしまうのです。同じであることを保証するというのは、あまりにも分の悪い作業であることがわかります。 この「許容公差」という考えがないところが、ソフトウェア業界が産業として未熟であることを示しているのではないでしょうか。 仕様に書いていないものは仕様ではない 仕様に書いていないことすべてを「許容公差」であるとするならば、仕様には工業製品なみの厳格さが必要となり、「書いてなくても分かるでしょ普通」というようなノリが許されないようなルールが必要となってきます。ソフトウェアが「同じ動作」であることを保障する範囲が「仕様に書いてあること」であり、それに書いていない範囲のことで新旧のソフトの動作が違っていてもそれが許されるような仕様書こそが、ソフトウェアにはそもそも必要とされているのです。 このあたりの解決に、Alloyは非常に分かりやすい道筋を示してくれているように思えるのです。Alloyの探索の深さは、そのまま「許容公差」をイメージできる数値ともとれます。 Alloyのように、仕様を無表情に解釈し理解する脳こそ、ソフトウェアの設計に必要なものなのではないかと思うのです。 (文責:片山 功士 2011/11/05) 今日: - 人 昨日: - 人 トータル: - 人
https://w.atwiki.jp/program/pages/15.html
トップページ このページの編集方針 このページは、各種言語別ページへの索引を目的としています。 言語についての概要説明があってもいいと思います。 言語 C/C++ Java? Javascript? PHP? Perl? アセンブラ その他 Computer Language Benchmarks Gameで言語の速度等を比較することができます。 コンピュータ言語 - Wikipediaに言語に関する説明があります。 ページビュー -
https://w.atwiki.jp/matatsuke/pages/14.html
岩波先生 神経症克服プログラムの感想
https://w.atwiki.jp/cschola/pages/48.html
プログラムの作り方 みなさん初めまして。 これからこのサイトでは、C言語の使い方について説明していきます。 この章では、まずプログラムを書くための準備をします。 まず最初に プログラムを書くには「Visual Studio」というソフトを使います。 ここから「Visual Studio 2019 Community」をダウンロードしてください。 (Visual Studio 2022でもほぼ変わらないので、同じ手順でダウンロードしてください。) そしたらインストーラがダウンロードされるのでそれを実行してください。 実行したら下のウィンドウが表示されます。 「続行」を押してください。 すると下のウィンドウが表示されます。 ワークロードの「C++によるデスクトップ開発」と「C++によるゲーム開発」にチェックをいれ、 右下の「インストール」を押してください。 するとインストールが開始されます。 . インストールが完了したら、再起動してください。 Visual Studioのサインイン Visual Studioを起動すると、サインインを求められます。 大学のメールアドレスが使えるのでそれでサインインします。 メールアドレスは学籍番号 + 「@edu.tuis.ac.jp」です。 パスワードは学校で使っているものを入力してください。 サインインしたら、下のウィンドウが表示されます。 「Visual Studio の開始(S)」を押してください。 配色テーマはどれでもいいです。 プロジェクトの作成 起動したら、早速Visual Studioを使います。 まずは「新しいプロジェクト」をクリックしてください。 すると下のようなウィンドウが表示されます。 「空のプロジェクト」を選択して、名前をつけてから右下の「OK」をクリックしてください。 . この画面になったら成功です。 ソースファイルの追加 次に、プログラムを書くファイルを用意します 上の項目の「プロジェクト」の「新しい項目の追加」をクリックしてください。 そしたら下のようなウィンドウが表示されます。 「Visual C++」の「C++ファイル(.cpp)」を選択して名前を「main」にして「追加」をクリックしてください。 この画面になれば成功です。 次回から実際にプログラムを書いていきます
https://w.atwiki.jp/tfcfuji/pages/26.html
プログラムのテストツールなど Windows Application Verifier http //www.microsoft.com/japan/windows/appcompatibility/appverifier.mspx
https://w.atwiki.jp/s3study/pages/29.html
C#の言語仕様については、とりあえず置いて、そろそろプログラムを作ってみましょう。 Hellow Worldのように、表示しておしまい、じゃぁつまらないし、あまり役にもたたな いので、ユーザーが入力した値を元に、足し算を行うプログラムを作ってみます。 非常に単純なプログラムですが、ユーザーの入力と、イベントの駆動という基本中の基 本を学ぶことの出来るプログラムです。 まず、Hellow Worldのときと同じように、新しいプロジェクトを作成してください。 デザインタブで、ツールボックスからTextBoxを選択し、フォームに貼り付けてください。 これを2回繰り返します。 つまり、TextBoxを3個貼り付けることになります。 場所は何処でもかまいませんが、二つは数値を入力するTextBoxで、もう一つは答えを 表示するTextBoxになります。 使いやすい位置に貼り付けましょう。ここら辺はセンスというか、趣味というか、そう いうものがでます。 次に、ツールボックスからButtonを選択し、フォームに貼り付けてください。 これも使いやすい位置におきましょう。 このボタンを右クリックし、プロパティを選択してください。 ボタンのプロパティをエディットできるウィンドウに移動またはウィンドウが開くので、 このなかのTextを「計算」等に変えてください。ボタンに表示される文字が変わります。 次に、Buttonをダブルクリックします。 すると、エディタタブに移動し、Buttonがクリックされたときに実行されるメソッドを 作成してくれます(もう少し正確に書くと、クリックイベントに対応したメソッドを作 成します) button1_Clickという名前になっていると思いますが、ここに処理を書きます。 以下は例です。 そのまま打っても動きますが、あんまり綺麗なコードではないですね。 素直ではありますけど。 private void button1_Click(object sender, EventArgs e) { int x, y, z; x = Convert.ToInt32(textBox1.Text); y = Convert.ToInt32(textBox2.Text); z = x + y; textBox3.Text = z.ToString(); } Convert.ToInt32というのは、文字列型を32Bitのint型に変換するメソッドです。 ToInt32がメソッドで、Convertというのはその名の通り、変換用のクラスです。 何でインスタンス化していないのにメソッドが使えるのだろうという疑問がでたなら、 良い傾向です。 実はConvertクラスは静的クラスのため、インスタンスなしにメソッドを使えます。 まぁ、疑問に思わなくても、使えるんだ程度でも良いですけどね。今のところは。 さて、実のところ足し算プログラムを作りましょう! という課題を出して、上の例の通りに作ってきた場合、ほぼ間違いなくNGを出されます。 少なくとも私なら出します。 何故でしょう? それは、NGケースを全く考慮していない為です。 たとえば、何も入力されていない状態でボタンがクリックされた場合は? 数値以外がTextBoxに入力されている状態でボタンがクリックされた場合は? こういう場合の処理の方法としては二通りあります。 一つは、入力されているデータをチェックし、間違いがあった場合はユーザに知らせる 方法です。 たとえば、何も入力されていない状態でボタンをクリックした場合は、「数値を入れて ください」というメッセージを表示する等です。 もう一つは、NGとなるケースを実行できなくすることです。 例えば、何も入力されていない状態ではボタンをクリックできなくする、TextBoxには数 値以外を入力できなくする、などです。 これは趣味の問題に近いのでしょうが、ユーザーインターフェースとしては後者のほう が優れていると思います。 と、いうわけで、この計算プログラムをNGケースにも対応できるように強化してみま しょう。 そして、これは宿題にしちゃいます。 最低限、TextBoxが空のときの処理を入れてください。 あとはがんばって! ……ではあれなので、ヒントを書いておきましょう。 数値以外を入れられなくする、というのは少しだけレレルの高い技(?)なので、とり あえずは間違いがあった場合、ユーザーに知らせる、という方法でかまいません。 勿論、知識がある方は、お好きなように作成してくださいまし。 TextBoxが空かを調べる 以下のようにします。 if( textBox1.Text == "" ) { 処理~ } または、 if( textBox1.Text.Equals("") ) { 処理~ } メッセージボックス メッセージボックスの表示はMessageBoxクラスのShowメソッドを使います。 詳細についてはTIPS「メッセージボックス」を参照してください。 とりあえずは例の通りに使えばOKです。 例 MessageBox.Show("textBoxが空です.", "エラー" ) 文字列が数値かを調べる 文字列が数値かどうかをしらべる方法は幾つかあるでしょうが、その一つが正規表現で す。 正規表現にはRegexクラスのIsMatchメソッドを使用します。 Regexクラスは、System.Text.RegularExpressions名前空間にあります。 なんのことだと思った場合は、System.Text.RegularExpressions.Regex.IsMatchという 感じで使うと覚えて置いてください。 たとえば、文字列が数値以外であることをしらべるには、以下のようにします。 sは検索対象の文字列です。 例なので、sと記述してもコンパイルは通りません。 if( System.Text.RegularExpressions.Regex.IsMatch( s , "[^0-9]" ) ) { 数値以外の処理 } 正規表現ってナニ? という人も居るかもしれませんが、色々出来る検索の方法とでも思ってください。 例えば、例では文字列sの中に0~9の文字以外が含まれているか、というのを調べる ことができます。
https://w.atwiki.jp/zacky/pages/14.html
構造化プログラミング プログラムを「順次・反復・分岐」という3つの構造により記述する方法。 非構造化プログラミング プログラムを「ひと続き」に記述する方法。 goto命令などにより、任意の処理が可能。
https://w.atwiki.jp/program/
プログラムの部屋へようこそ プログラムの部屋はソースコードのアップロードやまとまった文章を保存する場所として作られました。 プログラムの部屋は一部を除き誰でも自由に編集することができます。 このページは誰でも自由にリンク・引用・変更・再配布できます。 各種オンラインコミュニティーの資料保存場所としてお使いください。 スポンサードリンクは飲み物ではありません。 名前 コメント ページビュー -
https://w.atwiki.jp/program/pages/13.html
プログラムの部屋を利用中のコミュニティー ヤフーチャット → プログラムの部屋 ページビュー -
https://w.atwiki.jp/program/pages/12.html
プログラムの部屋を利用中のコミュニティー ヤフーチャット:プログラムの部屋