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

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

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

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