Algoritmos e Estruturas de Dados I
– Tipos de dados
Profa. Mercedes Gonzales
Márquez
Dados
• Os algoritmos irão manipular dados, que
normalmente são fornecidos pelos usuários, e
entregar resultados para estes usuários.
• Uma pergunta importante neste momento é:
que tipo de dados poderemos manipular? As
linguagens de programação estabelecem
regras precisas para definir que tipos de dados
irão manipular.
Dados
•
•
A representação por pseudo-código, que será adotada
nesta matéria, também estabelece, ainda que
informalmente, algumas regras que limitam o conjunto
de dados existentes na natureza e que poderão ser
manipulados pelos algoritmos.
Existem três tipos básicos de dados que a linguagem
irá manipular:
Dados numéricos
Dados literais ou alfa-numéricos
Dados Lógicos
Dados
(1) Dados Numéricos: Dois tipos: inteiros e reais
• O conjunto dos dados inteiros pode ser definido como
Z={...,-3,-2,0,1,2,...}.
• O conjunto dos números reais inclui o conjunto dos
números inteiros, dos números fracionários e dos
números irracionais.
• O conjunto dos números fracionários pode ser
formalmente definido como Q={p/q | p,q pertencem a Z}.
• O conjunto dos números irracionais engloba aqueles que
não podem ser representados por uma fração, por
exemplo o número PI=3.141515...
Dados
• Os números irracionais são armazenados até um certo
número de casas decimais que o computador consegue
representar a partir daí as casas decimais são
descartadas.
(1) Inteiro
Exemplos: a) 15 b) -1
(2) Real
Exemplos:
a) 3,141592; b) -0,91
Dados
(2) Dados literais ou alfa-numéricos
Dados literais servem para tratamento de textos e
normalmente são compostos por uma seqüência de
caracteres contendo letras, algarismos e caracteres de
pontuação.
Nos
algoritmos
são
normalmente
representados por uma seqüência de caracteres entre
aspas, por exemplo:
(a) “JOSÉ GONÇALVES” b) “12345”
c) “x1y2w3” d) “*A!B:-” e) “23/03/10” f) “falso”
Dados
(3) Dados Lógicos
•Os dados lógicos ou também chamados booleanos
somente podem assumir dois valores: verdadeiro e
falso. Computadores tomam decisões, durante o
processamento de um algoritmo, baseados nestes dois
valores.
•Portanto, este tipo de dados é intensamente aplicado
durante o processo de tomada de decisões que o
computador frequentemente é obrigado a fazer.
Variáveis
• Uma entidade destinada a guardar um dado
cujo valor pode variar ao longo do tempo
durante a execução do algoritmo.
• A cada variável corresponde uma posição na
memória.
• Ela assume somente um valor de cada vez.
• Toda variável é identificada por um nome ou
identificador.
Variáveis - Identificadores
•
•
O identificador escolhido para rotular as variáveis
deve obedecer as seguintes regras
- O primeiro caractere deve ser uma letra
- Os nomes devem ser formados por caracteres
pertencentes ao seguinte conjunto:
{A,B,...,X,Y,W,Z,0,1,...,8,9,_}
Utiliza-se nomes de variáveis elucidativos. Exemplo
se a variável vai armazenar o nome de um
empregado, deve-se usar o identificador nome para
representá-la.
Variáveis - Declaração
•
•
•
As variáveis também são classificadas como
numéricas, lógicas e literais.
Para indicar o tipo de uma variável é usada a
declaração de variáveis.
Quando se declara uma variável é feita uma
associação do identificador com a respectiva
posição de memória que este vai simbolizar.
Variáveis - Declaração
•Uma vez declarada a variável, qualquer
referência que se faça ao seu identificador
implica a referência ao conteúdo do local da
memória representado pelo mesmo.
Variáveis – Sintaxe da declaração
tipo_dado : identificador_da_variável
Exemplos:
Real: x,y,z,w
Inteiro: num_alunos
Literal: nome_aluno
Logico: sim
Variáveis – Operadores aritméticos
•Além de limitar o conjunto de dados, a
declaração de tipos define o conjunto de
operadores que podem agir sobre a variável.
Operadores aritméticos:
Variáveis – Operadores aritméticos
Símbolo
Função
Tipos disponíveis
Adição
Inteiro,real
subtração
Exponenciação
”
”
”
”
MOD
Resto da divisão inteira
Inteiro
DIV
Quociente da divisão inteira Inteiro
+
*
/
**
Multiplicação
Divisão real
Operadores aritméticos -Prioridades
1º prioridade : Exponenciação
2º prioridade : Divisão, multiplicação
3º prioridade : Adição, subtração
Operadores relacionais
Função
Símbolo
=
<>
>=
<=
Tipos disponíveis
Igual
Todos
Diferente
Todos
Maior ou igual que
Todos
Menor ou igual que
Todos
O resultado obtido de uma relação é sempre um valor lógico.
Exemplos:
(a) A<>B (b) nome=“Maria” (c) B**2-4*A*C<0
Operadores relacionais
Dadas as variáveis numéricas x,y,z e as variáveis literais NOME e
COR, observar os resultados obtidos para as relações a partir dos
valores atribuídos a estas variáveis.
VARIÁVEIS
X
Y
Z
COR
RELAÇÕES
NOME
X2 +Y>Z
COR=“AZUL”
NOME<>”JOSE”
1
2
5
“AZUL”
“PAULO” Falso
Verdade
Verdade
4
3
1
“VERDE”
“JOSE”
Falso
Falso
1
1
2
“BRANCO” “PEDRO” Falso
Falso
Verdade
1
2
1
“AZUL”
Verdade
Falso
“JOSE”
Verdade
Verdade
Operadores relacionais
Dadas as variáveis numéricas A e B, e as variáveis
literais NOME e PROFISSÃO, completar o quadro a
seguir.
VARIÁVEIS
A
B
NOME
PROFISSÃO
3
16
“MIRIAM
”
“ADVOGADO”
5
64
“PEDRO”
“MÉDICO”
2,5
9
“ANA”
“PROFESSOR”
RELAÇÕES
A+2 > B
NOME<>”ANA
”
PROFISSÃO=“MEDICO”
Operadores lógicos
Símbolo
Função
e
Conjunção
Tipos
disponíveis
Lógico
Ou
Disjunção
Lógico
Não
Negação
Lógico
Operadores lógicos - e
A conjunção de duas proposições p e q representa-se
por: p e q e é verdadeira se e somente se ambas as
proposições são verdadeiras.
p
V
V
F
F
q
V
F
V
F
peq
V
F
F
F
Operadores lógicos - e
Sejam as seguintes proposições
p: ok, onde ok é uma variável lógica cujo conteúdo é
verdadeiro
q: A=0, onde o valor de A é 3.
r: teste, onde teste é uma variável lógica cujo conteúdo é
falso.
s: B<>1, onde o conteúdo de B é 2
Qual é o valor lógico das conjunções
(a) p e s (b) p e r (c) q e s (d) q e r
Operadores lógicos - ou
A disjunção de duas proposições p e q representa-se por:
p ou q e é verdadeira se e somente se, pelo menos, uma
delas for verdadeira.
p
V
V
F
F
q p ou q
V
V
F
V
V
V
F
F
Operadores lógicos - ou
Para as quatro proposições do exemplo anterior qual
será o valor lógico das disjunções:
(a) p ou s
(b) p ou r
(c) q ou s
(d) q ou r
Operadores lógicos - não
O operador negação (não) atribui o valor lógico falso a
uma proposição com valor verdade, e o valor lógico
verdade a uma proposição com valor falso. Assim
p
não
(p)
V F
F V
Operadores - Prioridades
1º prioridade : aritmético
2º prioridade : relacional
3º prioridade : não
4º prioridade : e
5º prioridade : ou
Funções primitivas
• Representa uma
operação exercida sobre
um valor para obter
como resultado um
valor numérico.
• Assumiremos que as
funções da tabela estão
disponíveis no nosso
computador hipotético
Função
Resultado
Sen(x)
Seno de um ângulo
Cos(x)
Coseno de um ângulo
Tg(x)
Tangente do ângulo
Exp(x)
O número e elevado a x.
Ln(x)
Logaritmo neperiano de x
Sqr(x)
Raiz quadrada de x
Abs(x)
Valor absoluto de x
Operadores - Prioridades nas expressões
mistas
1º prioridade : parênteses mais internos
2º prioridade : funções
3º prioridade : potências e raízes
4º prioridade : divisão e multiplicação
5º prioridade : adições e subtrações
6º prioridade : operadores relacionais
7º prioridade : operador lógico não
8º prioridade : operador lógico e
9º prioridade : operador lógico ou
Expressões mistas
Exercícios de fixação 1.5.5.1. e 1.5.5.2. do livro
Algoritmos Estruturados de Harry Farrer e
outros.
Download

AEDI-tiposdados