30
Tipos de Dados Todo o trabalho realizado por um computador é baseado na manipulação das informações contidas em sua memória. Estas informações podem ser classificadas em dois tipos: As instruções, que comandam o funcionamento da máquina e determinam a maneira como devem ser tratados os dados. Os dados propriamente ditos, que correspondem à porção das informações a serem processadas pelo computador. A classificação a seguir sintetiza os padrões utilizados na maioria das linguagens. Tipos Inteiros Tipos Reais Tipos Caracteres Tipos Lógicos

Tipos de Dados Todo o trabalho realizado por um computador é baseado na manipulação das informações contidas em sua memória. Estas informações podem ser

Embed Size (px)

Citation preview

Page 1: Tipos de Dados Todo o trabalho realizado por um computador é baseado na manipulação das informações contidas em sua memória. Estas informações podem ser

Tipos de Dados• Todo o trabalho realizado por um computador é baseado

na manipulação das informações contidas em sua memória. Estas informações podem ser classificadas em dois tipos:– As instruções, que comandam o funcionamento da máquina e

determinam a maneira como devem ser tratados os dados.– Os dados propriamente ditos, que correspondem à porção das

informações a serem processadas pelo computador.• A classificação a seguir sintetiza os padrões utilizados na

maioria das linguagens.– Tipos Inteiros– Tipos Reais– Tipos Caracteres– Tipos Lógicos

Page 2: Tipos de Dados Todo o trabalho realizado por um computador é baseado na manipulação das informações contidas em sua memória. Estas informações podem ser

Variáveis• O computador possui uma área de armazenamento

conhecida como memória.

• A memória do computador pode ser entendida como uma seqüência finita de caixas, que num dado momento, guardam algum tipo de informação, como número, uma letra, uma palavra, uma frase, etc.

Page 3: Tipos de Dados Todo o trabalho realizado por um computador é baseado na manipulação das informações contidas em sua memória. Estas informações podem ser

Variaveis• Variaveis são as representações de quaisquer tipos de

dados dentro do código fonte.• Variavel é, assim, uma notação para representar um valor

no código fonte de uma linguagem de programação.• Assim, podemos subdividir os variaveis em:

– Variaveis Booleanas ou Lógicas: correspondem ao valores verdadeiro e falso.

– Variaveis inteiras– Variaveis reais ou fracionárias (de Ponto Flutuante):

correspondem aos números racionais (fracionários). – Variaveis caracteres ou strings: correspondem às cadeias de

caracteres. Para representá-los, escreva-os entre aspas.

Page 4: Tipos de Dados Todo o trabalho realizado por um computador é baseado na manipulação das informações contidas em sua memória. Estas informações podem ser

Variáveis• Para acessar informações seria necessário saber

o tipo de dado desta informação (ou seja, o número de bytes de memória por ela ocupados) e a posição inicial deste conjunto de bytes na memória.

• Basicamente, uma variável possui três atributos:– nome– tipo de dado associado à mesma– informação por ela guardada.

• Toda variável possui um nome que tem a função de diferenciá-la das demais.

Page 5: Tipos de Dados Todo o trabalho realizado por um computador é baseado na manipulação das informações contidas em sua memória. Estas informações podem ser

Variáveis• Nos algoritmos, todas as variáveis utilizadas

serão definidas no início do mesmo, por meio de um comando de uma das seguintes formas:VAR <nome_da_variavel> : <tipo_da_variavel>ouVAR <lista_de_variaveis> : <tipo_das_variaveis>

Page 6: Tipos de Dados Todo o trabalho realizado por um computador é baseado na manipulação das informações contidas em sua memória. Estas informações podem ser

Variáveis• Escolher nomes significativos para as variáveis

– Ex: salario, total, nota, pagamento• Nomes significativos ajudam a tornar os

algoritmos e os programas auto-explicativos• Nomes de variáveis com mais de uma palavra

podem ajudar também– Ex: total_pagamentos, prova_final, totalPagamentos,

provaFinal.

