Module: Sub-rotinas: procedimentos e funções - 1


Problem

8 /11


Variáveis ​​locais e globais

Theory Click to read/hide

Variáveis ​​locais e globais
Muitas vezes é necessário utilizar variáveis ​​adicionais que serão utilizadas somente na sub-rotina. Tais variáveis ​​são chamadas de locais (ou locais) e só podem ser manipuladas dentro da sub-rotina em que são criadas.
 
Escopo de variável local é o bloco entre colchetes no qual ela é declarada.
O programa principal em C# também é uma sub-rotina, então todas as variáveis ​​declaradas dentro de void Main() são variáveis ​​locais. Outras sub-rotinas não "sabem" nada sobre as variáveis ​​locais de outras sub-rotinas.

Assim, é possível limitar o escopo (scope) de uma variável apenas à sub-rotina onde ela é realmente necessária. Na programação, essa técnica é chamada de encapsulamento  - ocultando a variável de alterá-la de fora.

Se for necessário declarar uma variável que seria visível em qualquer lugar do programa (em qualquer sub-rotina), então tais variáveis ​​são declaradas fora de todas as sub-rotinas (ver programa 3 da tabela abaixo).
Essas variáveis ​​são chamadas de globais.

Em C#, quando o programa inicia, todas as variáveis ​​globais são automaticamente zeradas (as variáveis ​​booleanas assumem o valor false).

Analise três programas:
1) Neste programa, a variável i é local. Uma variável local é declarada dentro de uma sub-rotina. 2) Aqui, mesmo que exista uma variável i no programa principal (com valor 7), uma nova variável local i com valor 5 será criada. 
Quando este programa for executado, o valor 75 aparecerá na tela.
3) Este programa tem uma variável global i. Seu valor pode ser alterado dentro da sub-rotina, e dentro do programa principal.
O procedimento funcionará com a variável global i e será atribuído a ela um novo valor igual a 2. O valor 2 é exibido.
teste de vazio estático () {   int i = 5; Console.Write("i"); } teste de vazio estático () {   int i = 5;   Console.Write("i"); } static void Main() { int i = 7;   Console.Write("i");   teste(); } usando Sistema; programa de classe { int eu; teste de vazio estático () {   i = 2; } static void Main() { teste(); Console.Write("i"); } }

Problem

Escreva um procedimento com um parâmetro n que gere uma árvore de Natal com uma coroa de altura n. O programa principal deve conter a entrada do valor do variável n e a chamada do procedimento.< br />  
Exemplos
# Entrada Saída
1 5     o    ooo   ooooo  oooooo ooooooooo