Program A()
{
    x, y, z: integer;
    procedure B()
    {
        y: integer;
        y=0;
        x=z+1;
        z=y+2;
    }
    procedure C()
    {
        z: integer;
        procedure D()
        {
            x: integer;
            x = z + 1;
            y = x + 1;
            call B();
        }
        z = 5;
        call D();
    }
    x = 10;
    y = 11;
    z = 12;
    call C();
    print x, y, z;
}
По моему мнению, результатом этой программы при использовании статического охвата является: x = 13, y = 7 и z = 2.
Однако, когда он запускается с использованием динамического охвата, результат: x = 10, y = 7 и z = 12.
Это результаты, которые дал нам наш профессор. Однако я не могу понять, насколько он достиг этих результатов. Может ли кто-нибудь пройти через псевдокод и объяснить свои значения в двух разных типах областей?