Page 7: Tipos de Dados Todo o trabalho realizado por um computador é baseado na manipulação das informações contidas em sua memória. Estas informações podem ser

VariáveisExemplos:

VAR nome, sobrenome: caracteridade: inteirosalario: realtem_filhos: logico

Page 8: Tipos de Dados Todo o trabalho realizado por um computador é baseado na manipulação das informações contidas em sua memória. Estas informações podem ser

Tipos de Dados• Uma determinada informação armazenada na memória precisa fazer

sentido.• Mas o que realmente significa um conjunto específico de bits?

– Depende:• 1000001 – pode ser a letra ‘A’• 1000001 – também pode ser o número 65.

– O significado vai depender do tipo. Caso 1000001 seja do tipo caractere, o seu significado é a letra ‘A’.

– No entando se 1000001 for do tipo for inteiro, seu valor representa 65.

• Assim um mesmo valor pode assumir representações diferentes dependendo do tipo escolhido.

• Computadores trabalham internamente com dígitos binários.

Page 9: Tipos de Dados Todo o trabalho realizado por um computador é baseado na manipulação das informações contidas em sua memória. Estas informações podem ser

Tipos de Dados• Tipos Caracteres

– Seqüências contendo letras, números e símbolos especiais.

– Caracteres são representados por códigos binários.

– O código mais disseminado de todos é o ASCII (American Standard Code for Information Interchange).

– ASCII usa 8 bits para representar os caracteres.

– ASCII pode representar portanto até 28=256 caracteres.

– Uma seqüência de caracteres deve ser indicada entre aspas ('').

– Este tipo de dado também é conhecido como alfanumérico, string ou cadeia.

– Ex.: 'Programação', 'Rua Alfa, 52 Apto 1', 'Fone 574-9988', '04387- 030', ' ', '7'.

Page 10: Tipos de Dados Todo o trabalho realizado por um computador é baseado na manipulação das informações contidas em sua memória. Estas informações podem ser

TABELA ASCII(American Standard Code for Information Interchange)

0 .... ...

10 LF... ...

13 CR... ...

48 ‘049 ‘1’50 ‘2’

... ...56 ‘8’57 ‘9’

... ...65 ‘A’66 ‘B’

67 ‘C’... ...

89 ‘Y’90 ‘Z’

... ...97 ‘a’98 ‘b’

... ...121 ‘y’122 ‘z’

... ...133 ‘à’

... ...160 ‘á’

... ...

Page 11: Tipos de Dados Todo o trabalho realizado por um computador é baseado na manipulação das informações contidas em sua memória. Estas informações podem ser

Tipos de Dados

• Tipos Lógicos– Os dados deste tipo somente podem assumir dois

valores: verdadeiro e falso.– Dado booleano, devido a George Boole, matemático

inglês, que deu ao nome à álgebra (álgebra booleana) que manipula este tipo de dados.

– Computadores tomam decisões, durante o processamento de um algoritmo, baseados nestes dois valores.

– Normalmente se usa um byte inteiro para armazenar valores lógicos devido a dificuldade de endereçar bits.

Page 12: Tipos de Dados Todo o trabalho realizado por um computador é baseado na manipulação das informações contidas em sua memória. Estas informações podem ser

Tipos de Dados

Page 13: Tipos de Dados Todo o trabalho realizado por um computador é baseado na manipulação das informações contidas em sua memória. Estas informações podem ser

Expressões• Expressões combinam variáveis, operadores e

constantes para produzir um resultado.• Variáveis representam posições na memória

onde estão dados que serão processados.• Constantes são símbolos usados para

representar dados.• Operadores são usados para combinar as

variáveis e constantes fornecendo um valor como resposta.

Page 14: Tipos de Dados Todo o trabalho realizado por um computador é baseado na manipulação das informações contidas em sua memória. Estas informações podem ser

Exemplos de Expressões• 0.5 * base * altura

• (nota1 + nota2) / 2.0

• (temperatura > 0) e (quantidade < limite)

