Title: Algoritmos e Estruturas de Dados I
1Algoritmos e Estruturas de Dados I Tipos de
dados
- Profa. Mercedes Gonzales Márquez
2Itens básicos
- Introduziremos um conjunto particular de regras e
convenções para desenvolver algoritmos. - Estas normas não são únicas, nem universais,
foram estabelecidas a partir da experiência da
professora.
3Dados
- 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.
4Dados
- 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
5 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 Qp/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 PI3.141515...
6 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
7 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
8 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.
9Variá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.
10Variá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.
11Variá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.
12Variá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.
13Variá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
14Variá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
15Variá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
16Operadores aritméticos - Prioridades
- 1º prioridade Exponenciação
- 2º prioridade Divisão, multiplicação
- 3º prioridade Adição, subtração
17Operadores relacionais
Símbolo Função Tipos disponíveis
Igual Todos
ltgt Diferente Todos
gt Maior ou igual que Todos
lt Menor ou igual que Todos
O resultado obtido de uma relação é sempre um
valor lógico. Exemplos (a) AltgtB (b)
nomeMaria (c) B2-4AClt0
18Operadores 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 VARIÁVEIS VARIÁVEIS VARIÁVEIS VARIÁVEIS RELAÇÕES RELAÇÕES RELAÇÕES
X Y Z COR NOME X2 YgtZ CORAZUL NOMEltgtJOSE
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
19Operadores 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 VARIÁVEIS VARIÁVEIS VARIÁVEIS RELAÇÕES RELAÇÕES RELAÇÕES
A B NOME PROFISSÃO A2 gt B NOMEltgtANA PROFISSÃOMEDICO
3 16 MIRIAM ADVOGADO
5 64 PEDRO MÉDICO
2,5 9 ANA PROFESSOR
20Operadores 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
21Operadores 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 q p e q
V V V
V F F
F V F
F F F
22Operadores lógicos - e
Sejam as seguintes proposições p ok, onde ok é
uma variável lógica cujo conteúdo é verdadeiro q
A0, onde o valor de A é 3. r teste, onde teste
é uma variável lógica cujo conteúdo é falso. s
Bltgt1, 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
23Operadores 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 q p ou q
V V V
V F V
F V V
F F F
24Operadores lógicos - ou
- Para as quatro proposições do exemplo anterior
qual será o valor lógico das disjunções - p ou s
- (b) p ou r
- (c) q ou s
- (d) q ou r
25Operadores 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
26Operadores - Prioridades
- 1º prioridade aritmético
- 2º prioridade relacional
- 3º prioridade não
- 4º prioridade e
- 5º prioridade ou
27Funções primitivas
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
- 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
28Operadores - 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
29Expressõ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.