Sign in Join
Wiki copytemporary

Basic Pascal Tutorial/Chapter 3/FOR..DO/ja: what changed

Revision 1 to 2. Removed lines have a minus sign; added lines have a plus sign.

OldNewLine
11## Contents
22
33 * 1 FOR...DO Loops (著者: Tao Yue, 状態: 原文のまま修正なし)
44 * 1.1 Loops
55 * 1.2 FOR...DO Loop
66 * 2 See also
77
88## FOR...DO Loops (著者: Tao Yue, 状態: 原文のまま修正なし)
99
1010FOR...DO は Pascal におけるループを構成するためのものである。もちろん、まず "ループとは何か?"という疑問が湧くだろう。
1111
1212### Loops
1313
1414ループするとは文や複合文が、ある条件が満たされるまで繰り返し繰り返し実行されることを意味する。
1515
16163つのタイプのループがある。
1717
1818 * 固定反復(fixed repetition) - 固定された回数のみ反復する
1919 * プリテスト(pretest) - ブール式をテストし、TRUE ならループに入る
2020 * ポストテスト(posttest) - ループを実行し、それからブール式をテストする
2121
2222### FOR...DO Loop
2323
2424Pascal においては固定反復が for ループである。一般的な形式は次の通りである。
2525```
2626for index := 初期値Low to 終了値High do
2727    文;
2828```
2929
3030インデックス変数は **順序型** データでなくてはならない。このインデックスはループ本体の中で計算に用いられるが、その値は変えることはできない。たとえば、 `count:=5` とするとプログラムに例外を引き起こす。
3131
3232Pascal では、 `for` ループは1の増加のみがカウントできる。 ループは _break_ 文で中断できる。 インデックスを利用した例を次に示す。
3333```
3434sum := 0;
3535 for count := 1 to 100 do
3636 begin
3737 sum := sum + count;
3838 if sum = 38 then break;
3939 end;
4040```
4141
4242コンピュータは、終了になるまで延々合計を求め続ける。しかし、それは数学者ガウスが簡単な近道で合計を求めたやり方よりもはるかに速い (`1+100 = 101. 2+99 = 101`。パターンがわかっただろうか? 100の数字があるので、そのパターンが50回繰り返される `101*50 = 5050`。これは高等数学ではないし、ガウスに由来するというのもたぶん作り話だろう)。
4343
4444`for-to-do` ループでは、初期値は終了値よりも小さくなくてはならない。さもないとループ自体が実行されない。もし、カウントダウンしたいのなら、 `for-downto-do` ループを使うべきである。
4545```
4646for index := 初期値High downto 終了値Low do
4747   文;
4848```
4949
5050## See also
5151
5252[[Basic Pascal Tutorial/Chapter 3/WHILE..DO/ja|While ...Do loops/ja]]
5353
5454[Repeat... Until loops/ja](</index.php?title=Until/ja&action=edit&redlink=1> "Until/ja \(page does not exist\)")
5555
5656[For... in loops/ja](</index.php?title=for-in_loop/ja&action=edit&redlink=1> "for-in loop/ja \(page does not exist\)")
5757
5858
5959
6060[[Basic Pascal Tutorial/Chapter 3/CASE/ja|previous]] | [[Basic Pascal Tutorial/Contents/ja|contents]] | [[Basic Pascal Tutorial/Chapter 3/WHILE..DO/ja|next]]
6161---|---|---
6262
6363---
64-*From the Free Pascal wiki, page "FOR..DO/ja", as the Internet Archive kept it on 2023-03-22. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*
64+*From the Free Pascal wiki, page "FOR..DO/ja", as the Internet Archive kept it on 2023-03-22, last changed on 2022-08-20. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*

Back to history