Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Algoritmos: tipos de dados, variáveis e expressões DCA0800 - Algoritmos e Lógica de Programação Heitor Medeiros 1
Tópicos da Aula Variáveis Tipos de dados Expressões Expressões aritméticas. Expressões lógicas. Expressões relacionais. Expressões de atribuição. 2
Variáveis e Tipos de Dados 3
Variáveis Variáveis: Entrada(s); Auxiliar(es); Saída(s); 4
Variáveis Variáveis Entrada(s); Auxiliar(es); Saída(s); 5
Variáveis Uma variável é uma posição na memória do computador, que é reservada para armazenar os dados que o algoritmo vai manipular. Uma variável pode assumir valores diferentes, mas só pode armazenar um valor a cada instante. Além disso, o seu conteúdo pode mudar ao longo do tempo na execução do algoritmo. 6
Variáveis A quantidade de variáveis de entrada e saída depende da descrição do problema. Um algoritmo pode conter zero ou mais variáveis auxiliares. Algoritmo Variáveis de entrada Variáveis auxiliares...... Variáveis de saída 7
Tipos das variáveis Tipo das variáveis: INTEIRO 8
Tipos das variáveis Tipo das variáveis: REAL 9
Tipos de Dados Existem diversos tipos de dados para definir uma variável. Inteiro, real, caractere, literal, logico (booleano)... Um tipo de dado primitivo é um tipo incorporado na própria linguagem e representado por uma palavra reservada (palavra-chave). 10
Tipos de dados primitivos Pseudolinguagem (Portugol) real: [12,34 ; 0,45 ; 145 ; 145,00 ; 56] inteiro: [43 ; 700 ; 2] caractere: [ teste ; livro de programação ; KLM- 2302 ] logico: [verdadeiro ; falso] literal: [ teste ; codigo: &f%2 ; %%-6$ ] Linguagem C char: caractere (ocupa um byte). int: inteiro. short ou long. signed ou unsigned; _Bool: valor lógico (0 ou 1). bool: valor lógico (0, false, 1, true) Biblioteca: <stdbool.h> double, float, long double: float double long double 11
Definição de Variável Pseudolinguagem (Portugol) Linguagem C <identificador> : <tipo> <tipo> <identificador>; Identificador é o nome da variável. Exemplo: minhavariavel : inteiro Exemplo: int minhavariavel; x, y: inteiro int x, y; letra: caracter; char letra; 12
Definição de variável: Identificador Os nomes devem ser iniciados por um caractere alfabético (letra) ou pelo caractere _ (sublinha). Os nomes podem possuir números, desde que se inicie por letra. Além de letras, números e o caractere _, não é aceito nenhum outro símbolo. Letras gregas também não são aceitas. O nome de uma variável devem revelar seu propósito, porque existe, o que faz e como é usado. 13
Exercício: Identificador Exercício: Classifique os identificadores/nomes de variáveis do conjunto abaixo entre válidos ou não válidos. custo ; nome ; indice ; d ; salario ; 1hora ; c&a ; notas ; 1nota ; 2ºnota ; terceiranota ; resultado ; 100% ; _teste ; teste_lab ; @salario% ; nota/2 ; remédio ; ano de nascimento ; ano_de_nascimento 14
Exercício: Identificador Resposta: custo ; nome ; indice ; d ; salario ; notas ; terceiranota ; resultado ; _teste ; teste_lab ; ano_de_nascimento 1hora ; c&a ; 1nota ; 2ºnota ; 100% ; @salario% ; nota/2 ; remédio ; ano de nascimento ; Válidos Não válidos 15
Expressões / Operações Operações Aritméticas Operações Relacionais Operações Lógicas Operações de Atribuição 16
Expressões Aritméticas Pseudolinguagem (Portugol) Linguagem C Adição: + Subtração: - Multiplicação: * Divisão real: / Divisão inteira: div Resto da divisão: mod ou % Adição: + Subtração: - Multiplicação: * Divisão: / Resto da divisão: mod ou % 17
Expressões Aritméticas Operadores com maior prioridade são executados primeiro. Em caso de mesma prioridade, a avaliação é feita da esquerda para a direita. O uso do parêntese força à avaliação da expressão mesmo que seja de menor prioridade. ^ * / % + - 18
Expressões Aritméticas 2 + 4 + 6 * 2 = 2 + 4 + 12 = 6 + 12 = 18. 3-5 ^ 2 * 3 = 3-25 * 3 = 3-75 = -72. 2 + (4 + 6) * 2 = 2 + (10) * 2 = 2 + 20 = 22. 3-5 ^ (2 * 3) = 3-5 ^ (6) = 3-15625 = -15622. 19
Operações Relacionais Pseudolinguagem (Portugol) Linguagem C Igualdade: = Diferente: <> Menor: < Maior: > Menor ou igual: <= Maior ou igual: >= Igualdade: == Diferente:!= Menor: < Maior: > Menor ou igual: <= Maior ou igual: >= 20
Expressões Lógicas Pseudolinguagem (Portugol) Linguagem C Negação: nao Conjunção (E): e Disjunção (Ou): ou Negação:! Conjunção (E): && Disjunção (Ou): 21
Expressões Lógicas: Conjunção (E) Considerando as seguintes informações: V como verdadeiro. F como falso. C1 e C2 são duas condições. (C1 e C2 = V) se e somente se (C1=V e C2=V) Tabela verdade: C1 C2 C1 e C2 (C1 ^ C2) F F F F V F V F F V V V 22
Expressões Lógicas: Conjunção (E) Exemplo: Qual a resposta para a pergunta: João e Antônio são engenheiros? Primeira condição (C1): João é engenheiro? Verdadeiro ou falso? Segunda condição (C2): Antônio é engenheiro? Verdadeiro ou falso? Se as duas condições (C1 e C2) forem VERDADEIRAS, a resposta da pergunta inicial é VERDADEIRA. C1 = VERDADEIRO E C2 = VERDADEIRO João e Antônio são engenheiros = VERDADEIRO 23
Expressões Lógicas: Conjunção (E) Exemplo: 24
Leis da Conjunção (E) Considerando as seguintes informações: V como verdadeiro. F como falso. C1 e C2 são condições. Leis da conjunção (E): C1 E C1 = C1 C1 E V = C1 C1 E F = F C1 E C2 = C2 E C1 C1 E (C2 E C3) = (C1 E C2) E C3 25
Expressões Lógicas: Disjunção (OU) Considerando as seguintes informações: V como verdadeiro. F como falso. C1 e C2 são duas condições. (C1 ou C2 = V) se e somente se (C1=V ou C2=V) Tabela verdade: C1 C2 C1 ou C2 (C1 v C2) F F F F V V V F V V V V 26
Expressões Lógicas: Disjunção (OU) Exemplo: 27
Leis da Disjunção (OU) Considerando as seguintes informações: V como verdadeiro. F como falso. C1 e C2 são condições. Leis da conjunção (OU): C1 OU C1 = C1 C1 OU V = V C1 OU F = C1 C1 OU C2 = C2 OU C1 C1 OU (C2 OU C3) = (C1 OU C2) OU C3 28
Expressões Lógicas: Negação (NAO) Considerando as seguintes informações: V como verdadeiro. F como falso. C é uma condição. (nao C = V) se e somente se (C = F) Tabela verdade: C F V nao C V F 29
Expressões Lógicas: Negação (NAO) Exemplo: 30
Relembrando: Expressões Lógicas Pseudolinguagem (Portugol) Linguagem C Negação: nao Conjunção (E): e Disjunção (Ou): ou Negação:! Conjunção (E): && Disjunção (Ou): 31
Expressões Relacionais + Expressões Lógicas 32
Expressões Relacionais e Lógicas Uma expressão relacional sempre retorna um valor lógico (0- falso, 1-verdadeiro). O valor lógico retornado pela expressão relacional pode ser uma condição da expressão lógica. 1. c1 <- 20 > 5 2. c2 <- falso 3. c <- c1 e c2 33
Expressões Relacionais e Lógicas Exemplo: 34
Exercícios!!! 35
Exercícios Exercício 01: Para aprovação no primeiro semestre do curso de algoritmos para ensino médio os alunos devem obter uma média de todas as disciplinas maior que 5,0 e obter média em cada disciplina maior que 3,0. Construa um pseudocódigo que tem por objetivo mostrar a situação do aluno (aprovado ou reprovado). O algoritmo deverá fazer duas perguntas ao usuário, que são: O aluno obteve média de todas as disciplinas maior que 5,0? (verdadeiro ou falso). escreval ( O aluno obteve media de todas as disciplinas maior que 5? ) leia () O aluno obteve média em cada disciplina maior que 3,0? (verdadeiro ou falso). E então deverá mostrar ao usuário a situação do aluno: A aprovação do aluno é verdadeiro ou falso. 36
Dúvidas? Dúvidas por email: heitorm@dca.ufrn.br 37