Difference between revisions of "Basic Pascal Tutorial/Chapter 3/FOR..DO/ja"

From Free Pascal wiki
Jump to navigationJump to search
m (bypass language bar/categorization template redirect [cf. discussion])
 
(4 intermediate revisions by 2 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 := 初期値Low to 終了値High do
 
for index := 初期値Low to 終了値High do
 
     文;
 
     文;
Line 25: Line 25:
 
ループは ''break'' 文で中断できる。
 
ループは ''break'' 文で中断できる。
 
インデックスを利用した例を次に示す。
 
インデックスを利用した例を次に示す。
<syntaxhighlight>
+
<syntaxhighlight lang=pascal>
 
sum := 0;
 
sum := 0;
 
for count := 1 to 100 do
 
for count := 1 to 100 do
Line 37: Line 37:
  
 
<tt>for-to-do</tt> ループでは、初期値は終了値よりも小さくなくてはならない。さもないとループ自体が実行されない。もし、カウントダウンしたいのなら、 <tt>for-downto-do</tt> ループを使うべきである。
 
<tt>for-to-do</tt> ループでは、初期値は終了値よりも小さくなくてはならない。さもないとループ自体が実行されない。もし、カウントダウンしたいのなら、 <tt>for-downto-do</tt> ループを使うべきである。
<syntaxhighlight>
+
<syntaxhighlight lang=pascal>
 
for index := 初期値High downto 終了値Low do
 
for index := 初期値High downto 終了値Low do
 
     文;
 
     文;
Line 43: Line 43:
  
 
== 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 15: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

While ...Do loops/ja

Repeat... Until loops/ja

For... in loops/ja


previous contents next