• 締切済み

BASIC言語について。

IF条件式THEN命令で、条件式には、>などが使われて、命令で、LETなどが使われると覚えた方が良いのでしょうか?教えていただけると幸いなのですが。すみません。 昔の数学Bです。教えていただけると幸いなのですが。

みんなの回答

  • musume12
  • ベストアンサー率63% (19/30)
回答No.10

 質問とは直接関係ないですが、No7の回答でミスがありましたので。 >※Visual Basic を起源に持つ EXCEL の VBA には Boolean 型があるの >で x を Boolean 型で宣言すれば OK だと思います。  Boolean 型で宣言しなくても OK でした。 Sub SHINGI()  x = 0  If x Then Worksheets("test").Cells(3, 3) = "真" Else Worksheets("test").Cells(3, 3) = "偽" End Sub  これ、ちゃんと正常に動きます。VBA では、型宣言しない変数はすべてなんでも屋の valiant 型 になるので、実行時にBoolean 型と認識するのでしょう。

  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.9

条件式は > > 式なので、式なら何でもいいです。 > > IF X THEN Y=1 > > という文があれば、Xが条件式です。XがゼロでなければY=1が実行されます。 > では、Xが0でなければというところがわかりません。どういうことでしょうか?なぜ、Xはゼロではダメなのでしょうか? Xがゼロだと、THEN部分じゃなくてELSE部分が実行されますので、 > IF X THEN Y=1 のY=1は実行されません。 X=なんかの数 IF X THEN PRINT "Xはゼロでない" ELSE PRINT "Xはゼロ" を実行してみてください。 IF文とは、そういう機能です。

  • musume12
  • ベストアンサー率63% (19/30)
回答No.8

下の回答の訂正 >※Visual Basic を起源に持つ EXCEL の VBA には Bookean 型があるの >で x を Bookean 型で宣言すれば OK だと思います。 Boolean 型のまちがいでした<(_ _)>

zasx1098
質問者

補足

つまり、Xがゼロでない理由は、0が、偽りの命題になるからということでしょうか?教えていただけると幸いなのですが。すみません。

  • musume12
  • ベストアンサー率63% (19/30)
回答No.7

> つまり、0が偽ということで、0は違うということでしょうか?  何を聞きたいのか意味不明の質問ですが、忖度して以下のように回答しておきます。 LET a = 30 LET b = 20 IF a < b THEN   PRINT "真偽値は 0" ELSE   PRINT "真偽値は 0 以外" end if  上のコードを実行すると BASIC は a < b(30 < 20) という偽の命題を 0 と認識し、 a > b という真の命題を 0 以外の数値として認識すると言うことです。  ただし、かつての数学B の BASIC は現在の Jis Full BASIC に相当するようなので LET x = 5 IF x THEN PRINT "真偽値は 0 以外" LET x = 0 IF x THEN PRINT "真偽値は 0" のようなコードは文法エラーとなります。 ※Visual Basic を起源に持つ EXCEL の VBA には Bookean 型があるので x を Bookean 型で宣言すれば OK だと思います。

  • musume12
  • ベストアンサー率63% (19/30)
回答No.6

> Xが0でなければというところがわかりません。どういうことでしょうか?  BASIC は Pascal のような boolean 型を持たないので真偽値については   0を偽、それ以外を真として扱う というのがプログラミング言語としての仕様です。  詳細を知りたければ 「 IF文 真偽値 BASIC 」で検索。

zasx1098
質問者

補足

つまり、0が偽ということで、0は違うということでしょうか?確認のためですが。教えていただけると幸いなのですが。すみません。

  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.5

> では、条件式とはなんなのでしょうか? IF文でIFの後に書かれる式が条件式です。 WHILE文のあるBASICならWHILEの後も。 > なぜ、条件式に、LETが来ず、 条件式はIF文でつかうもので、LET文とは別だからです。 > 命令に、>などが来ないのでしょうか? 命令は、IF、GOTO、FORなどの英単語です。> は命令ではないです。 > 条件式に>などが使われるとは限らないというのはどういうことでしょうか?例えば、何が使われたりするのでしょうか? 式なので、式なら何でもいいです。 IF X THEN Y=1 という文があれば、Xが条件式です。XがゼロでなければY=1が実行されます。

zasx1098
質問者

補足

では、Xが0でなければというところがわかりません。どういうことでしょうか?なぜ、Xはゼロではダメなのでしょうか?

  • cse_ri3
  • ベストアンサー率25% (165/640)
回答No.4

No.1です。Basic言語は、1964年にアメリカのダートマス大学で開発されました。 しょせんは、人の作ったものです。 一定のルールはありますが、「なぜ」と聞いたところで「そう作られたから」としか答えられません。まだ開発者は存命のようなので、伝手があれば、開発者に聞くしかないでしょう。 No.1で「プログラムは書いて覚えろ」と回答したのは、そういうこと。 他人が決めたルールなのですから、自分がそれに合わせるしかないのです。 それが不服なら、道は険しいですが、自分が新たな言語を開発して自分がルールになるしかありません。 日本人でもいますよ、言語開発者。確か「RUBY」は、日本人が開発したプログラム言語です。

  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.3

どんな言語にせよ、文法は全部理解する必要があります。 条件式に > などが使われるとは限らないし、命令には let 以外にもたくさんあります。 条件式とは何であるのかを理解するのが本質であって、> が使われることもあるというのは末節にすぎません。 本質を理解していない人が、末節だけ記憶しても無意味です。

zasx1098
質問者

補足

では、条件式とはなんなのでしょうか?なぜ、条件式に、LETが来ず、命令に、>などが来ないのでしょうか?条件式に>などが使われるとは限らないというのはどういうことでしょうか?例えば、何が使われたりするのでしょうか?教えていただけると幸いなのですが。すみません。

  • no_account
  • ベストアンサー率45% (1660/3617)
回答No.2

基本的にLETは省略可能な命令で、変数への代入は“=“を使うので、LET自体はそれほど重要と考えなくても良いと思います

zasx1098
質問者

補足

とすると、IF条件式THEN命令は、条件式には、>などが来て、命令には、LETなどが来ると覚えるしかないのでしょうか?教えていただけると幸いなのですが。すみません。

  • cse_ri3
  • ベストアンサー率25% (165/640)
回答No.1

Basicですか。懐かしい。 どこかの根性論ではありませんが、プログラムは書いて覚えろ。 とにかく、サンプルプログラムを入力して、デバッガを見ながら挙動を確認する。 これが一番確実です。 まあ、趣味でされているとは思いますが、無理のない範囲で少しずつどうぞ。 仕事で覚えるのであれば、業務上の要件を除き、もっと実需のある言語をオススメします。

関連するQ&A

専門家に質問してみよう