一言で言うと、「ひとかたまりの処理プログラムに名前を付ける」機能です。 プログラムを作っていると、何度も「同じ処理」を書いていることがあります。その、「同じ処理」の一つを切り出して。「DEF 名前」と「END」で囲んで、「同じ処理」を名前で置き換えれば、一番単純なDEFの利用です。 現実には、一部の値が異なっていたりするので、それを、「引き数」で指定します。また、処理した結果を使いたいことがあるので、そのときは、「OUT 戻り値」で指定します。戻り値が1つの場合は、特別に「関数」と呼び、「式」の中で使うことが出来ます。 プログラムを、「処理のかたまり」の集まりと扱うことで、「全体の処理」と「細部の処理」を分けて考えやすくなります。(個人差があります。人によっては、分けない方が分かりやすいと言う人もいます。文章も箇条書きにすると、わかりにくいと言う人がいるのと同様です。)