カシオのポケコンでのプログラム作成方法

このQ&Aのポイント
  • カシオのポケコンでBASICを使ったプログラムを作成する方法について教えてください。
  • プログラムの中でEnterキーと数値の入力による分岐を行いたいです。
  • 具体的なプログラム例として、AとBを入力し、C=A+Bの結果を表示するプログラムを作成したいですが、Bの入力時に何も入力せずにEnterキーを押すとC=0と表示するようにしたいです。
回答を見る
  • ベストアンサー

カシオのポケコンのプログラム作成について

カシオのポケコン(Z-1GR)のBASICでプログラムを作成する際に Enterキーを押した場合と数値を入力した場合で分岐させたいのですが、やり方がわかりません。 例えば Aを入力、Bを入力すると、C=A+BでCの答えを表示させる。 ただし、Bの入力時に何も入力しないで、そのままEnterキーを押すと、C=0と表示させる と言った感じです 10 INPUT"A=",A 20 INPUT"B=",B 30 IF B="" THEN GOTO 40 ELSE GOTO 50 40 PRINT"C=0" 50 C=A+B 60 PRINT"C=";C:GOTO 20 どなたかわかる方いらっしゃいませんか?

質問者が選んだベストアンサー

  • ベストアンサー
noname#242220
noname#242220
回答No.2

10 INPUT"A=",A 20 INPUT"B=",B 30 IF B="" THEN GOTO 40 ELSE GOTO 50 40 PRINT"C=0" 50 C=A+B 60 PRINT"C=";C:GOTO 20 ライン40の最後にgoto文が必要です。 それか 30 IF B="" THEN GOTO 60 ELSE 40 C=A+B 50 PRINT"C=";C:GOTO 20 60 PRINT"C=0" 70 end と思います。

1091toku
質問者

お礼

すいません!!質問の仕方が悪かったです。 私が聞きたかったのはライン30ではうまくいかないので 違う方法(内容)を教えてほしかったのです。 ライン30の「B="" THEN GOTO 40」がうまく実行されません。 これに変わるコマンド?等を教えてください。

その他の回答 (2)

  • umamimi
  • ベストアンサー率39% (144/362)
回答No.3

どのようにうまくいかないのか、どうなる計画なのに実際がどうなってしまうのか、 エラーになるなら何と言うエラーが表示されるのか、も示さないと。 多分ですが、 >ライン30の「B="" THEN GOTO 40」がうまく実行されません。 変数Bは数値型 行30で文字型で比較しようとしてるからエラーになるんだと思います。 >20 INPUT"B=",B で Enter のみ入力時にも多分変数Bは何らかの値(ゼロとか)が入いるか前の値が残るとかで、 Enterのみだったのか、数値も入力したのか、という判定は無理かと思います。 CASIO ポケコンのBASIC は詳しくないし確かめる環境もないので具体的な解決案は出せません。

noname#176157
noname#176157
回答No.1

ライン40の後に、プログラムの終了、停止、メインルーチンへの復帰等のコマンドが必要なのではありませんか?

