擬似言語では、字下げされている行に意味があります。特に if や while の下では、どこまでが中の処理なのかを見分ける必要があります。
まずは、条件分岐の中身を読んでみましょう。
次のコードでは、if から endif までが1つのまとまりです。
○main
整数型: score
score ← 80
if (score ≧ 60)
print(1)
endif
print(score)
出力は2行で、1行目が 1、2行目が 80 です。
print(1) は if の中にあります。print(score) は endif の後なので、条件に関係なく実行されます。
ブロックとは、ひとかたまりの処理のことです。擬似言語では、開始と終了の言葉を手がかりにします。
よく出るまとまりは次の通りです。
if から endifwhile から endwhilefor から endfordo から後ろの whileここで大切なのは、中に入っている行だけが条件や繰返しの影響を受けるということです。
次のコードで、どの行が繰返しの中にあるか見てみましょう。
○main
整数型: i
i ← 1
while (i ≦ 3)
print(i)
i ← i + 1
endwhile
print(100)
出力は 1、2、3、100 の順です。最後の print(100) は繰返しの外にあるので、1回だけ実行されます。
字下げと終了語を見る習慣がつくと、長いコードでも迷子になりにくくなります。