While

While[test,body]

testTrueを与えなくなるまで,testbody を繰り返し評価する.

詳細

  • While[test]は,本体がヌルになっているループを実行する.
  • body の評価でBreak[]が作成されるとWhileループを脱出する.
  • Continue[]body の評価を脱出するが,このループを続行する.
  • 明示的なReturn[]が使われない限り,Whileが返す値はNullとなる.
  • i=0;While[i<0,tot+=f[i];i++]のような例では,C言語と比較すると「;」と「,」との役割が逆転していることに注意.

例題

すべて開くすべて閉じる

  (1)

n<4という条件を満足させながら,n を出力し1つずつ増加させる:

スコープ  (2)

テストの一部としてボディを含めることができる:

Breakを使うとWhileから出ることができる:

一般化と拡張  (1)

ループの最中あるいは最後に条件を調べる:

アプリケーション  (2)

2数の最大公約数を計算する:

固定点計算で反復数を数える:

特性と関係  (4)

テストがFalseの場合,ボディは決して評価されない:

WhileNullを返す:

Printを使って反復を見る:

Doは固定回数の反復を行う:

NestWhileWhileの関数形式である:

Wolfram Research (1988), While, Wolfram言語関数, https://reference.wolfram.com/language/ref/While.html.

テキスト

Wolfram Research (1988), While, Wolfram言語関数, https://reference.wolfram.com/language/ref/While.html.

CMS

Wolfram Language. 1988. "While." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/While.html.

APA

Wolfram Language. (1988). While. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/While.html

BibTeX

@misc{reference.wolfram_2024_while, author="Wolfram Research", title="{While}", year="1988", howpublished="\url{https://reference.wolfram.com/language/ref/While.html}", note=[Accessed: 25-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_while, organization={Wolfram Research}, title={While}, year={1988}, url={https://reference.wolfram.com/language/ref/While.html}, note=[Accessed: 25-November-2024 ]}