何だこりゃ! BASICの移植
2007-01-31
今日は風邪気味で、先日治ったと思ったのが、またぶり返して痰が絡んで、シンドイ思いをしている。だからなるべく外出せずに、部屋にいた。その間を利用して、やっとBASICによるPROLOGのソースリストが全部入力できた。
一応分かる限り、修正をしながら入力した。十進BASICでは、マルチステートメントが許されていないし、代入文にはLETをつけないといけないし、「A MOD B」は「MOD(A,B)」にしないといけないとか、「INSTR(n,A$,B$)」は「POS(A$,B$,n)」に変更するとか・・・・ IF文の条件で、真理値が省略(IF A THEN・・・というヤツ)されていたり、MID$(A$,m,n)のnが”1”のとき、省略されていたり・・・ LPRINTがつかえない等などを、入力しながら修正していた。
ファイル関係については、もう少し十進BASICのマニュアルを読まないといけないけれど、思わず「何だこりゃ!」とうなってしまったのが、
1) DEFINT A−Z
2) DEF FND(A1$)=A1$>=”0” AND A1$<=”9”
3) F1!=FRE(0)
3’)IF A1$=”free” THEN PRINT ”SPACE size”;STR$(FRE(0));”.”:RETURN
4) IF A1$=”hard” THEN HARDC:RETURN
このうち、2)はIF文の条件に登場するので、意味はすぐに分かった。たった二ヶ所登場するだけなら、こんな面倒なことをする理由が私には理解できない。
3)をにらんでいるうちに、そういえば8ビット機では、使用しているメモリー領域の解放がどうのこうのという話があったのをボンヤリと思い出した。現状では、こんな面倒なことをしなくていいのでカットすることにした。
1)は全く解らんので、カットした。別段実行に問題がなさそうだし。
問題は4)で、その中でも”HARDC”てナニ?????
本には、データ構造や簡単なフローチャートとサブルーチンの説明があるので、じっくりソースリストを解読してゆこうと思う。
十進BASICシステムに添付されているエディターでプリントアウトすると、ページ番号がないので、サクラエディターでプリントアウトした。少し文字を大きくしたので、21ページになった。
一応分かる限り、修正をしながら入力した。十進BASICでは、マルチステートメントが許されていないし、代入文にはLETをつけないといけないし、「A MOD B」は「MOD(A,B)」にしないといけないとか、「INSTR(n,A$,B$)」は「POS(A$,B$,n)」に変更するとか・・・・ IF文の条件で、真理値が省略(IF A THEN・・・というヤツ)されていたり、MID$(A$,m,n)のnが”1”のとき、省略されていたり・・・ LPRINTがつかえない等などを、入力しながら修正していた。
ファイル関係については、もう少し十進BASICのマニュアルを読まないといけないけれど、思わず「何だこりゃ!」とうなってしまったのが、
1) DEFINT A−Z
2) DEF FND(A1$)=A1$>=”0” AND A1$<=”9”
3) F1!=FRE(0)
3’)IF A1$=”free” THEN PRINT ”SPACE size”;STR$(FRE(0));”.”:RETURN
4) IF A1$=”hard” THEN HARDC:RETURN
このうち、2)はIF文の条件に登場するので、意味はすぐに分かった。たった二ヶ所登場するだけなら、こんな面倒なことをする理由が私には理解できない。
3)をにらんでいるうちに、そういえば8ビット機では、使用しているメモリー領域の解放がどうのこうのという話があったのをボンヤリと思い出した。現状では、こんな面倒なことをしなくていいのでカットすることにした。
1)は全く解らんので、カットした。別段実行に問題がなさそうだし。
問題は4)で、その中でも”HARDC”てナニ?????
本には、データ構造や簡単なフローチャートとサブルーチンの説明があるので、じっくりソースリストを解読してゆこうと思う。
十進BASICシステムに添付されているエディターでプリントアウトすると、ページ番号がないので、サクラエディターでプリントアウトした。少し文字を大きくしたので、21ページになった。
次なる「十進ベーシック」の挑戦
2007-01-30
先日から、あの「十進BASIC」の新しいプログラムに挑戦中である。

押入れの中の本の山から、昔読んだ
「BASICで学ぶPROLOGシステム
言語と構造の理解のために」
敬学出版 市川新著 1986年8月20日 第一刷発行
を参考に、シコシコ入力に励んでいる。やっと半分くらいが終わった所である。巻末のソースリストを、コンピニでA3サイズに拡大してきた。なにせ、字が小さいと見にくい歳になってしまったので。
以前人工知能に興味があって、色々本を読んだりしていた。その中の一冊である。人工知能の研究に用いられていたのは、LISPが主で、それにPROLOGが使われ始めたぐらいの頃のことである。
人工知能に興味を持ったのは、”自分”を知るためであった。もし自分の知・情・意(知識、感情、意志)をコンピーター上に再現できるなら、それは鏡で”自分の姿”を見るように、”自分”を観察可能になるからである。この世でもっとも理解しがたいのが、”自分”自身であるから。
昔のF−BASICで書かれていて、その当時のマイクロソフト系BASICでも動作可能なようにソースコードが書かれているので、相当修正しないと「十進ベーシック」では、動きそうにない。
マルチステートメントなので、一行分を入力するとかなりの行数になってしまう。一応IF文には、必ずEND IF文を対応させて記述しているので尚更である。
そもそもが、今ソースコードをみても、さっぱり分からない。昔読んだときの書き込みが残っているが、どうもその時はチャンと理解できたようである。もう一度本を初めから熟読玩味して理解しないと、動くようになりそうもない。それにコーデングした人は、あまり腕の良い人ではなかったようで、分かりづらいロジックとなっている。ソースコードをもう少しすっきりした形にして、機能を付け加えて使いやすくするつもりである。
例えは、一つのサブルーチンの中に、やたらめったらRETURN文があったりする。あまり上手な作り方ではない。サブルーチンの基本は、入り口が一つで、出口も一つにすべきである。またIF文の判定を少しかえれば、GO TO文を減らせる。
私がBASICでプログラムをした経験があるのは、8bitの頃のパソコンである。四半世紀以上前のことである。今見るとコマンドも、よく解らないのがあったりする。あと幾つかプログラムを作って、十進BASICの機能に慣れてからのほうが良さそうだけれど・・・ 今回のシステムは、今の私にはチョットハードルが高いかもしれない。
えぇ〜い、ままよ!! 干支にちなんで、猪突猛進。突撃あるのみ!!!
確実に、脳力が落ちている。黄昏は、髪の毛ばかりでなく、その中身にも及んでいるようである。
老いを自覚するのは、寂しいものである!
先日mixiで、BASICのコミュニティを検索してみた。50ほど色々あったけれど、十進BASICのコミュニティはなかった。あれば、色々質問できたのだけれど・・・
若い頃なら、すぐ「無いなら作れ!」となるのだけれど、もう少しmixiの経験を積んでからにしようと思う。なにせ、こちらも若葉マークがまだ取れないので。
(補)以上は、mixiに再度blogを連結したので、mixiに書いた文を修正加筆したものである。

