Module: 子程序:过程和函数 - 1


Problem

9 /12


局部和全局变量

Theory Click to read/hide

通常需要使用仅在子程序中使用的附加变量。此类变量称为本地(或本地),只能在创建它们的子例程内进行操作。
 

Local variable scope 是声明它的函数或过程

因此,可以将变量的作用域(scope)限制在真正需要它的子程序中。在编程中,这种技术称为封装  - 隐藏变量不被外部更改。

如果有必要声明一个在程序中任何地方(在任何子程序中)都可见的变量,则此类变量在所有子程序之外声明(参见下表中的程序 3)
此类变量称为全局

分析三个程序: <正文> 显示在屏幕上

Problem

编写一个带有参数 n 的程序,显示一棵树冠高度为 n 的圣诞树
主程序必须包含变量n的值的输入和过程的调用

例子
1) 在这个程序中,变量 i 是局部变量。在子程序中声明局部变量 2) 这里即使主程序中有变量i(值为7),也会新建一个值为5的局部变量i。 
当你运行这个程序时,屏幕会显示值75
3) 这个程序有一个全局变量i。它的值可以在子程序和主程序中改变
该过程将使用全局变量 i 并为其分配一个等于 2 的新值。值 2
程序测试();
var i: 整数;
开始
   我 := 5;
    writeln(i);
结束;
变量 i: 整数;

程序测试();
var i: 整数;
开始
   我 := 5;
    writeln(i);
结束;

开始
   我 := 7;
   写(我);
   测试();
结束。
变量 i: 整数;

程序测试();
开始
   我 := 2;
结束;

开始
   测试();
    writeln(i);
结束。
<头> <日># <正文>
输入 输出
1 5 <前>     o    哦  呜呜呜  呜呜呜 呜呜呜