• 4 % 3 + 5

• A > B

Page 15: Tipos de Dados Todo o trabalho realizado por um computador é baseado na manipulação das informações contidas em sua memória. Estas informações podem ser

Expressões• Observar os símbolos usados para multiplicação (*) e

divisão (/).

• Avaliar primeiro as operações de maior prioridade, por exemplo (multiplicação e divisão).

• Se temos de escolher entre operadores de mesma prioridade então escolher o que está mais à esquerda.

– Ex. 4/2*3 -- primeiro divide-se 4 por 2 e em seguida multiplica-se o resultado por 3, dando como resultado 6

• Caso queira trocar a prioridade use parênteses.

– Não são permitidos outros símbolos para esta função tais como { } e [ ].

Page 16: Tipos de Dados Todo o trabalho realizado por um computador é baseado na manipulação das informações contidas em sua memória. Estas informações podem ser

Operadores• Operadores são símbolos que indicam a operação que

deve ser realizada entre os operandos (constantes e/ou variáveis), produzindo um determinado resultado.– Ex: + e -

• De acordo com o número de operandos sobre os quais os operadores atuam, os últimos podem ser classificados em:– binários, quando atuam sobre dois operandos.

• Ex.: os operadores das operações aritméticas básicas (soma, subtração, multiplicação e divisão).

– unários, quando atuam sobre um único operando.• Ex.: o sinal de (-) na frente de um número, cuja função é inverter seu

sinal.

Page 17: Tipos de Dados Todo o trabalho realizado por um computador é baseado na manipulação das informações contidas em sua memória. Estas informações podem ser

Operadores• Outra classificação dos operadores é feita

considerando-se o tipo de dado de seus operandos e do valor resultante de sua avaliação.

• Segundo esta classificação, os operandos dividem-se em aritméticos, lógicos e caracteres.

– Um caso especial é o dos operadores relacionais, que permitem comparar pares de operandos de tipos de dados iguais, resultando sempre num valor lógico.

Page 18: Tipos de Dados Todo o trabalho realizado por um computador é baseado na manipulação das informações contidas em sua memória. Estas informações podem ser

Operador de Atribuição• Um operador de atribuição serve para atribuir um

valor a uma variável.• Em Algoritmo usamos o operador de atribuição: • A sintaxe de uma atribuição é:NomedaVariavel expressao

• A expressão localizada no lado direito do sinal de igual é avaliada e armazenado o valor resultante na variável à esquerda.

• O nome da variável aparece sempre sozinho, no lado esquerdo do sinal de igual deste comando.

Page 19: Tipos de Dados Todo o trabalho realizado por um computador é baseado na manipulação das informações contidas em sua memória. Estas informações podem ser

Operador de Atribuição• Todo comando de atribuição pode ser dividido em

duas etapas:– Avaliação da expressão;– Armazenamento do resultado da avaliação na posição

de memória representada pela variável.• Exemplo:

– a 35 * 6 + 2– O comando acima faz com que o resultado da

expressão (=212) seja armazenado na variável a.

Page 20: Tipos de Dados Todo o trabalho realizado por um computador é baseado na manipulação das informações contidas em sua memória. Estas informações podem ser

Operadores Aritméticos• Os operadores aritméticos se relacionam às

operações aritméticas básicas:

Page 21: Tipos de Dados Todo o trabalho realizado por um computador é baseado na manipulação das informações contidas em sua memória. Estas informações podem ser

Expressões Aritméticas • 1 / 4 – resultado 0.25

• 1 / 4 + 7.1 – resultado 7.35– 1a. Operação: 1 / 4 = 0.25– 2a. Operacão: 0.25 + 7.1 = 7.35

• (2 + 4)/(3 – 1) – resultado 3– 1a. Operação: 2 + 4 = 6– 2a. Operação: 3 – 1 = 2– 3a. Operação: 6 / 2 = 3

• 10 % 3 – resultado 1– O resto da divisão de 10 por 3 é igual a 1.