押入れの中の本の山から、昔読んだ
「BASICで学ぶPROLOGシステム
言語と構造の理解のために」
敬学出版 市川新著 1986年8月20日 第一刷発行
を参考に、シコシコ入力に励んでいる。やっと半分くらいが終わった所である。巻末のソースリストを、コンピニでA3サイズに拡大してきた。なにせ、字が小さいと見にくい歳になってしまったので。
以前人工知能に興味があって、色々本を読んだりしていた。その中の一冊である。人工知能の研究に用いられていたのは、LISPが主で、それにPROLOGが使われ始めたぐらいの頃のことである。
人工知能に興味を持ったのは、”自分”を知るためであった。もし自分の知・情・意(知識、感情、意志)をコンピーター上に再現できるなら、それは鏡で”自分の姿”を見るように、”自分”を観察可能になるからである。この世でもっとも理解しがたいのが、”自分”自身であるから。
昔のF−BASICで書かれていて、その当時のマイクロソフト系BASICでも動作可能なようにソースコードが書かれているので、相当修正しないと「十進ベーシック」では、動きそうにない。
マルチステートメントなので、一行分を入力するとかなりの行数になってしまう。一応IF文には、必ずEND IF文を対応させて記述しているので尚更である。
そもそもが、今ソースコードをみても、さっぱり分からない。昔読んだときの書き込みが残っているが、どうもその時はチャンと理解できたようである。もう一度本を初めから熟読玩味して理解しないと、動くようになりそうもない。それにコーデングした人は、あまり腕の良い人ではなかったようで、分かりづらいロジックとなっている。ソースコードをもう少しすっきりした形にして、機能を付け加えて使いやすくするつもりである。
例えは、一つのサブルーチンの中に、やたらめったらRETURN文があったりする。あまり上手な作り方ではない。サブルーチンの基本は、入り口が一つで、出口も一つにすべきである。またIF文の判定を少しかえれば、GO TO文を減らせる。
私がBASICでプログラムをした経験があるのは、8bitの頃のパソコンである。四半世紀以上前のことである。今見るとコマンドも、よく解らないのがあったりする。あと幾つかプログラムを作って、十進BASICの機能に慣れてからのほうが良さそうだけれど・・・ 今回のシステムは、今の私にはチョットハードルが高いかもしれない。
えぇ〜い、ままよ!! 干支にちなんで、猪突猛進。突撃あるのみ!!!
確実に、脳力が落ちている。黄昏は、髪の毛ばかりでなく、その中身にも及んでいるようである。
老いを自覚するのは、寂しいものである!
先日mixiで、BASICのコミュニティを検索してみた。50ほど色々あったけれど、十進BASICのコミュニティはなかった。あれば、色々質問できたのだけれど・・・
若い頃なら、すぐ「無いなら作れ!」となるのだけれど、もう少しmixiの経験を積んでからにしようと思う。なにせ、こちらも若葉マークがまだ取れないので。
(補)以上は、mixiに再度blogを連結したので、mixiに書いた文を修正加筆したものである。
退院、三日目の様子
2007-01-29
母は今日は、朝から元気であった。自分は、風邪がシッカリ治っていないのか、また喉に違和感をかんじる。やっと痰が出なくなって、辛い思いをしなくてよくなったのに・・・・
定番の朝食だけでは、物足りない様子であった。午前中に、ケアー・マネージァーのNさんに会いに行ってきた。ついでに、上の階のデールームのボランティア仲間のIさんにも会って、母の様子を話してきた。だから昼ご飯は、弁当風にお握りと、冷凍食品の竹輪の青海苔つき天婦羅風なのと梅干のセットを用意して出かけた。ケアマネのNには、当面は身体介護で清拭をやってもらうようにお願いしてきた。
晩ご飯は、鰻丼とスープ代わりのラーメン(小鉢)に、胡瓜(半本)の塩もみとラッキョウを用意した。ラーメンは、朝ご飯を一緒に食べたとき、「私も食べたい!!!」と言うので、お椀より小さな中華の取り分け用小鉢に出してやった。いつも私がラーメン鉢から、それに入れて食べている¥100shopで買ってきたやつ。
それらを完食して、ご満悦であった。晩ご飯のメニューを楽しみに、今日は昼ご飯後はお菓子も我慢していたとのことである。
ついでに書いておくと、午前中出かける前に、「今日は出そうに無いので・・・」ということで、母に便秘の座薬を入れるのを頼まれた。まさか母の座薬を入れるようになるとは・・・
弟は、何故母が親父ではなく息子に恥ずかしいことを頼むのか、分からないだろうなぁ〜〜〜。
定番の朝食だけでは、物足りない様子であった。午前中に、ケアー・マネージァーのNさんに会いに行ってきた。ついでに、上の階のデールームのボランティア仲間のIさんにも会って、母の様子を話してきた。だから昼ご飯は、弁当風にお握りと、冷凍食品の竹輪の青海苔つき天婦羅風なのと梅干のセットを用意して出かけた。ケアマネのNには、当面は身体介護で清拭をやってもらうようにお願いしてきた。
晩ご飯は、鰻丼とスープ代わりのラーメン(小鉢)に、胡瓜(半本)の塩もみとラッキョウを用意した。ラーメンは、朝ご飯を一緒に食べたとき、「私も食べたい!!!」と言うので、お椀より小さな中華の取り分け用小鉢に出してやった。いつも私がラーメン鉢から、それに入れて食べている¥100shopで買ってきたやつ。
それらを完食して、ご満悦であった。晩ご飯のメニューを楽しみに、今日は昼ご飯後はお菓子も我慢していたとのことである。
ついでに書いておくと、午前中出かける前に、「今日は出そうに無いので・・・」ということで、母に便秘の座薬を入れるのを頼まれた。まさか母の座薬を入れるようになるとは・・・
弟は、何故母が親父ではなく息子に恥ずかしいことを頼むのか、分からないだろうなぁ〜〜〜。
再婚します blog&mixi
2007-01-29
矢張り母の介護が結構忙しいので、PCのキーボード格闘ばかりもしていられない。blogとmixiと手書きの日記を書き分けようとしたけれど、今後続けるのは無理がありそうなので、再度mixiにblogを連結することにした。
日記をアナログにした、以前の通りにすることにした。自分には、その方法が無理がないようである。従って、mixi書いた日記をblogにコピーしようと思っている。
日記をアナログにした、以前の通りにすることにした。自分には、その方法が無理がないようである。従って、mixi書いた日記をblogにコピーしようと思っている。
退院、二日目の様子
2007-01-28
母は昨夜、よく寝れたようであった。さっそくいつも通りに6時頃に朝刊をベッドに届けた。その後7時まで、こちらも再度ウトウトしていた。
7時過ぎて、いつもの定番の朝食を用意した。
パン、卵料理(今回はゆで卵)、魚肉ソーセージ、トマト、今日はキウィーの替わりにスイカ一切れ、それとカップのコーンスープ。
それをペロリト平らげた。今日は、お腹の調子が戻ったようである。昨日飲んだ、「御岳 百草丸」のおかげかもしれない。
昼は、お握りにソフトなジャコを入れて作ったの二個。それに、冷凍食品の弁当用オカズの、鳥のつくね風を二個食べた。
その後夕食用の買出しに出かけた時に、ミカンのMサイズを一袋買ってきた。この時間までに3つ食べている。「食べすぎだ」と、冗談を言い合う。
晩ご飯は、ご飯とワンタン・スープ(ワンタン3個入り)とラッキョウに大人のフリカケ(海苔たま味)一袋。オカズ用に、ホタテの貝柱を煮付けたのを作ったのだが、晩ご飯前に入れ歯を外してしまったので、食べずらそうなので止めにした。今夜は失敗した。
今日は概ね元気で、起きてご飯を食べようとする気力があるようだった。
7時過ぎて、いつもの定番の朝食を用意した。
パン、卵料理(今回はゆで卵)、魚肉ソーセージ、トマト、今日はキウィーの替わりにスイカ一切れ、それとカップのコーンスープ。
それをペロリト平らげた。今日は、お腹の調子が戻ったようである。昨日飲んだ、「御岳 百草丸」のおかげかもしれない。
昼は、お握りにソフトなジャコを入れて作ったの二個。それに、冷凍食品の弁当用オカズの、鳥のつくね風を二個食べた。
その後夕食用の買出しに出かけた時に、ミカンのMサイズを一袋買ってきた。この時間までに3つ食べている。「食べすぎだ」と、冗談を言い合う。
晩ご飯は、ご飯とワンタン・スープ(ワンタン3個入り)とラッキョウに大人のフリカケ(海苔たま味)一袋。オカズ用に、ホタテの貝柱を煮付けたのを作ったのだが、晩ご飯前に入れ歯を外してしまったので、食べずらそうなので止めにした。今夜は失敗した。
今日は概ね元気で、起きてご飯を食べようとする気力があるようだった。
母、退院する
2007-01-27
今日、母は退院してきた。
病院から退院するときは、車椅子を利用して親父の車まで移動した。車に揺られたのと、車を降りて自宅まで久しぶりに長い距離(?)を歩いたので、疲れたようであった。足が弱ったので、歩くのが容易でない。フラフラしながら、自宅の自分のベットまでたどり着いた。
今日は、病院で出発前に「大きいの」とのことで、トイレまで弟に付き添われて行っていた。家について休憩後、昼ご飯のお握りと目玉焼に魚肉ソーセージの炒めたのを食べた。それから、しばらくしたら下痢気味とナリ、二度ほど用をたしていた。矢張り、車で揺られたり歩いたりと、体を動かした影響かもしれない。
夕方になり、やっとお腹の調子がよくなったので、晩ご飯の五目御飯とインスタントの八丁味噌汁を起きて食べていた。家ではオーバー・テーブルを利用して、背中にサイドバーとの間にクッションを入れるので、ご飯を食べる間ぐらいは、なんとか起きていられるようである。又シーツも、化繊の毛があって滑りやすいので、体を動かすのが楽であるようである。立ち上がるのにも、サイドバーが曲がるのにしてあるので、ポータブルトイレに移動するのも、つかまるところがあり、楽な様子である。ちなみにポータブルトイレは、ベッドサイドに移動させたので、起きてすぐの場所においてある。
病院から退院するときは、車椅子を利用して親父の車まで移動した。車に揺られたのと、車を降りて自宅まで久しぶりに長い距離(?)を歩いたので、疲れたようであった。足が弱ったので、歩くのが容易でない。フラフラしながら、自宅の自分のベットまでたどり着いた。
今日は、病院で出発前に「大きいの」とのことで、トイレまで弟に付き添われて行っていた。家について休憩後、昼ご飯のお握りと目玉焼に魚肉ソーセージの炒めたのを食べた。それから、しばらくしたら下痢気味とナリ、二度ほど用をたしていた。矢張り、車で揺られたり歩いたりと、体を動かした影響かもしれない。
夕方になり、やっとお腹の調子がよくなったので、晩ご飯の五目御飯とインスタントの八丁味噌汁を起きて食べていた。家ではオーバー・テーブルを利用して、背中にサイドバーとの間にクッションを入れるので、ご飯を食べる間ぐらいは、なんとか起きていられるようである。又シーツも、化繊の毛があって滑りやすいので、体を動かすのが楽であるようである。立ち上がるのにも、サイドバーが曲がるのにしてあるので、ポータブルトイレに移動するのも、つかまるところがあり、楽な様子である。ちなみにポータブルトイレは、ベッドサイドに移動させたので、起きてすぐの場所においてある。
十進BASICプログラムのダウンロードに励む
2007-01-27
今夜は最後のプチ家出である。今夜泊まっているホテルは、LANの設備が利用可能である。何とかアッチコッチの指定をいじくり回して、やっと接続した。この辺がPC若葉マークの悲しい現実である。
グーグルで検索して、お気に入りに登録してあった、以下のページよりプログラムをコピー&ペーストして、自分のPCへ登録に励んだ。
http://www.urban.ne.jp/home/kz4ymnk/seminar/basic/index.html
外出先なので、大嫌いなマウスパッド機能を”ON”にしてある。相変らず、キーの入力がへたくそのままなので、どうしても入力途中にマウスパッドに親指が触れて、うまく入力できなかったりする。つまり、入力中にプロンプトが移動して、チャンと入力できない。普段は、マウスパッド機能を”OFF”にして、ワイヤレスの光学マウスを利用している。多分チャンとキー操作(キーを見なくても入力できる)出来るようになれば、このようなわずらわしい思いをしなくていいのだろうけれど・・・
今夜と泊まっているホテルのサービスの一つに、「ブロードTVルームシアター」のサーヒースがある。今それであの「ダピンチ・コード」を見いてる。
信仰のある友人が、コレまでもいた。彼等の信仰心を決して批判しようとは思わない。だけれど「ダビンチ・コード」描かれているような世界が、この世に存在するのも事実である。「テンプル騎士団」「薔薇十字」「シオン修道会」「イルミナティ」「フリーメーソン」「異端審問」「魔女狩り」「十字軍遠征」・・・
日本では、イカガワシイ側面をもって紹介されることが多いけれど、それこそがヨーロッパ社会=キリスト教的世界の本質である。アメリカとて、その範疇にはいる。
なぜ”ブッシュ・ジュニア”が、かくも「イラク問題」に関与し続けるのか、その理由は・・・ といことである。
何も「イエスの末裔」に関しては、ここに描かれるまでもなく、某教団が英々と守り続けてきているのは、知る人ぞ知る事実である。あの「アーク」の存在同様に・・・
私には真の意味で、日本にキリスト信仰があるとは思えない。かつて読んだ本に、戦後間もない頃にドイツに留学した教授の本があった。内容は「ISDN」についてであったが、若かりし頃の留学経験を書かれていたページがあった。
ある時、彼は同級生に誘われて「パーティー」に参加することとなった。今と違って、外貨持ち出しに関して厳しい時代で、当然貧しく、当日は「イッチョウラ」を着て出かけたそうである。
そのとき、とある老人から「アレコレ」質問されたそうである。後日友人が嬉しそうに、「君は合格したよ」と知らせてくれたとのことである。「一連の儀式」を終了したあと、分厚い本を渡されたそうである。
「一連の儀式」のあと、「これからは、このリストの人たちが君を助けてくれる」と渡されたリストを見て、思わず「仰け反ってしまった」とのことであった。そのくらい、ヨーロッパにおける有名人の羅列だったようである。
ヨーロッパ社会の裏事情は、このようなものである。見えない格差が、厳然とアルのである。ヨーロッパの亜流であるアメリカとて、それはおなじである。現に今の大統領がそうであるように。
グーグルで検索して、お気に入りに登録してあった、以下のページよりプログラムをコピー&ペーストして、自分のPCへ登録に励んだ。
http://www.urban.ne.jp/home/kz4ymnk/seminar/basic/index.html
外出先なので、大嫌いなマウスパッド機能を”ON”にしてある。相変らず、キーの入力がへたくそのままなので、どうしても入力途中にマウスパッドに親指が触れて、うまく入力できなかったりする。つまり、入力中にプロンプトが移動して、チャンと入力できない。普段は、マウスパッド機能を”OFF”にして、ワイヤレスの光学マウスを利用している。多分チャンとキー操作(キーを見なくても入力できる)出来るようになれば、このようなわずらわしい思いをしなくていいのだろうけれど・・・
今夜と泊まっているホテルのサービスの一つに、「ブロードTVルームシアター」のサーヒースがある。今それであの「ダピンチ・コード」を見いてる。
信仰のある友人が、コレまでもいた。彼等の信仰心を決して批判しようとは思わない。だけれど「ダビンチ・コード」描かれているような世界が、この世に存在するのも事実である。「テンプル騎士団」「薔薇十字」「シオン修道会」「イルミナティ」「フリーメーソン」「異端審問」「魔女狩り」「十字軍遠征」・・・
日本では、イカガワシイ側面をもって紹介されることが多いけれど、それこそがヨーロッパ社会=キリスト教的世界の本質である。アメリカとて、その範疇にはいる。
なぜ”ブッシュ・ジュニア”が、かくも「イラク問題」に関与し続けるのか、その理由は・・・ といことである。
何も「イエスの末裔」に関しては、ここに描かれるまでもなく、某教団が英々と守り続けてきているのは、知る人ぞ知る事実である。あの「アーク」の存在同様に・・・
私には真の意味で、日本にキリスト信仰があるとは思えない。かつて読んだ本に、戦後間もない頃にドイツに留学した教授の本があった。内容は「ISDN」についてであったが、若かりし頃の留学経験を書かれていたページがあった。
ある時、彼は同級生に誘われて「パーティー」に参加することとなった。今と違って、外貨持ち出しに関して厳しい時代で、当然貧しく、当日は「イッチョウラ」を着て出かけたそうである。
そのとき、とある老人から「アレコレ」質問されたそうである。後日友人が嬉しそうに、「君は合格したよ」と知らせてくれたとのことである。「一連の儀式」を終了したあと、分厚い本を渡されたそうである。
「一連の儀式」のあと、「これからは、このリストの人たちが君を助けてくれる」と渡されたリストを見て、思わず「仰け反ってしまった」とのことであった。そのくらい、ヨーロッパにおける有名人の羅列だったようである。
ヨーロッパ社会の裏事情は、このようなものである。見えない格差が、厳然とアルのである。ヨーロッパの亜流であるアメリカとて、それはおなじである。現に今の大統領がそうであるように。
今日の一言
2007-01-25
今日のコメントより。
↓
なにせ、PCの若葉マークがまだ取れません。
ましてmixiは・・・
舌ガンで手術するときに、話せなくなるということで始めたPCでした。別段PCの教室に通ったわけではなく、自分で本を見て勉強しつつ始めた、PC生活でした。
PCアレルギーというより、かつて派遣社員でソフトを作っていたとき、デシタルワールドに囚われてしまって、心病んだ経験があるだけに、コンピーター君には「敬して近づかず」としてきたからです。
今でも、プログラムを作るのは、最高の娯楽だと思っています。指の運動でしかないゲームより、遥かに脳を楽しませてくれます。だからこそ心が壊れる・・・のかな。
↓
なにせ、PCの若葉マークがまだ取れません。
ましてmixiは・・・
舌ガンで手術するときに、話せなくなるということで始めたPCでした。別段PCの教室に通ったわけではなく、自分で本を見て勉強しつつ始めた、PC生活でした。
PCアレルギーというより、かつて派遣社員でソフトを作っていたとき、デシタルワールドに囚われてしまって、心病んだ経験があるだけに、コンピーター君には「敬して近づかず」としてきたからです。
今でも、プログラムを作るのは、最高の娯楽だと思っています。指の運動でしかないゲームより、遥かに脳を楽しませてくれます。だからこそ心が壊れる・・・のかな。
ブログとmixiと日記
2007-01-25
昨年末、母の具合が本格的に悪くなって、その様子をblogに書くようななった。病気を機会に、アナログの日記というか、日々の出来事を書く習慣になっている。特別心の中を、日記に吐き出していたわけでもない。時にそうすることもあったけれど・・・
blogが日記化するに従い、デジタル日記がアナログ日記を侵食しだして、ついにアナログ日記を書かなくなってしまった。それはそれでいいのだけれど、デジタル日記には書けない事も多々ある。もはやかつての様な記憶力は期待しようとしても無理で、「昨日」でさえ忘却の彼方にいってしまいます。
blogとmixiは、ともに「マコト」君の導きによって始めることになった。blogの方は、彼の状態やらあって、こちらも始めるまでの準備期間があって、それなりに何冊か本を読んで、知識をもって始めた。けれど、mixiはその存在を知っていたけれど、彼の招待で突如始めてしまった。
今はどうにか二冊ほどmixi関連の本をペラペラ見て、何とかmixiの世界に慣れてきたところである。
ヤット決心がついて、blogとmixiとアナログ日記を書き分けることにした。だけど数学の集合論の直和集合ではないけれど、その三つが重ならないようにすることは出来ない。すなわちA∧B∧C=空集合とはいかない。だから面倒なので、そのときはblogとmixi両方に投稿することにした。そう、いい加減にいくことにした。
基本方針として、blogはエッセイ風に、mixiは日記風に、さらに公開できないような部分をアナログ日記に書くことにするつもりである。だだそれだけの労力があればであるが・・・
この先益々母の具合が悪くなって、介護の日々となりそうである。それは、社会との繋がりがなくなり、益々孤独な日々となることを意味している。縁あって始めたblogとmixiである。どこがで、誰かと繋がる契機になれば嬉くある。
blogが日記化するに従い、デジタル日記がアナログ日記を侵食しだして、ついにアナログ日記を書かなくなってしまった。それはそれでいいのだけれど、デジタル日記には書けない事も多々ある。もはやかつての様な記憶力は期待しようとしても無理で、「昨日」でさえ忘却の彼方にいってしまいます。
blogとmixiは、ともに「マコト」君の導きによって始めることになった。blogの方は、彼の状態やらあって、こちらも始めるまでの準備期間があって、それなりに何冊か本を読んで、知識をもって始めた。けれど、mixiはその存在を知っていたけれど、彼の招待で突如始めてしまった。
今はどうにか二冊ほどmixi関連の本をペラペラ見て、何とかmixiの世界に慣れてきたところである。
ヤット決心がついて、blogとmixiとアナログ日記を書き分けることにした。だけど数学の集合論の直和集合ではないけれど、その三つが重ならないようにすることは出来ない。すなわちA∧B∧C=空集合とはいかない。だから面倒なので、そのときはblogとmixi両方に投稿することにした。そう、いい加減にいくことにした。
基本方針として、blogはエッセイ風に、mixiは日記風に、さらに公開できないような部分をアナログ日記に書くことにするつもりである。だだそれだけの労力があればであるが・・・
この先益々母の具合が悪くなって、介護の日々となりそうである。それは、社会との繋がりがなくなり、益々孤独な日々となることを意味している。縁あって始めたblogとmixiである。どこがで、誰かと繋がる契機になれば嬉くある。
十進BASIC ゲーム 簡易アニメ
2007-01-22
マコト先生!
やっと、「十進BASIC」による、簡単「ゲームプログラム」の「簡易アニメ」が完成しました。明日発送しますので、感想など宜しくお願いします。
マニュアルでは、拡張機能として実線のみ線の幅の指定が可能とありますが、テストでは外の線種も幅を指定可能のようでしたが、一応マニァアルに準拠しておきました。
ついでに、「十進BASIC」のホームページに投稿しようと思ったら、何だかめんどくさいことが書いてあったので、止めました。運よく検索でここを訪れた人は、勝手にコピーしてもらって結構です。
REM *** 内分法による簡易アニメ その6 ***
REM
REM 本プログラムの特徴
REM ◎マウスで指示したドットを連結し、開始位置から終了位置へ連続的に描画する。
REM ◎右下の赤い三角をクリックすれば、それまでの指定されたドットが
REM 一つのグループとして扱われる。
REM ◎グループのドットの指定の仕方を工夫すると(例:終了位置が、開始位置とねじれた関係)、
REM 3Dのようにも見える(?!)。
REM ◎グループの最初と最後を同じ位置にすれば、閉じた図形の表現になる。
REM ◎プログラム初心者に解り易い様に、素直なプログラミングを心がけてある。
REM 1)入力できる点の数を、初期値を変えるだけて簡単に変更可能。
REM ロジックをさわる必要がない。
REM 2)描画スピードも、初期値を変えるだけで簡単に変更可能。
REM ロジックをさわる必要がない。
REM 3)簡単なループの場合、「GO TO文」を利用する。
REM 4)本来なら構造化すへきだけれど、全体の流れが読みやすいように、
REM 本バージョンはあえて構造化していない。
REM 4)プログラム内に定数値を書くのは、将来のメンテナンスを考えるとき、
REM 避けなければならない。表示するコメントなども、初期値設定で変数に代入して使うべき
REM であるが、プログラムの内容を理解しやすいようあえてそれは行っていない。
REM
REM *** 変数一覧 ***
REM
REM color_black = 1:黒色指定
REM color_blue = 2:青色指定
REM color_red = 4:赤色指定
REM window_x1 = -22:ウインドウのレフト
REM window_x2 = 22:ウインドウのライト
REM window_y1 = -22:ウインドウのボトム
REM window_y2 = 22:ウインドウのトップ
REM dot : 描画する点の数
REM x1(dot),y1(dot) : 開始のドット用配列
REM x2(dot),y2(dot) : 最終のドット用配列
REM ii jj tt:ループカウンター
REM line_select : 描画する線の種類指定
REM color_select : 描画する線の色指定
REM trace_select$ : 描線のトレースの指定
REM clear_select : 描線を描くときにトレースを残すかどうか
REM flag_on : フラグがオン
REM flag_off : フラグがオフ
REM order$ : 利用者の指示
REM largeY$ : 大文字の”Y”
REM smally$ : 小文字の”y”
REM largeN$ : 大文字の”N”
REM smalln$ : 小文字の”n”
REM count$ : マウスで指定した位置の順番
REM group_start : 描画のグループの開始位置
REM group_end : 描画のグループの終了位置
REM group_num : 描画のグループの数
REM zero : 定数のゼロ
REM draw_step : 描画するときの変化量
REM speed_control : 描画するときのダミーループの最大値
REM solid_line : 実線
REM *** 初期値設定 ***
LET color_black = 1
LET color_blue = 2
LET color_red = 4
LET window_x1 = -22
LET window_y1 = -22
LET window_x2 = 22
LET window_y2 = 22
LET flag_on = 0
LET flag_off = 1
LET largeY$ = "Y"
LET smally$ = "y"
LET largeN$ = "N"
LET smalln$ = "n"
LET array_max = 50 !←この値を変えると、指定できるドットの数を変えられる
LET array_min = 1
LET zero = 0
LET draw_step = 0.0001 !←描画するときの変化量
LET speed_control = 5500 !←この値を変えると、描画のスピードを変えられる
LET solid_line = 1
DIM x1(array_max),y1(array_max),x2(array_max),y2(array_max)
DIM line_conect(array_max)
REM *** メイン処理の開始 ***
100 ! program-start
REM *** 描画する線の種類の指定ループ ***
DO
PRINT "描画する線を指定してください"
PRINT "1 : 実線"
PRINT "2 : 破線"
PRINT "3 : 点線"
PRINT "4 : 一点鎖線"
INPUT PROMPT "1〜4=":line_select
IF line_select < 1 OR 5 < line_select THEN
PRINT "間違っています"
PRINT "再入力してください"
ELSE
EXIT DO
END IF
LOOP
SET LINE STYLE line_select
REM *** 実線を選択した場合の、線の幅の指定 ***
IF line_select = solid_line THEN
DO
PRINT "線の幅を指定してください"
PRINT "整数倍になります"
INPUT PROMPT "1〜5=":line_width
IF line_width < 1 OR line_width < 6 THEN
SET LINE WIDTH line_width
EXIT DO
END IF
PRINT "間違っています"
PRINT "再入力してください"
LOOP
END IF
REM *** 描画する線の色の指定ループ ***
DO
PRINT "描画する線の色を指定してください"
PRINT "1 : 黒"
PRINT "2 : 青"
PRINT "3 : 緑"
PRINT "4 : 赤"
PRINT "5 : 水色"
PRINT "6 : 黄色"
INPUT PROMPT "1〜6=":color_select
IF color_select < 1 OR 6 < color_select THEN
PRINT "間違っています"
PRINT "再入力してください"
ELSE
EXIT DO
END IF
LOOP
REM *** 描画するとき軌跡を描くかどうかの選択ループ ***
DO
PRINT "軌跡を描きますか?"
INPUT PROMPT "(Y/N)=" : trace_select$
IF trace_select$ = largeY$ OR trace_select$ = smally$ THEN
LET clear_select = flag_on
EXIT DO
ELSEIF trace_select$ =largeN$ OR trace_select$ = smalln$ THEN
LET clear_select = flag_off
EXIT DO
ELSE
PRINT "間違っています"
PRINT "再入力してください"
END IF
LOOP
REM *** ウインドウの初期設定 ***
SET WINDOW window_x1,window_x2,window_y1,window_y2
DRAW GRID
SET AREA COLOR color_red
PLOT
AREA:window_x1,window_y1;window_x1+2,window_y1;window_x1,window_y1+2
REM *** 描画する点の数の指定ループ ***
DO
PRINT "点の数を決めてください"
INPUT PROMPT "2〜50=":dot
IF array_min < dot AND dot < array_max+1 THEN
EXIT DO
END IF
PRINT "再入力してください"
LOOP
REM *** 開始位置のドットの指定 ***
PRINT "開始位置を指定してください"
SET POINT COLOR color_blue
SET TEXT COLOR color_blue
FOR ii=1 TO dot
GET POINT: x1(ii),y1(ii)
IF (x1(ii)+y1(ii)) < (window_x1+window_y1+2) THEN
LET line_conect(ii) = flag_off
ELSE
LET line_conect(ii) = flag_on
LET count$ = STR$(ii)
PLOT TEXT,AT x1(ii),y1(ii):count$
PLOT POINTS:x1(ii),y1(ii)
END IF
NEXT ii
REM *** 指定した開始位置のドットの確認のための線を描く ***
SET LINE COLOR color_blue
FOR ii=1 TO dot
IF line_conect(ii) = flag_off THEN
PLOT LINES
ELSE
PLOT LINES:x1(ii),y1(ii);
END IF
NEXT ii
PLOT LINES
REM *** 描線の連結と表示グループの確認 ***
LET group_start = zero
LET group_num = zero
FOR ii=1 TO dot
IF line_conect(ii) = flag_on THEN
IF group_start = zero THEN
LET group_start = ii
ELSE
LET group_end = ii
END IF
ELSE
LET group_num = group_num + 1
PRINT "第";group_num;"グループは"
PRINT group_start;"から";group_end;"です"
PRINT ii;"番目の点は連結されません"
LET group_start = zero
END IF
NEXT ii
IF group_num > zero THEN
LET group_end = ii
LET group_num = group_num + 1
PRINT "第";group_num;"グループは"
PRINT group_start;"から";group_end;"です"
ELSE
PRINT "すべての点が連結されています"
END IF
REM *** 終了位置のドットの指定 ***
PRINT
PRINT "終了位置を指定してください"
SET POINT COLOR color_red
SET TEXT COLOR color_red
LET group_start = zero
LET group_num = zero
REM *** グループごとの終了位置の指定ループ***
FOR ii=1 TO dot
IF line_conect(ii) = flag_on THEN
IF group_start = zero THEN
LET group_start = ii
ELSE
LET group_end = ii
END IF
ELSE
LET group_num = group_num + 1
PRINT "第";group_num;"グループは"
PRINT group_start;"から";group_end;"です"
PRINT ii;"番目の点は連結されていません"
FOR jj=group_start TO group_end
GET POINT: x2(jj),y2(jj)
LET count$ = STR$(jj)
PLOT TEXT,AT x2(jj),y2(jj):count$
PLOT POINTS:X2(jj),Y2(jj)
NEXT jj
LET group_start = zero
END IF
NEXT ii
REM *** 終了位置の指定ループの後始末 ***
LET group_end = dot
IF group_num > zero THEN
LET group_num = group_num + 1
PRINT "第";group_num;"グループは"
PRINT group_start;"から";group_end;"です"
FOR jj=group_start TO group_end
GET POINT: x2(jj),y2(jj)
LET count$ = STR$(jj)
PLOT TEXT,AT x2(jj),y2(jj):count$
PLOT POINTS:X2(jj),Y2(jj)
NEXT jj
ELSE
PRINT "すべての点が連結されています"
FOR jj=group_start TO group_end
GET POINT: x2(jj),y2(jj)
LET count$ = STR$(jj)
PLOT TEXT,AT x2(jj),y2(jj):count$
PLOT POINTS:X2(jj),Y2(jj)
NEXT jj
END IF
REM *** 指定した終了位置のドットの確認のための線を描くループ ***
SET LINE COLOR color_red
FOR ii=1 TO dot
IF line_conect(ii) = flag_off THEN
PLOT LINES
ELSE
PLOT LINES:x2(ii),y2(ii);
END IF
NEXT ii
REM *** 再度指定しなおすかの問い合わせループ ***
DO
PRINT "このままアニメ開始?"
INPUT PROMPT "(Y/N)=":order$
IF order$ = largeN$ OR order$ = smalln$ THEN
CLEAR
FOR ii=1 TO array_max
LET x1(ii) = zero
LET x2(ii) = zero
LET y1(ii) = zero
LET y2(ii) = zero
LET line_conect(ii) = flag_on
NEXT ii
GO TO 100 ! return to program-start
ELSEIF order$ = largeY$ OR order$ = smally$ THEN
EXIT DO
ELSE
PRINT "間違っています"
PRINT "再入力してください"
END IF
LOOP
REM *** アニメの描画ループ ***
CLEAR
PLOT LINES
SET LINE COLOR color_select
FOR tt=0 TO 1 STEP draw_step
IF clear_select = flag_off THEN CLEAR
FOR ii=1 TO dot
IF line_conect(ii) = flag_off THEN
PLOT LINES
ELSE
PLOT LINES:tt * x2(ii) + (1-tt) * x1(ii),tt * y2(ii) + (1-tt) *
y1(ii);
END IF
NEXT ii
PLOT LINES
FOR jj=1 TO speed_control ! ←描画のスピードコントロール用ダミー・ループ
NEXT jj
NEXT tt
REM *** 終了判定ループ ***
DO
PRINT "もう一回?"
INPUT PROMPT "(Y/N)=":order$
IF order$ = largeY$ OR order$ = smally$ THEN
CLEAR
FOR ii=1 TO array_max
LET x1(ii) = zero
LET x2(ii) = zero
LET y1(ii) = zero
LET y2(ii) = zero
LET line_conect(ii) = flag_on
NEXT ii
LET line_width = 1
SET LINE WIDTH line_width
GO TO 100 ! return to program=start
ELSEIF NOT(order$ = largeN$ OR order$ = smalln$) THEN
PRINT "間違っています"
PRINT "再入力してください"
ELSE
EXIT DO
END IF
LOOP
END ! program-end
やっと、「十進BASIC」による、簡単「ゲームプログラム」の「簡易アニメ」が完成しました。明日発送しますので、感想など宜しくお願いします。
マニュアルでは、拡張機能として実線のみ線の幅の指定が可能とありますが、テストでは外の線種も幅を指定可能のようでしたが、一応マニァアルに準拠しておきました。
ついでに、「十進BASIC」のホームページに投稿しようと思ったら、何だかめんどくさいことが書いてあったので、止めました。運よく検索でここを訪れた人は、勝手にコピーしてもらって結構です。
REM *** 内分法による簡易アニメ その6 ***
REM
REM 本プログラムの特徴
REM ◎マウスで指示したドットを連結し、開始位置から終了位置へ連続的に描画する。
REM ◎右下の赤い三角をクリックすれば、それまでの指定されたドットが
REM 一つのグループとして扱われる。
REM ◎グループのドットの指定の仕方を工夫すると(例:終了位置が、開始位置とねじれた関係)、
REM 3Dのようにも見える(?!)。
REM ◎グループの最初と最後を同じ位置にすれば、閉じた図形の表現になる。
REM ◎プログラム初心者に解り易い様に、素直なプログラミングを心がけてある。
REM 1)入力できる点の数を、初期値を変えるだけて簡単に変更可能。
REM ロジックをさわる必要がない。
REM 2)描画スピードも、初期値を変えるだけで簡単に変更可能。
REM ロジックをさわる必要がない。
REM 3)簡単なループの場合、「GO TO文」を利用する。
REM 4)本来なら構造化すへきだけれど、全体の流れが読みやすいように、
REM 本バージョンはあえて構造化していない。
REM 4)プログラム内に定数値を書くのは、将来のメンテナンスを考えるとき、
REM 避けなければならない。表示するコメントなども、初期値設定で変数に代入して使うべき
REM であるが、プログラムの内容を理解しやすいようあえてそれは行っていない。
REM
REM *** 変数一覧 ***
REM
REM color_black = 1:黒色指定
REM color_blue = 2:青色指定
REM color_red = 4:赤色指定
REM window_x1 = -22:ウインドウのレフト
REM window_x2 = 22:ウインドウのライト
REM window_y1 = -22:ウインドウのボトム
REM window_y2 = 22:ウインドウのトップ
REM dot : 描画する点の数
REM x1(dot),y1(dot) : 開始のドット用配列
REM x2(dot),y2(dot) : 最終のドット用配列
REM ii jj tt:ループカウンター
REM line_select : 描画する線の種類指定
REM color_select : 描画する線の色指定
REM trace_select$ : 描線のトレースの指定
REM clear_select : 描線を描くときにトレースを残すかどうか
REM flag_on : フラグがオン
REM flag_off : フラグがオフ
REM order$ : 利用者の指示
REM largeY$ : 大文字の”Y”
REM smally$ : 小文字の”y”
REM largeN$ : 大文字の”N”
REM smalln$ : 小文字の”n”
REM count$ : マウスで指定した位置の順番
REM group_start : 描画のグループの開始位置
REM group_end : 描画のグループの終了位置
REM group_num : 描画のグループの数
REM zero : 定数のゼロ
REM draw_step : 描画するときの変化量
REM speed_control : 描画するときのダミーループの最大値
REM solid_line : 実線
REM *** 初期値設定 ***
LET color_black = 1
LET color_blue = 2
LET color_red = 4
LET window_x1 = -22
LET window_y1 = -22
LET window_x2 = 22
LET window_y2 = 22
LET flag_on = 0
LET flag_off = 1
LET largeY$ = "Y"
LET smally$ = "y"
LET largeN$ = "N"
LET smalln$ = "n"
LET array_max = 50 !←この値を変えると、指定できるドットの数を変えられる
LET array_min = 1
LET zero = 0
LET draw_step = 0.0001 !←描画するときの変化量
LET speed_control = 5500 !←この値を変えると、描画のスピードを変えられる
LET solid_line = 1
DIM x1(array_max),y1(array_max),x2(array_max),y2(array_max)
DIM line_conect(array_max)
REM *** メイン処理の開始 ***
100 ! program-start
REM *** 描画する線の種類の指定ループ ***
DO
PRINT "描画する線を指定してください"
PRINT "1 : 実線"
PRINT "2 : 破線"
PRINT "3 : 点線"
PRINT "4 : 一点鎖線"
INPUT PROMPT "1〜4=":line_select
IF line_select < 1 OR 5 < line_select THEN
PRINT "間違っています"
PRINT "再入力してください"
ELSE
EXIT DO
END IF
LOOP
SET LINE STYLE line_select
REM *** 実線を選択した場合の、線の幅の指定 ***
IF line_select = solid_line THEN
DO
PRINT "線の幅を指定してください"
PRINT "整数倍になります"
INPUT PROMPT "1〜5=":line_width
IF line_width < 1 OR line_width < 6 THEN
SET LINE WIDTH line_width
EXIT DO
END IF
PRINT "間違っています"
PRINT "再入力してください"
LOOP
END IF
REM *** 描画する線の色の指定ループ ***
DO
PRINT "描画する線の色を指定してください"
PRINT "1 : 黒"
PRINT "2 : 青"
PRINT "3 : 緑"
PRINT "4 : 赤"
PRINT "5 : 水色"
PRINT "6 : 黄色"
INPUT PROMPT "1〜6=":color_select
IF color_select < 1 OR 6 < color_select THEN
PRINT "間違っています"
PRINT "再入力してください"
ELSE
EXIT DO
END IF
LOOP
REM *** 描画するとき軌跡を描くかどうかの選択ループ ***
DO
PRINT "軌跡を描きますか?"
INPUT PROMPT "(Y/N)=" : trace_select$
IF trace_select$ = largeY$ OR trace_select$ = smally$ THEN
LET clear_select = flag_on
EXIT DO
ELSEIF trace_select$ =largeN$ OR trace_select$ = smalln$ THEN
LET clear_select = flag_off
EXIT DO
ELSE
PRINT "間違っています"
PRINT "再入力してください"
END IF
LOOP
REM *** ウインドウの初期設定 ***
SET WINDOW window_x1,window_x2,window_y1,window_y2
DRAW GRID
SET AREA COLOR color_red
PLOT
AREA:window_x1,window_y1;window_x1+2,window_y1;window_x1,window_y1+2
REM *** 描画する点の数の指定ループ ***
DO
PRINT "点の数を決めてください"
INPUT PROMPT "2〜50=":dot
IF array_min < dot AND dot < array_max+1 THEN
EXIT DO
END IF
PRINT "再入力してください"
LOOP
REM *** 開始位置のドットの指定 ***
PRINT "開始位置を指定してください"
SET POINT COLOR color_blue
SET TEXT COLOR color_blue
FOR ii=1 TO dot
GET POINT: x1(ii),y1(ii)
IF (x1(ii)+y1(ii)) < (window_x1+window_y1+2) THEN
LET line_conect(ii) = flag_off
ELSE
LET line_conect(ii) = flag_on
LET count$ = STR$(ii)
PLOT TEXT,AT x1(ii),y1(ii):count$
PLOT POINTS:x1(ii),y1(ii)
END IF
NEXT ii
REM *** 指定した開始位置のドットの確認のための線を描く ***
SET LINE COLOR color_blue
FOR ii=1 TO dot
IF line_conect(ii) = flag_off THEN
PLOT LINES
ELSE
PLOT LINES:x1(ii),y1(ii);
END IF
NEXT ii
PLOT LINES
REM *** 描線の連結と表示グループの確認 ***
LET group_start = zero
LET group_num = zero
FOR ii=1 TO dot
IF line_conect(ii) = flag_on THEN
IF group_start = zero THEN
LET group_start = ii
ELSE
LET group_end = ii
END IF
ELSE
LET group_num = group_num + 1
PRINT "第";group_num;"グループは"
PRINT group_start;"から";group_end;"です"
PRINT ii;"番目の点は連結されません"
LET group_start = zero
END IF
NEXT ii
IF group_num > zero THEN
LET group_end = ii
LET group_num = group_num + 1
PRINT "第";group_num;"グループは"
PRINT group_start;"から";group_end;"です"
ELSE
PRINT "すべての点が連結されています"
END IF
REM *** 終了位置のドットの指定 ***
PRINT "終了位置を指定してください"
SET POINT COLOR color_red
SET TEXT COLOR color_red
LET group_start = zero
LET group_num = zero
REM *** グループごとの終了位置の指定ループ***
FOR ii=1 TO dot
IF line_conect(ii) = flag_on THEN
IF group_start = zero THEN
LET group_start = ii
ELSE
LET group_end = ii
END IF
ELSE
LET group_num = group_num + 1
PRINT "第";group_num;"グループは"
PRINT group_start;"から";group_end;"です"
PRINT ii;"番目の点は連結されていません"
FOR jj=group_start TO group_end
GET POINT: x2(jj),y2(jj)
LET count$ = STR$(jj)
PLOT TEXT,AT x2(jj),y2(jj):count$
PLOT POINTS:X2(jj),Y2(jj)
NEXT jj
LET group_start = zero
END IF
NEXT ii
REM *** 終了位置の指定ループの後始末 ***
LET group_end = dot
IF group_num > zero THEN
LET group_num = group_num + 1
PRINT "第";group_num;"グループは"
PRINT group_start;"から";group_end;"です"
FOR jj=group_start TO group_end
GET POINT: x2(jj),y2(jj)
LET count$ = STR$(jj)
PLOT TEXT,AT x2(jj),y2(jj):count$
PLOT POINTS:X2(jj),Y2(jj)
NEXT jj
ELSE
PRINT "すべての点が連結されています"
FOR jj=group_start TO group_end
GET POINT: x2(jj),y2(jj)
LET count$ = STR$(jj)
PLOT TEXT,AT x2(jj),y2(jj):count$
PLOT POINTS:X2(jj),Y2(jj)
NEXT jj
END IF
REM *** 指定した終了位置のドットの確認のための線を描くループ ***
SET LINE COLOR color_red
FOR ii=1 TO dot
IF line_conect(ii) = flag_off THEN
PLOT LINES
ELSE
PLOT LINES:x2(ii),y2(ii);
END IF
NEXT ii
REM *** 再度指定しなおすかの問い合わせループ ***
DO
PRINT "このままアニメ開始?"
INPUT PROMPT "(Y/N)=":order$
IF order$ = largeN$ OR order$ = smalln$ THEN
CLEAR
FOR ii=1 TO array_max
LET x1(ii) = zero
LET x2(ii) = zero
LET y1(ii) = zero
LET y2(ii) = zero
LET line_conect(ii) = flag_on
NEXT ii
GO TO 100 ! return to program-start
ELSEIF order$ = largeY$ OR order$ = smally$ THEN
EXIT DO
ELSE
PRINT "間違っています"
PRINT "再入力してください"
END IF
LOOP
REM *** アニメの描画ループ ***
CLEAR
PLOT LINES
SET LINE COLOR color_select
FOR tt=0 TO 1 STEP draw_step
IF clear_select = flag_off THEN CLEAR
FOR ii=1 TO dot
IF line_conect(ii) = flag_off THEN
PLOT LINES
ELSE
PLOT LINES:tt * x2(ii) + (1-tt) * x1(ii),tt * y2(ii) + (1-tt) *
y1(ii);
END IF
NEXT ii
PLOT LINES
FOR jj=1 TO speed_control ! ←描画のスピードコントロール用ダミー・ループ
NEXT jj
NEXT tt
REM *** 終了判定ループ ***
DO
PRINT "もう一回?"
INPUT PROMPT "(Y/N)=":order$
IF order$ = largeY$ OR order$ = smally$ THEN
CLEAR
FOR ii=1 TO array_max
LET x1(ii) = zero
LET x2(ii) = zero
LET y1(ii) = zero
LET y2(ii) = zero
LET line_conect(ii) = flag_on
NEXT ii
LET line_width = 1
SET LINE WIDTH line_width
GO TO 100 ! return to program=start
ELSEIF NOT(order$ = largeN$ OR order$ = smalln$) THEN
PRINT "間違っています"
PRINT "再入力してください"
ELSE
EXIT DO
END IF
LOOP
END ! program-end
再入院、十一日目
2007-01-21
1月20日、今朝はシャワーを浴びたり、洗濯したり、掃除したりしていた。そうこうするうちに、親父か起きて来て、「お袋のところに行ってくる」というので、私は昼ご飯時でなく、夕ご飯時に見舞いに行くことにした。
四時ごろ着くように出かけた。途中スーパーで、昨日の約束通りに差し入れの「刺身」と、イチゴのカップ状の入れ物に入ったのと、便秘対策用に「種抜きプルーン」を買った。お菓子は、カルシュウムが添加されている「オットット」にした。それとコンビニで、小さな醤油を一つ購入しておいた。
着いたら、丁度弟が帰った後だった。ひとしきり、喋って帰っていたようである。親父は昼時に来たらしいが、ただ昼ご飯を食べているのを見ているだけなので、「気分が悪い。見てるだけなら、かえってチョ」と言って追い返したようである。親父には、下の売店でお握りの一つでも買ってきて、一緒にご飯を食べようなどという気はサラサラない。全く家庭的でない。
昨夜の晩ご飯の南瓜の煮物が柔らかくて、落としてパジャマを汚していたので、オシッコに起きたついでに着替えさせて、洗濯をした。その間に近くSEIYUで、自分用のご飯の調達に出かけた。あのカゴメの「鍋めし」の博多風水炊きと韓国風海鮮チゲ、レトルトの「キーマカレー」を三つ、インスタントの「名古屋八丁赤だしおみそ汁」三食入り、銀座スープ「3種のきのこの泡立ちポタージュ」を調達してきた。SEIYU、いつも買っている店とは品揃えが違うので、目新しい物を買ってきた。何せ食べられるものの種類が多くないので、同じ物の繰り返しになりがちであるから。
一緒に食べれるように、カップの生タイプの稲庭風うどんを用意した。洗濯も終わり、六時になりいざ配膳となったとき、母の分がなかった。すぐ看護師さんが手配してくれて、チョット遅い晩ご飯となった。届くまでの間に、時間を見計らってお湯を入れてきたカップのうどんに、魔法の粉を入れ、水を入れて少し冷まして食べた。初めて食べたカップの稲庭うどんでったが、大変美味しく食べられた。
食べ終わった頃に、母の分が届いた。メインは野菜と鶏肉の蒸したのに味噌がかかったもの、大根の煮物、白菜とえのきの煮物のようであった。さっそく刺身を食べ始めた。「うまいナァ」と、舌鼓を打っていた。マグロとブリ(?)のような脂ののった白身魚のセットになったのであった。ラッキョウと梅干も追加してご飯を食べ、さすがに腰が痛くなったので横になって、最後に家で作って持っていったゆで卵を一個食べた。オカズの大根の煮物なども食べていたので、結構食べていた。「あぁ、お腹いっぱい」と、ご機嫌であった。
最後に、枕もとのヘットボトルに水やお茶を入れて、寝る準備をして帰ってきた。帰り道、買い取り王国の本店まで足を伸ばして、CD三枚を買った。「井上陽水 シングルコレクション」「THE RC SUCCESSION SOULMATES」「BEST OF GOING UNDER GROUND WITH YOU」。
昨日買った熊野の本は、気に入ったようである。元気なときには、吉野によくお参りに行っていた。写真を見ながら、「もう行けないなぁ」と淋しげにつぶやいていた。
それから、今日も「孫」が生まれたそうである。昨日栓が抜けたせいか? また着いてすぐ、主治医が巡回にきた。「近々帰すからナ」とのお言葉であった。予定通り、20日ぐらいの入院となりそうである。
四時ごろ着くように出かけた。途中スーパーで、昨日の約束通りに差し入れの「刺身」と、イチゴのカップ状の入れ物に入ったのと、便秘対策用に「種抜きプルーン」を買った。お菓子は、カルシュウムが添加されている「オットット」にした。それとコンビニで、小さな醤油を一つ購入しておいた。
着いたら、丁度弟が帰った後だった。ひとしきり、喋って帰っていたようである。親父は昼時に来たらしいが、ただ昼ご飯を食べているのを見ているだけなので、「気分が悪い。見てるだけなら、かえってチョ」と言って追い返したようである。親父には、下の売店でお握りの一つでも買ってきて、一緒にご飯を食べようなどという気はサラサラない。全く家庭的でない。
昨夜の晩ご飯の南瓜の煮物が柔らかくて、落としてパジャマを汚していたので、オシッコに起きたついでに着替えさせて、洗濯をした。その間に近くSEIYUで、自分用のご飯の調達に出かけた。あのカゴメの「鍋めし」の博多風水炊きと韓国風海鮮チゲ、レトルトの「キーマカレー」を三つ、インスタントの「名古屋八丁赤だしおみそ汁」三食入り、銀座スープ「3種のきのこの泡立ちポタージュ」を調達してきた。SEIYU、いつも買っている店とは品揃えが違うので、目新しい物を買ってきた。何せ食べられるものの種類が多くないので、同じ物の繰り返しになりがちであるから。
一緒に食べれるように、カップの生タイプの稲庭風うどんを用意した。洗濯も終わり、六時になりいざ配膳となったとき、母の分がなかった。すぐ看護師さんが手配してくれて、チョット遅い晩ご飯となった。届くまでの間に、時間を見計らってお湯を入れてきたカップのうどんに、魔法の粉を入れ、水を入れて少し冷まして食べた。初めて食べたカップの稲庭うどんでったが、大変美味しく食べられた。
食べ終わった頃に、母の分が届いた。メインは野菜と鶏肉の蒸したのに味噌がかかったもの、大根の煮物、白菜とえのきの煮物のようであった。さっそく刺身を食べ始めた。「うまいナァ」と、舌鼓を打っていた。マグロとブリ(?)のような脂ののった白身魚のセットになったのであった。ラッキョウと梅干も追加してご飯を食べ、さすがに腰が痛くなったので横になって、最後に家で作って持っていったゆで卵を一個食べた。オカズの大根の煮物なども食べていたので、結構食べていた。「あぁ、お腹いっぱい」と、ご機嫌であった。
最後に、枕もとのヘットボトルに水やお茶を入れて、寝る準備をして帰ってきた。帰り道、買い取り王国の本店まで足を伸ばして、CD三枚を買った。「井上陽水 シングルコレクション」「THE RC SUCCESSION SOULMATES」「BEST OF GOING UNDER GROUND WITH YOU」。
昨日買った熊野の本は、気に入ったようである。元気なときには、吉野によくお参りに行っていた。写真を見ながら、「もう行けないなぁ」と淋しげにつぶやいていた。
それから、今日も「孫」が生まれたそうである。昨日栓が抜けたせいか? また着いてすぐ、主治医が巡回にきた。「近々帰すからナ」とのお言葉であった。予定通り、20日ぐらいの入院となりそうである。
再入院、十日目
2007-01-21
1月19日、午前中は私の胃カメラ検査であった。朝一の8時半からの検査で、三十分ほどで終了した、二箇所ほど生検用に「プッチン」された。全体的に、少し荒れていると言われた。ビールの飲みすぎか?!
そのまま母の見舞いに行く途中で、昨夜から絶飲食だったので、ファミリーマートで食料を調達した。立ち寄った店には、なんと「トロロ蕎麦」があった。それに、母用の半熟卵を二個と一人前の「イカソウメン」があったので、これを差し入れにした。
検査後二時間たったので、十一時過ぎに、まず病院のロビーで「トロロ蕎麦」を食べた。これが、私には食べやすく、またソバの香りもして、非常に美味しかった。
食べ終わって母の部屋に行くと、「トイレに行くから一緒に行ってくれ」とのことで、倒れないように介助しながらトイレに行った。座薬の便秘薬が効果をあらわしたせいか、「スッキリした」そうである。やはりトイレのほうが、安心できるのでスッキリするようである。帰り道通りかかった看護師さんに、「大きな孫が生まれた」と報告していた。「アハハ〜」、笑いあった。
昼ご飯の「イカソウメン」は、「美味しい、美味しい」とペロリと食べてしまった。今日の昼ご飯も鶏肉料理が出ていた。丁度その替わりになったようである。明日は、大好きな「刺身」を用意しようかと思う。
看護師さんが巡回に来たとき、隣のベッドのお婆さんが、「調子はどうですか?」と看護師さんに尋ねられて、「おいどが痛い」と答えていた。若い看護師さんには、意味が分からないようであった。母と二人して、「お尻が痛い」ということだと、教えてあげた。昨日ベットから落ちて、お尻をぶつけたので。
それにしても「おいど」とは、久しぶりに聞く名古屋語であった。もう普段の生活では死語に近いと思うけれど、お年寄りにとっては、マダマダ「生きた言葉」であるよだ。
帰り道、買い取り王国に行って本を三冊買った。プログラム言語関連を二冊と、母用に「熊野」関連の写真多数載っている本。明日届けることにする。
そのまま母の見舞いに行く途中で、昨夜から絶飲食だったので、ファミリーマートで食料を調達した。立ち寄った店には、なんと「トロロ蕎麦」があった。それに、母用の半熟卵を二個と一人前の「イカソウメン」があったので、これを差し入れにした。
検査後二時間たったので、十一時過ぎに、まず病院のロビーで「トロロ蕎麦」を食べた。これが、私には食べやすく、またソバの香りもして、非常に美味しかった。
食べ終わって母の部屋に行くと、「トイレに行くから一緒に行ってくれ」とのことで、倒れないように介助しながらトイレに行った。座薬の便秘薬が効果をあらわしたせいか、「スッキリした」そうである。やはりトイレのほうが、安心できるのでスッキリするようである。帰り道通りかかった看護師さんに、「大きな孫が生まれた」と報告していた。「アハハ〜」、笑いあった。
昼ご飯の「イカソウメン」は、「美味しい、美味しい」とペロリと食べてしまった。今日の昼ご飯も鶏肉料理が出ていた。丁度その替わりになったようである。明日は、大好きな「刺身」を用意しようかと思う。
看護師さんが巡回に来たとき、隣のベッドのお婆さんが、「調子はどうですか?」と看護師さんに尋ねられて、「おいどが痛い」と答えていた。若い看護師さんには、意味が分からないようであった。母と二人して、「お尻が痛い」ということだと、教えてあげた。昨日ベットから落ちて、お尻をぶつけたので。
それにしても「おいど」とは、久しぶりに聞く名古屋語であった。もう普段の生活では死語に近いと思うけれど、お年寄りにとっては、マダマダ「生きた言葉」であるよだ。
帰り道、買い取り王国に行って本を三冊買った。プログラム言語関連を二冊と、母用に「熊野」関連の写真多数載っている本。明日届けることにする。
今日の十進BASICの改造
2007-01-20
今朝は、朝シャワーを浴びて、家の中を掃除して、洗濯をしていた。やっとそんな頃オヤジは起きてきて、ゴソゴソやっていて、「お袋のところへ行ってくる」と、そそくさと出かけていった。だから、母の見舞いは夕ご飯時にすることにした。
なので、昼は家で過ごしていた。コンビニで、ミート・スパゲッティーの大盛りを買ってきて、コンソメをコッフのお湯で溶かして、そこに魔法の粉でトロミをつけたものをスパゲッティーにかけて、昼ご飯とした。
その間、ズット「十進ベーシック」の簡易アニメ・プログラムの改良を試みていた。中々思うような改造が出来なくて、悩み続けた。何のことはない、変数の綴りの誤りであった。そのせいで、予定したように動かなかった。
今回は、特定領域をクリックすると、そこで線の描画を一度切るようにしようと試みていた。うまくすれば、同時に幾つかの図形をアニメとして動かすことが出来る予定であった。
チットも期待通り動かないので、小さなテストプログラムを作って、テストしてみたりした。その場合はうまく行くのに、本番は期待通り動いてくれないので、脳ミソが汗をかくこことなった。何とかうまく行った。
操作性の改良をしたら、マコト先生にプログラムを送って、実際に試してもらって評価してもらおうかと思う。
REM *** アニメ内分法 その5 ***
REM
REM *** 変数一覧 ***
REM
REM color_black = 1:黒色指定
REM color_blue = 2:青色指定
REM color_red = 4:赤色指定
REM window_x1 = -22:ウインドウのレフト
REM window_x2 = 22:ウインドウのライト
REM window_y1 = -22:ウインドウのボトム
REM window_y2 = 22:ウインドウのトップ
REM dot : 描画する点の数
REM x1(dot),y1(dot) : 開始のドット用配列
REM x2(dot),y2(dot) : 最終のドット用配列
REM line_conect(dot) : ドットとドットの繋がり用配列
REM ii jj tt:ループカウンター
REM line_select : 描画する線の種類指定
REM color_select : 描画する線の色指定
REM trace_select$ : 描線のトレースの指定
REM clear_select : 描線を描くときにトレースを残すかどうか
REM flag_on : フラグがオン
REM flag_off : フラグがオフ
REM handan$ : 利用者の指示
REM largeY$ : 大文字の”Y”
REM smally$ : 小文字の”y”
REM largeN$ : 大文字の”N”
REM smalln$ : 小文字の”n”
REM count$ : マウスで指定した位置の順番
REM *** 初期値設定 ***
LET color_black = 1
LET color_blue = 2
LET color_red = 4
LET window_x1 = -22
LET window_y1 = -22
LET window_x2 = 22
LET window_y2 = 22
LET flag_on = 0
LET flag_off = 1
LET largeY$ = "Y"
LET smally$ = "y"
LET largeN$ = "N"
LET smalln$ = "n"
LET array_max = 50
LET array_min = 1
DIM x1(array_max),y1(array_max),x2(array_max),y2(array_max)
DIM line_conect(array_max)
REM **** メイン処理の開始 ***
100
PRINT "描画する線を指定してください"
PRINT "1 : 実線"
PRINT "2 : 破線"
PRINT "3 : 点線"
PRINT "4 : 一点鎖線"
INPUT PROMPT "1〜4?":line_select
IF line_select < 1 OR line_select > 5 THEN
PRINT "間違っています"
PRINT "再入力してください"
GO TO 100
END IF
SET LINE STYLE line_select
110
PRINT "描画する線の色を指定してください"
PRINT "1 : 黒"
PRINT "2 : 青"
PRINT "3 : 緑"
PRINT "4 : 赤"
PRINT "5 : 水色"
PRINT "6 : 黄色"
INPUT PROMPT "1〜6?":color_select
IF color_select < 1 OR color_select > 6 THEN
PRINT "間違っています"
PRINT "再入力してください"
GO TO 110
END IF
120
PRINT "軌跡をそのままにしますか?(Y/N)="
INPUT PROMPT "(Y/N)?" : trace_select$
IF trace_select$ = largeY$ OR tace_select$ = smally$ THEN
LET clear_select = flag_on
ELSEIF trace_select$ =largeN$ OR trace_select$ = smalln$ THEN
LET clear_select = flag_off
ELSE
PRINT "間違っています"
PRINT "再入力してください"
GO TO 120
END IF
REM *** ループ−1 SATRT ***
SET WINDOW window_x1,window_x2,window_y1,window_y2
DRAW GRID
SET AREA COLOR color_red
PLOT
AREA:window_x1,window_y1;window_x1+2,window_y1;window_x1,window_y1+2
REM *** 描画する点の数の指定 ***
DO
PRINT "点の数を決めてください(2〜50)="
INPUT PROMPT "2〜50?":dot
IF array_min < dot AND dot < array_max+1 THEN EXIT DO
PRINT "再入力してください"
LOOP
REM *** 開始位置のドットの指定 ***
PRINT "開始位置を指定してください"
SET POINT COLOR color_blue
SET TEXT COLOR color_blue
FOR ii=1 TO dot
GET POINT: x1(ii),y1(ii)
IF (x1(ii)+y1(ii)) < (window_x1+window_y1+2) THEN
LET line_conect(ii) = flag_off
ELSE
LET line_conect(ii) = flag_on
LET count$ = STR$(ii)
PLOT TEXT,AT x1(ii),y1(ii):count$
PLOT POINTS:x1(ii),y1(ii)
END IF
NEXT ii
REM *** 指定した開始位置のドットの確認のための線を描く ***
SET LINE COLOR color_blue
FOR ii=1 TO dot
IF line_conect(ii) = flag_off THEN
PLOT LINES
ELSE
PLOT LINES:x1(ii),y1(ii);
END IF
NEXT ii
PLOT LINES
REM *** 終了位置のドットの指定 ***
PRINT "終了位置を指定してください"
SET POINT COLOR color_red
SET TEXT COLOR color_red
FOR ii=1 TO dot
IF line_conect(ii) = flag_on THEN
GET POINT: x2(ii),y2(ii)
LET count$ = STR$(ii)
PLOT TEXT,AT x2(ii),y2(ii):count$
PLOT POINTS:X2(ii),Y2(ii)
END IF
NEXT ii
REM *** 指定した終了位置のドットの確認のための線を描く ***
SET LINE COLOR color_red
FOR ii=1 TO dot
IF line_conect(ii) = flag_off THEN
PLOT LINES
ELSE
PLOT LINES:x2(ii),y2(ii);
END IF
NEXT ii
REM *** ループ−1 END ***
REM *** 再度指定しなおすかの問い合わせ ***
130
PRINT "このままアニメ開始?(Y/N)="
INPUT PROMPT "(Y/N)?":handan$
IF handan$ = largeN$ OR handan$ = smalln$ THEN
CLEAR
GO TO 100
ELSEIF NOT(handan$ = largeY$ OR handan$ = smally$) THEN
PRINT "間違っています"
PRINT "再入力してください"
GO TO 130
END IF
REM *** アニメの描画ループ ***
CLEAR
PLOT LINES
SET LINE COLOR color_select
FOR tt=0 TO 1 STEP 0.0001
IF clear_select = flag_off THEN CLEAR
FOR ii=1 TO dot
IF line_conect(ii) = flag_off THEN
PLOT LINES
ELSE
PLOT LINES:tt * x2(ii) + (1-tt) * x1(ii),tt * y2(ii) + (1-tt) *
y1(ii);
END IF
NEXT ii
PLOT LINES
FOR jj=1 TO 5000
NEXT jj
NEXT tt
REM *** 終了判定 ***
140
PRINT "もう一回?(Y/N)="
INPUT PROMPT "(Y/N)?":handan$
IF handan$ = largeY$ OR handan$ = smally$ THEN
CLEAR
GO TO 100
ELSEIF NOT(handan$ = largeN$ OR handan$ = smalln$) THEN
PRINT "間違っています"
PRINT "再入力してください"
GO TO 140
END IF
END
なので、昼は家で過ごしていた。コンビニで、ミート・スパゲッティーの大盛りを買ってきて、コンソメをコッフのお湯で溶かして、そこに魔法の粉でトロミをつけたものをスパゲッティーにかけて、昼ご飯とした。
その間、ズット「十進ベーシック」の簡易アニメ・プログラムの改良を試みていた。中々思うような改造が出来なくて、悩み続けた。何のことはない、変数の綴りの誤りであった。そのせいで、予定したように動かなかった。
今回は、特定領域をクリックすると、そこで線の描画を一度切るようにしようと試みていた。うまくすれば、同時に幾つかの図形をアニメとして動かすことが出来る予定であった。
チットも期待通り動かないので、小さなテストプログラムを作って、テストしてみたりした。その場合はうまく行くのに、本番は期待通り動いてくれないので、脳ミソが汗をかくこことなった。何とかうまく行った。
操作性の改良をしたら、マコト先生にプログラムを送って、実際に試してもらって評価してもらおうかと思う。
REM *** アニメ内分法 その5 ***
REM
REM *** 変数一覧 ***
REM
REM color_black = 1:黒色指定
REM color_blue = 2:青色指定
REM color_red = 4:赤色指定
REM window_x1 = -22:ウインドウのレフト
REM window_x2 = 22:ウインドウのライト
REM window_y1 = -22:ウインドウのボトム
REM window_y2 = 22:ウインドウのトップ
REM dot : 描画する点の数
REM x1(dot),y1(dot) : 開始のドット用配列
REM x2(dot),y2(dot) : 最終のドット用配列
REM line_conect(dot) : ドットとドットの繋がり用配列
REM ii jj tt:ループカウンター
REM line_select : 描画する線の種類指定
REM color_select : 描画する線の色指定
REM trace_select$ : 描線のトレースの指定
REM clear_select : 描線を描くときにトレースを残すかどうか
REM flag_on : フラグがオン
REM flag_off : フラグがオフ
REM handan$ : 利用者の指示
REM largeY$ : 大文字の”Y”
REM smally$ : 小文字の”y”
REM largeN$ : 大文字の”N”
REM smalln$ : 小文字の”n”
REM count$ : マウスで指定した位置の順番
REM *** 初期値設定 ***
LET color_black = 1
LET color_blue = 2
LET color_red = 4
LET window_x1 = -22
LET window_y1 = -22
LET window_x2 = 22
LET window_y2 = 22
LET flag_on = 0
LET flag_off = 1
LET largeY$ = "Y"
LET smally$ = "y"
LET largeN$ = "N"
LET smalln$ = "n"
LET array_max = 50
LET array_min = 1
DIM x1(array_max),y1(array_max),x2(array_max),y2(array_max)
DIM line_conect(array_max)
REM **** メイン処理の開始 ***
100
PRINT "描画する線を指定してください"
PRINT "1 : 実線"
PRINT "2 : 破線"
PRINT "3 : 点線"
PRINT "4 : 一点鎖線"
INPUT PROMPT "1〜4?":line_select
IF line_select < 1 OR line_select > 5 THEN
PRINT "間違っています"
PRINT "再入力してください"
GO TO 100
END IF
SET LINE STYLE line_select
110
PRINT "描画する線の色を指定してください"
PRINT "1 : 黒"
PRINT "2 : 青"
PRINT "3 : 緑"
PRINT "4 : 赤"
PRINT "5 : 水色"
PRINT "6 : 黄色"
INPUT PROMPT "1〜6?":color_select
IF color_select < 1 OR color_select > 6 THEN
PRINT "間違っています"
PRINT "再入力してください"
GO TO 110
END IF
120
PRINT "軌跡をそのままにしますか?(Y/N)="
INPUT PROMPT "(Y/N)?" : trace_select$
IF trace_select$ = largeY$ OR tace_select$ = smally$ THEN
LET clear_select = flag_on
ELSEIF trace_select$ =largeN$ OR trace_select$ = smalln$ THEN
LET clear_select = flag_off
ELSE
PRINT "間違っています"
PRINT "再入力してください"
GO TO 120
END IF
REM *** ループ−1 SATRT ***
SET WINDOW window_x1,window_x2,window_y1,window_y2
DRAW GRID
SET AREA COLOR color_red
PLOT
AREA:window_x1,window_y1;window_x1+2,window_y1;window_x1,window_y1+2
REM *** 描画する点の数の指定 ***
DO
PRINT "点の数を決めてください(2〜50)="
INPUT PROMPT "2〜50?":dot
IF array_min < dot AND dot < array_max+1 THEN EXIT DO
PRINT "再入力してください"
LOOP
REM *** 開始位置のドットの指定 ***
PRINT "開始位置を指定してください"
SET POINT COLOR color_blue
SET TEXT COLOR color_blue
FOR ii=1 TO dot
GET POINT: x1(ii),y1(ii)
IF (x1(ii)+y1(ii)) < (window_x1+window_y1+2) THEN
LET line_conect(ii) = flag_off
ELSE
LET line_conect(ii) = flag_on
LET count$ = STR$(ii)
PLOT TEXT,AT x1(ii),y1(ii):count$
PLOT POINTS:x1(ii),y1(ii)
END IF
NEXT ii
REM *** 指定した開始位置のドットの確認のための線を描く ***
SET LINE COLOR color_blue
FOR ii=1 TO dot
IF line_conect(ii) = flag_off THEN
PLOT LINES
ELSE
PLOT LINES:x1(ii),y1(ii);
END IF
NEXT ii
PLOT LINES
REM *** 終了位置のドットの指定 ***
PRINT "終了位置を指定してください"
SET POINT COLOR color_red
SET TEXT COLOR color_red
FOR ii=1 TO dot
IF line_conect(ii) = flag_on THEN
GET POINT: x2(ii),y2(ii)
LET count$ = STR$(ii)
PLOT TEXT,AT x2(ii),y2(ii):count$
PLOT POINTS:X2(ii),Y2(ii)
END IF
NEXT ii
REM *** 指定した終了位置のドットの確認のための線を描く ***
SET LINE COLOR color_red
FOR ii=1 TO dot
IF line_conect(ii) = flag_off THEN
PLOT LINES
ELSE
PLOT LINES:x2(ii),y2(ii);
END IF
NEXT ii
REM *** ループ−1 END ***
REM *** 再度指定しなおすかの問い合わせ ***
130
PRINT "このままアニメ開始?(Y/N)="
INPUT PROMPT "(Y/N)?":handan$
IF handan$ = largeN$ OR handan$ = smalln$ THEN
CLEAR
GO TO 100
ELSEIF NOT(handan$ = largeY$ OR handan$ = smally$) THEN
PRINT "間違っています"
PRINT "再入力してください"
GO TO 130
END IF
REM *** アニメの描画ループ ***
CLEAR
PLOT LINES
SET LINE COLOR color_select
FOR tt=0 TO 1 STEP 0.0001
IF clear_select = flag_off THEN CLEAR
FOR ii=1 TO dot
IF line_conect(ii) = flag_off THEN
PLOT LINES
ELSE
PLOT LINES:tt * x2(ii) + (1-tt) * x1(ii),tt * y2(ii) + (1-tt) *
y1(ii);
END IF
NEXT ii
PLOT LINES
FOR jj=1 TO 5000
NEXT jj
NEXT tt
REM *** 終了判定 ***
140
PRINT "もう一回?(Y/N)="
INPUT PROMPT "(Y/N)?":handan$
IF handan$ = largeY$ OR handan$ = smally$ THEN
CLEAR
GO TO 100
ELSEIF NOT(handan$ = largeN$ OR handan$ = smalln$) THEN
PRINT "間違っています"
PRINT "再入力してください"
GO TO 140
END IF
END
十進BASIC 第二弾
2007-01-19
例のブルーバックスの「十進BASIC」の中に、立方体の展開図から、立方体へ変化する簡単アニメのプログラムがあります。簡単なプログラムなのに、結構楽しめました。
だから今日はそれを少し手直しして、遊んでました。指定する点の数や、線の種類や、トレースするか否かで、結構面白いアニメとなります。いくらマウスを利用するからといって、50以上の点を指定するのは大変なので、これを配列の上限としてあります。初期値設定の所を修正すれば、簡単に拡張可能となっています。点が増えれば、それだけ滑らかな動きとなります。
マコト先生、オジサンはこの程度で喜んでいます。
一応プロらしく(?)、コードの中に定数が出てこないようにしてあります。もちろん変更しやすいように、「i」などではなく「ii」としてあります。この辺が、将来プログラムを変更するときに便利だったりします。チョットした「コツ」でした。
本来なら、表示するメッセージも変数かDATA文にしたほうがいいのだけれど・・・・ また、もちろん「GO TO文」なしでコーデングできるのだけれど、簡単なロジックで、多重ループとなっていないので、ご容赦願いたいです。
REM *** アニメ内分法 その2 ***
REM
REM *** 変数一覧 ***
REM
REM colorblack = 1:黒色指定
REM colorblue = 2:青色指定
REM colorred = 4:赤色指定
REM windowx1 = -22:ウインドウのレフト
REM windowx2 = 22:ウインドウのライト
REM windowy1 = -22:ウインドウのボトム
REM windowy2 = 22:ウインドウのトップ
REM dot : 描画する点の数
REM x1(dot),y1(dot) : 開始のドット用配列
REM x2(dot),y2(dot) : 最終のドット用配列
REM ii jj tt:ループカウンター
REM lineselect : 描画する線の種類指定
REM colorselect : 描画する線の色指定
REM traceselect$ : 描線のトレースの指定
REM clearselect : 描線を描くときにトレースを残すかどうか
REM flagon : フラグがオン
REM flagoff : フラグがオフ
REM handan$ : 利用者の指示
REM largeY$ : 大文字の”Y”
REM smally$ : 小文字の”y”
REM largeN$ : 大文字の”N”
REM smalln$ : 小文字の”n”
REM *** 初期値設定 ***
LET colorblack = 1
LET colorblue = 2
LET colorred = 4
LET windowx1 = -22
LET windowy1 = -22
LET windowx2 = 22
LET windowy2 = 22
LET flagon = 0
LET flagoff = 1
LET largeY$ = "Y"
LET smally$ = "y"
LET largeN$ = "N"
LET smalln$ = "n"
LET arraymax = 50
LET arraymin = 1
DIM x1(arraymax),y1(arraymax),x2(arraymax),y2(arraymax)
REM **** メイン処理の開始 ***
100
PRINT "描画する線を指定してください"
PRINT "1 : 実線"
PRINT "2 : 破線"
PRINT "3 : 点線"
PRINT "4 : 一点鎖線"
INPUT lineselect
IF lineselect < 1 OR lineselect > 5 THEN
PRINT "間違っています"
PRINT "再入力してください"
GO TO 100
END IF
SET LINE STYLE lineselect
110
PRINT "描画する線の色を指定してください"
PRINT "1 : 黒"
PRINT "2 : 青"
PRINT "3 : 緑"
PRINT "4 : 赤"
PRINT "5 : 水色"
PRINT "6 : 黄色"
INPUT colorselect
IF colorselect < 1 OR colorselect > 6 THEN
PRINT "間違っています"
PRINT "再入力してください"
GO TO 110
END IF
120
PRINT "軌跡をそのままにしますか?(Y/N)="
INPUT traceselect$
IF traceselect$ = largeY$ THEN
LET clearselect = flagon
ELSEIF traceselect$ = smally$ THEN
LET clearselect = flagon
ELSEIF traceselect$ = largeN$ THEN
LET clearselect = flagoff
ELSEIF traceselect$ = smalln$ THEN
LET clearselect = flagoff
ELSE
PRINT "間違っています"
PRINT "再入力してください"
GO TO 120
END IF
REM *** ループ−1 SATRT ***
SET WINDOW windowx1,windowx2,windowy1,windowy2
DRAW GRID
REM *** 描画する点の数の指定 ***
DO
INPUT PROMPT "点の数を決めてください(2〜50)=":dot
IF arraymin < dot AND dot < arraymax+1 THEN EXIT DO
PRINT "再入力してください"
LOOP
REM *** 開始位置のドットの指定 ***
PRINT "開始位置を指定してください"
SET POINT COLOR colorblue
FOR ii=1 TO dot
GET POINT: x1(ii),y1(ii)
PLOT POINTS:x1(ii),y1(ii)
NEXT ii
REM *** 指定した開始位置のドットの確認のための線を描く ***
SET LINE COLOR colorblue
FOR ii=1 TO dot
PLOT LINES:x1(ii),y1(ii);
NEXT ii
PLOT LINES
REM *** 終了位置のドットの指定 ***
PRINT "終了位置を指定してください"
SET POINT COLOR colorred
FOR ii=1 TO dot
GET POINT: x2(ii),y2(ii)
PLOT POINTS:X2(ii),Y2(ii)
NEXT ii
REM *** 指定した終了位置のドットの確認のための線を描く ***
SET LINE COLOR colorred
FOR ii=1 TO dot
PLOT LINES:x2(ii),y2(ii);
NEXT ii
REM *** ループ−1 END ***
REM *** 再度指定しなおすかの問い合わせ ***
130
INPUT PROMPT "このままアニメ開始?(Y/N)=":handan$
IF handan$ = largeN$ OR handan$ = smalln$ THEN
CLEAR
GO TO 100
ELSEIF NOT(handan$ = largeY$ OR handan$ = smally$) THEN
GO TO 130
END IF
REM *** アニメの描画ループ ***
CLEAR
PLOT LINES
SET LINE COLOR colorselect
FOR tt=0 TO 1 STEP 0.0001
IF clearselect = flagoff THEN CLEAR
FOR ii=1 TO dot
PLOT LINES:tt * x2(ii) + (1-tt) * x1(ii),tt * y2(ii) + (1-tt) *
y1(ii);
NEXT ii
PLOT LINES
FOR jj=1 TO 5000
NEXT jj
NEXT tt
REM *** 終了判定 ***
INPUT PROMPT "もう一回?(Y/N)=":handan$
IF handan$ = largeY$ OR handan$ = smally$ THEN
CLEAR
GO TO 100
END IF
END
だから今日はそれを少し手直しして、遊んでました。指定する点の数や、線の種類や、トレースするか否かで、結構面白いアニメとなります。いくらマウスを利用するからといって、50以上の点を指定するのは大変なので、これを配列の上限としてあります。初期値設定の所を修正すれば、簡単に拡張可能となっています。点が増えれば、それだけ滑らかな動きとなります。
マコト先生、オジサンはこの程度で喜んでいます。
一応プロらしく(?)、コードの中に定数が出てこないようにしてあります。もちろん変更しやすいように、「i」などではなく「ii」としてあります。この辺が、将来プログラムを変更するときに便利だったりします。チョットした「コツ」でした。
本来なら、表示するメッセージも変数かDATA文にしたほうがいいのだけれど・・・・ また、もちろん「GO TO文」なしでコーデングできるのだけれど、簡単なロジックで、多重ループとなっていないので、ご容赦願いたいです。
REM *** アニメ内分法 その2 ***
REM
REM *** 変数一覧 ***
REM
REM colorblack = 1:黒色指定
REM colorblue = 2:青色指定
REM colorred = 4:赤色指定
REM windowx1 = -22:ウインドウのレフト
REM windowx2 = 22:ウインドウのライト
REM windowy1 = -22:ウインドウのボトム
REM windowy2 = 22:ウインドウのトップ
REM dot : 描画する点の数
REM x1(dot),y1(dot) : 開始のドット用配列
REM x2(dot),y2(dot) : 最終のドット用配列
REM ii jj tt:ループカウンター
REM lineselect : 描画する線の種類指定
REM colorselect : 描画する線の色指定
REM traceselect$ : 描線のトレースの指定
REM clearselect : 描線を描くときにトレースを残すかどうか
REM flagon : フラグがオン
REM flagoff : フラグがオフ
REM handan$ : 利用者の指示
REM largeY$ : 大文字の”Y”
REM smally$ : 小文字の”y”
REM largeN$ : 大文字の”N”
REM smalln$ : 小文字の”n”
REM *** 初期値設定 ***
LET colorblack = 1
LET colorblue = 2
LET colorred = 4
LET windowx1 = -22
LET windowy1 = -22
LET windowx2 = 22
LET windowy2 = 22
LET flagon = 0
LET flagoff = 1
LET largeY$ = "Y"
LET smally$ = "y"
LET largeN$ = "N"
LET smalln$ = "n"
LET arraymax = 50
LET arraymin = 1
DIM x1(arraymax),y1(arraymax),x2(arraymax),y2(arraymax)
REM **** メイン処理の開始 ***
100
PRINT "描画する線を指定してください"
PRINT "1 : 実線"
PRINT "2 : 破線"
PRINT "3 : 点線"
PRINT "4 : 一点鎖線"
INPUT lineselect
IF lineselect < 1 OR lineselect > 5 THEN
PRINT "間違っています"
PRINT "再入力してください"
GO TO 100
END IF
SET LINE STYLE lineselect
110
PRINT "描画する線の色を指定してください"
PRINT "1 : 黒"
PRINT "2 : 青"
PRINT "3 : 緑"
PRINT "4 : 赤"
PRINT "5 : 水色"
PRINT "6 : 黄色"
INPUT colorselect
IF colorselect < 1 OR colorselect > 6 THEN
PRINT "間違っています"
PRINT "再入力してください"
GO TO 110
END IF
120
PRINT "軌跡をそのままにしますか?(Y/N)="
INPUT traceselect$
IF traceselect$ = largeY$ THEN
LET clearselect = flagon
ELSEIF traceselect$ = smally$ THEN
LET clearselect = flagon
ELSEIF traceselect$ = largeN$ THEN
LET clearselect = flagoff
ELSEIF traceselect$ = smalln$ THEN
LET clearselect = flagoff
ELSE
PRINT "間違っています"
PRINT "再入力してください"
GO TO 120
END IF
REM *** ループ−1 SATRT ***
SET WINDOW windowx1,windowx2,windowy1,windowy2
DRAW GRID
REM *** 描画する点の数の指定 ***
DO
INPUT PROMPT "点の数を決めてください(2〜50)=":dot
IF arraymin < dot AND dot < arraymax+1 THEN EXIT DO
PRINT "再入力してください"
LOOP
REM *** 開始位置のドットの指定 ***
PRINT "開始位置を指定してください"
SET POINT COLOR colorblue
FOR ii=1 TO dot
GET POINT: x1(ii),y1(ii)
PLOT POINTS:x1(ii),y1(ii)
NEXT ii
REM *** 指定した開始位置のドットの確認のための線を描く ***
SET LINE COLOR colorblue
FOR ii=1 TO dot
PLOT LINES:x1(ii),y1(ii);
NEXT ii
PLOT LINES
REM *** 終了位置のドットの指定 ***
PRINT "終了位置を指定してください"
SET POINT COLOR colorred
FOR ii=1 TO dot
GET POINT: x2(ii),y2(ii)
PLOT POINTS:X2(ii),Y2(ii)
NEXT ii
REM *** 指定した終了位置のドットの確認のための線を描く ***
SET LINE COLOR colorred
FOR ii=1 TO dot
PLOT LINES:x2(ii),y2(ii);
NEXT ii
REM *** ループ−1 END ***
REM *** 再度指定しなおすかの問い合わせ ***
130
INPUT PROMPT "このままアニメ開始?(Y/N)=":handan$
IF handan$ = largeN$ OR handan$ = smalln$ THEN
CLEAR
GO TO 100
ELSEIF NOT(handan$ = largeY$ OR handan$ = smally$) THEN
GO TO 130
END IF
REM *** アニメの描画ループ ***
CLEAR
PLOT LINES
SET LINE COLOR colorselect
FOR tt=0 TO 1 STEP 0.0001
IF clearselect = flagoff THEN CLEAR
FOR ii=1 TO dot
PLOT LINES:tt * x2(ii) + (1-tt) * x1(ii),tt * y2(ii) + (1-tt) *
y1(ii);
NEXT ii
PLOT LINES
FOR jj=1 TO 5000
NEXT jj
NEXT tt
REM *** 終了判定 ***
INPUT PROMPT "もう一回?(Y/N)=":handan$
IF handan$ = largeY$ OR handan$ = smally$ THEN
CLEAR
GO TO 100
END IF
END
再入院、八日目
2007-01-18
昨日に続いて、昼ご飯用と晩ご飯用のオカズの差し入れをしてきた。
昨日は、行ったら不在だった。隣の年寄りと一緒に、病院内の風呂に入っていた。久しぶりの風呂で、スッキリした様子であった。
昨日は、昼ご飯用には、トマトと魚肉ソウセージと卵のケチャップ炒め、晩ご飯用には、はんぺんと大根の薄切りの煮物を持っていった。昼ご飯に久しぶりの魚肉ソーセージのケチャップ味を食べて、ご機嫌だった。昨日の昼ご飯には、ジャガイモと人参に鳥の胸肉(?)の煮物がメインとなっていた。母には食中毒警戒のため肉にシッカリ火を通してあるので、肉のオカズが硬くて食べにくいようであった。
肝性脳症は随分改善してきて、頭の霧が晴れてきて、以前の母の聡明さを取り戻ししあるようである。だが歳のせいもあるし、自分自身が思っているほどの状態ではないように思える。
昨日看護師が、やっと母から薬を取りあけたようである。母は、チャンと飲んでいるつもりでも、朝の薬ばかり減っていたようである。母のような容態の患者に、そもそも薬の自己管理をさせること事態か間違いである。おまけに、処方が変わって飲まない薬があるのに、それさえ患者に渡したままであった。長年お世話になっている病院であるが、看護師のレベルはかなり低いとしか言いようがない。
今日は、昼用に「う巻き」、晩ご飯用に「里芋とはんぺんの煮物」を持っていった。今日の昼ご飯は、木曜定番の麺類で、うどんと豆腐の奴をペロリと食べて、サツマイモのレモン煮は三時のオヤツに残していた。
昨日は、行ったら不在だった。隣の年寄りと一緒に、病院内の風呂に入っていた。久しぶりの風呂で、スッキリした様子であった。
昨日は、昼ご飯用には、トマトと魚肉ソウセージと卵のケチャップ炒め、晩ご飯用には、はんぺんと大根の薄切りの煮物を持っていった。昼ご飯に久しぶりの魚肉ソーセージのケチャップ味を食べて、ご機嫌だった。昨日の昼ご飯には、ジャガイモと人参に鳥の胸肉(?)の煮物がメインとなっていた。母には食中毒警戒のため肉にシッカリ火を通してあるので、肉のオカズが硬くて食べにくいようであった。
肝性脳症は随分改善してきて、頭の霧が晴れてきて、以前の母の聡明さを取り戻ししあるようである。だが歳のせいもあるし、自分自身が思っているほどの状態ではないように思える。
昨日看護師が、やっと母から薬を取りあけたようである。母は、チャンと飲んでいるつもりでも、朝の薬ばかり減っていたようである。母のような容態の患者に、そもそも薬の自己管理をさせること事態か間違いである。おまけに、処方が変わって飲まない薬があるのに、それさえ患者に渡したままであった。長年お世話になっている病院であるが、看護師のレベルはかなり低いとしか言いようがない。
今日は、昼用に「う巻き」、晩ご飯用に「里芋とはんぺんの煮物」を持っていった。今日の昼ご飯は、木曜定番の麺類で、うどんと豆腐の奴をペロリと食べて、サツマイモのレモン煮は三時のオヤツに残していた。
マコト先生の評価
2007-01-18
マコト先生から、以下のようなコメントを頂いた。
↓
『プログラムは、もう、頭の中にな〜んにも残ってないです。
Basicはなんで大文字で書くんでしょうね???
ただでさえ英語が苦手なのに大文字で書かれると余計に読めなくなってしまいます、ううう。
隊長が修正したプログラムはコメントが多くてよいですね、
1行にコメントを1個書くぐらいの気持ちで書くのがよいね、
よいプログラムはメンテナンス性の高いプログラムだもんなあ。
私はBasicわかんないけど、関数つくって呼び出しとかできるのかなあ???
Basicって、私は歴史で知るだけだからワカンナイです。
私のときはC++の全盛時代でjavaが有望なときだったなあ。』
さすがマコト先生! 鋭く本質を突いている。
『よいプログラムはメンテナンス性の高いプログラムだもんなあ。』
これこそが、プログラミングの基礎にして、もっとも難しいことです。
慣れてくると、ついつい技巧的になり、他人には判読不可能なアルゴリズムを作りがちになる。
このベーシックは小文字で書いてもいいらしいです。理想的には、予約語と利用者定義の関数や変数などを区別するためには、大文字と小文字で書き分けたりした方がいいのかもしれないけれど。
まぁ、あのアセンブラーのような言語だと、コメントがないと、作った本人以外全く何をしているのか分からなかったりします。そうならないようにプログラム言語か、高級化したはずなのに、その流れに逆行したのがC言語です。
C言語は、もともとUNIXのアセンブラーを書き直すために作られた言語なので、親・機械語的です。とてもとても、高級言語とはいえない。どう見ても素人向けの言語ではない。さらにそこえ、あの面倒な「オブジェクト指向」をのっけたもんだから、C++は不可思議な言語になっているように思えます。
C++の解説の本をパラパラと見ても、そのプログラムが何をしているのか、さっぱり分からない。あんな言語でよくコーディングできるものだと思います。「オブジェクト指向」の解説本にあるような例なら、有効な考え方だと思いますが、世の中のすべてがあの枠組みで捉えられるとは思えない。それがかえって、プログラムを複雑にしてしまったように思えてならない。まだ人工知能のミンスキー教授の「フレーム」の概念の方が、可能性があったように理解していました。
ついでに、プリントアウトした「十進BASIC」の解説によると、関数定義も出来るし、再帰呼び出しも可能と書いてありました。なにせオジサンは、紙を手にしないと理解できない。
このシステムは、国際規格のFULL BASICとなっています。全くMicrosoft BASICとは、基本となる考え方が異なっているようです。少し長くなるが解説から引用すると、
「Visual BASICでは、フォームを作成し、フォーム上に実行を開始するためのボタンと結果を表示するためのウインドウを作成することから始めないと何もできません。Visual BASICでは、プログラムはプログラムを書く人自身の問題を解決するために書かれるのではなく、他者が使うために書かれるのが普通です。」
そう!、だから私にはVisual BASICが使いにくいのだ!!
「しかし、本来のBASICは、問題解決指向です。」「Full BASICは、コンピーターの専門家でない人が自分自身で問題を解決するために使うことを目的に設計された言語です。」
その良い例が、数値に型がなく、すべて浮動小数点十進数となっていることだと思います。
時折勉強して、プログラムを楽しんでみようかと思います。
いつかマコト先生に作品を楽しんでもらえたら・・・・いいけどなぁ。
そんな日が来るだろうか??
↓
『プログラムは、もう、頭の中にな〜んにも残ってないです。
Basicはなんで大文字で書くんでしょうね???
ただでさえ英語が苦手なのに大文字で書かれると余計に読めなくなってしまいます、ううう。
隊長が修正したプログラムはコメントが多くてよいですね、
1行にコメントを1個書くぐらいの気持ちで書くのがよいね、
よいプログラムはメンテナンス性の高いプログラムだもんなあ。
私はBasicわかんないけど、関数つくって呼び出しとかできるのかなあ???
Basicって、私は歴史で知るだけだからワカンナイです。
私のときはC++の全盛時代でjavaが有望なときだったなあ。』
さすがマコト先生! 鋭く本質を突いている。
『よいプログラムはメンテナンス性の高いプログラムだもんなあ。』
これこそが、プログラミングの基礎にして、もっとも難しいことです。
慣れてくると、ついつい技巧的になり、他人には判読不可能なアルゴリズムを作りがちになる。
このベーシックは小文字で書いてもいいらしいです。理想的には、予約語と利用者定義の関数や変数などを区別するためには、大文字と小文字で書き分けたりした方がいいのかもしれないけれど。
まぁ、あのアセンブラーのような言語だと、コメントがないと、作った本人以外全く何をしているのか分からなかったりします。そうならないようにプログラム言語か、高級化したはずなのに、その流れに逆行したのがC言語です。
C言語は、もともとUNIXのアセンブラーを書き直すために作られた言語なので、親・機械語的です。とてもとても、高級言語とはいえない。どう見ても素人向けの言語ではない。さらにそこえ、あの面倒な「オブジェクト指向」をのっけたもんだから、C++は不可思議な言語になっているように思えます。
C++の解説の本をパラパラと見ても、そのプログラムが何をしているのか、さっぱり分からない。あんな言語でよくコーディングできるものだと思います。「オブジェクト指向」の解説本にあるような例なら、有効な考え方だと思いますが、世の中のすべてがあの枠組みで捉えられるとは思えない。それがかえって、プログラムを複雑にしてしまったように思えてならない。まだ人工知能のミンスキー教授の「フレーム」の概念の方が、可能性があったように理解していました。
ついでに、プリントアウトした「十進BASIC」の解説によると、関数定義も出来るし、再帰呼び出しも可能と書いてありました。なにせオジサンは、紙を手にしないと理解できない。
このシステムは、国際規格のFULL BASICとなっています。全くMicrosoft BASICとは、基本となる考え方が異なっているようです。少し長くなるが解説から引用すると、
「Visual BASICでは、フォームを作成し、フォーム上に実行を開始するためのボタンと結果を表示するためのウインドウを作成することから始めないと何もできません。Visual BASICでは、プログラムはプログラムを書く人自身の問題を解決するために書かれるのではなく、他者が使うために書かれるのが普通です。」
そう!、だから私にはVisual BASICが使いにくいのだ!!
「しかし、本来のBASICは、問題解決指向です。」「Full BASICは、コンピーターの専門家でない人が自分自身で問題を解決するために使うことを目的に設計された言語です。」
その良い例が、数値に型がなく、すべて浮動小数点十進数となっていることだと思います。
時折勉強して、プログラムを楽しんでみようかと思います。
いつかマコト先生に作品を楽しんでもらえたら・・・・いいけどなぁ。
そんな日が来るだろうか??
「ホワイトカラーエグゼンプション」の失敗の理由
2007-01-18
「ホワイトカラーエグゼンプション」の失敗し理由は、法律の中身ウンヌンの前に、このわけの分からない英語にあった。最近の官僚達は、日本人のくせに日本語を知らない。ボンクラの安部首相、それでも「美しい日本」なのでしょうか。自国の言葉を大事にしないようで、一体何を誇れというのか? 無能な安倍首相よ。ネーミグこそ、すべてであるのに。
対象となるのは、
(1)労働時間では成果を適切に評価できない
(2)使用者から業務遂行の手段や時間配分の決定など指示を受けない
(3)年収が相当高い
などらしいが、問題なのは(3)である。厚労省は「九百万以上」を想定しているらしいが、そんなのはドンドン下げられるにきまっいている。現に日経連は、「四百万」にしろといきまいていた。経営サイドは、この法案を単なる「残業代ゼロ法案」としか考えていない。厚労省がいう「新しい働き方」などと、経営サイドは考えない。この法案の最大の恩恵は、どんなに過労死しようが、その責任から逃れられる経営サイドにあるのであって、労働側にあるのではない。現状ですら、過労死の認定は難しいのに、これを助長こそすれ、何の防止にはならない。
「対象者の同意が必要」「週休二日以上でなければ罰則を科す」など何の歯止めにもならない。何故なら同意しなければ、解雇されるからである。その結果、過労死しようと、「同意を得てます」と簡単に言い訳されてしまう。同様に、「勝手に休日も働いていた」と逃げられる。
懲りずに、秋にまた再提出するらしい。この法案の何処に「美しい日本」があるのか安部晋三よ???
対象となるのは、
(1)労働時間では成果を適切に評価できない
(2)使用者から業務遂行の手段や時間配分の決定など指示を受けない
(3)年収が相当高い
などらしいが、問題なのは(3)である。厚労省は「九百万以上」を想定しているらしいが、そんなのはドンドン下げられるにきまっいている。現に日経連は、「四百万」にしろといきまいていた。経営サイドは、この法案を単なる「残業代ゼロ法案」としか考えていない。厚労省がいう「新しい働き方」などと、経営サイドは考えない。この法案の最大の恩恵は、どんなに過労死しようが、その責任から逃れられる経営サイドにあるのであって、労働側にあるのではない。現状ですら、過労死の認定は難しいのに、これを助長こそすれ、何の防止にはならない。
「対象者の同意が必要」「週休二日以上でなければ罰則を科す」など何の歯止めにもならない。何故なら同意しなければ、解雇されるからである。その結果、過労死しようと、「同意を得てます」と簡単に言い訳されてしまう。同様に、「勝手に休日も働いていた」と逃げられる。
懲りずに、秋にまた再提出するらしい。この法案の何処に「美しい日本」があるのか安部晋三よ???
不二家のその後
2007-01-17
予想通り、不二家はクズ企業であった。食品を作る資格すらない、腐った同族企業であった。菓子業界は、何処も同族企業ばかりである。
何も同族経営そのものを否定しようとは思わない。だけと京都辺りの「老舗」では、後継者に対して厳しい環境を潜り抜けることを科してきた。自家で育てる場合は、「先代は鬼のように恐かった」というくらい父親から人一倍厳しく仕込まれてきた。もしくは外に修行に出る場合には、その時々で、もっとも厳しいとされる店に修行に出される。
そこを経て、初めて後継者の第一歩を踏み出せる。その後も常連さんたちによる厳しいチェックにより、常に精進し続けなければならない。
ところが今の同族経営の後継者達は、そのような経験をしていないし、させもしない。最近の名古屋地方の企業なら、「パロマ」など格好の例であろう。今回の不二家同様、問題があってもボンクラ経営者の自己満足のために、周りのザコどもが問題を隠してしまう。ボンクラは、そのことに気づかない。結局問題はドンドン肥大して、ついには会社の存続そのものが危機に瀕してしまう。
以前書いた「礼楽的社会における人望」などは、彼等は一度も学ばすに「エライサン」になったのであろう。まだ私のほうがマシだったのではないだろうか?
不二家の残された売り物は、もはや「ペコちゃん」のイメージとチェーン店のネットワークだけで、工場やその管理をしていた者達は、お荷物にこそなれ売り物にはならない。一体何処がそんな企業を買うのであろう。
資産としては、土地ぐらいしかないのではないか。せいぜい「ハゲタカ」どもに買われて、土地などの資産を食い荒らされて、後はゴミのように捨てられるのが残された道のように思える。
そこの「御曹司」よ、君は帝王学を本気で学んでいるのか?
昨今のネクタイすらまともに締められないほど、若者達の平均値が下がっていることを思うとき、今後の同族経営企業は次々と倒れていくことが予想される。
平均値の低下は、ドップの低下を意味するから。
君はチャンとネクタイを締められますか?
靴を手入れしていますか??
スーツの手入れは行き届いていますか???
という質問すら理解できないほど、昨今の若者達は馬鹿になっているのではないだろうか????
金持ちはいるようだけれど、じゃあ彼等は世界レベルのセレブたるほと、基礎が出来ているのだろうか???
日本人なのに、箸すらまともに使えないバカに・・・
ちなみに、Yシャッのすそが何故丸くなっているか知っていますか?
ダサいオジサンは、その理由をしています。
もし答えられないなら、幾ら財布に入っていようとも、君は尊敬に値しない。
何も同族経営そのものを否定しようとは思わない。だけと京都辺りの「老舗」では、後継者に対して厳しい環境を潜り抜けることを科してきた。自家で育てる場合は、「先代は鬼のように恐かった」というくらい父親から人一倍厳しく仕込まれてきた。もしくは外に修行に出る場合には、その時々で、もっとも厳しいとされる店に修行に出される。
そこを経て、初めて後継者の第一歩を踏み出せる。その後も常連さんたちによる厳しいチェックにより、常に精進し続けなければならない。
ところが今の同族経営の後継者達は、そのような経験をしていないし、させもしない。最近の名古屋地方の企業なら、「パロマ」など格好の例であろう。今回の不二家同様、問題があってもボンクラ経営者の自己満足のために、周りのザコどもが問題を隠してしまう。ボンクラは、そのことに気づかない。結局問題はドンドン肥大して、ついには会社の存続そのものが危機に瀕してしまう。
以前書いた「礼楽的社会における人望」などは、彼等は一度も学ばすに「エライサン」になったのであろう。まだ私のほうがマシだったのではないだろうか?
不二家の残された売り物は、もはや「ペコちゃん」のイメージとチェーン店のネットワークだけで、工場やその管理をしていた者達は、お荷物にこそなれ売り物にはならない。一体何処がそんな企業を買うのであろう。
資産としては、土地ぐらいしかないのではないか。せいぜい「ハゲタカ」どもに買われて、土地などの資産を食い荒らされて、後はゴミのように捨てられるのが残された道のように思える。
そこの「御曹司」よ、君は帝王学を本気で学んでいるのか?
昨今のネクタイすらまともに締められないほど、若者達の平均値が下がっていることを思うとき、今後の同族経営企業は次々と倒れていくことが予想される。
平均値の低下は、ドップの低下を意味するから。
君はチャンとネクタイを締められますか?
靴を手入れしていますか??
スーツの手入れは行き届いていますか???
という質問すら理解できないほど、昨今の若者達は馬鹿になっているのではないだろうか????
金持ちはいるようだけれど、じゃあ彼等は世界レベルのセレブたるほと、基礎が出来ているのだろうか???
日本人なのに、箸すらまともに使えないバカに・・・
ちなみに、Yシャッのすそが何故丸くなっているか知っていますか?
ダサいオジサンは、その理由をしています。
もし答えられないなら、幾ら財布に入っていようとも、君は尊敬に値しない。
十進BASIC 数当てゲーム
2007-01-16
マコト先生!
先日から読んでいる「十進BASIC」から、こんなのゲームを作って遊んでいました。
(仮称)十進BASIC ホームページ
http://hp.vector.co.jp/authors/VA008683/
以下は、原作を若干修正したものです。そのままだと、怒られそうなので、チョット手を加えてあります。数字を入力するとき、原作ではカンマで区切って三つの数を入力するようになっていたのを、一々カンマなど入力するのが面倒なので、三桁の数字で入力して、プログラム側で三組の数に分解するようにしてあります。工夫したのは、そこだけです。
後は変数に、チャンと名前をつけてある。厳しくコーデング作法を指導してくれた先輩の教えを守り、「読めるコード」「仕様書など見なくていいプログラム」を目指してみたけれど・・・・
REM *** COWS AND BULLS 数当てゲーム ***
REM
REM LOW,MIDLE,HIGH:問題の三桁の乱数
REM NUM:入力された予想の三桁の数
REM FIGURE(3):入力された三桁の数numの各桁の数
REM COUNTER:試行回数のカウント
REM i:ループカウンター
REM COW:桁と値が一致した数
REM BULL:桁が違うが、問題の三桁の数にのいずれかに一致していてる値
REM *** 初期処理 ***
RANDOMIZE
LET LOW=INT(10*RND)
LET MIDLE=INT(10*RND)
LET HIGH=INT(10*RND)
LET COUNTER=0
DIM FIGURE(3)
REM *** 主処理 ***
10 LET BULL=0
LET COW=0
LET COUNTER=COUNTER+1
REM *** 予想数値入力 と 桁分解 ***
PRINT "三桁の予想値を入力"
INPUT NUM
FOR i=1 TO 3
LET FIGURE(i)=MOD(INT(NUM/(10^(i-1))),10)
NEXT i
PRINT FIGURE(3),FIGURE(2),FIGURE(1)
REM *** 各桁の判定 ***
IF FIGURE(1)=LOW THEN LET COW=COW+1
IF FIGURE(2)=MIDLE THEN LET COW=COW+1
IF FIGURE(3)=HIGH THEN LET COW=COW+1
IF FIGURE(1)=MIDLE OR FIGURE(1)=HIGH THEN LET BULL=BULL+1
IF FIGURE(2)=LOW OR FIGURE(2)=HIGH THEN LET BULL=BULL+1
IF FIGURE(3)=LOW OR FIGURE(3)=MIDLE THEN LET BULL=BULL+1
IF COW=3 THEN GOTO 20
PRINT "BULLS(桁位置が違うが含まれる):";BULL
PRINT "COWS(桁位置と値が一致):";COW
GOTO 10
REM *** 終了処理 ***
20 PRINT "WELL DONE!"
PRINT "試行回数は";COUNTER
END
こちらが、あの悪名高き「GO TO文」使わないように改良したバージョンです。任意の桁数の数字当てゲームにしてもいいのだけれど、三桁以上だと解くのが途端に難しくなるのでこの辺りがよいのかもしれません。
REM *** COWS AND BULLS 数当てゲーム ***
REM
REM ANSWER(3):予想対象の三桁の数
REM NUM:入力された予想の三桁の数
REM FIGURE(3):入力された三桁の数numの各桁の数
REM COUNTER:試行回数のカウント
REM i j:ループカウンター
REM COW:桁と値が一致した数
REM BULL:桁が違うが、問題の三桁の数にのいずれかに一致していてる値
REM TRAIL$:ゲームの継続判定
REM *** LOOP−1 START ***
DO
RANDOMIZE
LET COUNTER=0
DIM FIGURE(3)
DIM ANSWER(3)
REM *** 問題の数のセット ***
FOR i=1 TO 3
LET ANSWER(i)=INT(RND*10)
NEXT i
REM *** LOOP−2 START ***
DO
LET BULL=0
LET COW=0
LET COUNTER=COUNTER+1
REM *** 予想数値入力 と 桁分解 ***
PRINT "三桁の予想値を入力"
INPUT NUM
FOR i=1 TO 3
LET FIGURE(i)=MOD(INT(NUM/(10^(i-1))),10)
NEXT i
PRINT FIGURE(3),FIGURE(2),FIGURE(1)
REM *** 各桁の判定 ***
FOR i=1 TO 3
FOR j=1 TO 3
IF ANSWER(i)=FIGURE(j) THEN
IF i=j THEN
LET COW=COW + 1
ELSE
LET BULL=BULL + 1
END IF
END IF
NEXT j
NEXT i
REM *** LOOP−2 EXIT ****
IF COW=3 THEN EXIT DO
PRINT "BULLS(桁位置が違うが含まれる):";BULL
PRINT "COWS(桁位置と値が一致):";COW
REM *** LOOP−2 END ***
LOOP
REM *** 終了処理 ***
PRINT "WELL DONE!"
PRINT "試行回数は";COUNTER
PRINT "もう一回?(Y/N)"
INPUT TRIAL$
REM *** LOOP−1 END ***
LOOP WHILE TRIAL$="Y"
PRINT "SEE YOU AGAIN!"
END
マコト先生出来はどんなもんでしょうか??
相当頭がさび付いています。コマンドもほとんど覚えていないので、ヘルプを適当に覗いて作ってみました。
追記
半角のスペースは表示されないようで、インテンデーションが無くなってしまった。が、ブログでは、こちらの方が見やすいかな。
先日から読んでいる「十進BASIC」から、こんなのゲームを作って遊んでいました。
(仮称)十進BASIC ホームページ
http://hp.vector.co.jp/authors/VA008683/
以下は、原作を若干修正したものです。そのままだと、怒られそうなので、チョット手を加えてあります。数字を入力するとき、原作ではカンマで区切って三つの数を入力するようになっていたのを、一々カンマなど入力するのが面倒なので、三桁の数字で入力して、プログラム側で三組の数に分解するようにしてあります。工夫したのは、そこだけです。
後は変数に、チャンと名前をつけてある。厳しくコーデング作法を指導してくれた先輩の教えを守り、「読めるコード」「仕様書など見なくていいプログラム」を目指してみたけれど・・・・
REM *** COWS AND BULLS 数当てゲーム ***
REM
REM LOW,MIDLE,HIGH:問題の三桁の乱数
REM NUM:入力された予想の三桁の数
REM FIGURE(3):入力された三桁の数numの各桁の数
REM COUNTER:試行回数のカウント
REM i:ループカウンター
REM COW:桁と値が一致した数
REM BULL:桁が違うが、問題の三桁の数にのいずれかに一致していてる値
REM *** 初期処理 ***
RANDOMIZE
LET LOW=INT(10*RND)
LET MIDLE=INT(10*RND)
LET HIGH=INT(10*RND)
LET COUNTER=0
DIM FIGURE(3)
REM *** 主処理 ***
10 LET BULL=0
LET COW=0
LET COUNTER=COUNTER+1
REM *** 予想数値入力 と 桁分解 ***
PRINT "三桁の予想値を入力"
INPUT NUM
FOR i=1 TO 3
LET FIGURE(i)=MOD(INT(NUM/(10^(i-1))),10)
NEXT i
PRINT FIGURE(3),FIGURE(2),FIGURE(1)
REM *** 各桁の判定 ***
IF FIGURE(1)=LOW THEN LET COW=COW+1
IF FIGURE(2)=MIDLE THEN LET COW=COW+1
IF FIGURE(3)=HIGH THEN LET COW=COW+1
IF FIGURE(1)=MIDLE OR FIGURE(1)=HIGH THEN LET BULL=BULL+1
IF FIGURE(2)=LOW OR FIGURE(2)=HIGH THEN LET BULL=BULL+1
IF FIGURE(3)=LOW OR FIGURE(3)=MIDLE THEN LET BULL=BULL+1
IF COW=3 THEN GOTO 20
PRINT "BULLS(桁位置が違うが含まれる):";BULL
PRINT "COWS(桁位置と値が一致):";COW
GOTO 10
REM *** 終了処理 ***
20 PRINT "WELL DONE!"
PRINT "試行回数は";COUNTER
END
こちらが、あの悪名高き「GO TO文」使わないように改良したバージョンです。任意の桁数の数字当てゲームにしてもいいのだけれど、三桁以上だと解くのが途端に難しくなるのでこの辺りがよいのかもしれません。
REM *** COWS AND BULLS 数当てゲーム ***
REM
REM ANSWER(3):予想対象の三桁の数
REM NUM:入力された予想の三桁の数
REM FIGURE(3):入力された三桁の数numの各桁の数
REM COUNTER:試行回数のカウント
REM i j:ループカウンター
REM COW:桁と値が一致した数
REM BULL:桁が違うが、問題の三桁の数にのいずれかに一致していてる値
REM TRAIL$:ゲームの継続判定
REM *** LOOP−1 START ***
DO
RANDOMIZE
LET COUNTER=0
DIM FIGURE(3)
DIM ANSWER(3)
REM *** 問題の数のセット ***
FOR i=1 TO 3
LET ANSWER(i)=INT(RND*10)
NEXT i
REM *** LOOP−2 START ***
DO
LET BULL=0
LET COW=0
LET COUNTER=COUNTER+1
REM *** 予想数値入力 と 桁分解 ***
PRINT "三桁の予想値を入力"
INPUT NUM
FOR i=1 TO 3
LET FIGURE(i)=MOD(INT(NUM/(10^(i-1))),10)
NEXT i
PRINT FIGURE(3),FIGURE(2),FIGURE(1)
REM *** 各桁の判定 ***
FOR i=1 TO 3
FOR j=1 TO 3
IF ANSWER(i)=FIGURE(j) THEN
IF i=j THEN
LET COW=COW + 1
ELSE
LET BULL=BULL + 1
END IF
END IF
NEXT j
NEXT i
REM *** LOOP−2 EXIT ****
IF COW=3 THEN EXIT DO
PRINT "BULLS(桁位置が違うが含まれる):";BULL
PRINT "COWS(桁位置と値が一致):";COW
REM *** LOOP−2 END ***
LOOP
REM *** 終了処理 ***
PRINT "WELL DONE!"
PRINT "試行回数は";COUNTER
PRINT "もう一回?(Y/N)"
INPUT TRIAL$
REM *** LOOP−1 END ***
LOOP WHILE TRIAL$="Y"
PRINT "SEE YOU AGAIN!"
END
マコト先生出来はどんなもんでしょうか??
相当頭がさび付いています。コマンドもほとんど覚えていないので、ヘルプを適当に覗いて作ってみました。
追記
半角のスペースは表示されないようで、インテンデーションが無くなってしまった。が、ブログでは、こちらの方が見やすいかな。
再入院、六日目
2007-01-16
今日は、午前中私のほうの毎月の診察があった。今日はバスも道が混んで時間がかかったし、受付から血ガス検査までもいつもより時間がかかってしまった。
なので母の病院に昼前に見舞いに行けなかったので、そのまま息抜きにブラブラして夕方帰宅した。そしたら病院の母から、家の電話の留守電にメッセージか入っていた。しょうがないので、晩ご飯の「キーマ・カレー」と「レトルトのご飯」をチンして食べてから、病院に母を見舞った。
何のことはない、今日が胃カメラの検査と勘違いして、私が顔を見せなかったので心配して電話してきたようであった。昨日洗濯をしたので、今日は休んでいいと言っていたのに。この辺まだ、肝性脳症の影響が残っているのかもしれない。予想通り、昨日で点滴は終了し、注射と食後の下剤に変わったようである。
行ったら丁度夕ご飯をたべ終わったところであった。オカズの魚を残していた。テレビカードとジュースが欲しいとのことなので、コンビニにてジュースとイチゴ味のクラッカー、それにゆで卵(二個入り)を買ってきてやった。さっそく、クラッカーとゆで卵を一個食べて、満足げな顔をしていた。
雨の中、えらい目にあった。あの食べようでは、少し栄養不足なような感じなので、口に合うオカズを作って差し入れてみようかと思う。羽ばたき運動と意識障害は改善されたので、少しでも肝臓の回復の助けになるように。
昨夜はビールがよく効いて、布団の中でテレビを見ているうちに寝てしまった。だから早くから目が覚めたので、あの「十進BASOC入門」に出ていた「数当てゲーム」のプログラムをいじくって遊んでいた。
コーデングするのは久しぶりで、ついつい熱中してしまった。この後これを投稿したら、他のプログラムを作ってみたり、今朝のゲームの改良に着手してみようかと思う。
なので母の病院に昼前に見舞いに行けなかったので、そのまま息抜きにブラブラして夕方帰宅した。そしたら病院の母から、家の電話の留守電にメッセージか入っていた。しょうがないので、晩ご飯の「キーマ・カレー」と「レトルトのご飯」をチンして食べてから、病院に母を見舞った。
何のことはない、今日が胃カメラの検査と勘違いして、私が顔を見せなかったので心配して電話してきたようであった。昨日洗濯をしたので、今日は休んでいいと言っていたのに。この辺まだ、肝性脳症の影響が残っているのかもしれない。予想通り、昨日で点滴は終了し、注射と食後の下剤に変わったようである。
行ったら丁度夕ご飯をたべ終わったところであった。オカズの魚を残していた。テレビカードとジュースが欲しいとのことなので、コンビニにてジュースとイチゴ味のクラッカー、それにゆで卵(二個入り)を買ってきてやった。さっそく、クラッカーとゆで卵を一個食べて、満足げな顔をしていた。
雨の中、えらい目にあった。あの食べようでは、少し栄養不足なような感じなので、口に合うオカズを作って差し入れてみようかと思う。羽ばたき運動と意識障害は改善されたので、少しでも肝臓の回復の助けになるように。
昨夜はビールがよく効いて、布団の中でテレビを見ているうちに寝てしまった。だから早くから目が覚めたので、あの「十進BASOC入門」に出ていた「数当てゲーム」のプログラムをいじくって遊んでいた。
コーデングするのは久しぶりで、ついつい熱中してしまった。この後これを投稿したら、他のプログラムを作ってみたり、今朝のゲームの改良に着手してみようかと思う。
再入院、第五日目
2007-01-15
今日は私の歯科の治療が二時からあったので、少し早めに母の病院見舞いに行った。着いたら母は、爆睡中であった。昨日着替えたようだったので、パジャマと下着を洗濯してきた。
今日は一段と、頭の霧が晴れたようであった。だけど、二人部屋の隣のベッドの老女が、「昨夜色々ゴネテ全く眠れなかった」と文句を言っていた。
洗濯が終了したぐらいに、丁度昼ご飯となった。いつも通り、真ん中に梅干を入れて、海苔を巻いてお握りにしてやった。今日は鰆のような白身魚の焼き物と、春雨サラダの酢の物風味と、いつものお澄ましであった。
それらをペロリと食べて、最後に昨日の差し入れのゆで卵を一個食べさせてやった。やっと、お腹が膨れたようである。昼の薬を飲ませた後、自分の治療のために、そそくさと母の病院を後にした。
洗濯中は、ロビーにて読書に勤しんだ。
その間に先日コンビにで購入した、
「忠臣蔵の謎」山本博文監修 日本文芸社 ¥680
を読了した。
本書に紹介されているような内容は「巷の忠臣蔵」として、かつて日本映画が元気だった頃のオールスター・キャストを沢山見ていたけれど、初めて歴史的事実としての「忠臣蔵」を知ったような気がした。
ついで返す刀で、
BLUE BACKS 「パソコンを遊ぶ 簡単プログラミング コンピータを自由に操る『十進BASIC』入門」 木村良夫著
を読んでいた。先日添付されていた「十進BASIC」のCD−ROMは、PCに読み込んである。
学生時代、最初にプログラムしたのは、フォートランだった。社会人になって研修用に作って以来のBASICであるが、コレぐらいだったら、今の私にも簡単にプログラムできる。そのうち何らかの形で成果を・・・ 何故か私は、マイクロソフトとは相性がよくない。
今日は「どの歯の治療をしようか?」というので、「下の前歯はどうか」と訊ねてみた。「じゃ、これをやってみよう」ということになり、いざ治療が始まってみると、いつも(?)の通り、見た目より虫歯が進行していた。幸い治療中、次ぎの人の予約変更が入り、ユックリ治療してもらえた。
どうも結核時の栄養失調の影響で、虫歯は見た目より歯の中に進行しているようである。
毎回治療を始めてみると、思いの外時間がかかってしまう。
今日は一段と、頭の霧が晴れたようであった。だけど、二人部屋の隣のベッドの老女が、「昨夜色々ゴネテ全く眠れなかった」と文句を言っていた。
洗濯が終了したぐらいに、丁度昼ご飯となった。いつも通り、真ん中に梅干を入れて、海苔を巻いてお握りにしてやった。今日は鰆のような白身魚の焼き物と、春雨サラダの酢の物風味と、いつものお澄ましであった。
それらをペロリと食べて、最後に昨日の差し入れのゆで卵を一個食べさせてやった。やっと、お腹が膨れたようである。昼の薬を飲ませた後、自分の治療のために、そそくさと母の病院を後にした。
洗濯中は、ロビーにて読書に勤しんだ。
その間に先日コンビにで購入した、
「忠臣蔵の謎」山本博文監修 日本文芸社 ¥680
を読了した。
本書に紹介されているような内容は「巷の忠臣蔵」として、かつて日本映画が元気だった頃のオールスター・キャストを沢山見ていたけれど、初めて歴史的事実としての「忠臣蔵」を知ったような気がした。
ついで返す刀で、
BLUE BACKS 「パソコンを遊ぶ 簡単プログラミング コンピータを自由に操る『十進BASIC』入門」 木村良夫著
を読んでいた。先日添付されていた「十進BASIC」のCD−ROMは、PCに読み込んである。
学生時代、最初にプログラムしたのは、フォートランだった。社会人になって研修用に作って以来のBASICであるが、コレぐらいだったら、今の私にも簡単にプログラムできる。そのうち何らかの形で成果を・・・ 何故か私は、マイクロソフトとは相性がよくない。
今日は「どの歯の治療をしようか?」というので、「下の前歯はどうか」と訊ねてみた。「じゃ、これをやってみよう」ということになり、いざ治療が始まってみると、いつも(?)の通り、見た目より虫歯が進行していた。幸い治療中、次ぎの人の予約変更が入り、ユックリ治療してもらえた。
どうも結核時の栄養失調の影響で、虫歯は見た目より歯の中に進行しているようである。
毎回治療を始めてみると、思いの外時間がかかってしまう。
再入院、四日目
2007-01-14
今日も昼ご飯前に、病院に母を見舞いに行った。点滴の効果が出てきて、今日はわりとハキハキした受け答えができるようになっていた。肝性脳症は随分改善してきたようである。何とか再入院が、間に合ってくれたようである。一安心である。
だけど問題は、二つある。
一つは足腰が益々弱っているようで、ベッドサイドのホータブルトイレに移動するのも大変になってきたことである。
もう一つが、病院食では足りないようで、しきりにお腹が空いてしょうがないといっていることである。まぁ、喜ばしいといえるけれど。昨日の、焼き芋ももう食べてしまったようである。今日持っていた神棚と仏壇のお下がりの菓子では足りなそうなので、近くのセイユーで洗濯石鹸などと共に、幼児用の「タマゴぼうろ」と「カツパエビセン」を購入しておいた。幼児用で、減塩でカルシュウムが添加されているので。
今日も点滴が昼ご飯まで終了していなかったので、いつものようにご飯をお握りにしてやった。
昼ご飯のメニューは、鮭の塩焼きと付け合せ(人参と絹さや)、小松菜の辛し和え、南瓜の味噌汁。
小松菜以外は完食した。それに差し入れように用意した、コンビニの出汁まき卵をペロリと食べた。明日の朝ご飯用に、ゆで卵も一緒にコンビニで買ってもって行った。
帰るとき確認してきた病院の今晩は、「ご飯、豆腐の肉味噌かけ、大根とイカの煮付け、青梗菜のオカカ和え」のようである。
だけど問題は、二つある。
一つは足腰が益々弱っているようで、ベッドサイドのホータブルトイレに移動するのも大変になってきたことである。
もう一つが、病院食では足りないようで、しきりにお腹が空いてしょうがないといっていることである。まぁ、喜ばしいといえるけれど。昨日の、焼き芋ももう食べてしまったようである。今日持っていた神棚と仏壇のお下がりの菓子では足りなそうなので、近くのセイユーで洗濯石鹸などと共に、幼児用の「タマゴぼうろ」と「カツパエビセン」を購入しておいた。幼児用で、減塩でカルシュウムが添加されているので。
今日も点滴が昼ご飯まで終了していなかったので、いつものようにご飯をお握りにしてやった。
昼ご飯のメニューは、鮭の塩焼きと付け合せ(人参と絹さや)、小松菜の辛し和え、南瓜の味噌汁。
小松菜以外は完食した。それに差し入れように用意した、コンビニの出汁まき卵をペロリと食べた。明日の朝ご飯用に、ゆで卵も一緒にコンビニで買ってもって行った。
帰るとき確認してきた病院の今晩は、「ご飯、豆腐の肉味噌かけ、大根とイカの煮付け、青梗菜のオカカ和え」のようである。
糸が切れた!
2007-01-14
入院中可愛がってもらいながら、先に橋を渡ってしまったTさんの奥さんのKさんから、昨夜携帯にメールがきた。
時折手紙を書いて近況を知らせていたのだが、私からの手紙を見るたびに、亡くなったTさんを思い出すので、もう連絡してくれるなという内容だった。
彼女自身もヤッカイナ病気を持っていて、元々”ウツウツ系”の人だった。それをTさんが支え、元気を取り戻していた。だけとそのTさんが治療の甲斐なく旅立ったので、再度”ウツウツ”状態のままのようである。
私が15時間の手術を終わって手術室を出たとき、待っていてくれたのがKさんだった。その頃もう母は、親不孝者のせいで、体調を崩し始めていた。だから長時間の手術の終了を待っていられなかったようである。
私には忘れられないご夫婦であるが、残念ながら連絡をするのをやめることにした。
誰に今のこの気持ちを話せばいいのだろう?
時折手紙を書いて近況を知らせていたのだが、私からの手紙を見るたびに、亡くなったTさんを思い出すので、もう連絡してくれるなという内容だった。
彼女自身もヤッカイナ病気を持っていて、元々”ウツウツ系”の人だった。それをTさんが支え、元気を取り戻していた。だけとそのTさんが治療の甲斐なく旅立ったので、再度”ウツウツ”状態のままのようである。
私が15時間の手術を終わって手術室を出たとき、待っていてくれたのがKさんだった。その頃もう母は、親不孝者のせいで、体調を崩し始めていた。だから長時間の手術の終了を待っていられなかったようである。
私には忘れられないご夫婦であるが、残念ながら連絡をするのをやめることにした。
誰に今のこの気持ちを話せばいいのだろう?
再入院、三日目
2007-01-13
今日も、昼ご飯時を狙って見舞いに行ってきた。差し入れに、フライパンで焼き芋二本を作って持っていった。
やはり、今日もアミノレバンの点滴が終了していないうちに、昼ご飯が配膳されてきた。昨日同様、ご飯をお握りにしてやった。スプーンとフォークで、赤魚の煮付けとポテトサラダにリンゴを食べさせてやった。澄まし汁は、少しの間体を起こして具の白菜は食べず汁だけすすった。
昨日差し入れた、コンビニのゆで卵は二個とも食べてしまっていた。肝性脳症の影響か、急な入院となった昨夜は、混乱して看護師さん達に迷惑をかけたようである。随分手の震えは治まってきたが、マダマダである。従って、頭の回転もイマイチである。今日も浣腸されると、ブツブツ文句を言っていた。
さすがに今回は弱気になり、通帳のあるとこなど話すようになった。自由に体を動かせないのが、辛いようである。
やはり、今日もアミノレバンの点滴が終了していないうちに、昼ご飯が配膳されてきた。昨日同様、ご飯をお握りにしてやった。スプーンとフォークで、赤魚の煮付けとポテトサラダにリンゴを食べさせてやった。澄まし汁は、少しの間体を起こして具の白菜は食べず汁だけすすった。
昨日差し入れた、コンビニのゆで卵は二個とも食べてしまっていた。肝性脳症の影響か、急な入院となった昨夜は、混乱して看護師さん達に迷惑をかけたようである。随分手の震えは治まってきたが、マダマダである。従って、頭の回転もイマイチである。今日も浣腸されると、ブツブツ文句を言っていた。
さすがに今回は弱気になり、通帳のあるとこなど話すようになった。自由に体を動かせないのが、辛いようである。
music station 恋歌ランキング
2007-01-12
先ほどまで、見るとはなしにタモリのミュージック・ステーションを見ていた。男子・女子に分けて「恋歌ランキング」をやっていた。ほとんどの曲を聴いた記憶があった。
ほとんどの曲が、ある意味で叙情歌であり、かつての「艶歌」というか「演歌」の世界であるように感じられてならなかった。結局日本人の心情の根幹は、何も変わっていないように思えてならなかった。
表現の手段はどうあれ、そこに表出しようとする内的感情は、何ら変化ないのではないか。
年が明けても、相変らず悲惨なニュースの連続である。いずれのニュースの根幹にあるのは、「家庭の団欒の欠如」のように思えてならない。
結局、虚飾に縁取られた欺瞞的家庭環境がもたらす不安定さが、一連の狂気をもたらしているのではないだろうか?誰もが、心休まる所を希求している。そのためにこそ”家庭の団欒”があるのではないのだろうか。そこに有るべきなのは、高価な料理でも、世界の珍味でもない。
どんな天才シェフでもかなわないのは、「母の味」であり、「家庭の温もり」である。天才達の再現しようとしている物は、それなのではないだろうか? あのミシュランの星は、いかにそれを完璧に再現しようと努力しているかの評価ではないだろうか。かつて食事中は、躾の場であったように。一流の店は、自身を研鑽することで、同時に客も一流であることを要求するのであるから。それは、一流の「バー」がそうであるように。
この季節、日本には、鍋料理という格好の場がある。
日本人は、もう一度その意味を考えてみるべきではないだろうか?
家庭において。
職場において。
それを「うざい」と感じるなら、君は明日のニュースの予備軍である。
誰もが、あの鍋のフタを開けた時の湯気の温もりを求めているのではないだろうか??
同じ鍋を食べるときの、語らいを忘れていないだろうか???
購うべきは、空腹であろうか、それとも心の隙間を埋める「家族の語らいの場」であろうか????
真の「豊かさ」とはなんなのでしょう?
ブランド品を自由に買える事なのでしょうか??
今見る「SHALL WE DANCE?」
誰か残された日々を・・・
ほとんどの曲が、ある意味で叙情歌であり、かつての「艶歌」というか「演歌」の世界であるように感じられてならなかった。結局日本人の心情の根幹は、何も変わっていないように思えてならなかった。
表現の手段はどうあれ、そこに表出しようとする内的感情は、何ら変化ないのではないか。
年が明けても、相変らず悲惨なニュースの連続である。いずれのニュースの根幹にあるのは、「家庭の団欒の欠如」のように思えてならない。
結局、虚飾に縁取られた欺瞞的家庭環境がもたらす不安定さが、一連の狂気をもたらしているのではないだろうか?誰もが、心休まる所を希求している。そのためにこそ”家庭の団欒”があるのではないのだろうか。そこに有るべきなのは、高価な料理でも、世界の珍味でもない。
どんな天才シェフでもかなわないのは、「母の味」であり、「家庭の温もり」である。天才達の再現しようとしている物は、それなのではないだろうか? あのミシュランの星は、いかにそれを完璧に再現しようと努力しているかの評価ではないだろうか。かつて食事中は、躾の場であったように。一流の店は、自身を研鑽することで、同時に客も一流であることを要求するのであるから。それは、一流の「バー」がそうであるように。
この季節、日本には、鍋料理という格好の場がある。
日本人は、もう一度その意味を考えてみるべきではないだろうか?
家庭において。
職場において。
それを「うざい」と感じるなら、君は明日のニュースの予備軍である。
誰もが、あの鍋のフタを開けた時の湯気の温もりを求めているのではないだろうか??
同じ鍋を食べるときの、語らいを忘れていないだろうか???
購うべきは、空腹であろうか、それとも心の隙間を埋める「家族の語らいの場」であろうか????
真の「豊かさ」とはなんなのでしょう?
ブランド品を自由に買える事なのでしょうか??
今見る「SHALL WE DANCE?」
誰か残された日々を・・・
再入院、二日目
2007-01-12
午前中は、自分の外来のために病院にいった。舌ガン後のスクリーニングのために、消火器内科の初診に行ってきた。来週胃カメラの予定となる。
その後、母の見舞いに行った。着いたら、丁度昼ご飯時だった。例の「アミノレバン」の点滴中であった。
成長期が、太平洋戦争にかかるので、栄養失調だったせいか、母の血管は細く注射するのも中々大変である。かてて加えて、若い頃の病気の時に、点滴等を繰り返したので、血管が硬くなり、針が入りづらくなっている。
「アミノレバン」は、500mlであるが、三時間ほどかかる。昼ご飯が配膳されてきたので、点滴中の母のために、ご飯をお握りにし、オカズを食べさせることとなった。お握りには、今日持っていった梅干と海苔を巻いて作ってやった。
オカズの「豆腐の田楽」とキャベツの浅漬け(?)は、完食した。寝たままの母に食べさせてやったら、嬉しそうに食べていた。ぶりの照り焼き風(多分他の魚で代用)を半分と、キャベツの浅漬けを完食し、嫌いな(不味い)ほうれん草の和え物(絞りすぎで繊維だけになっている)は手付かずのままだった。
いくらか手の震えは治まってきたが、頭の回転はまだまだである。腰の辺りに引いていたバスタオルが汚れていたので、洗濯して帰ってきた。母は、今日は浣腸などされて、大変だったようである。それを聞いて、私はアンモニアの排出のためのように推測する。
ついでに、幸か不幸か時間が取れるようになったので、マコト君に伊勢路の指令を送っておいた。
その後、母の見舞いに行った。着いたら、丁度昼ご飯時だった。例の「アミノレバン」の点滴中であった。
成長期が、太平洋戦争にかかるので、栄養失調だったせいか、母の血管は細く注射するのも中々大変である。かてて加えて、若い頃の病気の時に、点滴等を繰り返したので、血管が硬くなり、針が入りづらくなっている。
「アミノレバン」は、500mlであるが、三時間ほどかかる。昼ご飯が配膳されてきたので、点滴中の母のために、ご飯をお握りにし、オカズを食べさせることとなった。お握りには、今日持っていった梅干と海苔を巻いて作ってやった。
オカズの「豆腐の田楽」とキャベツの浅漬け(?)は、完食した。寝たままの母に食べさせてやったら、嬉しそうに食べていた。ぶりの照り焼き風(多分他の魚で代用)を半分と、キャベツの浅漬けを完食し、嫌いな(不味い)ほうれん草の和え物(絞りすぎで繊維だけになっている)は手付かずのままだった。
いくらか手の震えは治まってきたが、頭の回転はまだまだである。腰の辺りに引いていたバスタオルが汚れていたので、洗濯して帰ってきた。母は、今日は浣腸などされて、大変だったようである。それを聞いて、私はアンモニアの排出のためのように推測する。
ついでに、幸か不幸か時間が取れるようになったので、マコト君に伊勢路の指令を送っておいた。
