ページビューの合計

イエスから目を離さないでいなさい。(へブル 12:2)

2017-06-30

UBUNTUのインストールも容易でない

古いパソコンにUBUNTUをインストールした。
秋のいちょう塾の講義の準備だ。
持っているパソコンにインストールしていく。
パソコンごとにインストールが違っていたのには驚いた。
1台目は、CD-ROMでUBUNTUインストール
デュアルブートのHDのFEDORAのパーティションの一部を削除し
そこにUBUNTUをインストールした。😊
GRUBの設定を残そうと、FEDORAの「/」のあるパーティションは残した。
再起動したらUBUNTU,Windows,FEDORAの選択画面からはじまった。
2台目は、CD-ROMで起動しないので
WindowsからCD-ROMのソフトを起動しインストールした。😊
3台目は2台目と同じ方法で行った。ところがUSBを読み込まない。
Windowsで使うと、USBを読む。
アンインストールし再度行ったが同じだ。こまった。
/host というホルダにWindowsの情報があるので
そこに必要なデータをおいて利用することにした。😓
4台目はWindows10でインストールした。ubuntuではマウスポイントが
外付けのマウスで動く。ポインティングデバイスでは動かなかった。
これからいちょう塾にある10台の古いパソコンにインストールする。
CD-ROMやUSBが壊れていたり、インストールに失敗したり、
GRUB画面が出なくなったり、いろいろな場合が想定される。
注意、注意

2017-06-29

再帰って必要なの

日常生活には思いもよらない変化がある。
1か月前、妻と病院に行った。血栓ができてる
ということで、大学校病院で診断、入院となった。
驚いた。

病院に行く、診断(場合によっては入院)、病院から帰る

を予想してた。他の病院へ行くことになったのは予想外だった。
他の病院でも同じことが予想された。

他の病院の受診では括弧の中の入院となった。
このような状態をシミュレートするには再帰であろう。
『受診』という処理を以下の再帰で表わせる。

①病院に行く、
②診断(場合によっては入院)、
③病院から帰るまたは別の『受診』

すべての状況をループで表現するのが適切かは不明であるが、
多様な例があり、再帰を使うのが適切な場合もあるだろう。

2017-06-28

C言語のポインタは難しい

なぜC言語のポインタは難しいのだろう
int  *a;
と書いたり、
int*  a;
と書いたりして、変数a がポインタだと表す。
int  (*f)();
と書いて、変数f がint型の値を戻り値にする
関数へのポインタだと表す。
このような表現はC言語だけで、他の言語にはない。
こういう表現に違和感を感じる。
変数b の番地を &b と表す。
a = &b;
これは a に b の番地を保存する。
*a の値を表示すると、b の値が表示される。
int k;
int add(int x,int y){return x+y;}
f=add;
k = (*f)(10,20);
とすると、k の値は30となる。
自然界のいろいろな現象で
これを例えるたとえが思い浮かばない。
難しい、難しい

2017-06-27

再帰は難しいのかも?

「服を脱いで入浴する、体を洗って、風呂からでる」をプログラムすると

     服を脱ぐ、②入浴し、体を洗う、③体を拭く、④服を着る
こうすると、一本のスレッド()で表せる。これはとても分かり易い。

これを、『入浴』を
「一番上の服を脱ぎ籠の一番上に置く、そこで裸なら入浴し体を洗う、そうでなければ『入浴』を実行、終わったら籠の一番上の服を着る」という処理にすると、フローは次のようになるの。


たとえば「肌着とシャツ、セータ 3枚着ている人」が入浴する場合
お風呂に入ることを想像する
①セータを脱いで、籠にいれる 
②シャツを脱いで、籠にいれる 
③肌着を脱いで、籠にいれる   
③風呂にはいる、体をあらう、体を拭く// 「入浴する」処理
③籠から肌着をとって着る 
②籠からシャツをとって着る
①籠からセータをとって着る

①は最初の「入浴」処理、②は①から呼ばれる「入浴」処理、③は②から呼ばれる「入浴」処理
再帰プログラムのフローはこのようになり、分かりにくく難しく感じる。

LISPという言語は再帰を多用するので難しいと思われている。
これが再帰に関する私の感想である。

