Algoritmos e Estruturas de Dados I – Tipos de dados Profa. Mercedes Gonzales Márquez Itens 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. Constantes É um determinado valor fixo que não se modifica ao longo do tempo, durante a execução do algoritmo. Conforme o seu tipo, a constante é classificada em numérica, lógica e literal. Constante numérica (1) Inteiro Exemplos: a) 15 b) -1 (2) Real Exemplos: a) 3,141592; b) -0,91 Constantes Constante lógica É um valor lógico que só pode ser falso ou verdadeiro, usado em proposições lógicas. Constantes Constante literal Uma sequência de caracteres (letras, dígitos ou símbolos especiais). Toda constante literal será colocada entre aspas para que não seja confundida com outro item qualquer. a)“JOSÉ GONÇALVES” b) “12345” c) “x1y2w3” d) “*A!B:-” e) “23/03/10” f) “falso” 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 + Adição subtração * Multiplicação / ** MOD DIV Tipos disponíveis Inteiro,real ” ” Divisão real Exponenciação Resto da divisão inteira ” ” Inteiro 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 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” Verdade Falso Falso 1 1 2 “BRANCO” “PEDRO” Falso Falso Verdade 1 2 1 “AZUL” “JOSE” Verdade Falso 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 Tipos disponíveis e Conjunção 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 q peq V V V V F F F V F 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 q p ou q V V V V F V F V V F 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.