Início > Cursos, Olá Pascal, Pascal > Olá Pascal! #4 – Tipos de dados

Olá Pascal! #4 – Tipos de dados

Na aula anterior, aprendemos o que são as constantes e variáveis. Ademais, foram mostradas algumas regras de como escrever, de forma correta, o nome de uma variável.

Se você prestou atenção na aula anterior, quando eu falei sobre as variáveis, disse que para declará-las devemos associar cada uma delas a um identificador e um tipo de dado. Sabemos que os identificadores correspondem ao nome que é dado à variável, mas, e os tipos de dados, o que são? Eles serão abordados agora.

O que são os tipos de dados?

Tipos de dados são conjuntos ordenados de valores. Analogamente, na matemática temos o conjunto dos números inteiros, reais, etc.

Existem duas categorias de tipos de dados: pré-definidos e definidos pelo usuário.

Tipos pré-definidos

Os tipos de dados pré-definidos são aqueles tipos nativos da linguagem. Eles podem ser: numéricos, lógicos ou literais.

Numéricos

Os tipos numéricos, como o nome já diz, correspondem a conjuntos de números, sejam eles inteiros ou reais.

Os tipos numéricos, em Pascal, mais usados são:

  • Integer – números inteiros. Ex.: -1, 4, 240, -1000
  • Real – números reais. Ex.: 0.13, -5.34, 1.2E+3
Lógicos

Os tipos lógicos podem assumir dois valores: verdadeiro ou falso. Eles são utilizados para a tomada de decisões dentro do programa.

Em Pascal, existem quatro tipos lógicos: Boolean, WordBool, LongBool, e ByteBool, porém, o primeiro é o mais utilizado. Todos eles assumem apenas dois valores, true (verdadeiro) ou false (falso), o que muda de um para outro é a quantidade bits que eles ocupam na memória.

O tipo lógico que nós iremos utilizar será:

  • Boolean – valores lógicos. Ex.: true, false
Literais

Os tipos literais são conjuntos de caracteres. Foi com o tipo literal String que você pôde escrever na tela a frase “Olá Mundo!” em seu primeiro programa.

Todos os caracteres usados em Pascal são tirados da tabela ASCII. Se você tentar usar em seu programa um caractere que não esteja lá, ele será substituido por outro, quando você executar o programa.

Existem dois tipos literais:

  • Char – caracteres. Ex.: ‘a’, ‘+’, ‘b’
  • String – cadeia de caracteres. Ex.: ‘Luiz Augusto’, ‘Olá Mundo!’

Tabela dos principais tipos de dados em Pascal

Tipo de dado Conjunto Tamanho
ShortInt -128 … 127 1 byte
Integer -32768 … 32767 2 bytes
LongInt -2147483648 … 2147483647 4 bytes
Byte 0 … 255 1 byte
Word 0 … 65535 2 bytes
Single 1.5e-45..3.4e38 4 bytes
Real 2.9e-39…1.7e38 6 bytes
Double 5.0e-324…1.7e308 8 bytes
Extended 3.4e-4932..1.1e4932 10 bytes
Boolean true, false 1 byte
WordBool true, false 2 bytes
LongBool true, false 4 bytes
Char 1 caractere (ASCII) 1 byte
String 1 a 255 caracteres (ASCII) 1 .. 255 bytes

Tipos definidos pelo usuário

Além dos tipos pré-definidos, podemos criar nossos próprios tipos de dados através da declaração de tipos. Para isto, usaremos a palavra reservada type.

O usuário pode criar dois tipos de dados:  subintervalo e enumerado.

Tipo subintervalo (subrange)

Este tipo define uma faixa de valores de um tipo pré-definido.

Sintaxe:
type
    <nome_do_subintervalo> = <valor_menor>..<valor_maior>;
Exemplo:
type
    minusculas = 'a'..'z'; //Tipo que contém o alfabeto minúsculo

    maiusculas = 'A'..'Z'; //Tipo que contém o alfabeto maiúsculo

    digitos = 0..9; //Números de 0 a 9