2017-06-26

毎日着替える

毎日着替える、洗濯をする
同じように
ブログの表題の絵を毎日変えよう
面倒だが、洗濯がないだけらくだ
これも大切である
散歩でとった写真から選ぶ
ペイントで加工して
アップロードしてすむ
まだすてきな写真というわけにはいかないが
そのうちすばらしい写真を並べたい

2017-06-25

妻のフィルタ

入院して4週間、ようやく先が見えた
静脈に入れたフィルタをとった
静脈に硬くついていたが無事とれた
Dダイマーも1になった
ようやく退院が視野にはいってきた
毎日の病院通いもまもなく終わる
まもなく、妻と一緒の日常生活にもどる
それも大変だろうが
今より過ごしやすくなる

感謝、感謝

2017-06-24

JAVAに窮する

「JAVAは何が得意ですか」という質問に、私は答えに窮した。
C++で横スクロールシューティングゲームを本のコードを利用して作った。
「このゲームをJAVAで作るにはどうするのだろう」
という問いも未解決のままにしてある
JAVAでROBOCODE というゲームのソースコードが公開されている
それをコンパイルできるが、複雑でソースコードを理解できない。
教えてくれる人がいたら、行って教えてもらいたい

ANDROIDで簡単な固定画面シューティングゲームを作り、
孫がそれで遊んでくれた
囲碁のゲームの規則を組み入れた囲碁ソフトをJAVAで作った
Cで卒業研究生が作ったLISPインタープリタを作り直した
本に書いてあるままにJAVAで株取引のソフトを使ったが
株価の変動を入れられなかった。未解決である。
ネットワークのパケットの動きをシミュレートするソフトを作った
などなど、いろいろ思い出す。

私たちのプログラミングの経験はどのていどなのだろうか
システムのソースコードをどれくらい読んだことがあるのだろうか
自分でこんなのを作りたいとおもって
プログラムの利用を考えたことが何回あっただろうか

アセンブラ、FORTRAN、BASIC、C、C++、JAVA、PHP、スクリプト
HTML,GWT、ANDROID、word-press、データベース
ネット用プログラム などなど
いろいろプログラムを体験してもこの状態である。

プログラムには共通する特徴があり、
JAVAを学んで共通なものを理解することが重要だろう。
JAVAでなくて、PHPを学んでもよい。他の言語を学んでもよい
前もって複数のプログラム言語を学ばなくてもよい
いな、「複数の言語を学ぶべきではない」といってもよい

こんなものを、こんな言語で、作りたいと思ったら
その言語を学ぶこと、そのものを作ること、を並行しておこなうことだ
そんな並行してプログラム言語を利用するとその習得もはやくなる

1つのプログラム言語を学んでおけば、
その他の言語を学ぶのはそんなに難しくない
プログラム言語の習得は、ある程度複雑な例題を経験することにより
記憶にしっかり刻まれて利用価値があがる。

2017-06-23

ゴミ袋がかっぱに

病院から帰ろうと外にでた
雨だ、今日は傘を持ってきてない
こまった、自転車で40分かけての帰り道
ゴミ袋がナップサックにあるのを思い出す
65cm*80cm のサイズ
上と横2か所に穴をあけ
頭と手を差し入れた
帽子をかぶる、
ズボンが濡れるのはやもうえない
こうして自転車で走り出した
幸いにして小降りの雨
今日はペダルを踏むのが軽かった
ハンドルをにぎる手もさわやかだった
向かい風も少なく気持ちよいサイクリングだった

感謝、感謝

2017-06-22

JAVAは何がとくい

「JAVAは何がとくいか」
講義をしていてこういう質問があった
「なぜ、JAVAプログラムを教えているのか」
という質問にもきこえた
JAVAでなにができるか、なにができないか?

プログラムには共通する特徴があり、
JAVAを学んで共通なものを理解することが大切です。
アセンブラ、FORTRAN、BASIC、C、C++、JAVA、PHP、スクリプト
HTML,GWT、ANDROID、word-press、データベース
ネット用プログラム などなど沢山のプログラム言語があります
私はFORTRANの講義を受けた。他の講義を受けたことがない。
独学だ。1つのプログラム言語を学び、他は独学が普通だろう。

「プログラムの基本になるのは何か」ということを考えよう
JAVAは「??が得意だから学ぶ」のではなく
JAVAを学んで、他のプログラム言語の利用も容易になる
ということが重要です。

プログラミングを作っている方に見えない
システムの仕組みをふくめて教えること
教科書にないことを教える

見えないこと、それが重要です。
見えない機能はシステムがやってくれるので関心をはらわない、
それでシステムの中身が想像できない
「システムの中ではこんなことをしてるのだろうな」
と考えることが重要です。

職業としてプログラム言語を使っている方も
作っているシステム全体を理解していない
システムの自分の担当している部分は理解するが
全体を読むことはできない、想像で把握する。

「小学生からプログラミング教育」と言っているが
教えるうえで何が重要なのだろうか?

2017-06-21

プログラムの静脈動脈

プログラムに静脈動脈があるの
血を送る管だよ、動脈には新しい血が
静脈には使い終わった血が流れるのかな?
静脈の終点は肺だって、
確かでないが静脈の始点は手足頭などの毛細血管か?
動脈は始点は心臓か?、終点は静脈の始点か?

プログラムの血ってプログラムを実行したとき
流れる情報だよね
1本しかないの
いや、スレッドというのを使うと何本も作れるよ
スレッドで分かれて実行すると
その流れが合流するときはどうするの
ジョインjoin()というのを使うよ
血を送り出すはmain()だよ。メインスレッドっていうよ。
これ心臓みたいね。

2017-06-20

何時ゴミを意識するようになった

LISPのインタープリタを作って
ゴミを意識するようになった
その前、Fortarn,アセンブラー、Basicでは
ゴミを感じなかった
オブジェクト指向になって
ゴミをさらに強く感じるようになった

昔は記憶領域サイズが小さくゴミをだせなかった
今はゴミをジャブジャブだしてプログラム

私たちの生活で昔の人は
ゴミを意識しないで生活していた
貝塚とか、土に埋めて生活していた
燃やしても規模は小さかった
それが産業化され、ゴミが大量に
でるようになり、環境破壊がはじまった
ゴミがでるのは大量に作るからだ
最近ではゴミの分別が必要になった

プログラムの世界ではゴミ処理があって
再利用が可能である
人間社会ではゴミを大切に使おうといわれているが、
新しいものを作る場合は
それが最終的にはゴミになることを考え
ゴミ処理を考えて作るべきだ

2017-06-19

きなこ飴

本庄市の三ツ目屋製菓の飴を
近所のおかし屋(おかしのまちおか)で買う
昔ながらの飴できにいっている
今日も抹茶あんこ飴を買ってきた
大好きなきなこ飴が売ってない
この店はHPがない。
作っている製品が分からない
など、昔ながらの店のようだ。
どこかのサイトが提供する紹介記事
会社でなくて、倉庫のような建物

電話をしたら、とっつきやすい女性がでて
きなこ飴は冬につくり、暑い時期は作らない
との説明でなっとくする
気長に冬を待とう、きなこ飴を待とう

2017-06-18

2017年春のいちょう塾の講義を終えて

今年も楽しいJAVA講座と題した90分5回の講義を無事終えた。
9人の受講生、実際には8人出席である
講座を開催できただけで感謝である
2016年と同様、パソコン操作をYouTubeに残した。
今年は欲が出て、大学で教えたことをネットに動画で残せればと
思うようになった。
高齢になり、物忘れが多くなったので、こうしておくと
大学の講義演習で何を話したのかを簡単に思い出せる。
90分の講義を残すには15分の動画を6本、手間がかかる。
すきでやっているのだし、ボケ防止になればと思う。
最近はいろいろな道具があり、
それを有効に使って生活を豊かにしよう。

感謝、感謝

2017-06-17

妻の血栓が減る

今日は妻のCT検査の日
造影剤を注射して検査する
午前中の検査である
午後見舞いに行ったときは、水を頻繁に飲んでいた
造影剤を体から排出するためだ
午後5時に主治医から結果を聞いた
足の上部の血栓はほぼとれて、静脈は普通の太さになっている
足より上部の腹部の血栓はとれてない
これは古くからある血栓で取り除くのに時間がかかるらしい
妻の同室の患者はDダイマーが
 前回は1.5 今回は0.8 と話すのが聞こえた
