--
-- Demonstrates that a global variable is visible within following procedures
--
with Ada.Integer_Text_IO; use Ada.Integer_Text_IO;
with Ada.Text_IO; use Ada.Text_IO;
procedure scope is
-- Do not declare your variables here!
i : Integer := 10; -- a GLOBAL variable, visible to test and scope
procedure test is
x: Integer := 5; -- x is local to test
begin
-- Variable i is GLOBAL
-- It is visible in test, but not declared in test
i := i + x;
-- put("j="); put(j); -- J not visible here. Must define before use
end test;
-- Declare your variables here!
j : Integer := 20; -- visible to scope, but not test
begin
put("j="); put(j); new_line;
put("i="); put(i); new_line;
test;
put("i="); put(i); new_line;
-- put(" x="); put(x); new_line; -- not visible outside test
end scope;
-- Output:
j= 20
i= 10
i= 15