algoritmos e estruturas de dados i – tipos de dados

28
Algoritmos e Estruturas de Dados I – Tipos de dados Profa. Mercedes Gonzales Márquez

Upload: christmas

Post on 20-Jan-2016

48 views

Category:

Documents


0 download

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 Presentation

TRANSCRIPT

Page 1: Algoritmos e Estruturas de Dados I – Tipos de dados

Algoritmos e Estruturas de Dados I – Tipos de dados

Profa. Mercedes Gonzales Márquez

Page 2: 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.

• 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.

Page 3: Algoritmos e Estruturas de Dados I – Tipos de dados

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

Page 4: Algoritmos e Estruturas de Dados I – Tipos de dados

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...

Page 5: Algoritmos e Estruturas de Dados I – Tipos de dados

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.

Page 6: Algoritmos e Estruturas de Dados I – Tipos de dados

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”

Page 7: Algoritmos e Estruturas de Dados I – Tipos de dados

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.

Page 8: Algoritmos e Estruturas de Dados I – Tipos de dados

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.

Page 9: Algoritmos e Estruturas de Dados I – Tipos de dados

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.

Page 10: Algoritmos e Estruturas de Dados I – Tipos de dados

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.

Page 11: Algoritmos e Estruturas de Dados I – Tipos de dados

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.

Page 12: Algoritmos e Estruturas de Dados I – Tipos de dados

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

Page 13: Algoritmos e Estruturas de Dados I – Tipos de dados

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:

Page 14: Algoritmos e Estruturas de Dados I – Tipos de dados

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

Page 15: Algoritmos e Estruturas de Dados I – Tipos de dados

Operadores aritméticos - Prioridades

1º prioridade : Exponenciação

2º prioridade : Divisão, multiplicação

3º prioridade : Adição, subtração

Page 16: Algoritmos e Estruturas de Dados I – Tipos de dados

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

Page 17: Algoritmos e Estruturas de Dados I – Tipos de dados

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

Page 18: Algoritmos e Estruturas de Dados I – Tipos de dados

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”

Page 19: Algoritmos e Estruturas de Dados I – Tipos de dados

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

Page 20: Algoritmos e Estruturas de Dados I – Tipos de dados

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.

Page 21: Algoritmos e Estruturas de Dados I – Tipos de dados

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

Page 22: Algoritmos e Estruturas de Dados I – Tipos de dados

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.

Page 23: Algoritmos e Estruturas de Dados I – Tipos de dados

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

Page 24: Algoritmos e Estruturas de Dados I – Tipos de dados

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

Page 25: Algoritmos e Estruturas de Dados I – Tipos de dados

Operadores -Prioridades

1º prioridade : aritmético

2º prioridade : relacional

3º prioridade : não

4º prioridade : e

5º prioridade : ou

Page 26: Algoritmos e Estruturas de Dados I – Tipos de dados

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

Page 27: Algoritmos e Estruturas de Dados I – Tipos de dados

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

Page 28: Algoritmos e Estruturas de Dados I – Tipos de dados

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.