前回作った約数を求めるプログラムを例に、doループと whileループの違いを学ぶ。
サンプル・プログラム
約数を求める
35: //約数計算
36: let a = Math.floor(n / 2) + 1; //Nの2分の1整数
37: let d = 1; //除数
38: let divisor = ''; //約数を格納
39: do {
40: if (n % d == 0) {
41: if (d > 1) {
42: divisor += ', ';
43: }
44: divisor += d.toString();
45: }
46: d++;
47: } while (d < a);
48: if (n > 1) {
49: divisor += ', ' + n.toString(); //自分自身
50: }
51: ret = '約数は... ' + divisor;
doループは次のようにして使う。
whileループとの違いは、doループでは処理を1度以上実行することである。
流れ図で比較しておこう。
do {繰り返し条件が成立する間、ブレース {...} で囲まれたブロック文を実行する。
処理;
} while (繰り返し条件);
whileループとの違いは、doループでは処理を1度以上実行することである。
流れ図で比較しておこう。
コラム:Pythonにおける制御文
プログラムで使う命令は少なければ少ないほど読みやすく、不具合が出たときに修正が容易になる。
今回の例題で分かるように、doループは whileループで置き換えることができる。できなかったとしても、while条件式の部分を、if条件式とbreakの組み合わせに置き換えることで置換できる。実際、Python には doループが存在しない。
今回の例題で分かるように、doループは whileループで置き換えることができる。できなかったとしても、while条件式の部分を、if条件式とbreakの組み合わせに置き換えることで置換できる。実際、Python には doループが存在しない。
また、Python には switch文も存在しない。
Python はデータ構造が充実しており、リストや辞書を使うことで、 switch文を使う必要はなくなる。
制御文を使うのは、たいていの場合、データの内容(オブジェクト)による。オブジェクトに直結して制御を行うPythonは、他の言語よりオブジェクト指向であると言える。
Python はデータ構造が充実しており、リストや辞書を使うことで、 switch文を使う必要はなくなる。
制御文を使うのは、たいていの場合、データの内容(オブジェクト)による。オブジェクトに直結して制御を行うPythonは、他の言語よりオブジェクト指向であると言える。
(この項おわり)