名こそ流れてなお聞こえけれこの広告は、90日以上更新していないブログに表示しています。計算プリントはじめに関数ひながたBEquation_ExpressionEquation_Make_Aちょっぴり感想まとめはじめに今回は今まで作った関数を組み合わせるだけです。未知との互換性が高い関数が書ければめちゃくちゃ簡単な作業なのですが。関数ひながたBまずは表現系から。SubEquation_Expressionいろいろ数値の調整が必要で見た目が散らかるため、サブ関数化しました。Functionここに含まれているサブ関数は以前に書いた通りです。泳いでいるときに息が苦しくなって。そのせいで動きも息継ぎも悪くなってもっと苦しくなる。そんないっぱいいっぱいな仕様になっています。優雅に泳げれば楽しいのかなと思います。これはプログラミング技術がどうこうっていうより、もっと根幹にある問題だと思います。チープに言えば「計画性」です。体力をつける練習はしているけど、計画性を磨く練習はしていない気がします。ことを昔にも思ったはずなのですが。まとめこれで「一次方程式」はいったん終わりです。この企画もだいぶ書き進めましたね。50回くらい投稿していますー。次回は息抜きがてら、この企画をやっていて思うこと、反省などを書きます。計算プリントはじめに願望Equ_kou_Adjustまとめはじめに現状の関数のみでは、解が分数の問題ばかりができてしまいます。「値の調整」を行いましょう。「値の調整」はいうなれば、現状の仕組みが弱いから付けざるを得ない付属品です。そのうちその「仕組み」自体を変更することがあるかもしれないので、その時のために原案を練っておきましょう。なったらいいなぁというものを書いておきます。方程式に含まれる項のうちの、文字が含まれる項の数を指定できる。方程式を整理した後の係数を指定できる。あとふたつくらい「方程式」を実装してから、それらをうまく扱える「仕組み」を作ろうかなと思っています。それまでは多少のちぐはぐは我慢。Equ_kou_Adjust係数を都合の良いように変更する関数です。Function結構ちぐはぐな関数です。まとめ「一次方程式」の回は、どの関数もあんまりきれいじゃないですね。前に作った関数たちとの互換性が薄いからこんなことになるんですね。それって回避できる問題なのだろうか。見ぬ未来の関数とも互換性の良いコードって書けるのだろうか。次回は今まで作った関数を組み合わせて、「一次方程式」の計算プリントを作ります。計算プリントはじめに手動でやってみる自動でやってみるまとめはじめにおなじみの流れです。最初に問題を生成する関数をつくって。次に問題を解析する関数を書きます。手動でやってみる2a+5=4a-1-2a=-6a=32列目の式を「-2a=」とするか「2a=」とするかは流派がありそうですね。自分は後者なのですが、前者のほうがややこしくないかなとも思います。Function腕力でつくっちゃいました。作った「Lit_Str_Analyze」を使えないかなーと考えたらこんな風になりました。0への処理はもうちょっとうまくできる気もしますが、今回は保留で。まとめだいたい今までの流れでは。その時に作れるギリギリのものを作って2,3日眠ると。それと全然違うもっと良いものを思いついたりするので。今日の関数はそのための供物みたいなものです。なんで供物のフェイズを省略できないのかは謎です。次回は「値の調整」をします。計算プリントはじめに手動で生成してみる自動で生成するEquation_Make_AEqu_ReDo_Jdgまとめはじめに「方程式」の第一段は「一次方程式」です。これは昔に何度か扱ったことがあるのですが、今回はそれとは違うアプローチでやりたいですね。手動で生成してみる3x+5=x-1適当に作ってみました。今までとの違いは3つ。生成する文字列中に”=”が存在する文字と数字が少なくとも1項ずつあってほしい方程式として成立する項の組み合わせであってほしいこのあたりが最初のとっかかりです。自動で生成するとりあえず第一案として。Equation_Make_AFormula_Make系の方程式バージョンです。FunctionEqu_ReDo_Jdg基本的にこれを強化していくことになりそう。Function今回は「文字を持つ項が全体の半分」であり「方程式を整理しても文字を持つ項が残る」ことを条件としています。まとめ全体的にまだしっくりとは来ていないのですが、これをたたき台として作っていきます。次回は「解析関数」を作りましょう。計算プリントはじめに統合してみるFormula_Make_CFra_Num_SelectInt_Num_Selectまとめはじめに「数値指定系」は最初に作った関数たちです。二項の計算に絞って「意図的な計算式」を作るものです。これは「二項の関係」が肝なので「無作為系」や「繰り返し系」とは相いれません。これはこれで出来るだけ小さくまとめます。統合してみるまずは「分数の計算」を現状での最新式に書き換えます。「整数の計算」をそれに対応させます。Formula_Make_CCは二項の値を同時に(?)決める仕様です。FunctionFra_Num_SelectLiteral2クラスに対応させました。Formula_Make_Cのほうで出来ることはそちらでさせる方針に。FunctionInt_Num_Select「整数の計算」の関数たち、中でも「Num_Select」系はコードの分量が多くて、うまくまとめるのが難しいです。今回はごまかしの方法で。従来の関数で数値を指定してから、それをそのままLiteral2クラスの変数に変換することにしました。Function意外と悪くない考え方なんじゃないかなと思います。まとめなんだかものすごい疲れました。頭の変な部分を使った気がします。楽しいというより苦しい回でしたが、第一回統合もこれで終わり。次に何をするかはやっぱり悩ましいですね。「文章問題」と「方程式」が天秤に乗っています。指で右に傾けて、「方程式」に進みましょう。計算プリントはじめに統合してみるFormula_Make_BInt_ReDo_Jdgまとめはじめに今回は「3数の計算」を統合します。統合してみる「3数の計算」はいうなれば「繰り返し系」です。「無作為系」との統合は今回はやめておきます。Literal2クラスとLit系の関数に対応させましょう。Function基本的にはLit系の関数からなっています。Int_ReDo_Jdg本当はこれの分数バージョンもあったほうが良いのですが、それはまだ保留で。Function原因はわからないのですが、「Ans.Vb」をきちんと読み込んでくれない事案が発生して困っていました。「ans.Fit」を入れたら解決したのですが、謎。まとめ今回はそれほど恩恵の大きい回ではありませんでしたが、Int系の関数をいくつか減らしました。次回は「数値指定系」に触れます。計算プリントはじめに統合してみるFormula_Make_ALit_Kou_SelectLiteral2クラスまとめはじめに今まで作ってきた関数を統合していきます。「数値の指定」に重きを置かないものたちから。統合の回はコードは統合後のものだけを書きます。統合前のものまでいちいち書くときりがないので。数」「文字式」のすべてを扱える関数を作ります。FunctionLit_Kou_Selectここで項の種類を指定しています。FunctionLiteral2クラスSのつくりかたを少し変えました。負の数に対応するために。数値をランダムに選べるものは簡単に作れます。次回は「3数の計算」を統合します。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。