Module: (C++) Sub-rotinas: procedimentos e funções - 1


Problem

9 /12


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 denominadas 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 dentro do qual é declarado

O programa principal em C++ também é uma sub-rotina, então todas as variáveis ​​declaradas dentro de 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  - ocultar uma variável de ser alterada 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 globais.

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


Analise três programas: é exibido na tela
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. 
Ao executar este programa, a tela exibirá o valor 75
3) Este programa possui uma variável global i. Seu valor pode ser alterado dentro de uma 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
teste nulo() {   int i = 5; cout << eu; } teste nulo() {   int i = 5;   cout << eu; } principal() { int i = 7;   cout << eu;   teste(); } #include <iostream> usando namespace std; int eu; teste nulo() {   i = 2; } principal() { teste(); cout << eu; }

Problem

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