妻のDダイマーは3.5 なのでまだまだだ

よくなっていて感謝、感謝

2017-06-16

私の一日 (2017年6月13日)

朝起きて、ブログに1文をアップロード
明日のブログ一文を考えた
珍しく激しい雨の朝
5時半には小雨になっていて
傘をもって散歩にでた
公園には雨でも集まるラジオ体操仲間がいた
一緒に体操して帰宅
ゴミ出し、古新聞収集日なので出す
朝食を作ってたべる
食後はパソコンに向かって、
一週間の簡単な日記を入力、
教会のHPに牧師の説教(音声)を入力
土曜日の八王子最終の講義(?)の準備
この間、のどが渇いてお茶、コ-ヒー、紅茶などを飲む
このように過ごし、昼になる
入院中の妻のところへ行く準備、
昼食を作ってたべた後、病院に電車でいく
所沢の老人いこいの家で入浴し、病院に向かう
着いたら午後2時半、妻としゃべって午後5時20分ころ帰宅
帰宅して、夕食を作りたべた後買い物にいく

ダイエットで夕食はおかずだけで、ご飯はない。
このころになると雨もやんでいて自転車で買い物
今日もご苦労様と自分に向かってねぎらう

感謝、感謝

2017-06-15

KくんがLISPインタープリタをつくる

1984年ころ、Kくんが私の卒業研究生としてやってきた
とても優秀な8年生だった
そのころはパソコンのOSはMS-DOSの前のCP-Mだった
CP-MにLISPを直接のせるのが難しい
当時 東京の瑞穂にあった会社 WAVE CORPORATION が 
TALOS-68KというM68000CPUのコンピュータを作っていた。
これをパソコンにつないでそこにLISPインタープリタを作った
1年間でこれを作成、完成して卒業していった
私はこれを使って教育用システムを作り研究に利用した
よくできたソフトで研究におおいに利用させてもらった
こんなすばらしい学生にめぐりあえて幸せだった

感謝、感謝

2017-06-14

LISPとのつきあい

1980年ころにからLISPというプログラム言語を使った
セルというのをつないて、リストを作るよ
再帰という手法を頻繁に使うよ
今も common-lisp として広く使われているの

そんな印象のプログラム言語だった
1970年ころはじめてその論文を読んだ
とても感動した
LISP1.5 programing manualという本だったか?
中西先生のLISPの本に
再帰でLISPを詳しく説明していたのがなつかしい。

京都大学の長尾先生のところでLISPをつかって
機械翻訳の研究をしていると聞いてたまらなくなって
1年間国内留学した
大好きなLISPを思い出しながら

感謝、感謝

2017-06-13

リストってなに

4人のこどもが縦1列にならぶ。前の人の肩をしっかりつまむ。
列の先頭は親、一番後ろはしっぽ、
鬼になった子は、しっぽの子にタッチしようとする。
親はしっぽの子がタッチされないようににげる。
このあそびの列がリストに似ているよ。
リストと人の並ぶ絵をならべたよ。
山形新幹線は前の8両は山形行き、後ろの8両は仙台行き
福島できりはなす。
これもリストににている。途中で切り離すこともできるよ。
新幹線とリストをならべたよ。

こんなものがプログラムで利用されるのよ。

2017-06-12

スタックが壊れて暴走

背広、セータ、シャツ、肌着 を着ている人がお風呂に入る時、
この順でたたんで重ねて篭に置く。
風呂から出ると、篭の上から順にとって着ていく。
スタックはこれに似ている。
脱ぐときは順番に上に重ねていく
着るときは、上から順にとって着る
スタックはこんなことに似ている。

退職前、電車通勤だった
小手指から所沢、所沢から東村山、東村山から小川
小川から玉川上水、玉川上水から明星大学
と乗り継いだ。
行きのときはスタックに小手指、所沢、東村山、
小川、玉川上水、明星大学 と積み重ねて入り、
帰りはスタックの上から明星大学、玉川上水、...
と取り出して戻る。

