Variables locales y globales
Las variables que se introducen en el programa principal se denominan globales (o compartidas).
Puede acceder a las variables globales desde cualquier subrutina.
A menudo es necesario introducir variables adicionales que solo se utilizarán en la subrutina. Este tipo de variables se denominan
locales (o locales). Puede trabajar con ellos solo dentro de la subrutina en la que se crean. El resto de las rutinas no "saben" nada de ellas.
Así, es posible limitar el alcance (scope) de una variable solo a la subrutina donde realmente se necesita. En programación, esta técnica se llama
encapsulación - ocultar la variable para que no se modifique desde el exterior.
Analice tres programas:
Descripción |
Programa |
1) En este programa, la variable i es local. Si no hay una variable i en el programa principal, obtendremos un mensaje de error. Y si existe tal variable (entonces es una variable global), su valor se muestra en la pantalla. |
prueba de definición():
imprimir(i)
|
2) Aquí, incluso si hay una variable global i , se creará una nueva variable local i con un valor de 2, y aparecerá 2 en la pantalla. |
prueba de definición():
yo = 2
imprimir(i)
|
3) En este programa existe una variable global i con un valor de 15. Su valor puede ser cambiado dentro de la subrutina, para ello es necesario declarar explícitamente que es global ( use el comando global ).
El procedimiento funcionará con la variable global i y se le asignará un nuevo valor de 2. Se muestra el valor 2. |
prueba de definición():
global yo
yo = 2
# programa principal
yo = 15
imprimir (yo)
|
Problem
Escriba un procedimiento con un parámetro
n
que genere un árbol de Navidad con una copa de altura
n
. El programa principal debe contener la entrada del valor de
n
variable y la llamada al procedimiento.< br />
Ejemplos
# |
Entrada |
Salida |
1 |
5 |
o
ooo
ooooo
ooooooo
ooooooooo
|