| ゴミの日トップ|手順0|手順1|手順2|手順3 | |
| プログラムを作成する前に・・・考えましょう |
![]() |
| 「何がしたいか・何を作りたいか」を、考えましょう。漠然とでいいです。 結構これで、完成までの近道が見つかります。 |
|
| 今回の例で説明すると、最初はカレンダーを作成し、途中から表の表示場所を追加します。 これが、最初の構想段階で「後で表部分を追加する」が無い場合、画面一杯のカレンダーを作成するかも知れません。 オブジェクトの配置やサイズ・フォントのサイズなど全面的な見直しの必要が出てきます。これは大事ですね。 変数名やオブジェクト名。できるだけ名前を見て内容のわかるものにしましょう。確かに「A・B・C」や「1・2・3」などが簡単ですが、あとで、修正する事になると大変苦労します。特にイベントの名前まで利用していた場合、エラーが出ず、ただ実行されない場合もあります。 このエラー(?)は、なかなか見つけづらいものです。 逆に、計算式で利用するような事が想定されれば、連番が便利な場合もあります。 変数の利用方法。「わかりやすい名前を」と、書きましたが、桐には配列変数もあります。 例えば、月々の売り上げを変数に代入する場合を考えてみましょう。変数を「&売上1・&売上2・・&売上12」の12個準備して &売上1=1月の売り上げ &売上2=2月の売り上げ &売上3=3月の売り上げ ・・・ &売上12=12月の売り上げ ・・・このようにすることも可能ですが、 通常は、配列変数「&売上[12]」を準備して &売上[1]=1月の売り上げ &売上[2]=2月の売り上げ &売上[3]=3月の売り上げ ・・・ &売上[12]=12月の売り上げ ・・・このように書きます。 今回のカレンダーの日付やゴミの日の区分は配列変数を利用して設定していきます 次に変数の種類。桐には変数の種類は「文字列・数値・通貨・整数・日時・時間」他が、あります。 ・文字列:文字の代入(4000 文字まではいります) ・数値 :数値の代入(±10の124乗(有効桁数:16 桁) ・通貨 :数値の代入(ただし通貨記号処理、3桁区切りコンマ処理がことなります範囲は同等です) ・整数 :整数の代入(-32768 〜 32767の範囲ないです) ・日時 :日時の代入(西暦 1年 1月 1日 0時 0分 0.000秒 〜 西暦 65535年 12月 31日 23時 59分 59.999秒の範囲) ・時間 :時間の代入(- 65535日 23時 59分 59.999秒 〜 65535日 23時 59分 59.999秒の範囲) 他(長整数・実数)は、ヘルプ参照下さい 計算式の例。通常の四則計算(+−×÷)他、たくさんの関数を利用した計算も行えます。 ・計算例1・・普通の計算 「3+5=8、4×5=20」小学校で習ったような計算もできます(もちろん複雑な計算もできます) ただ、式の書き方が、プログラム風です。左側に答えが入り、右側に式を書きます &数値変数a=5 &数値変数b=3 &数値変数c=&数値変数a+&数値変数b・・・これで、&数値変数cに8が入ります ・計算例2・・文字列も計算できます &文字列変数d="東京" &文字列変数e="駅" &文字列変数f=&文字列変数d+&文字列変数e・・・これで、&文字列変数fに"東京駅"が、入ります ただし「引き算・掛け算・わり算」は出来ません ・計算例3・・文字と数字の足し算は、・・・・できません。 &数値変数g=95 &文字列変数h="windows" このような場合 「&文字列変数h+&数値変数g」は、出来ませんが、いったん数値を文字列に直す「#文字列(&数値変数g)」を利用して 「&文字列変数h+#文字列(&数値変数g)」とすることで、"windows95"という答えを出すことが、できます ・計算例4・・文字と数字の引き算は、・・・・これもできません。 &数値変数i=5 &文字列変数j="95" このような場合 「&文字列変数j−&数値変数i」は、出来ませんが、いったん文字列を数値に直す「#数値(&文字列変数j)」を利用して 「#数値(&文字列変数j)−&数値変数i」とすることで、「90」という答えを出すことが、できます |
他にもまだ、たくさんありますが、上記の数値と文字の相互変換関数を覚えるだけで、90%くらいの式を利用出来ます。是非覚えてくださいまた、変数は、一度代入したら次に変更するまで同一値で利用できる物や、コマンド(プログラム)の内容や操作で随時更新されるものもあります。ご注意下さい。その他の変数や、計算式は、利用するとき説明致します |
プログラム流れの説明
本当はフローの方がわかりやすいのでしょうが申し訳ございません。 |
||||||||||||||||||||||||||
桐の日時操作関数の、主なものを紹介します<抜粋>
|
||||||||||||||||||||||||||
| 桐の関数以外の計算式 |
||||||||||||||||||||||||||||||||||||||||||||||||||
| 計算式の説明 | カレンダー用計算式の説明の前に、円の面積の公式は覚えてますか?。円周率は・・・・・ 別に、覚えてなくてもいいんです。「必要な内容が異なるからその都度作成していけば」と、安直な考え方でとりかかります。 |
|||||||||||||||||||||||||||||||||||||||||||||||||
| それでは、安直な説明 |
||||||||||||||||||||||||||||||||||||||||||||||||||
| 説明用 カレンダー |
|
|||||||||||||||||||||||||||||||||||||||||||||||||
それでは、イベント(kev)で使用されてる計算式を紹介いたします |
||||||||||||||||||||||||||||||||||||||||||||||||||
| カレンダー表示用 計算式 |
繰り返し &i=1,37 if(&i+1-&月初曜>=1 .and &i+1-&月初曜<=&月末) &日t[&i]=&i+1-&月初曜 else &日t[&i]=#u end 繰り返し終了 |
|||||||||||||||||||||||||||||||||||||||||||||||||
<カレンダー用計算式> プログラムの詳細は、イベント説明の中に記載してありますが、計算式「&i+1-&月初曜」の説明を、簡単に紹介します |
||||||||||||||||||||||||||||||||||||||||||||||||||
ゴミの日表示用 計算式例1 |
手続き定義開始 設定表示() 変数宣言 自動,整数{&damy} 繰り返し &i=1,37 &ごみ[&i]=#u 繰り返し終了 &i=1 繰り返し(&内容[&i]<>#u) &damy=(&週数[&i]-1)*7+#MOD(&曜数[&i]-&月初曜+7,7)+&月初曜 if(&damy>=1 .and &damy<=37) if(&日t[&damy]>0) &ごみ[&damy]=&内容[&i] end end &i=&i+1 繰り返し終了 手続き定義終了 |
|||||||||||||||||||||||||||||||||||||||||||||||||
<計算式例1>の説明 この計算式は少し苦労しました。上記、1日が木曜の場合、第一火曜は「J」になりますが、どうしても「C」になってしまいます。 |
||||||||||||||||||||||||||||||||||||||||||||||||||
ゴミの日表示用 計算式例2 |
手続き定義開始 設定表示1() 変数宣言 自動,整数{&damy} 繰り返し &i=1,37 &ごみ[&i]=#u 繰り返し終了 &i=1 繰り返し(&内容[&i]<>#u) &damy=(&週数[&i]-1)*7+#MOD(&曜数[&i]-&月初曜+7,7)+&月初曜 if(&damy>=1 .and &damy<=37 .and &damy+1-&月初曜<=&月末) &ごみ[&damy]=&内容[&i] end &i=&i+1 繰り返し終了 手続き定義終了 |
|||||||||||||||||||||||||||||||||||||||||||||||||
<計算式例2>の説明 次に、3個目の比較式を変更してみました。「&日t[&damy]>0」→「&damy+1-&月初曜<=&月末」です。 |
||||||||||||||||||||||||||||||||||||||||||||||||||
ゴミの日表示用 計算式例3 |
手続き定義開始 設定表示2() 変数宣言 自動,整数{&damy} 繰り返し &i=1,37 &ごみ[&i]=#u 繰り返し終了 &i=1 繰り返し(&内容[&i]<>#u) &damy=#int((7-#mod(&重複[&i]-1,7)+&月初曜-2)/7)*7+&重複[&i] if(&damy>=1 .and &damy<=37 .and &damy+1-&月初曜<=&月末) &ごみ[&damy]=&内容[&i] end &i=&i+1 繰り返し終了 手続き定義終了 |
|||||||||||||||||||||||||||||||||||||||||||||||||
<計算式例3>の説明 でも、なにかが違う・・・よくわからないが・・そして最後に作成した計算式が、 |
||||||||||||||||||||||||||||||||||||||||||||||||||
| 計算式の使用例 | たくさんの生徒がいるなかで、「1年生・男子・数学が100点」・・・・を、選択する場合の例 |
|||||||||||||||||||||||||||||||||||||||||||||||||
| 式1 | if(1年生) if(男子) if(数学が100点) ・・・・ end end end |
|||||||||||||||||||||||||||||||||||||||||||||||||
| 式2 | if(1年生 .and 男子 .and 数学が100点) ・・・・ end |
|||||||||||||||||||||||||||||||||||||||||||||||||
<式の説明> 「式1・式2」どちらも同じ答えがでます。あえて「式2」の方式にする必要はありません。 |
||||||||||||||||||||||||||||||||||||||||||||||||||