>>22
グローバル変数を使わずに、構造化プログラミングは書けるよ。
メンバー変数を使わずに、オブジェクト指向プログラミングは書けないよ。

たとえばC言語だと
main関数をルートに全ての関数がツリー状になるから、
main関数以外の全ての関数にグローバル変数用の引数があればいい。
具体的に書くと、

int A;

main()
{
sub1();
sub2();
}

とする代わりに

main()
{
int A;

sub(A);
sub(A);
}

とする。