OBS.: Você não pode declarar um subintervalo de números reais.

Tipo enumerado (enummerated)

Tipos enumerados são como conjuntos de valores. Quando declaramos um tipo enumerado, temos que listar todos os valores que a variável poderá assumir.

Sintaxe:
type
<nome_do_tipo> = (<valor1>, <valor2>, ..., <valorN>);
Exemplo:
type
    animais = (gato, cachorro, papagaio);

    nomes = (Luiz, Pedro, Maria, Bruno);

OBS.:

  1. Os valores dos tipos enumerados NÃO são Strings, se você prestar atenção, eles não estão entre apóstrofes (‘ ‘). Estes valores são armazenados na memória como inteiros, na sequência em que foram definidos (0, 1, 2, …, N – 1).
  2. Existem outros tipos de dados em Pascal (array, record, etc.), porém, eles serão abordados no decorrer do curso.

Colocando a mão na massa

Agora que sabemos quais são os tipos de dados e como funcionam as constantes e variáveis, vamos criar um programa mais “sofisticado”.

program mediaEscolar;
const
	aluno = 'Luiz Augusto'; //declarando uma constante literal que recebe meu nome

var
	nota1, nota2, nota3, media : real; //declarando as variáveis do tipo real

begin
	//atribuindo valores às variáveis
	nota1 := 9; //variável nota1 recebe 9
	nota2 := 8.7; //variável nota2 recebe 8.7
	nota3 := 10; //variável nota3 recebe 10

	media := (nota1 + nota2 + nota3) / 3; //calcula a média das notas e atribui o resultado à variável media

	writeln('A média de ', aluno, ' é: ', media:1:1); //imprime a mensagem na tela
end.
Entendendo o código

O programa acima calcula a média das três notas atribuídas por você.

Nas linhas 10, 11, 12 e 14 nós utilizamos o operador “:=” para atribuirmos os valores às variáveis. Este operador recebe o valor que está em seu lado direito (pode ser o resultado de um cálculo, somente um valor, uma função, etc.) e atribui este valor à variável que está no lado esquerdo.

Exemplo


soma := 2 + 5; //atribuindo o valor da soma de 2 + 5

nome := 'Luiz Augusto'; //atribuindo um valor

quadrado := sqr(2); //função que retorna o quadrado de um número

Já na linha 16, usamos a função writeln() para imprimir a mensagem na tela.  Porém, foi usado um recurso de formatação na saída. Como assim? Calma, vou explicar.

Existem três tipos de formatação:

  1. valor
  2. valor:a
  3. valor:a:b

  • a e b são números inteiros positivos que determinam como será a saída.

No primeiro caso, o valor está sem formatação. Logo, será mostrado em sua forma original.

Ex.: Entrada-> 9.2 | Saída ->9.233333333333333E+000

No segundo caso, o valor está formatado. O a representa a quantidade de espaços que serão reservados para o valor.

Ex.: Entrada -> 5:20 | Saída ->*******************5 (os asteriscos estão representando os espaços em branco)

No terceiro caso, o valor também está formatado. O b representa a quantidade de dígitos que serão escritos após o ponto decimal. Esta formatação só é permitida para tipos decimais (real, double, etc).

Ex.: Entrada -> 9.3333:3:2 | Saída ->**9.33

Bom, por hoje é só, pessoal. Eu aconselho vocês a praticarem muito tudo o que aprenderam nesta aula, pois só assim, conseguirão assimilar o conteúdo. Se pintar alguma dúvida, é só deixar um comentário que eu lhes ajudarei. Até semana que vem!

Acesse o novo endereço do Olá Mundo!: http://ola-mundo.com

  1. Bruno
    31 de maio de 2010 às 12:10

    Parabéns.
    material muito bom para estudo, não perco uma publicação.
    abraço

    • 31 de maio de 2010 às 13:44

      Obrigado, Bruno. Fico feliz por você acompanhar minhas aulas. Se você tiver qualquer dúvida, pode perguntar, que eu farei o possível para ajudá-lo.

  1. No trackbacks yet.

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: