2019年10月31日

日本語プログラミング言語「なでしこ」を使ってみる(9) - ダイアログ(3)


ダイアログで入力するデータの要求属性により、属性を意識した入力手段を用意している件の続きです。



入力項目の表形式で入力をする事ができます。例がこちら.

なでしこ_0901_s.jpg


コードで”操作メッセージに「入力件数:{入力件数}」を代入”の時点では、”{入力件数}”が表示すべき値になっている事に注意してください。


実行の状況がこちら

なでしこ_0901_Gif.gif



分類できる選択項目の場合、入力欄で絞込みの操作ができます(コードはこちら)

なでしこ_0902_s.jpg


実行の状況がこちら

なでしこ_0902_Gif.gif


入力欄への入力と”OK”クリックではなく、直接に選択項目をダブルクリックするとこちらの様な入力となるので、処理上で何らかの対応が必要です。

なでしこ_0902_xx_s.jpg



数値の入力欄にこちらの様に電卓機能を持たせる事ができます。

なでしこ_0903_s.jpg


実行の状況がこちら

なでしこ_0903_Gif.gif


posted by 鎌倉太郎 at 16:24| 神奈川 ☁| Comment(0) | 体験利用-プログラミング言語 | 更新情報をチェックする

2019年10月30日

日本語プログラミング言語「なでしこ」を使ってみる(8) - ダイアログ(2)


ダイアログで入力するデータの属性を意識した入力手段を用意しています。



先ず、パスワード入力の例がこちら

なでしこ_0801_s.jpg


実行の状況がこちら

なでしこ_0801_Gif.gif


新パスワードの確認、パスワード認証では各1度の誤り入力の操作をしています。



日付の入力ではこちらの例の様にカレンダーを表示して、指定で容易な操作になります。

なでしこ_0802_s.jpg


実行の状況がこちら

なでしこ_0802_Gif.gif


「今日」の日付入力でループ終了となります。



ボタンによる入力操作がこちらの例の様にできます。

なでしこ_0803_s.jpg


実行の状況がこちら

なでしこ_0703_Gif.gif



未だありますが次回にします。



posted by 鎌倉太郎 at 14:00| 神奈川 ☀| Comment(0) | 体験利用-プログラミング言語 | 更新情報をチェックする

2019年10月24日

日本語プログラミング言語「なでしこ」を使ってみる(7) - ダイアログ(1)【改訂】


これまでは処理の結果を表示するだけでしたが、今回はダイアログ機能(コンソール入出力)により入力データを反映する処理とします。

先ず、ダイアログへの表示("言う"命令を使用)と前回までの処理結果表示("表示"命令を使用)とは区別されます。こちらでは処理結果表示をした事をコンソール表示し、「OK」のクリックで複数表示しています。

なでしこ_0701_s.jpg


表示だけの場合も「OK」のクリック待ちになります。



コンソールからの入力を促す命令は”尋ねる”です。データ入力を促すダイアログ及び「はい」か[いいえ]を問う「二択」のダイアログにおける表示例(コード)がこちら

なでしこ_0702_s.jpg


実行の様子がこちら(Gifファイル)。

なでしこ_0702_Gif.gif


最後は数量を入れる所で「取消」により終了しています。



「はい」か[いいえ]に加えて、「キャンセル」を問う「三択」も利用できます(コードがこちら)

なでしこ_0703_s.jpg


プログラミング記法で余り好まれない事ですが、「飛ぶ」命令を使っています。



実行の様子がこちら(Gifファイル)。

なでしこ_0703_Gif.gif


三択の操作では、1回目が[いいえ]、2回目が「キャンセル」としています。



【改訂】 2019年10月25日 14:00 追記



posted by 鎌倉太郎 at 13:00| 神奈川 ☁| Comment(0) | 体験利用-プログラミング言語 | 更新情報をチェックする

2019年10月23日

日本語プログラミング言語「なでしこ」を使ってみる(6) - ハッシュ


配列変数では要素を指定するのに整数を使いますが、要素に文字をキーとして指定するハッシュ変数(いわゆる連想配列)を使う事ができます(こちら)。配列の場合と同様で、ハッシュ変数の宣言は明確にしておきます。

なでしこ_0601_s.jpg


「@」の後ろにキーとなる文字を指定します。
ここでは”ハッシュキー列挙”や”ハッシュ内容列挙”や”要素数”などの機能命令を使っています。
また直前に表示した後、同じ行に情報を表示するのに”継続表示”を使いますが、表示の改行に使っています。



「反復」を使って繰り返して処理を行う事ができます(こちら)。

なでしこ_0602_s.jpg


”ハッシュキー削除”で要素の削除ができます。”継続表示”の例を示していますが、使った後は”基本X”が移動してしまうので、基本Xを戻す必要があります。
コードの後半は指定するハッシュキーがない時はどのようなのかを(少し分り辛いですが)示しています。
尚、これまでのコード例でも複数行に亘って類似のコードを書く時に、半角・全角を意識して異なる様に記述していますが、許容度を確認する為です。



配列の時と同様に、バッシュ変数でも内容の分解をする事ができます(こちら)。

なでしこ_0603_s.jpg


文字列の操作として”追加”で文字の後ろに別の文字を追加できます。
”もし、”の条件で否定は”ない”を使います。



posted by 鎌倉太郎 at 14:00| 神奈川 ☀| Comment(0) | 体験利用-プログラミング言語 | 更新情報をチェックする

2019年10月22日

日本語プログラミング言語「なでしこ」を使ってみる(5) - 配列


「なでしこ」では配列も使う事ができます。配列変数の指定形式は”配列”[n]又は”配列”\nです。nは通常0から始まる整数ですが、変数を使う事ができます(こちら)。

なでしこ_0501_s.jpg


配列の要素に対する各種命令が揃っています。上掲では「配列合計」と「配列要素数」を使っています。カウントの配列要素数を表示した所では、配列は \0 から始まる事に注意してください。
”{改行}”は1行の改行になります。



2次元配列の場合は表として操作する命令が各種あります(こちら)。

なでしこ_0502_s.jpg


上掲では「表列合計」を使っています。”配列”[n]又は”配列”\nといった指定形式を使って時点で、暗黙的に配列変数の宣言をした事になります。

価格表[回数、3]の比較で ”” は 「空」 と表記する事ができます。



上掲の価格表は、こちらの様なリスト形式で作る事もできます。

なでしこ_0503_s.jpg



こちらはリスト形式で指定する時の悪い記述例です(空白を入れてはいけない。先頭の半角空白は無視する場合もありますが、特に全角空白は指定した空白と解釈する場合が多い)。

なでしこ_0504_s.jpg



「反復」で得られた要素を「対象」で取り込み、「対象」を”=”で区切って得られたものを配列として「それ」で参照できます(こちら)。

なでしこ_0505_s.jpg



配列変数を使う時は明確に宣言する事をお勧めします。配列で要素を明確に指定する使い方だけをしている時は問題ありませんが、配列に関する評価命令などを使う場合に予想しない数値が埋め込まれている可能性があります。



posted by 鎌倉太郎 at 13:00| 神奈川 ☔| Comment(0) | 体験利用-プログラミング言語 | 更新情報をチェックする

2019年10月21日

日本語プログラミング言語「なでしこ」を使ってみる(4) - フロー制御(繰り返し)


今回はフロー制御で、条件を満たしている間繰り返し処理を行う構造です。


