• 締切済み

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% (4859/10276)
回答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% (4859/10276)
回答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% (4859/10276)
回答No.3

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

zasx1098
質問者

補足

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

全文を見る
すると、全ての回答が全文表示されます。
  • no_account
  • ベストアンサー率45% (1661/3618)
回答No.2

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

zasx1098
質問者

補足

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

全文を見る
すると、全ての回答が全文表示されます。
  • cse_ri3
  • ベストアンサー率25% (165/640)
回答No.1

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

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • BASIC言語について。

    数学のLET文は、なぜ、左辺と右辺は等しいという意味ではないのでしょうか?例えば、LET A =2なら、Aは2に等しいという意味だと思うのですが。長方形の面積は、LET S=A*Bなら、面積Sは、A*Bに等しいという意味になると思うのですが。=は、等しい以外に何か意味があるのでしょうか?教えていただけると幸いなのですが。

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

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

  • A君とB君がじゃんけんをして10連勝の確率

    世の中不思議なもので2人でじゃんけんをした場合 数多くじゃんけんをしたら10連勝、20連勝もありうるらしいのですが とても信じられません そこで十進ベーシック(フリーソフト)でじゃんけんを10万回 するプログラムを書いてみました でもこのプログラムが正しいかどうかわかりません 計算上A君がじゃんけんで10連勝と10連敗する確率を教えてください できればA君がじゃんけんで10連勝と10連敗する確率を求めるプログラム を教えてください RANDOMIZE LET zz$="" LET m=0 LET J=100000 !じゃんけんの回数 LET k=0 FOR n=0 TO J LET a=INT(3*RND) LET B =INT(3*RND) IF A=0 AND B=1 THEN LET s$="勝" IF A=0 AND B=2 THEN LET s$="負" IF A=1 AND B=0 THEN LET s$="負" IF A=1 AND B=2 THEN LET s$="勝" IF A=2 AND B=0 THEN LET s$="勝" IF A=2 AND B=1 THEN LET s$="負" IF a=b THEN LET s$="引" IF s$="引" THEN GOTO 490 !引き分けを除く LET s1$=s$ IF s2$=s1$ THEN LET zz$ = zz$ & s$ LET m=m+1 ELSEIF s2$<>s1$ THEN IF m>=10 THEN !--- mは連勝数 10連勝以上を表示する LET k=k+1 PRINT n;zz$,m END IF LET zz$="" LET M=0 END IF LET s2$ =S1$ 490 NEXT n IF k<>0 THEN LET kaku=INT (j/k) PRINT PRINT "======確立は";1;"/";kaku;"です======" ELSE print "======";m;"連勝はありません========" END if END

  • BASICプログラミング &の使い方

    (A)IF a>=b THEN LET x=a & & ELSE LET x=b (B)IF a>=b THEN LET x=a ELSE LET x=b 学校でもらったプリントに 「1つの文を複数行に渡って書くときは&を使うと」書いてあるのですがなぜBの文では使ってないのでしょうか? &の使い方がわからないので教えてください。

  • 空欄に不等号が入るのですが・・・

    添付の図のようなフローチャートをbasicでプログラムすると次のようになる 130行目の空欄を等号ないし不等号ないし等号つき不等号で埋め 条件式を完成させよという問題がありました。 100 INPUT N 110 FOR I=1 TO N 120 LET A=I 130 IF (A+1)^2 (空欄) N THEN GOTO 190 140 NEXT I 150 IF A<=1 THEN GOTO 190 160 PRINT A 170 LET N=N-A^2 180 IF N>=1 THEN GOTO 110 190 END ここで入れるべきものはA^2がNを「超えない」なので>=ですよね? 解答を見ると>となっているのですが 解答の条件式でN=4として実行すると2が出力されるのでおかしな気がします。 解答が正しいのでしょうか?それとも間違っているのでしょうか?

  • プログラミングの問題です

    このプログラムは何をするものか詳しく説明しなさい。 100 FOR x=1 TO 100 110 FOR y=x TO 100 120 LET a=x 130 LET b=y 140 DO 150 LET r=MOD(a,b) 160 IF r=0 THEN EXIT DO 170 LET a=b 180 LET b=r 190 LOOP 200 IF b=1 THEN 210 LET z=SQR(x^2+y^2) 220 IF INT(z)=z THEN PRINT x,y,z 230 END IF 240 NEXT y 250 NEXT x プログラムに関して初心者で、120~230(ほとんどですが…)の部分で何をしようとしているのかが分かりません。何か参考になるHPや考え方だけでも教えていただけないでしょうか。

  • C言語のプログラムについて

    下記は、何言語かわからないです。 これをC言語にするにはどうすればよいでしょうか。 プログラムは、「ニュートン法を用いて、方程式x^3(xの3乗)-4=0の近似解を求めるプログラム。ただし、実数解と、近似解の誤差は、0.0001以下とする。ここで、この方程式の導関数は、3x^2(3*xの二乗)である。」 100 DEF F(X)=X*X*X-4 110 DEF G(X)=3*X*X 120 INPUT PROMPT "初期値":A 130 LET B=A-F(A)/G(A) 140 IF ABS(A-B)<=.0001 THEN 170 150 LET A=B 160 GOTO 130 170 PRINT "近似解";B 180 END 以上です。 ご回答よろしくお願いいたします。

  • Basicのプログラミングについて… (game)

    箱の上から自然に落ちるようにするにはどうすればよいのでしょうか? SET bitmap SIZE 500,500 SET WINDOW 0,10000,10000,0 LET x=5000 LET y=5000 LET jsw=0 DO UNTIL getkeystate(13)<0 PLOT LINES:0,5000+110;10000,5000+110 PLOT LINES:6000,4000;7000,4000 PLOT LINES:6000,4000;6000,5000+110 PLOT LINES:7000,4000;7000,5000+110 SET AREA COLOR "white" DRAW disk WITH SCALE(100)*SHIFT(x,y) IF getkeystate(37)<0 THEN LET x=x-50 IF getkeystate(39)<0 THEN LET x=x+50 IF x<0 THEN LET x=0 IF x>10000 THEN LET x=10000 IF getkeystate(38)<0 AND jsw=0 THEN LET jsw=1 LET i=-SQR(2500) END IF IF jsw=1 THEN LET y=i^2+2500 LET i=i+1 IF i>SQR(2500) THEN LET jsw=0 end if if i>0 then if 6000<x and x<7000 then if 4000-140<=y THEN LET jsw=0 end if end if end if if i>0 then if 6000>x then LET y=i^2+2400 IF i>SQR(2500) THEN LET jsw=0 end if end if SET AREA COLOR "black" DRAW disk WITH SCALE(100)*SHIFT(x,y) WAIT DELAY 0.01 LOOP END

  • プログラミングについて。

    次の数学のBASICで、なぜ、THENの後ろが何もないのでしょうか?どういうことでしょうか?それと、なぜ、行140は、LET X=X✳︎1.05なのでしょうか?教えていただけると幸いなのですが。すみません。

  • 「IF (条件式) OR _(条件式)THEN」の「_」(アンダーバー

    「IF (条件式) OR _(条件式)THEN」の「_」(アンダーバー)は何故存在する? 他人が作ったエクセルのマクロの式をちょっと直したい素人のものですが、 直そうと思うマクロの式に_(アンダーバー)があり、これは何のためにあるのでしょうか? 条件を増やしたいだけなのですが、例えば2つ条件式を追加したいとしたら、 「IF (条件式) OR _(条件式)OR _(条件式)OR _ (条件式)THEN」」というように アンダーバーを付けるものなのでしょうか? 宜しくお願いいたします

このQ&Aのポイント
  • パソコンを乗り換えた際に、新しいプリンターのドライバーをインストールしようとした際に、OSに対応していないというエラーメッセージが表示されました。
  • お使いのパソコンはWindows10で、ドライバーのインストールにはUSBケーブルを使用しました。
  • 関連するソフト・アプリはPタッチエディターであり、電話回線の種類はひかり回線です。
回答を見る