algoritmos e estruturas de dados i – tipos de dados
DESCRIPTION
Profa. Mercedes Gonzales Márquez. Algoritmos e Estruturas de Dados I – Tipos de dados. Dados. Os algoritmos irão manipular dados, que normalmente são fornecidos pelos usuários, e entregar resultados para estes usuários. - PowerPoint PPT PresentationTRANSCRIPT
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
(1) Inteiro
Exemplos: a) 15 b) -1
(2) Real
Exemplos:
a) 3,141592; b) -0,91
• 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.
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 ”
* Multiplicação ”
/ Divisão real ”
** Exponenciação ”MOD Resto da divisão inteira Inteiro
DIV Quociente da divisão inteira Inteiro
Operadores aritméticos - Prioridades
1º prioridade : Exponenciação
2º prioridade : Divisão, multiplicação
3º prioridade : Adição, subtração
Operadores relacionais
Símbolo Função 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 RELAÇÕES
X Y Z COR NOME X2 +Y>Z COR=“AZUL” NOME<>”JOSE”
1 2 5 “AZUL” “PAULO” Falso Verdade Verdade
4 3 1 “VERDE” “JOSE” Verdade Falso Falso
1 1 2 “BRANCO” “PEDRO” Falso Falso Verdade
1 2 1 “AZUL” “JOSE” Verdade Verdade Falso
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 RELAÇÕES
A B NOME PROFISSÃO A+2 > B NOME<>”ANA”
PROFISSÃO=“MEDICO”
3 16 “MIRIAM”
“ADVOGADO”
5 64 “PEDRO” “MÉDICO”
2,5 9 “ANA” “PROFESSOR”
Operadores lógicos
Símbolo Função Tipos disponíveis
e Conjunção Lógico
Ou Disjunção Lógico
Não Negação Lógico
Operadores lógicos - e
p q p e q
V V V
V F F
F V F
F F F
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.
Operadores lógicos - e
Sejam as seguintes proposições p: ok, onde ok é uma variável lógica cujo conteúdo é verdadeiroq: 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 é 2Qual é 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
p q p ou q
V V V
V F V
F V V
F F F
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.
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
p não (p)
V F
F V
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
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 internos2º prioridade : funções3º prioridade : potências e raízes4º prioridade : divisão e multiplicação5º prioridade : adições e subtrações6º prioridade : operadores relacionais7º prioridade : operador lógico não8º prioridade : operador lógico e9º 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.