サブルーチンとして作ってGOSUBで使用するという旧来のBASICの方法もありますが、やっぱりローカル変数やローカルラベルが使えて戻り値が設定できるのがDEFを使うメリットです。 ローカル変数が使えばそのプログラム(DEF以外の部分)で使っている変数名を気にせず変数を使用することができます。 DEF内ではローカル変数かグローバル変数の両方が使用できDEF内で定義したかDEF外で定義したかで使い分けることができます。 DEF内ではすべてローカルラベルとなっているためDEF内でジャンプする際にはラベルの重複を考えずにラベル名を付けることができます。 ただし、DEF内から外部のラベル(グローバルラベル)にはアクセスできないことに注意が必要です。