関連するQ&A

  • カシオのポケコン プログラム作成について

    先ほど同じ質問をしたのですが、質問の仕方が悪く意図した回答が得られなかったので、 再度質問します。 カシオのポケコン(Z-1GR)のBASICでプログラムを作成する際に Enterキーを押した場合と数値を入力した場合で分岐させたいのですが、やり方がわかりません。 例えば Aを入力、Bを入力すると、C=A+BでCの答えを表示させる。 ただし、Bの入力時に何も入力しないで、そのままEnterキーを押すと、C=0と表示させる と言った感じです 10 INPUT"A=",A 20 INPUT"B=",B 30 IF B="" THEN GOTO 40 ELSE GOTO 50 40 PRINT"C=0":GOTO 20 50 C=A+B 60 PRINT"C=";C:GOTO 20 上のライン30の指示がうまく実行しません。 「B="" THEN GOTO 40」の部分だと思うのですが この部分 (そのままEnterキーを押すとライン40に進む)をどのようにすればよいか 教えてください。 どなたかわかる方いらっしゃいませんか?

  • ポケコンのBASICプログラムについて

    ポケコンのBASICのプログラムでPRINTした時、PRINTの行が多くて最初に出てきた行の文字が消えてしまいます。下のような状態です。 1+1=2 2+2=4 3+3=6 4+4=8 5+5=10 このようにPRINTされると最初の1+1=2の行が消えてしまい困っています。リターンキー、またはどこかキーを押すと次の行が表示されるプログラムをぜひ教えて下さい。よろしくお願いします。簡単なプログラムの例をのせて教えてもらえるとうれしいです。

  • ポケコンのこと

    大変申し訳ないんですが、ポケコンのことで質問です。 a,b,cの長さを入力して直方体の表面積と体積を出力するプログラムなんですが、 実行しても値が表示されません。 10 main() 20 { 30 int a,b,c,s,v; 40 scanf("%d,%d,%d",&a,&b,&c); 50 s=2*(a*b+b*c+a*c); 60 v=a*b*c; 70 printf("表面積=%d\n",s); 80 printf("体積=%d\n",v); 90 } 実行は出来ますが、a=10,b=39,c=39 とやっても0と表示されます。

  • プログラムの組み方について

    ウインドウズ98とエクセルとワードを使っていますが、 かつてのBASICのようなプログラムを組んで実行 させることは可能なのでしょうか?例えば 10 A=1 20 A=A+1:IF A>9 THEN 50 30 FOR B=1 TO A:PRINT B 40 GOTO 20 50 PRINT A 60 END というような簡単なものでいいのですが・・・。 どなたか教えて下さい。よろしくお願いします。

  • ポケコン PC-E650 のプログラミングについて

    ポケコンもパソコンも初心者です。 以下の事をやりたいと思います。 a.パソコンから直接データをポケコンに送って、ポケコンに表示させる方法 b.パソコンでデータを作成し、ポケコンにデータを送る方法 c.ポケコンのFile1個当たりのデータの容量を増やす方法 d.ポケコンにはいるデータの全体の許容量を増やす方法 使うベーシックの命令文とプログラムを知りたいのですが・・・。 ちなみにポケコンはPC-E650 64Kです。 以上、よろしくお願いします。

  • CASIOのポケコンZ-1GRのRET命令について。

    CASIOのポケコンZ-1GRのRET命令について。 いつもお世話になっております。 小生、現在CASIOのポケコンZ-1GRにて8086アセンブリを勉強している、 アセンブリ初心者です。 今回質問させて頂きたいのは、Z-1GRのアセンブリでラベル内にRET命令を記述し、 アセンブル、実行するとZ-1GRが終了してしまう現象についてです。 再現手順は以下のようになります。 1.Z-1GRを起動。 2.CREAR ,200と入力し、エンターキー押下。 3.menuキー押下し、メニュー画面を表示。 4.キー5を押下し、アセンブリモードに推移。 5.キーSを押下し、エディタを起動。 6.下記のプログラムを記述 ORG 2000H START: MOV AX, 0001H MOV DX, 000FH CMP AX,DX JC LABEL_1 MOV CX, 000FH JMP EXIT LABEL_1: MOV CX,0001H RET EXIT: IRET END 7.Shift+menuキーでアセンブリモードに推移。 8.キーAでアセンブル。 9.アセンブル完了画面が表示される。 10.BRKキー押下、monと入力、エンターキー押下。 11.デバッグ画面に推移し、G2000 ,2014と入力しエンターキー押下。 12.Z-1GRが終了する。 以上です。 もしかして、Z-1GRの仕様でラベル内ではRET命令を使えない事になっているのでしょうか? お忙しい中、大変申し訳ございませんが、先輩方ご教示宜しくお願い致します。

  • 十進ベーシックのプログラムの間違いを教えてください。

    誰か次のプログラムの間違いを直してください。入力を間違えても次に進めるようにするにはどこをどう変えたらよいのですか? RESTORE 30 READ a$ 40 INPUT b$ IF a$=b$ THEN IF a$<>b$ THEN GOTO 40 PRINT a$ GOTO 30 DATA i,x,d,k,k,h,end END IF END

  • Tiny Basicのプログラムでもうひとつ。。

    三角形の三辺の長さを入力し、面積を求めるプログラムを作成せよ。三角形の面積はヘロンの公式を用いて求める。ヘロンの公式による面積計算部分を関数プログラムとして作成せよ。 ヘロンの公式:三辺の長さをa,b,cとすると,(s(s-a)(s-b)(s-c))^2  s =(a+b+c) それで僕なりに作ってみたんですが cls print"入力した数字から三角形の面積を求めます" input a,b,c s=(a+b+c)/2 A=(s-a)*(s-b)*(s-c) B=A*s M=(B^2) print M end が副プログラムを入れないで作ったもので cls print"入力した数字から三角形の面積を求めます" input a,b,c print Mb3 end Function mb3 s=(a+b+c)/2 A=(s-a)*(s-b)*(s-c) B=A*s M=(B^2) print M end function になるんですがなぜだか結果が0になってしまいます なぜでしょうか?

  • サブルーチン

    下は身長の平均を求めるプログラムですけど、身長の高い順、低い順に並び替えしたいんですがどうしたらいいかわからないので、よかったら誰か教えていただけませんか                   REM プログラム     10            DIM A(12) 20 PRINT "メニュー” 30 PRINT "身長入力...1" 40 PRINT "身長出力...2" 50 PRINT "終了" 60 PRINT "どれにしますか" 70 INPUT B 80 IF B=1 THEN GOSUB300 ELSE 110 90 GOTO 30 100 IF B=2 THEN GOSUB500 ELSE 130 110 GOTO 30 120 IF B=3 THEN GOSUB700 ELSE 30 130 END 140 A(11)=B 300 FOR I=1 TO 10 310 PRINT i;: PRINT "人目" 315 INPUT C 320 A(I)=C 330 PRINT "これでいいですか?" 340 PRINT "1.YES 2.NO" 345 INPUT D 350 IF D=1 THEN 380 ELSE 370 360 IF D=2 THEN 315 ELSE 340 370 A(11)=A(11)+A(I) 380 NEXT I 390 RETURN 400 IF C=1 THEN 520 500 PRINT "先に入力してください" 510 GOTO 30 515 FOR I=1 TO 12 520 PRINT A(I) 530 NEXT I 540 RETURN 550 PRINT "これで身長の平均を求めるのを終わります"700 RETURN 710  

  • 最後の数

    以前Basicの勉強をしていたときに 課題で出された問題なのですが… (部屋を掃除していたらノートに問題とソースが書かれていて…) 問題は 「n個の数を並べ、3つめの数ごとに消していく。 で、最後に残る数はいくつか」というものです。 例)5個の数「1.2.3.4.5」として  fir→1.2.4.5 sec→1.2.5 thi→1.2 for→2 といった感じですf^^; で、basicのプログラムは 100 input "number of people =" ; a 110 N=3*a 120 if N>a then goto 140 130 goto 180 140 C=(N-a-1)/2 150 C=int(C) 160 N=C+N-a 165 print N;","; 170 goto 120 180 print "J3(";a;")=";N 190 end という風になっていたのですが、どうしてこういった 解き方になったのかがどうしても思い出せません。 (なさけないですねf^^;) だれかわかる方がいたらアドバイスをお願いします。 (できればこのプログラムにそったやり方だと良いのですが…)

専門家に質問してみよう