晩年の父はよく電車を乗り間違えた。
勝どきから上野広小路に乗るとき、間違えて
新宿方面の電車に乗り、途中で気づき降りて
帰りはタクシーで帰った。
父の中のスタックが壊れた。

人間のスタックは壊れると、迷子になる。
プログラムはスタックが壊れると暴走する。

2017-06-11

病名を見つける大切さ

足が腫れる、痛い が、原因不明で大変だった。
整形外科の診療やマッサージをしてもよくならない
ネットで次の記事に助けられた。

足に症状がでる病気は、循環器内科、血管外科、
整形外科、糖尿病内科、皮膚科、神経内科、
など多岐にわたります。しかしこういった診療科の
医師すべてが「足の症状」を適切にみられるとは
考えにくいのが実情です。

この記事の病院で静脈に血栓がある ことが分かり
入院して治療が2週間になった。
足の腫れは少なくなり、痛みも和らいだ
もし整形外科の医師に任せていたらどうなったか
と思うと、ぞっとする。
病気の原因を見つけることが大切だ

2017-06-10

スタックってなに


例外処理で
try{
......
} catch(Exception e){
   e.printStackTrace();
}
て書くでしょ、スタック(Stack) ってなに

「勉強して、鉛筆をもって、字を書く」
とき、こんなふうに書くとするよ

勉強する(鉛筆をもつ(字を書く())))

「字を書く」を実行してるとき、スタックは
こんなふうになってるの

 鉛筆をもつ
 勉強する

「字を書く」が終わると、スタックの一番上の「鉛筆をもつ」にもどるよ
スタックの上の「鉛筆をもつ」を取り出して
「鉛筆をもつ」 の続きを実行するのよ

スタックは

 勉強する

だけになるの。ここで「本を開く(本を読む())」を実行すると
「本を読む」を実行してるとき、スタックは
こんなふうになってるの

 本を開く
 勉強する

「本を読む」が終わると、スタックの一番上の「本を開く」にもどるよ
スタックの上の「本を開く」を取り出して
「本を開く」の続きを実行するのよ
一般にメソッドはこんな形よ
void  本を開く(){......; 本を読む();..続き部分..}

2017-06-09

プログラムの幻

無味乾燥なプログラミングに言葉を付けた

記憶に残るとは、何かと関連させて記憶することだろう
プログラムを見て、そこにわずかな幻のようなものを見る
その幻を言葉で表現し、プログラムに関連をつけ、心に刻む
抽象画を見て、なにかをそこに見て感動する
プログラムも、その一部プログラム片をみて、
論理の美しさ、構成の分かり易さ などいろいろ感動する

感動を言葉で表現できれば最高である
人は幻をみて 生きるのである。

聖書に「幻がない民は滅びる」とあるが、
「プログラムを読んでその幻を見たい」

2017-06-08

名もないクラスのモノ

JAVAでは、名がないクラスからモノ(オブジェクト)を作るよ
親のクラスが??のモノ という形でつくるよ。
インターフェースが??のモノ という形でもいいよ。
血筋がわかっているクラスのモノをつくるの

血筋とは親のクラス、おじさんのインターフェースだよ
インターフェースは相続はしないがいろいろ注文してくる
親戚のおじさんをイメージしたよ。

名がないクラスのモノ(オブジェクト)はこんなふうに作るのよ
プログラムでは代入文でこれは右辺に置かれるよ。

new  親クラス名(){ 本体 };
new  おじさんインターフェース名(){本体};

本体に名のないクラスの形を書くのよ。
名のないクラス??? はこうよ
class  ??? extends  親クラス名 { 本体 }
class  ???  implements  おじさんインターフェース名 {  本体 }

2017-06-07

静脈と動脈の血栓

血栓は静脈と動脈にできる場合があることを知らなかった
妻のは静脈の血栓、心臓、脳に行くのは動脈の血栓
静脈の血栓の最終到達地は肺なんだって
知らないことが多いね、驚いた
妻の場合、血栓血液検査でDダイマーの数値は半分になったが
1.0以下が正常だが、4.5あるのでまだ危険
10日間の治療で静脈の太さが12mmから 8mmに細くなる、
フィルターに血栓が付いてない、肺に血栓がない
などはよかった。1週間入院がのびた。
エコノミー症候群といって、けっこうかかる人が多いとか

