Tipos de dados, variáveis e identificadores

Objetivos:
Abordar o que são tipos de dados, variáveis e identificadores, conceitos base que precisam ser bem compreendidos para que possamos construir nossos próprios algoritmos.
Recursos e materiais:
Nenhum
Última atualização:
27/04/2020
Aulas do capítulo:

Nas últimas aulas, vimos como os algoritmos são importantes e nos trazem uma série de benefícios. Abordamos também as diferentes formas de representá-los, destacando, de forma rápida, as vantagens e desvantagens de cada uma delas. Chegou a hora de aprendermos a desenvolver nossos próprios algoritmos, e, para isso, começaremos estudando três tópicos muito importantes: os tipos de dados, variáveis e identificadores.

Tipos de dados

Os tipos de dados correspondem às grandezas do mundo real que são representadas dentro de um computador. Eles podem ser classificados em dois tipos distintos: os dados primitivos e os dados compostos (também chamados de dados não primitivos).

Os tipos de dados primitivos…

Os dados primitivos correspondem aos números inteiros, reais, caracteres e lógicos, e, por serem um tipo básico de dado, estão presentes em praticamente toda linguagem de programação. A descrição e alguns exemplos de cada um deles são apresentados na Tabela 1 abaixo.

Os tipos de dados primitivos
Tipo Descrição Exemplos
Inteiro Toda informação que pertença ao conjunto dos números inteiros. 8, -5, 10, 0, 1, etc.
Real Toda informação que pertença ao conjunto dos números reais. Devemos observar que a casa decimal é separada por ponto, e não por vírgula, como geralmente estamos acostumados a fazer. 0.15, -5.14, 10.2, 2E23, etc.
Caractere Toda informação que represente um símbolo do alfabeto (letras e números) na forma de texto. “c”, “A”, “0”, “*”, “;”, etc.
Lógico Toda e qualquer informação que possa assumir apenas duas situações. Verdadeiro ou falso, aberto ou fechado, ligado ou desligado, etc.

O tamanho da informação (número de bytes) que esses tipos de dados podem armazenar varia de acordo com o hardware para o qual o programa será desenvolvido. Processadores de 16 e 32 bits, por exemplo, geralmente guardarão informações de tamanhos diferentes. É necessário também que o computador disponha do hardware correto para realizar as operações com esses dados, como a ULA no caso de comparação, soma, subtração, multiplicação e divisão. Se você não entende o que são bits, bytes ou o que é uma ULA, acesse agora nossas aulas sobre os Fundamentos da Computação.

Além disso, cada linguagem de programação também possui especificadores de tipo que nos permitem configurar o tamanho da informação armazenada por cada tipo de dado. No caso da linguagem #C, por exemplo, as possíveis especificações para cada um dos tipos de dados primitivos são apresentadas na Tabela 2. Um tipo de dado inteiro de 16 bits que inicialmente seria utilizado para indicar números de -32768 a 32767 pode ser especificado para representar dados sem sinais, passando a armazenar informações entre 0 e 65535.

Especificadores do tipo de dados para a linguagem #C
Especificador Significado Tamanho (bytes) Faixa de valores
char Caractere 1 -128 até 127
unsigned char Caractere sem sinal 1 0 até 255
short int Inteiro curto 2 -32 768 até 32 767
unsigned short int Inteiro curto sem sinal 2 0 até 65 535
int Inteiro 2 (processador de 16 bits)
4 (processador de 32 bits)
-32 768 até 32 767
-2 147 483 648 até 2 147 483 647
unsigned int Inteiro sem sinal 2 (processador de 16 bits)
4 (processador de 32 bits)
0 até 65 535
0 até 4 294 967 295
long int Inteiro longo 4 -2 147 483 648 até 2 147 483 647
unsigned long int Inteiro longo sem sinal 4 0 até 4 294 967 295
float Real 4 3.4*10-38 até 3.4*1038
double Real duplo 8 1.7*10-308 até 1.7*10308
long double Real duplo longo 10 3.4*10-4932 até 3.4*10-4932

Os tipos de dados compostos…

Os dados compostos representam conjuntos formados a partir dos dados primitivos ou mesmo de outros dados compostos. É através desse tipo de informação que somos capazes de representar, por exemplo, os vetores e as matrizes.

Um vetor, ilustrado pela Figura 1, é um conjunto de variáveis do mesmo tipo, com seus elementos ocupando posições fixas e em sequência. Esses elementos podem ser acessados através de um único nome, conforme veremos mais adiante ao falarmos de variáveis e identificadores.

vetores
Exemplos de vetores de caracteres e de números inteiros

Vale destacar também que um texto é entendido como um vetor de caracteres, embora, em algumas linguagens de programação, seja utilizado um tipo de dado chamado string para descrever esses elementos.

