繰り返す命令として、while文があります。このページでは、whileについて説明します。
目次
while | |
例 | |
動作確認 | |
練習 | |
レッスン12では? |
whileは、ある条件を満たしている間(ある条件を満たさなくなるまで)、処理を繰り返します。次のように書きます。
while 条件 do 処理; 意味:条件を満たす間、処理を繰り返し行う。 |
while、条件、doの前後の空白は、いくつ入れてもかまいません。また、複数の処理を繰り返したいときは、複数の処理をbeginとendで囲んでブロックにします。
例えば、
while x<10 do
x:=x+1;
は、x<10である間、x:=x+1を実行します。x:=x+1によりxの値は1つずつ増えていき、いつかはxの値は10以上になりますので、whileの処理はいつかは終わります。しかし、
x:=9;
while x<10 do
y:=y+1;
では、いつまでたっても、xの値が10以上になりませんので、y:=y+1の処理を永遠に続けてしまい(あるいはエラーを表示して異常終了したりします。)、正しくありません。whileの条件はいつかは満たされなくなることを確認しておきましょう。
Q&Aコーナー |
Q:repeatというのがあり、whileに似ていると聞きました。どのように違うのですか? |
A:ここをクリック。 |
次のようなプログラムをみてみましょう。
[注意]左端の番号は、プログラムの一部ではありません。各行を区別するために付けた番号です。
6〜10行目のwhile文で、a>0の間、8行目と9行目を処理します。
最終的に、aとbの値がいくつになるか、予想してみてください。その予想が当たっているかを、下の動作確認で調べてください。
それでは、上の例の動作確認をしてみましょう。また、プログラムを変更して、下の動作確認をしてみましょう。動作確認をする前に、Internet Explorerの設定をちゃんとしているか調べてください。
a>0をa=0に変更 | |
a>0をa<10に変更(→プログラムが終了しません。) |
Pascalシミュレータによる動作確認
[注意]このリンク先のページはInternet Explore
3.0以降で正しく表示されます。
whileに慣れるために、少し練習しましょう。
問題:次のプログラムでは、最終的にyの値はいくつになりますか?
|
解答例:ここをクリック。 |
問題:下のプログラムでは、最終的にxの値はいくつになりますか?
|
解答例:ここをクリック。 |
問題:下のプログラムでは、最終的にzの値はいくつになりますか?
|
解答例:ここをクリック。 |
コンピュータは、たくさんのデータを取り扱います。データを取り扱うにはそれぞれに対応した変数を用意します。しかし、これは手間がかかります。同じようなたくさんの変数を一度に用意する方法に配列があります。次のページでは、配列について説明します。
|
このページの最終更新日は 99/03/20 です。
掲載責任者・ページ作成者: (c)板谷雄二(itaya@alice.asahi-u.ac.jp)