• 締切済み

IF条件式THEN命令について。

条件式は、IF文で、使うものであって、LET文で使うものではない。とはどういうことでしょうか?条件式は、どこまでなのでしょうか?教えていただけると幸いなのですが。すみません。

みんなの回答

  • QCD2001
  • ベストアンサー率58% (325/554)
回答No.5

根本的な誤解があるようです。 コンピュータに対して、ある条件が当てはまる時には甲という処理をさせ、当てはまらない時には乙という処理をさせたい。 というような場合がしばしばあります。 コンピュータは数字しか理解できないので、その「ある場合」を数式で書き表す必要があります。この「ある場合」を数式に置き換えたものを「条件式」と呼びます。 ところで、人間は前後に書いてある内容から、そこに記載されている式が条件式であるという判断をすることができます。しかし、コンピュータにはそのような判断能力がありません。そこで、コンピュータが判別可能な目印をつけます。その目印が IF THEN という文字列です。 この文字列があると、コンピュータは、「IF と THEN で挟まれた式が条件式である」と判断します。 他のところへ条件式を書いても、コンピュータはそれを条件式だと判断する能力を持っていません。 >条件式は、IF文で、使うものであって これは正確ではありません。 コンピュータはIF文で使われた式を「これは条件式だ」と判断するのです。 IF 文以外で使われた式は、「これは条件式ではない」と判断します。 そう作られているのです。だから「条件式は、IF文で、使うもの」なのです。というより「IF文で使ったもの」だけが条件式とみなされるのです。

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

> 条件式は、IF文で、使うものであって、LET文で使うものではない。  条件式は   DO WHILE~LOOP   DO UNTIL~LOOP でも使います。理由はそういう仕様なので。これは Visual Basic も同じ。詳細は https://www.koshigaya.bunkyo.ac.jp/shiraish/basic/tutorial/section3.htm#3.2 を参照。以下の3つのコードはすべて同じ結果となります。 [例1] LET A=0 DO   LET A = A + 1   PRINT A   IF A >= 10 THEN EXIT DO LOOP [例2] LET A=0 DO WHILE A < 10   LET A = A + 1   PRINT A LOOP [例3] LET A = 0 DO UNTIL A >= 10   LET A = A + 1   PRINT A LOOP

  • SI299792
  • ベストアンサー率47% (774/1620)
回答No.3

BASIC が今のVBなのか、昔のBASIC か判りません。 LET は省略できるので、省略した書き方をします。行番号も省略します。 IFの外でも、条件式を書くことができます。 結果は、Trueが-1、Fales が0になります。 例えば、 If A > 0 Then B = A Else B = 0 は B = A * -(A > 0) と書くことができます。(A > 0) はTrueの時-1、False の時0になります。 私は好きでよく使いますが、ややこしい、多言語への移植の時に困るとで、使ってはいけないといっているのだと思います。 これができるのは、BASIC とC位でしょう。 CはTrueが1なので、-を付ける必要がなく B == A * (A > 0) です。 Trueが-1なのは、ビット演算の為です。 ビット演算ができるのも、BASIC とC位でしょう。 Trueを1にすると、ビット演算と論理演算を分けなければなりません。 Cは別々です。

  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.2

>この例の意味がわかりません。 何処がわかりませんか? 10行のREM文がわからないのであれば日本語の学習が必要です。 REM文は何も実行しません。 20行からのREM文はREMから右側にその行の説明が表示されています。

  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.1

>条件式は、IF文で、使うものであって、LET文で使うものではない。とはどういうことでしょうか? IF文で使う条件式は比較演算式なのでLET文で変数へ代入する式とは意味合いが異なるということです。 例 10 REM 行末まで注釈(説明文) 20 LET X=1 REM 変数Xへ1を代入(格納)する。 30 IF X=1 THEN GOTO 70 REM Xが1のときは70行へ進む。 40 ELSE GOTO 60 REM Xが1以外のとき60行へ進む。 50 END IF 60 PRINT X 70 END >条件式は、どこまでなのでしょうか? IF文で使う条件式は単純なものでは変数名=値、変数名>値、変数名>=値、変数名<値、変数名<=値、変数名<>値、等があります。 値の部分に計算式が使われることもありますので、「IF 条件式 THEN 実行」ではIFとTHENの間に記述された部分になります。

zasx1098
質問者

補足

この例の意味がわかりません。教えていただけると幸いなのですが。すみません。

関連するQ&A