Difference between revisions of "Basic Pascal Tutorial/Chapter 3/FOR..DO/ja"
m (bypass language bar/categorization template redirect [cf. discussion]) |
|||
(7 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
− | {{FOR..DO | + | {{Basic Pascal Tutorial/Chapter 3/FOR..DO}} |
== FOR...DO Loops (著者: Tao Yue, 状態: 原文のまま修正なし) == | == FOR...DO Loops (著者: Tao Yue, 状態: 原文のまま修正なし) == | ||
Line 15: | Line 15: | ||
=== FOR...DO Loop === | === FOR...DO Loop === | ||
Pascal においては固定反復が for ループである。一般的な形式は次の通りである。 | Pascal においては固定反復が for ループである。一般的な形式は次の通りである。 | ||
− | <syntaxhighlight> | + | <syntaxhighlight lang=pascal> |
− | for index := | + | for index := 初期値Low to 終了値High do |
文; | 文; | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Line 22: | Line 22: | ||
インデックス変数は '''順序型''' データでなくてはならない。このインデックスはループ本体の中で計算に用いられるが、その値は変えることはできない。たとえば、 <tt>count:=5</tt> とするとプログラムに例外を引き起こす。 | インデックス変数は '''順序型''' データでなくてはならない。このインデックスはループ本体の中で計算に用いられるが、その値は変えることはできない。たとえば、 <tt>count:=5</tt> とするとプログラムに例外を引き起こす。 | ||
− | + | Pascal では、 <tt>for</tt> ループは1の増加のみがカウントできる。 | |
− | + | ループは ''break'' 文で中断できる。 | |
− | + | インデックスを利用した例を次に示す。 | |
− | <syntaxhighlight> | + | <syntaxhighlight lang=pascal> |
sum := 0; | sum := 0; | ||
for count := 1 to 100 do | for count := 1 to 100 do | ||
Line 34: | Line 34: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | + | コンピュータは、終了になるまで延々合計を求め続ける。しかし、それは数学者ガウスが簡単な近道で合計を求めたやり方よりもはるかに速い (<tt>1+100 = 101. 2+99 = 101</tt>。パターンがわかっただろうか? 100の数字があるので、そのパターンが50回繰り返される <tt>101*50 = 5050</tt>。これは高等数学ではないし、ガウスに由来するというのもたぶん作り話だろう)。 | |
− | + | <tt>for-to-do</tt> ループでは、初期値は終了値よりも小さくなくてはならない。さもないとループ自体が実行されない。もし、カウントダウンしたいのなら、 <tt>for-downto-do</tt> ループを使うべきである。 | |
− | <syntaxhighlight> | + | <syntaxhighlight lang=pascal> |
− | for index := | + | for index := 初期値High downto 終了値Low do |
− | + | 文; | |
</syntaxhighlight> | </syntaxhighlight> | ||
== See also == | == See also == | ||
− | [[WHILE..DO/ja|While ...Do loops/ja]] | + | [[Basic Pascal Tutorial/Chapter 3/WHILE..DO/ja|While ...Do loops/ja]] |
[[Until/ja|Repeat... Until loops/ja]] | [[Until/ja|Repeat... Until loops/ja]] | ||
Line 51: | Line 51: | ||
{|style=color-backgroud="white" cellspacing="20" | {|style=color-backgroud="white" cellspacing="20" | ||
− | |[[CASE/ja|previous]] | + | |[[Basic Pascal Tutorial/Chapter 3/CASE/ja|previous]] |
− | |[[Contents/ja|contents]] | + | |[[Basic Pascal Tutorial/Contents/ja|contents]] |
− | |[[WHILE..DO/ja|next]] | + | |[[Basic Pascal Tutorial/Chapter 3/WHILE..DO/ja|next]] |
|} | |} |
Latest revision as of 16:19, 20 August 2022
│
български (bg) │
English (en) │
français (fr) │
日本語 (ja) │
中文(中国大陆) (zh_CN) │
FOR...DO Loops (著者: Tao Yue, 状態: 原文のまま修正なし)
FOR...DO は Pascal におけるループを構成するためのものである。もちろん、まず "ループとは何か?"という疑問が湧くだろう。
Loops
ループするとは文や複合文が、ある条件が満たされるまで繰り返し繰り返し実行されることを意味する。
3つのタイプのループがある。
- 固定反復(fixed repetition) - 固定された回数のみ反復する
- プリテスト(pretest) - ブール式をテストし、TRUE ならループに入る
- ポストテスト(posttest) - ループを実行し、それからブール式をテストする
FOR...DO Loop
Pascal においては固定反復が for ループである。一般的な形式は次の通りである。
for index := 初期値Low to 終了値High do
文;
インデックス変数は 順序型 データでなくてはならない。このインデックスはループ本体の中で計算に用いられるが、その値は変えることはできない。たとえば、 count:=5 とするとプログラムに例外を引き起こす。
Pascal では、 for ループは1の増加のみがカウントできる。 ループは break 文で中断できる。 インデックスを利用した例を次に示す。
sum := 0;
for count := 1 to 100 do
begin
sum := sum + count;
if sum = 38 then break;
end;
コンピュータは、終了になるまで延々合計を求め続ける。しかし、それは数学者ガウスが簡単な近道で合計を求めたやり方よりもはるかに速い (1+100 = 101. 2+99 = 101。パターンがわかっただろうか? 100の数字があるので、そのパターンが50回繰り返される 101*50 = 5050。これは高等数学ではないし、ガウスに由来するというのもたぶん作り話だろう)。
for-to-do ループでは、初期値は終了値よりも小さくなくてはならない。さもないとループ自体が実行されない。もし、カウントダウンしたいのなら、 for-downto-do ループを使うべきである。
for index := 初期値High downto 終了値Low do
文;
See also
previous | contents | next |