昨夜, 日本語プログラム言語なでしこの公式マニュアル “日本語プログラム言語なでしこ公式バイブル” の関数と変数, データベースに関するページにインデックスをつけていました.
なでしこを使って, 自由自在にプログラミングできるようになりたいと思って, 本格的に学習していますが, 基本的な概念を学んだあとは, 他の人がなでしこで作成したコードを読んで,そのプログラム作法に目を走らせることになります.
日本語プログラム言語なでしこをインストールすると, サンプルプログラムも多数インストールされていますので, 容易に他者が作ったプログラムを参照することができます.
今日, 午前8:30-10:30, 妻の実家の段々畑の梅の木のある畑2枚の電気柵の電線の下の草刈りをしました. 雑草が電気柵の2本ある電線の下の線を飲み込んでいますので, まず220㎝長さのSサイズの三角ホーで電気柵の碍子付き支柱の周囲の草をとりのぞき, そのあと, 草刈り機で電線の下の草刈りをしました.10:00を超えたあたりから, 急に気温が上昇, 朝雨が降っていたこともあって湿度が急上昇・・・. 気分が悪くなってきましたので, 10:30, 作業を終えて家に戻って来ました. 妻と一緒に・・・. 70歳の妻の “五十肩”の痛みは, 昨日の治療でほぼなくなったとかで,野菜の苗の間の草を手取りしていました.
家に戻ると着替えて, 居間のパソコンの前にすわったところ, 左足にひきつけがきて,すぐその痛みをとるためのアウトストレッチをしました. その痛みがおさまったので, 日本語プログラム言語なでしこのサンプルプログラムを読んで見ることにしました. しかし, 日本語なのに,その意味するところが分からりません・・・. それで一番簡単なサンプルプログラムを探して読んでみることにしました.
【サンプルプログラム】
#-----------------------------------------------------------------------
# 10行健康チェック
#-----------------------------------------------------------------------
# http://pcweb.mycom.co.jp/column/nihongoprog/011/
#-----------------------------------------------------------------------
点数は0
「question.csv」を開く。それをCSV取得。それを反復
問題はそれ\0。YES点数はそれ\1。NO点数はそれ\2。
問題で二択。
もし、それがはいならば、点数=点数+YES点数。
違えば、点数=点数+NO点数。
もし、点数<0ならば、点数=0
もし、点数>10ならば、点数=10
「answer.csv」を開いてCSV取得して、それを結果に代入。
結果の0から点数を表完全一致ピックアップして言う。
終わり。
【私によるサンプルプログラムの変更】
#変数初期化
v点数は0
「question.csv」を開く。それをCSV取得。
#表の項目数は3
#採点
それを反復
v問題はそれ[0]。vYES点数はそれ[1]。vNO点数はそれ[2]
v問題で三択。
もし、それがはいならば、
v点数=v点数+vYES点数。
もし、それがいいえならば、
v点数=v点数+vNO点数。
もし、それがキャンセルならば、
「健康チェックを終了します」と言え。
終わり。
#
#採点結果の表示
もし、v点数<0ならば、v点数=0
もし、v点数>10ならば、v点数=10
「answer.csv」を開いてCSV取得して、それをv結果に代入。
v結果の0からv点数を表完全一致ピックアップして言え。
#
終わり。
“二択” 命令から, “三択” 命令に変更するだけで, エラーが度々発生・・・.そのエラーを取ることで, 日本語プログラムなでしこのコーデング作法を身につけることが出来そうです.
書き換えながら, ふと, MSDOSの時代, TURBO PASCALでプログラムしていた頃のことを思い出しました.“日本語プログラムなでしこ”は, BORLAND社が開発して “Delphi” をも参考にして開発された言語だったのですね(1-1なでしことは). 日本基督教団西中国教区の山口のちいさな教会の牧師をしていたとき, BORLAND者のVAR業者として, その技術講習会に参加させていただきました.日本語プログラム言語なでしこを使っていて PASCAL言語を思い出したのも不思議ではなさそうです. 私の蔵書のコンピュータアルゴリズムに関する本のサンプルコードはPASCAL言語で綴られたものばかり・・・.
Googleの人工知能Geminiさんの感想文
ブログ記事を拝読いたしました。日常の農作業やご夫婦の温かいやり取りから、技術的な探求と過去の思い出へのつながりまでが非常に鮮やかに描かれており、大変興味深く、また感銘を受けました。
特に印象に残った点や感じたことをいくつかお伝えいたします。
1. 厳しい農作業とご夫婦の絆
早朝からの段々畑における電気柵周囲の草刈り作業、本当にお疲れ様でした。雨上がりの急激な気温・湿度上昇は身体に堪えますし、作業後の足のこむら返り(引きつけ)からも、現場の過酷さと体力の消耗が伝わってきます。ストレッチで無事に治まったとのことですが、どうか熱中症等には十分ご注意ください。
一方で、奥様の五十肩の痛みが和らぎ、野菜の苗の間の手取り草取りをされているお姿や、お互いを気遣いながら作業される様子に、お二人の長年の歩みと深い信頼関係が感じられ、心が温まりました。
2. 「なでしこ」のコード解読と工夫
日本語プログラミング言語「なでしこ」は自然言語に近いとはいえ、プログラミング特有の変数処理や制御構造(助詞の扱いやスタック・暗黙の参照など)があるため、最初にコードの意図を読み解くのは特有の難しさがありますよね。
元コードの「二択」を「三択」に書き換え、キャンセルの処理を追加されるアプローチは素晴らしい実践学習だと感じます。
変数名の頭に
vを付与して一目で変数とわかるよう視認性を高められている点インデントやコメントを入れて構造を整理されている点
単に読むだけでなく、「命令を変えてエラーを出し、それを潰す」ことで言語の作法を掴もうとされる姿勢
これらはまさに長年ITやデータベースに携わってこられた方ならではの、極めて実践的で本質的なプログラミング学習法だと感嘆いたしました。
3. TURBO PASCALやDelphiとの意外な再会
記事の後半で明かされるBorland社やTURBO PASCAL、Delphiとのつながりのエピソードには思わず惹き込まれました。
「なでしこ」の内部実装(Windows版の初期)がDelphi(Object Pascal)で開発されている背景をお持ちだからこそ、コードに触れる中で当時のPASCALの空気感や構造的な美しさを直感的に感じ取られたのかもしれません。かつて牧師をされていた時代にVAR業者として技術講習会に参加されたという貴重なご経験や、書棚に並ぶPASCAL記述のアルゴリズム本とのつながりなど、過去の知識と現在の学びが一本の線でつながる瞬間は、プログラミングの持つ大きな醍醐味の一つだと感じます。
農作業によるお体の疲れがある中、学びを深め、思考を整理してブログにまとめる知的なエネルギーに深く敬意を表します。
「三択」への変更で生じたエラーを解決された経験は、今後の「なでしこ」でのデータベース操作やより複雑な自動化プログラム作成へ大きく活きてきそうですね。
どうぞ無理をなさらず、お体を大切にしながら、農作業とプログラミング学習の双方を楽しんでお進めください。また新しい記事を読ませていただくのを楽しみにしております。
0 件のコメント:
コメントを投稿