投稿
2015.01.21 A=A+1の表現は、数学でいくと、何かおかしい。しかし、なぜ、代入の表現を等号にしたのだろうか。謎は深まる。  A→A+1でも良かったはず。ASCIIには矢印が定義されてなかったから、それとも・・・。
7そうだね
プレイ済み
返信[1]
親投稿
おちゃめ ochame_nako
BASICでは「=」が代入を表す演算子であることを明確にするため昔はLET A=1のようにLET命令が使用されていました。処理系によってはLETが必須だったり省略可能だったりして様々ですが、省略する書き方が広まりプチコン3号ではLET命令そのものがありません。
1そうだね
プレイ済み
返信[2]
親投稿
けい kei0baisoku
実行した結果、左右が等しくなるから直感的に分かりやすかったからかなーと想像してます。 A=255 式の左右に時系列が存在するので、同じものが左右同時に登場した時だけ違和感がありますね。
1そうだね
プレイ済み
返信[3]
親投稿
otta777 otta777a
分かりやすく記述するならA←A+1がいいかなと思いますが 昔のパソコンには標準では←の記号はありませんでした。 どのパソコンでも共通で使える文字はアルファベット、数字 一部の記号だったのですが←の記号はグラフィックキャラとして 一部のパソコンで使える程度だったんで採用されなかった のだと思います。
1そうだね
プレイ済み
返信[4]
親投稿
てらこや actorbug
逆に、代入に「←」を使う言語は、Smalltalkぐらいしか知りません。それも、「_」を入力すると「←」と表示されるという豪快なものでした。 「<-」ならASCIIだけで表現できますが、これもHaskellのdo記法でしか見たことがありません。比較演算子などと被るからでしょう。 やはり、記号が無いのがネックになっていると思います。
2そうだね
プレイ済み
返信[5]
親投稿
ごぞんじかと思いますが、とうどうしゅんすけさんのようにおかしいと考える方は、昔からいたようです。それで、代入を「:=」としている言語もあります。C言語は、代入を「=」等号を「==」として、代入と等号は違うと主張しているように見えます。
1そうだね
プレイ済み
返信[6]
親投稿
ASA fusuian
代入の=問題は、FORTRANから続く古い呪いというか。 C言語も、比較の=と代入の=を分けるなら、代入の方を==にしても良さそうなものですよね。 でもあれは条件式の中で代入するという実に不浄な(笑)目的のために導入されたものだから、結局タイプミスで後のプログラマを苦しめる呪いと成り果てた^^; そう思うとプチコンの==の書き方はC流というよりはJava流ですね。
2そうだね
プレイ済み
返信[7]
親投稿
おかっぺ Japanese_WASABI
数学に近づけると A+1→A みたいな書き方も考えますが、右側に入っていくと、手順を確認したいプログラミングでは、とてもわかりにくくなりますよね。人間の色んな工夫が入っているんだなぁ、と思います。
2そうだね
プレイ済み
返信[8]
親投稿
サトス satosu3517
A=A+1は 「Aの値を1増やす」ってことになるのでしょうか?全然わからないです…
2そうだね
プレイ済み
返信[9]
親投稿
意味は、変数Aに1を加え、変数Aに代入するですね。
0そうだね
プレイ済み
返信[10]
親投稿
Oskar oskar_liebig
統計処理などで使われる R という言語では A <- A + 1 で代入なんですが、なんと A + 1 -> A という書き方でも代入できます。しかも書く場所によっては = も代入に使えたりして、かなりカオスです。
1そうだね
プレイ済み
返信[11]
親投稿
pinfu ANNAININ
何故、信号の赤は止まれなのか? 何故、将棋の角は斜めに動くのか? 使用される前提条件の定義は、 問いたくなるものですね! プログラム初心者としては、 上から下、左から右に読んでいくルールの事を考えると、 Aという変数が、そこで一加えられる・・・・・・的な・・・ A(ここは1)=A+1(ここで2になる) A(2の状態) A(ここは2)=A+1(ここで3) みたいな・・・ しかし、皆さんの意見を見ていると違うようです(笑)
1そうだね
プレイ済み