Статическая и динамическая задача определения объема - PullRequest
0 голосов
/ 19 марта 2011

после прочтения нескольких постов в этом форуме по этой теме я лучше понял статические и динамические области видимости. Тем не менее, я столкнулся с проблемой из Интернета и, кажется, столкнулся с проблемами, чтобы обойти это. Код выглядит следующим образом:

x : integer                   –– global
procedure set x(n : integer)
   x := n
procedure print x
   write integer(x)
procedure first
   set x(1)
   print x
procedure second
   x : integer
   set x(2)
   print x

set x(0)
first()
print x
second()
print x

Что будет печатать эта программа, если мы используем статическую область видимости, и Что печатать, если мы используем динамическую область?

1 Ответ

0 голосов
/ 19 марта 2011

Не так просто предсказать, что произойдет на каком-то воображаемом языке после запуска псевдокода , но ожидаемый результат будет:

1 - procedure 'first' output
2 - procedure 'second' output
1 - 'main' output

PS, которые не называются статическими / динамическими.Это global / local.По крайней мере, на тех языках, которые я знаю.

...