2017-06-06

酔って歩くJAVAのスレッド

親のいるクラスでスレッドはどう作るの
酔って、歩く クラスで 
酔うが親、歩くが子クラスとする

class 歩く extends 酔う{..}

これではスレッドをextendsできないよ。
そんなときはスレッドのインターフェースを使えよ
スレッドのインターフェースはRunnable というよ
こんなふうに書くのよ。
class 歩く  extends 酔う implements  Runnable {.... }

歩くのオブジェクトwalk を作り、それでスレッドを作り
動かすのよ。こんなふうに書くのよ。

Runnable  walk = new  歩く( );
Thread  tr = new  Thread(walk);
tr.start();

2017-06-05

JAVAプログラムの棚

JAVAのプログラムに棚があるって本当
何段の棚なの、サイズは
私、プログラムの変数を棚にたとえるの
棚の段には整数の棚、実数の棚、オブジェクトの棚
などがあるよ、そのサイズは異なるのよ
整数の棚は整数のサイズ、倍精度実数の棚は倍精度実数のサイズ
しかしね、クラスのオブジェクトの棚は
      オブジェクトのサイズでないのよ
オブジェクトが置かれている番地のサイズなの
この番地をある人は参照と呼んでるよ
整数の棚、倍精度実数の棚はその数値が直接置かれるの
オブジェクトの棚はオブジェクトの番地が置かれるの
だから、整数などの棚のものを変えてもゴミにならないが
オブジェクトの棚のものを変えるとゴミがでるのよ
一度棚に置いたオブジェクトを別な棚において
その棚に新しいオブジェクトをおけばゴミはでないよ

2017-06-04

認知症予防のJAVAのスレッド

認知症を予防するため
計算をしながら歩く、
料理しながら、かかとの上げ下げをする
足踏みしながら、指をおる
右手を開いて、左手を閉じ、次に逆の動きを
なにかをしながら、別なことをする
このような動作が認知症予防に大切なんだって
これJAVAのスレッド を思い出さない

歩きスマホもスレッドを思い出させるよ

40歩あるく、1歩歩く時間は60/100秒、
同時に100からはじめて、前の数値から
3引いた数を言う。数値が0になるまで続ける
1つの数値を言う時間は1秒。
こんなプログラムよ、スレッド歩きのクラスだよ。

class  歩いて extends スレッド{
     ......
    public void run(){ .... }
}
class  数えて extends スレッド{
........
public void run(){ ..... }
}
class 歩いて数えて{
public static void main(){
          Thread th1 = new 数えて();    Thread th2 = new 歩いて();
          h1.run();          h2.run();
        }
}



2017-06-01

どうして血栓ができたか

妻は夕食にはお茶を飲まなかった
夕方から寝るまで水分は極端に少なかった
寝て尿意があると目が覚める
のが夕方水分を取らないわけだった
この習慣が長年つづいた
これが血栓ができたわけだと思う
気を付けましょう
注意、注意

JAVAの多態性、ポリモーフィズムってなに

Aの型の変数a が、Bのオブジェクトb-obj だったり、
Cのオブジェクトc-obj だったりすることだよ
a =  b-obj; a = c-obj;

この世界でいうと、魚の型の変数に
いか が入ったり、まぐろ が入ったりすることよ

魚  sakana1 = new いか();
魚  sakana2 = new まぐろ();

こうできるのは
いか、まぐろ のクラスが魚クラスを継承しているときよ

class  いか extends 魚{...}
class  まぐろ extends 魚{...}

魚の泳ぐメソッドの場合、こんなふうになるよ

class 魚{
  String 泳ぐ(){ return " 尾びれを振る"; }
}
class  いか extends 魚{
  void  泳ぐ(){  return "水を吹いて"; }
}

いか の泳ぐメソッドをじっこうすると、
「水を吹いて」が表示され
まぐろ の泳ぐメソッドでは、
「尾びれを振る」が表示されるよ

ところで動物学でこれが正しいかは検証してないよ