Tipos de Dados
Variáveis são espaços de memória reservados para armazenar valores obtidos pelo algoritmo.
                            Em portugol, as variáveis são declaradas na parte do bloco principal chamada variaveis e depois usado o seu nome declarado para acessar e manipular seus valores.
                        
                variaveis
                // Local para declaração de variáveis
                inicio
                fim
            
                        
                        Sintaxe
                            Uma variável é declarada dentro da estrutura variaveis usando variavel:tipo;.
                        
                // Declarando uma variável
                variaveis
                    numero: inteiro;
                inicio
                fim
            
                        
                        Acessando variáveis
                            Uma variavel para ser acessada basta usar seu nome na estrutura inicio, exemplo: escrever variavel;. 
                        
                // Acessando uma variável
                variaveis
                    numero: inteiro;
                inicio
                    escrever numero;
                fim
            
                        
                        Manipulando variáveis
                            Um variável pode ser manipulada atribuindo valores, variáveis ou expressões dessa forma variavel <- valor.
                        
                // Manipulando variáveis
                variaveis
                    numero: inteiro;
                inicio
                    numero <- 15 ;
                fim
            
                        
                        Observação!
- O sistema irá reportar erro sempre que uma variável chamada não tenha sido declarada.
- É considerado como erro uma variável receber um valor de tipagem diferente ao declarado para aquela variável.
Exemplo
                
                    // ===== TIPOS DE DADOS =====
                
                variaveis
                    idade: inteiro;
                    valor: real;
                    disponivel: logico;
                    cidade: cadeia;
                    letra: caractere;
                    vetor, vetor_2: vetor[1..4] de  inteiro;
                inicio
                    idade <- 25;
                    valor <- 2.5;
                    cidade <- "São Luís";
                    letra <- "c";
                    disponivel <- verdadeiro;
                    vetor[1] <- 2;
                    vetor_2[1] <- 2;
                fim
            
                    Numéricos
                            Em Portugol variáveis do tipo numérico podem ser inteiro, números sem casas decimais, ou real, números com casas decimais.
                        
                // Exemplos de variáveis inteiras e reais
                variaveis
                    var_inteiro: inteiro;
                    var_real: real;
                inicio
                    var_inteiro <- -1;
                    var_real <- 2.5;
                    var_real <- 2.0 + var_inteiro;
                fim
            
                        Observação!
Atribuir valores reais a variáveis inteiras, ou vice-versa, resulta em erro.
Conversão de Tipo Inteiro para Real
                            Só é permitido a conversão de inteiro para real, entretando, para isso é necessario que o valor inteiro esteja em uma expressao que contenha um valor real.
                        
                // Exemplos de conversão
                variaveis
                    var_real: real;
                inicio
                    // Funciona
                    var_real <- 2.5 + 2;
                    // Falha, pois precisa de pelo menos um valor real
                    var_real <- 2 + 2;
                fim
            
                    Booleano
                            Variáveis do tipo Lógico, armazenam resultado de expressoes lógicas (verdadeiro ou falso).
                        
                // Exemplo com variáveis e expressões lógicas
                variaveis
                    var_logico: logico;
                inicio
                    var_logico <- verdadeiro;
                    escrever var_logico;
                    // Falso
                    var_logico <- 1 >= 2;
                    escrever var_logico;
                    // Verdadeiro
                    var_logico <- nao var_logico; 
                    escrever var_logico;
                    // Falso
                    escrever nao var_logico; 
                    // Verdadeiro
                    escrever var_logico;
                fim
            
                    Literais
                            Variáveis literais armazenam textos, podendo ser cadeia, usadas para textos curtos ou longos, ou caractere, usado para armazenar apenas um caractere.
                        
                            O uso de variáveis do tipo caractere pode trazer economia de memória se comparadas ao uso variáveis de cadeia.
                        
                // Exemplo de variáveis Literais
                variaveis
                    cidade: cadeia;
                    letra: caractere;
                inicio
                    // Variável do tipo cadeia utilizada
                    // para armazenar um texto
                    cidade <- "São Luís - MA";
                    // Variável do tipo caractere 
                    // utilizada para armazenar um unico caractere
                    letra <- "c";
                fim
            
                    Vetor
                            Vetor é um conjunto de valores de mesmo tipo. Uma variável do tipo vetor tem tamanho definido. Para acessar algum elemento, é usado a posição dele no vetor, também chamada de índice.
                        
                // Sintaxe para declaração de um vetor 
                // 1 - posição inicial 
                // 9 - posição final 
                variaveis
                    numeros: vetor [1..9] de inteiro;
                inicio
                fim
            
                        Observação!
A posicao inicial de um vetor não pode ser maior que a posição final.
Exemplo
                variaveis
                    numeros: vetor [1..9] de inteiro;
                    i: inteiro; // Será usado como indice 
                inicio
                    // Percorre o vetor inserindo o valor de i
                    para i de 1 ate 9 passo 1 faca
                        numeros[i] <- i;
                    fim para;
                    // Percorre o vetor exibindo os seus elementos
                    escrever "Vetor gerado: ";
                    para i de 1 ate 9 passo 1 faca
                        escrever "Posição ", i, " = ", numeros[i];
                    fim para;
                    i <- 9;
                    escrever "Vetor gerado invertido: ";
                    enquanto i >= 1 faca
                        escrever "Posição ", i, " = ", numeros[i];
                        i <- i-1;
                    fim enquanto;
                fim