2

スタックを学んでいて「サブルーチン」という言葉をよく耳にします。私は混乱しています:「ルーチン」と「サブルーチン」とは正確には何ですか?

私がプログラムを持っているとしましょう:

def tav(x):
    if x==0:
       return 19
    else:
       u=1
       tav(x-1)
       u+=1
tav(4)

では、このプログラムのルーチンとサブルーチンは何ですか? サブルーチンが何も返さない場所を読んだので、サブルーチンと呼ばれるメイン関数の内部部分が正しい場合、またはサブルーチンがサブプログラムであると直接言うことができる場合、上記のプログラムではサブルーチンは次のようになります。

if x==0:
    return 19
else:
    u=1
    tav(x-1)
    u+=1

私はそれを正しく理解していますか?

4

1 に答える 1

3

ルーチンとサブルーチンは同じです。Fortran などの古い言語では、サブルーチンと関数を区別する必要がありました。後者は、前者が何らかの状態を変更したものを返しました。

于 2016-10-16T14:10:47.820 に答える