第1の構造として条件を満たしている[間」は同じ処理を行います(こちら)。

なでしこ_0401_s.jpg


「の間」に続く処理の範囲は、同じインデントにする必要があります。



2つ目の構造は指定の「回」数だけ繰り返しますが、途中でループを抜ける手段(「抜ける」)も用意しています(こちら)。

なでしこ_0402_s.jpg


またその「回数」を使用する事もできます。



3つ目の構造は指定する(自動カウントアップする)整数変数が指定範囲にある間繰り返します(こちら)。

なでしこ_0403_s.jpg


整数変数は負数から始める事もできます(こちら)。

なでしこ_0403plus_s.jpg



4つ目の構造はデータのリストから要素を順次取り出してそれが続く限り「反復」を繰り返しをします(こちら)。

なでしこ_0404_s.jpg


リストの要素を「それ」として利用したり、繰り返した「回数」も使う事ができます。但し、「それ」は形式指定した結果も入れられるので、上掲のコードの場合には「対象」に入れられるリストの要素のデータを使っています。



posted by 鎌倉太郎 at 14:00| 神奈川 ☁| Comment(0) | 体験利用-プログラミング言語 | 更新情報をチェックする

2019年10月18日

日本語プログラミング言語「なでしこ」を使ってみる(3) - フロー制御(条件による分岐)


今回はフロー制御で、その1つが「もし・・・違えば・・・」で条件により分岐する構造です。こちらでは今日の日付を入手して日付と曜日を表示します。

なでしこ_0301_s.jpg


今日という変数はシステム変数です。’もし’と’違えば’の下位の記述は同じインデント位置にする必要があります。[もし・・・違えば・・・」は入れ子ができます。



同じように今日の日付を入手して日付と曜日を表示するのであれば、[条件分岐」も使えます(こちら)。

なでしこ_0302_s.jpg



尤も、フロー制御に拘らず、日付と曜日の表示だけであれば、

   今日を「yyyy年m月d日(dddd)」に日時形式変換して表示

という簡単なコード1行で済みます。結果は(今日であれば)

2019年10月18日(金曜日)

となります。


  
posted by 鎌倉太郎 at 14:00| 神奈川 ☔| Comment(0) | 体験利用-プログラミング言語 | 更新情報をチェックする

2019年10月17日

日本語プログラミング言語「なでしこ」を使ってみる(2) - データの型と変数の宣言


最初から少し堅い話しで始まります。プログラミング言語の教科書ではデータの型と変数の宣言の話しから始まりますので、今回は「なでしこ」のデータの型と変数の宣言についてです。


データの型は、数値と文字列があります。数値は40や-87のように書き、文字列は「 」・『 』・" "・' ' で挟んで、「こんにちは」や`秋晴れ`の様に使います(こちら)。

なでしこ_0201_s.jpg


数字は全角でも半角でも同じ扱いです。 「 」は全角でも環境文字でも同じ扱いで、 " と ` は半角が必須。 「 」は前後が全角・環境文字で異なっていても良いようです。



上掲の例で//は以降が(1行)コメントである事を示します。1行コメントには#(全角、半角の区別なし)も使えます。/*  */は複数行に亘って、この範囲がコメントである事を示します(こちら)。

なでしこ_0202_s.jpg


コメントの為の記号は全角・半角は同じように扱われます。最後の行(7行目)の数字は、文字列の扱いになっています。



変数宣言は、『(変数)とは、(型)。』の形式です。(型)は文字列、整数、数値、配列、ハッシュの5種ですが、変数に特定の値(数値、文字列など)を設定するなど簡単な場合には宣言をする必要はありません。『(変数)は、(特定の値)』により、初期値を設定できます。次の例では「リンゴの単価」・「購入数」・「表示テキスト1」などが変数の名前になります(こちら)。

なでしこ_0203_s.jpg


整数や数値には単位を付けて分かり易く記述する事ができますが、処理上はコメントと同じ扱いになります(多くの単位が使えますが、どのような単位でも良い訳ではありません)。また、数値には万や百万といった位取りを指定できます。



上掲の例では表示に円などの単位表示がないので、文字列の中に変数を埋め込む方法をとります。変数や計算式を{ }で囲って、文字列の中で内容を表示する事ができます(こちら)。

なでしこ_0204_s.jpg


ここで注意するのは、結果表示の1行目と2行目です。プログラムは基本的に上から下に流れます。ソースコード:

6  表示テキスト1は、「リンゴ5個購入値段は{甲}円」

を実行する時は甲が変数と認識できていないので、表示テキスト1には埋め込まれた変数はないものとされ、行10で変数 甲 に値があっても、行13の表示では影響を及ぼしません(プログラミング言語によっては、表示する時点で変数の値が設定できていれば良い場合もある)。一方、表示テキスト2に対応する乙は行5で変数として宣言しているので、その時点の値として 0 を値として保持します。

行11で変数乙は値を再設定しますが、行14の表示テキスト2の値を変更する事はありません。



ここまで「表示」を説明なしに使ってきましたが、ここで簡単な説明をします。

日本語は英語などと違って、処理対象を先に書いて動詞を後に表記します。また英語などでは単語を空白で区切りますが、日本語にはそのような規則はないので、「なでしこ」では助詞を使います。

「おはよう」を表示

のように助詞”を”使いますが、”表示”命令で使える助詞は”を”又は”と”に限られます。

感情を込めて・・・、

「?」だけ表示

とすると文法エラーになります。



(型)の内で配列、ハッシュは別途の項目で投稿します。プログラムの流れの話しが出たので、次回からフロー制御を使ってみます。



posted by 鎌倉太郎 at 13:00| 神奈川 ☁| Comment(0) | 体験利用-プログラミング言語 | 更新情報をチェックする

2019年10月16日

日本語プログラミング言語「なでしこ」を使ってみる(1) - Windows版 v1.577の導入


プログラミングも日本語でできるようになりました。日本語プログラミング言語「なでしこ」と云い、Windows版 v1.577 (2019/09/19公開)とブラウザ版 v3.0.61 (2019/06/05公開)があります。最近Windows版がこれまでのデラックス版をフリー版に統合して利用できるようになったので、使ってみる事にしました。


幾つかのプログラミング言語を使いましたが全て英語をベースにしていました。「なでしこ」は私にとって不慣れなプログラミング言語なので先が見えず一時迷う記述になるかも知れませんが、できるだけ中核となる機能を中心に体験を投稿していこうと思います。
「なでしこ」は次の3点に特化した言語としています。

・プログラミング言語の入門用に
・ 事務作業のためのマクロ(定型作業に特化)
・ プログラミングの楽しさを体験できるように

それでも命令一覧を見るとかなりの程度使えると思われます。



先ず、こちらから「なでしこv1」をダウンロードします。

なでしこ_0101_s.jpg


ダウンロードしたフォルダを解凍し、「SetupNako.exe」を実行してアプリケーション(独自設定可)のフォルダにインストールします。デスクトップに「なでしこ」エディタ(nakopad.exe)を起動するショートカットを作ってくれます。


Windowsではセキュリティ上の判断で起動を保留にしますので(こちら)、「詳細情報」→「実行」します(こちら)。

なでしこ_0102_s.jpg


なでしこ_0103_s.jpg


起動した所がこちら

なでしこ_0104_s.jpg

「設定」→「起動時ニュースを表示する」のチェックを外すと、次の起動からは左フレームを有効に使えます。



さて、インストールが上手くいったかを確認する為によく「Hello!」を表示する事をしますが、ここでも「こんにちは! 今日は気持ちの良い秋晴れですね。」を表示します。エディタでの入力及びメニュー「実行」→「実行」(アイコンの▶でも可)の結果がこちら

なでしこ_0105_s.jpg

エディタ上での記述がソース、青枠のウィンドウが実行結果です。



そしてメニュー「ファイル」→「名前を付けて保存」します(こちら)。

なでしこ_0106_s.jpg



日本語の記述でプログラムとして機能している事が分かります。複雑なプログラムになれば、若干異質な日本語にならざるを得ませんが、プログラムの内容を理解するのは容易です。プログラミングというものを知る切っ掛けになるだけでなく、日常の作業を自動化するにも十分使えそうです。ライブラリーで実現するような機能を日本語で定義していたり、MS-Officeなどとの連携機能を持ちます。またエディタを中心としたデバッグ・実行環境を備え、実行ファイルの作成(コンパイル?)もできます。


これからの投稿では、「なでしこ」がどのような事ができるかを、例題としてのプログラム作成を意図したいと思います。



posted by 鎌倉太郎 at 15:00| 神奈川 ☁| Comment(0) | 体験利用-プログラミング言語 | 更新情報をチェックする

2019年02月13日

Microsoftがブラウザからアクセスする「Small Basic Online 1.0」のプレビュー版を公開


こちらの記事によると、Microsoftはブラウザからアクセスする「Small Basic Online 1.0」のプレビュー版を公開しました。



「Microsoft Small Basic」のホームページ(「Small Basic Online version 0.91」も含む)はこちらですが、プレビュー版はこちらからアクセスします。




大きく目立つのは左の「Libraries」とデバッガーアイコンです(こちら)。




これから試用するにあたり、先ず上記記事でプレビュー版としての制限事項(不具合)を挙げています。
 1.立ち上げ時に時間が掛かる。
 2.「Import」と「Publish」は処理ロジックと繋げていない。
 3.「turtle」はEdgeブラウザで使えない(Chromeは可)。
 4.TextWindow」で、マウスで位置にクリックしてから入力する必要がある。実際、上掲のサンプルソースを実行した時、こちらで入力位置にクリックしてから行う。



これ以外にはGitHubを参照となっています。



尚、日本語コードには現状で対応していないようです(こちらを参照)。



また、「Online」では使えないライブラリーが多いようです(こちらを参照)。




「Libraries」に関して、何かクリックしてアプリソースに反映する訳でもないので、残念ながら「Reference Documents」との違いが余り感じられません。

今後の計画にも触れています。即ち、「Small Basic Online 1.0」をリリースしても、「Small Basic Desktop 1.0」は公開せず、Version 2.0で「Online」と「Desktop」を同時に公開予定。「Online」と「Desktop」で機能上の違いは殆ど無い(!?)が、「Desktop」では拡張機能を装備できるようにする予定。



posted by 鎌倉太郎 at 16:00| 神奈川 ☁| Comment(0) | 体験利用-プログラミング言語 | 更新情報をチェックする