Já as matrizes podem ser entendidas como tabelas cujos elementos também são acessados por um único nome, bastando informarmos a linha e a coluna do elemento, sempre nessa ordem. A Figura 2, por exemplo, destaca o elemento [2,4] de uma matriz de 3 linhas e 4 colunas, formada por números inteiros.

matrizes
Exemplo de uma matriz de números inteiros

Variáveis

À medida em que elaboramos nossos programas de computador, pode ser necessário armazenarmos alguns dados na memória RAM, para que possamos acessá-los e manipulá-los mais adiante em algum outro momento. Cada um desses dados ficam localizados em um espaço diferente da memória, e, para termos condições de acessarmos essas informações novamente, utilizamos as variáveis para dar nomes à cada um dos dados que armazenamos.

Como forma de facilitar nossa compreensão, podemos imaginar a memória de um computador como sendo um armário repleto de gavetas (as variáveis), cada uma delas responsável por armazenar um objeto diferente (os dados). Cada variável recebe um nome e armazena um dado de cada vez, sempre do mesmo tipo.

Por isso, ao desenvolvermos nossos algoritmos, precisamos declarar as variáveis que estamos utilizando, definindo nomes e especificando o tipo de dado que cada uma delas armazenará. Vejamos os exemplos abaixo para entendermos como fazer isso no caso dos tipos de dados primitivos.

Declarando variáveis com tipos de dados primitivos
1
inteiro: x;
2
real: salario;
3
lógico: resposta;

Nesse exemplo, a variável x é do tipo inteiro, e, portanto, só pode armazenar dados do tipo inteiro. A variável salario é do tipo real e, por isso, deve conter um dado do tipo real. Já a variável resposta é do tipo lógico e só pode armazenar valores desse tipo, ou seja, 0 ou 1.

No caso dos vetores e das matrizes, declaramos as variáveis informando o tamanho desses elementos entre colchetes, conforme ilustrado nos exemplos abaixo. A variável nome foi declarada como um vetor de 10 caracteres, enquanto que a variável tabela foi definida como uma matriz de 25 linhas e 20 colunas, composta somente por números reais. Quando desejarmos utilizar a informação presente em alguma posição desses elementos, informamos ao algoritmo o nome da variável, com a posição desejada entre colchetes.

Declarando vetores e matrizes
1
caractere: nome[1…10];
2
real: tabela [1…25,1…20];

Identificadores

Para finalizarmos nossa aula, está faltando falarmos sobre os identificadores, os nomes que damos às variáveis. Como forma de padronizar a escrita dos algoritmos e garantir que o computador entenda exatamente cada uma das instruções contidas no programa, os identificadores precisam obedecer às quatro regras abaixo:

  • Devem começar com um caracter alfabético;
  • Podem conter quantos caracteres alfabéticos ou numéricos forem necessários;
  • Não devem conter caracteres especiais ou símbolos de operações aritméticas;
  • Não podem ser palavras reservadas (palavras que já representam algum outor comando no algoritmo).

Qualquer variável que receba um nome que desrespeite alguma dessas regras resultará em problemas na compilação do programa. Para que possamos entender melhor cada uma delas, preparamos alguns exemplos de identificadores válidos e inválidos, mostrados a seguir:

Identificadores válidos: ano, idade, U2, nota1, nota2
Identificadores inválidos: C&A, 4x, nota 1, nota-2, a/b, a#b, A+B

Caso tenha ficado alguma dúvida, deixe abaixo o seu comentário para que possamos esclarecê-la. Entendermos o que são tipos de dados, variáveis e identificadores é somente o primeiro passo em nossa caminhada sobre algoritmos e lógica de programação. Entretanto, precisamos ter esses conceitos bem definidos, para que possamos nos tornar bons naquilo que nos propormos a fazer. A partir de agora, estudaremos uma série de outras estruturas, como operadores, estruturas de decisão e repetição. Se você é apaixonado por computação e quer aprender cada vez mais, se cadastre agora em nosso blog clicando nesse link, para não perder nenhuma novidade! Vem muita coisa legal por aí para que você possa aprofundar seus conhecimentos!

Referências bibliográficas

A. A. T. Maia, “Fundamentos da Computação – Algoritmos – Programação em Linguagem C”. Universidade Federal de Minas Gerais, 2013.
CCM, “Linguagem C: Os tipos de dados”. 2013. Online. [Acesso 14 Abril 2019] E. C. Gatto, “Tipos de dados para uso em algoritmos”. 2016. Online. [Acesso 14 Abril 2019] E. C. Gatto, “Variáveis e constantes”. 2016. Online. [Acesso 14 Abril 2019]

Deixe um comentário

%d blogueiros gostam disto: