Module: Subrutinas: procedimientos y funciones - 1


Problem

8 /11


Variables locales y globales

Theory Click to read/hide

Variables locales y globales
A menudo es necesario utilizar variables adicionales que solo se utilizarán en la subrutina. Estas variables se denominan locales (o locales) y solo se pueden manipular dentro de la subrutina en la que se crean.
 
Ámbito de variable local es el bloque entre corchetes dentro del cual se declara.
El programa principal en C# también es una subrutina, por lo que todas las variables declaradas dentro de void Main() son variables locales. Otras subrutinas no "saben" nada acerca de las variables locales de otras subrutinas.

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 cambie desde el exterior.

Si es necesario declarar una variable que sería visible en cualquier lugar del programa (en cualquier subrutina), dichas variables se declaran fuera de todas las subrutinas (consulte el programa 3 de la tabla a continuación).
Estas variables se denominan globales.

En C#, cuando se inicia el programa, todas las variables globales se establecen automáticamente en cero (las variables booleanas toman el valor falso).

Analice tres programas: 1) En este programa, la variable i es local. Una variable local se declara dentro de una subrutina. 2) Aquí, aunque haya una variable i en el programa principal (con valor 7), se creará una nueva variable local i con valor 5. 
Cuando se ejecuta este programa, en la pantalla aparecerá el valor 75. 3) Este programa tiene una variable global i. Su valor se puede cambiar dentro de la subrutina y dentro del programa principal.
El procedimiento trabajará con la variable global i y se le asignará un nuevo valor igual a 2. Se muestra el valor 2. prueba de vacío estático () {   int i = 5; Consola.Escribir("i"); } prueba de vacío estático () {   int i = 5;   Consola.Escribir("i"); } vacío estático principal () { int i = 7;   Consola.Escribir("i");   prueba(); } utilizando el sistema; programa de clase { ent yo; prueba de vacío estático () {   yo = 2; } vacío estático principal () { prueba(); Consola.Escribir("i"); } }

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