Page 22: Tipos de Dados Todo o trabalho realizado por um computador é baseado na manipulação das informações contidas em sua memória. Estas informações podem ser

Exercícios• Qual é o resultado das expressões abaixo?

• 1 / 3 * 3

• 1.0 / 3 * 3

• 3 + 6 / 3 - 1

Page 23: Tipos de Dados Todo o trabalho realizado por um computador é baseado na manipulação das informações contidas em sua memória. Estas informações podem ser

Operadores Relacionais• Os operadores relacionais são operadores binários que devolvem os

valores lógicos verdadeiro e falso.• Estes valores são somente usados quando se deseja efetuar

comparações.• Comparações só podem ser feitas entre objetos de mesma natureza,

isto é variáveis do mesmo tipo de dado.

Page 24: Tipos de Dados Todo o trabalho realizado por um computador é baseado na manipulação das informações contidas em sua memória. Estas informações podem ser

Operadores Relacionais• Com valores string, os operadores relacionais comparam

os valores ASCII dos caracteres correspondentes em cada string.

• Uma string é dita "menor que" outra se os caracteres correspondentes tiverem os números de códigos ASCII menores.

• Exemplos de expressões verdadeiras no Visualg:

– "algoritmo" = "ALGORITMO"

– "ABC" < "EFG"

– "Pascal" < "Pascal compiler"

Page 25: Tipos de Dados Todo o trabalho realizado por um computador é baseado na manipulação das informações contidas em sua memória. Estas informações podem ser

Operadores Relacionais• Considere a=3, b=7, total=200.0, média=8.1 e

ano=2000

• a > b -- resultado falso

• total = 100.0 -- resultado falso

• média >= 7.0 -- resultado verdadeiro

• ano <> 2001 -- resultado verdadeiro

Page 26: Tipos de Dados Todo o trabalho realizado por um computador é baseado na manipulação das informações contidas em sua memória. Estas informações podem ser

Operadores Lógicos• Operadores lógicos ou booleanos são usados para

combinar expressões relacionais e resultam nos valores lógicos verdadeiro ou falso.

• Existem outros operadores lógicos, como por exemplo, os operadores ou-exclusivo, ne (não e), nou (não ou).

• Estes outros operadores podem ser obtidos a partir dos três já definidos (e, ou e não).

Page 27: Tipos de Dados Todo o trabalho realizado por um computador é baseado na manipulação das informações contidas em sua memória. Estas informações podem ser

Operador Lógico - NÃO

Page 28: Tipos de Dados Todo o trabalho realizado por um computador é baseado na manipulação das informações contidas em sua memória. Estas informações podem ser

Operadores Caracteres• Um exemplo de operação comum em várias

linguagens é a concatenação de duas cadeias de caracteres.

• Símbolo + é usado em algumas linguagens para representar esta operação.

• Considere as cadeias 'dia', ' ', 'de' e 'semana'• A operação

– 'dia' + ' ' + 'de' + ' ' + 'semana'• Cria a cadeia

– 'dia de semana'

Page 29: Tipos de Dados Todo o trabalho realizado por um computador é baseado na manipulação das informações contidas em sua memória. Estas informações podem ser

Expressões mistas• É muito comum em algoritmos juntar operadores

relacionais e lógicos em expressões.

• Estas expressões são geralmente do tipo:– (nota1 > 7.0) ou (nota2 > 7.0)– (salario > valor) e (ano > 2001)

• O resultado destas expressões é do tipo lógico (verdadeiro ou falso).

Page 30: Tipos de Dados Todo o trabalho realizado por um computador é baseado na manipulação das informações contidas em sua memória. Estas informações podem ser

Exercícios• Considerando l1=5.0, l2=3.0, l3=4.0 e l4=7.1:

– (l1 > l3) e (l2 > l4)

– ((l1+2) = l3) ou (l2 <= l4)

• Considerando presente=verdadeiro, n1=7.5 e n2=6.5, qual é o resultado da expressão?

– (((n1+n2)/2.0) >= 7.0) e presente