TI-83電卓プログラムのリストを反復するにはどうすればよいですか
質問
Calculusクラスのさまざまな近似方法(Midpoint、Trapezoidal、Simpson)を使用して、グラフの下の領域を計算する一連のプログラムを作成しました。
以下は、私のプログラムの1つ(中間点)の例です。
Prompt A,B,N
(A-B)/N->D
Input "Y1=", Y1
0->X
0->E
For(X,A+D/2,b-D/2,D)
Y1(x)+E->E
End
Disp E*D
これらの近似ルールを関数(Y1)に適用する代わりに、データのリスト(L1)にそれらを適用したいと思います。リストを繰り返すにはどうすればよいですか? 「ループのための」が良いものになるためには、リストの最後のインデックスを取得できる必要があります。 JavaのようにL1.lengthのようなことはできません。
解決
使用してリストの長さを取得できます dim()
. 。それはで見つけることができます 2nd->LIST->OPS->dim(
. 。それ以外の場合は、リスト変数を使用していることを確認してください dim()
タイプについて不平を言うでしょう。その後、添え字でリストにインデックスを作成できます。
例えば、
{1, 2, 3, 4} -> L1
For (X, 1, dim(L1), 1)
Disp L1(X)
End
他のヒント
forループは、多くの言語であるため、Ti-Basicのリストを反復する最も簡単な方法です。ジェフ・メルカドはすでにそれをカバーしているので、専門的な状況で強力なツールであるいくつかのテクニックについて言及します。
リスト上のマッピング
Ti-Basicは、他の言語でマップ関数と同じ効果を持つリスト上の単純なマッピング操作をサポートしています。これに対するTi-Basicサポートは、ほとんどの基本的な算術関数と他の機能の選択にまで及びます。
構文はより単純ではありません。いくつかの数字を追加したい場合 X
いくつかのリストのすべての要素に L1
入力します X+L1→L1
.
seq(
Ti-basicのリスト上のループのほとんどは、巧妙に構築されたものに置き換えることができます seq(
時間とメモリのループを上回るコマンド。このルールの例外は、I/Oまたは保存変数を含むループです。
このコマンドの構文は非常に混乱する可能性があるため、読むことをお勧めします このドキュメント それを使用する前に。そのリンクが死んだ場合、ここに最も関連性の高い情報があります。
コマンドサマリー
1つの変数が範囲の値を獲得し、オプションで指定されたステップでスキップする式を評価することにより、リストを作成します。
コマンド構文
seq(式、変数、start-value、end-value [、step])
メニューの場所
プログラムを編集している間、プレス:
リストメニューを入力する2番目のリスト右メニューops submenu 5を入力するには、seqを選択します(または矢印を使用します。
計算機の互換性
Ti-83/84/+/se
トークンサイズ
1バイト
ドキュメントは、構文を説明する良い仕事をする必要があります seq(
, 、そのため、サンプルユースケースを提供します。
1〜100のすべての数字の正方形が必要な場合は、これを行うことができます
ループ用
DelVar L1100→dim(L1
for(A,1,100
A²→L1(A
End
または、これ
seq
seq(A²,A,1,100→L1
の欠点 seq(
i/oを実行できないか、式内に変数を保存できないということです。
事前定義されたリスト反復関数
に行きます LIST
メニューと下のすべての操作をチェックしてください OPS
と MATH
. 。これらの事前定義された関数は、常にループや seq(
同じことをするように設計された表現。