繰り返しと条件分岐の使い分け

繰り返し(WHILE)を使うべきか、条件分岐(IF)を使うべきか、人によっては迷うこともあると思います。

基本的に「WHILE」でできることは「IF」で実現できます。しかし、プログラムの読みやすさを考えた場合「WHILE」の方が適しています。

WHILEは「DO」と「END」が対になっているので、繰り返される場所が一目でわかります。NCプログラムの場合は問題となることはあまりありませんが、繰り返される場所が決まっているので処理速度も速いのです。


一方「IF」は、GOTO文を使用して特定のシーケンス番号へ飛ばすことができるので、自由度が高い分まとまりのないプログラムになることもあります。あっちへ飛んだりこっちへ飛んだりするプログラムは、コンピュータプログラムの世界では「スパゲッティプログラム」と呼ばれ敬遠されます。可読性の悪いプログラムはメンテナンス性も悪いのです。

このような理由から「WHILE」でできることは「WHILE」で、できないことは「IF」でという使い分けが最も適していると思います。

「IF」を使う時も、GOTOの飛び先であるシーケンス番号は上から番号順に使うなど、基本的な取り決めをしておくことも大切です。

当サイトのPDF版を作成しました

コラム一覧
メニュー
NC旋盤
サブメニュー
OSP(オークマ)
雑学
NCプログラマの為の数学