筆算プログラム作ってみました。 哲 2004/01/24 18:30:55 ├半角スペースが消えて見難くなってすみませ... 哲 2004/01/24 19:23:40 └ICHR$のところにバグがあるようです もりの 2004/01/24 23:32:28 └バグ報告するときは、具体的にどのような現... 青木太一 2004/01/25 02:02:01 └私の使っているパソコンはNECVALUE... もりの 2004/01/25 09:49:35 └当然動作確認後記入しましたが半角スペース... 哲 2004/01/25 10:05:04 ├INPUTCLEAR:inchr$ もりの 2004/01/25 11:34:26 │└CHARACTERINPUTCLEARはキー入力を待っている... 哲 2004/01/25 12:34:37 └動きました もりの 2004/01/25 12:47:13 └=のところを もりの 2004/01/25 12:49:23 └プログラムを解析して、自分で改良してみま... 哲 2004/01/25 13:02:27 └40代後半ですから もりの 2004/01/25 14:44:14 └40代ならまだ働き盛り、わしゃもう50過ぎ... 哲 2004/01/25 16:23:45 └そうなんですか? もりの 2004/01/25 16:52:07
筆算プログラム作ってみました。 哲 2004/01/24 18:30:55 ツリーへ
筆算プログラム作ってみました。 |
返事を書く |
哲 2004/01/24 18:30:55 | |
面白そうなので作ってみました。 掛け算、割り算も面倒ですけどできるでしょう。 ! [筆算プログラム] ! !数値と+-=を入れて行けば計算確認できます。 !どの段階でも不適切なキーを押すと初期状態に戻ります。 ! ! cval:数値保存配列 dig:答の桁 cal$:演算子 ! ichr$:入力文字 jchr$:一時保存文字 comp$:比較文字列 ! ! ***前処理*** DECLARE EXTERNAL FUNCTION prob$ DECLARE EXTERNAL FUNCTION ans$ SET ECHO "OFF" LET txtsize=20 !文字、画面の大きさを指定 LET width=(txtsize+5)*13 LET height=(txtsize+5)*13 SET BITMAP SIZE width, height WAIT DELAY 1 SET WINDOW 10, -3, 9 , -4 !座標系と桁、行を一致させる SET TEXT FONT "MS ゴシック",txtsize SET AREA COLOR 0 DIM cval(3) ! ! ***メイン処理*** 10 CLEAR MAT cval=ZER LET dig=1 LET lin=1 LET comp$="" PLOT TEXT ,AT 9,-2 : "5桁までの計算(+-=)" LET cval$=prob$(1) !問題1行目 LET lprb=LEN(cval$)-1 LET cal$=RIGHT$(cval$,1) IF lprb<1 OR cal$="?" OR cal$="="THEN 19 LET cval(1)=Val(LEFT$(cval$,lprb)) PLOT TEXT ,AT 5,2 : cal$ LET cval$=prob$(2) !問題2行目 LET lprb=LEN(cval$)-1 IF RIGHT$(cval$,1)<>"=" THEN 19 LET cval(2)=Val(LEFT$(cval$,lprb)) PLOT LINES: 5,1.9; -1,1.9 LET cval(3)=cval(1)+cval(2) IF cal$="-" THEN LET cval(3)=cval(1)-cval(2) LET a$=LTRIM$(STR$(cval(3))) ! LET cval$=ans$(a$) !答え SET LINE COLOR 4 DRAW circle WITH SCALE(2)*SHIFT(3,3) SET LINE COLOR 1 CHARACTER INPUT CLEAR:ichr$ 19 GOTO 10 END ! ! EXTERNAL FUNCTION prob$(i) !***問題*** i:行 LET num$="0123456789" FOR c=1 to 6 CHARACTER INPUT CLEAR:ichr$ LET nord=ORD(ichr$) LET n=POS(num$,ichr$)-1 LET lcomp=LEN(comp$) IF n>-1 AND lcomp<5 THEN LET comp$=comp$ & ichr$ PLOT AREA: 4,i ; -1,i ; -1,i-1; 4,i-1; 4,i ; 4,i FOR d=1 TO c PLOT TEXT ,AT c-d,i : MID$(comp$,d,1) NEXT d ELSEIF ichr$="=" OR ichr$="+" OR ichr$="-" THEN LET comp$=comp$ & ichr$ EXIT FOR ELSE LET comp$="?" EXIT FOR END IF NEXT c LET prob$=comp$ END FUNCTION ! EXTERNAL FUNCTION ans$(a$) !***答え*** LET ld=LEN(a$) FOR c=1 to ld PLOT TEXT ,AT c-0.7,3 : "□" 20 CHARACTER INPUT CLEAR:ichr$ PLOT AREA: c-1,3 ; c-2,3 ; c-2,3-1; INT( c/(1)) ,3-1; INT( c/(1)) ,3 PLOT TEXT ,AT c-1,3 :ichr$ IF ichr$=MID$(a$,ld-c+1,1) THEN 29 SET TEXT COLOR 4 PLOT TEXT ,AT c-1,3 :"X" SET TEXT COLOR 1 GOTO 20 29 NEXT c END FUNCTION |
├半角スペースが消えて見難くなってすみませ... 哲 2004/01/24 19:23:40 ツリーへ
Re: 筆算プログラム作ってみました。 |
返事を書く |
哲 2004/01/24 19:23:40 | |
半角スペースが消えて見難くなってすみません。 それと***前処理*** の中の WAIT DELAY 1は不要で、消しておいてください。 |
└ICHR$のところにバグがあるようです もりの 2004/01/24 23:32:28 ツリーへ
Re: 筆算プログラム作ってみました。 |
返事を書く |
もりの 2004/01/24 23:32:28 | |
ICHR$のところにバグがあるようです 哲さんてプログラミング力があるんですね 起動確認してから送ってもらえると たすかります 自分でタブン直せないので よろしくお願いします^^ |
└バグ報告するときは、具体的にどのような現... 青木太一 2004/01/25 02:02:01 ツリーへ
Re: ICHR$のところにバグがあるようです |
返事を書く |
青木太一 2004/01/25 02:02:01 | |
バグ報告するときは、具体的にどのような現象が起こったかを書くべきです。 ついでに、OSや使用ソフトのバージョンも書いた方がいいです。 と、よけいなお節介。 (私の環境では哲さんのプログラムは動きました。) |
└私の使っているパソコンはNECVALUE... もりの 2004/01/25 09:49:35 ツリーへ
Re: バグ報告するときは、具体的にどのような現... |
返事を書く |
もりの 2004/01/25 09:49:35 | |
私の使っているパソコンはNECVALUESTAR NX WIN98 で職場のは日立のWIN98です よろしく |
└当然動作確認後記入しましたが半角スペース... 哲 2004/01/25 10:05:04 ツリーへ
Re: 私の使っているパソコンはNECVALUE... |
返事を書く |
哲 2004/01/25 10:05:04 | |
当然動作確認後記入しましたが半角スペースが無くなったことが原因と思えます。 半角スペースを全角に変換しました。十進BASICは実行するときに半角に戻してくれるので、その後保存してください。 ! [筆算プログラム] ! !数値と+-=を入れて行けば計算確認できます。 !どの段階でも不適切なキーを押すと初期状態に戻ります。 ! ! cval:数値保存配列 dig:答の桁 cal$:演算子 ! ichr$:入力文字 jchr$:一時保存文字 comp$:比較文字列 ! ! ***前処理*** DECLARE EXTERNAL FUNCTION prob$ DECLARE EXTERNAL FUNCTION ans$ SET ECHO "OFF" LET txtsize=20 !文字、画面の大きさを指定 LET width=(txtsize+5)*13 LET height=(txtsize+5)*13 SET BITMAP SIZE width, height SET WINDOW 10, -3, 9 , -4 !座標系と桁、行を一致させる SET TEXT FONT "MS ゴシック",txtsize SET AREA COLOR 0 DIM cval(3) ! ! ***メイン処理*** 10 CLEAR MAT cval=ZER LET dig=1 LET lin=1 LET comp$="" PLOT TEXT ,AT 9,-2 : "5桁までの計算(+-=)" LET cval$=prob$(1) !問題1行目 LET lprb=LEN(cval$)-1 LET cal$=RIGHT$(cval$,1) IF lprb<1 OR cal$="?" OR cal$="="THEN 10 LET cval(1)=Val(LEFT$(cval$,lprb)) PLOT TEXT ,AT 5,2 : cal$ LET cval$=prob$(2) !問題2行目 LET lprb=LEN(cval$)-1 IF RIGHT$(cval$,1)<>"=" THEN 10 LET cval(2)=Val(LEFT$(cval$,lprb)) PLOT LINES: 5,1.9; -1,1.9 LET cval(3)=cval(1)+cval(2) IF cal$="-" THEN LET cval(3)=cval(1)-cval(2) LET a$=LTRIM$(STR$(cval(3))) ! LET cval$=ans$(a$) !答え SET LINE COLOR 4 DRAW circle WITH SCALE(2)*SHIFT(3,3) SET LINE COLOR 1 CHARACTER INPUT CLEAR:ichr$ 19 GOTO 10 END ! ! EXTERNAL FUNCTION prob$(i) !***問題*** i:行 LET num$="0123456789" FOR c=1 to 6 CHARACTER INPUT CLEAR:ichr$ LET nord=ORD(ichr$) LET n=POS(num$,ichr$)-1 LET lcomp=LEN(comp$) IF n>-1 AND lcomp<5 THEN LET comp$=comp$ & ichr$ PLOT AREA: 4,i ; -1,i ; -1,i-1; 4,i-1; 4,i ; 4,i FOR d=1 TO c PLOT TEXT ,AT c-d,i : MID$(comp$,d,1) NEXT d ELSEIF ichr$="=" OR ichr$="+" OR ichr$="-" THEN LET comp$=comp$ & ichr$ EXIT FOR ELSE LET comp$="?" EXIT FOR END IF NEXT c LET prob$=comp$ END FUNCTION ! EXTERNAL FUNCTION ans$(a$) !***答え*** LET ld=LEN(a$) FOR c=1 to ld PLOT TEXT ,AT c-0.7,3 : "□" 20 CHARACTER INPUT CLEAR:ichr$ PLOT AREA: c-1,3 ; c-2,3 ; c-2,3-1; INT( c/(1)) ,3-1; INT( c/(1)) ,3 PLOT TEXT ,AT c-1,3 :ichr$ IF ichr$=MID$(a$,ld-c+1,1) THEN 29 SET TEXT COLOR 4 PLOT TEXT ,AT c-1,3 :"X" SET TEXT COLOR 1 GOTO 20 29 NEXT c END FUNCTION |
├INPUTCLEAR:inchr$ もりの 2004/01/25 11:34:26 ツリーへ
Re: 当然動作確認後記入しましたが半角スペース... |
返事を書く |
もりの 2004/01/25 11:34:26 | |
INPUT CLEAR:inchr$ のところで止まってしまいます 何故でしょうか? |
│└CHARACTERINPUTCLEARはキー入力を待っている... 哲 2004/01/25 12:34:37 ツリーへ
Re: INPUTCLEAR:inchr$ |
返事を書く |
哲 2004/01/25 12:34:37 | |
CHARACTER INPUT CLEARはキー入力を待っている状態です。 プログラムは正常に動作しています。 実行すると半角数字、演算子をキーで押すだけで、マウス操作など無しで、計算できる仕様に仕上がっています。 |
└動きました もりの 2004/01/25 12:47:13 ツリーへ
Re: 当然動作確認後記入しましたが半角スペース... |
返事を書く |
もりの 2004/01/25 12:47:13 | |
動きました ありがとう!!! あとマルをもっと太く、大きくできますか? それからたすをもっと数字に ちかづけることはできますか? + はやはり不便なので enter キーで = に するといいのですが よろしく 数字をもっと大きくしたいのですが よくできました もういちど やってみましょうとか とか表示できますか? vectorにあるフリーのものに 近づいてきました。 |
└=のところを もりの 2004/01/25 12:49:23 ツリーへ
Re: 動きました |
返事を書く |
もりの 2004/01/25 12:49:23 | |
= のところを enter キーで できるようにすると いうことです |
└プログラムを解析して、自分で改良してみま... 哲 2004/01/25 13:02:27 ツリーへ
Re: =のところを |
返事を書く |
哲 2004/01/25 13:02:27 | |
プログラムを解析して、自分で改良してみませんか? 若い人のようだから、ヘルプを見ながら分析すればそんなに難しくないと思いますよ。 ほかの人にも解りやすいようにコメントも付いていますから。 |
└40代後半ですから もりの 2004/01/25 14:44:14 ツリーへ
Re: プログラムを解析して、自分で改良してみま... |
返事を書く |
もりの 2004/01/25 14:44:14 | |
40代後半ですから 若くないですよ 気がわかいだけ^^ 「これからはじめます 「テンキーをつかいましょう とか少し考えてみます。 できればいいんだけどね ^^ 日常の仕事の中で いまつくってもらっている ようなプログラムを N88互換BASICで 前に暮れに作りましたが 2日かかりました。 われわれは現場を離れたときは つくれますが、普段仕事中に 思いついた教材を10~15分で いかにつくれるかが 勝負なんです。 つくれるかな? うちの学校でもプログラムつくって 授業やってる人なんて私しかいませんよ 今大学教授と一緒に学習支援のための ソフトウエア(メデイア)づくりを しています。 もちろん授業でも使いますが 大きくいえば社会に貢献できます。 いやでしょうけど お互いが気にいったものになるまで つくりあげてくれますか? 私自身も今VB NET とかもよんでいますが この十進のほうが 気軽にできますし コンピュータ室にVBが はいっていないパソコンが 多くありますので十進で つくれると助かります。 無理ならいいですよ そちらのご好意でつくって もらっているだけですから。 なんどもありがとうございます |
└40代ならまだ働き盛り、わしゃもう50過ぎ... 哲 2004/01/25 16:23:45 ツリーへ
Re: 40代後半ですから |
返事を書く |
哲 2004/01/25 16:23:45 | |
40代ならまだ働き盛り、わしゃもう50過ぎて頭が硬くてミスばかりで思うようできんからめんどくさいのじゃ! 仕事中ではプログラムなんて集中してできないでしょう。 本当は先生は簡単な英語は解るのだから、BASICくらい少しがんばれば使えるのでしょうが、残念な現状だと前から感じています。 BASICは趣味で勉強してる人も多いので、私的な時間を少しづつ取って慣れれば簡単に使えるようになると思いますよ。 |
└そうなんですか? もりの 2004/01/25 16:52:07 ツリーへ
Re: 40代ならまだ働き盛り、わしゃもう50過ぎ... |
返事を書く |
もりの 2004/01/25 16:52:07 | |
そうなんですか? お互いがんばりましょう・・^^ 最近ブックオフにいって たくさんbasic・ロータス・メディアに 関する文献をよんでいます 一日5冊かな 今年は新たな論文・出版など目標が一段上に あります。 趣味的に時間をかけてやるといいですよね 10年ほどまえに教育センターにいたときに 一万行くらいの分析プロを3~4本つくりましたが 現場ではそんな時間はある分けない でもかなり電子教材をつくりましたよ 今、お世話になっている大学教授も プログラムはできないようです でも、本はだされていますよ 開発者と教育者のコラボレーションが いいですね そのうちこの掲示板に参加している 人たちで学習支援メディア飲み会でも やりましょうか? 希望する人がいればですけれど 2005年までに普通教室でもパソコン プロジェクターが使えるようにという ことなので電子教材を集めたり 蓄積しています イントラネットでも使っています 地域イントラネットも始まりました 生涯学習社会の中でますます パソコン・ネットワークは進んでいきます。 ネットワーク社会はもうすぐそこです このところ授業で黒板は使っていません 電子ボードの有効性について検証しています みんなパソコン以外にやることが いっぱいあるんですよ 僕は指導法の改善担当で算数をたまたま 教えているからやっているというところです 哲さんはどんなお仕事されているんですか? |