うしブログ

うしブログ

趣味で運営する、GeoGebraの専門ブログ。

(作業メモ)StartPoint要検証(2行の場合;テキスト変更時未定義問題)

(要修復)ToggleButton・RollPolygonWithoutSlipping・貯金時計・直感力トレーニング

「0 < 数値 <= 最大値」をループさせる

0,1,2,3, 0,1,2,3, 0,1,2,3,...

のように、

0を含み、最大値を含まないループ(0 <= 数値 < 最大値)は、

Mod[ <数値>, <最大値> ]

で得られます。

上の例では、数値オブジェクトnを作成し、さらに、数値オブジェクト

loop = Mod[n, 4]

を作成すれば、nをスライダーで増加させていったとき、loopは常に0 <= loop < 4の範囲をループします。

f:id:usiblog:20190510164042g:plain

ところで、下図のように、0を含まず、最大値を含むループ(0 < 数値 <= 最大値)も、時々需要があります(Elementコマンドで、要素の番号を指定する場合など)。

f:id:usiblog:20190510164316g:plain

上記のループは、

If[ Mod[n, 4] == 0, 4, Mod[n,4] ] 

で実現できます。一般化した式は、以下のとおりです。

If[ Mod[<数値>, <最大値>] == 0, <最大値>, Mod[<数値>, <最大値>] ] 

 この数式を、オリジナルツール

Loop[<数値>, <最大値>]

としてまとめたggtファイルは、以下のリンク先からDL可能です。

Loop tool - GeoGebra