Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Aula 8 – Variáveis e Tipos de           Dados  Prof. André Constantino da Silva          LOGT1 – Lógica              Notur...
Na aula anterior...• VisualG• Comando de Decisão    - Simples (se-entao)    - Dupla (se-entao-senao)
Na aula de hoje...• Variáveis• Tipos de Dados• Operadores
Variável• Aprendemos a usar variáveis e a declará-las          Mas o que é uma variável?
Variável• É um objeto ou entidade situado na  memória que representa um valor ou  expressão
Memória• São dispositivos  utilizados para guardar  dados• A unidade básica da  memória é o dígito  binário (bit)• Atualme...
Memória          02   0300   01          06   0704   05
MemóriaMas o computador trabalha com bits!Os endereços então são binários:                           0   0                ...
Memória0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 01 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...
Memória    0000            0001                             0011                                    00100 0 0 0 0 0 0 0 0 ...
Memória• Imagina manipularmos endereços de memória  em nossos algoritmos?Ex (hipotético):      algoritmo “teste”      var ...
Variável• Espaço na memória• Possui um nome (identificador)• Armazena um dado (conteúdo)• Só existe em tempo de execução• ...
Tipos de Dados
Tipos de Dados• Combinação de valores e de operações  que uma variável pode executar    - Também conhecido como tipo de va...
Tipo de Dados0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ...
Tipo de Dados0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ...
Tipo de Dados - Inteiro0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...
Tipo de Dados - Real0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0...
Tipo de Dados - Real0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0...
Tipo de Dados - Caractere0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...
Tabela ASC II• Convenção para representarletras, números, símbolosatravés de código binário.•     Exemplos:A       0100 00...
Tipo de Dados - Caractere0 1 0 0 1 0 0 1 0 1 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 1 0 1 0 0 0 00 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 ...
Tipo de Dados - Lógico0 1 0 0 1 0 0 1 0 1 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 1 0 1 0 0 0 00 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0...
Tipo de Dados - Lógico•   Em Portugol, para atribuir verdadeiro ou falso,    fazemos:algoritmo “verdadeiro_falso"var      ...
Tipo de Dados• Determina o conteúdo de uma variável• Determina a quantidade de memória que  será utilizada para armazenar ...
Operadores
Operador de Atribuição• Atribui um valor a uma variável• Símbolo: <- (lê-se recebe)• Cuidado: a variável só pode receber  ...
Operador de Atribuiçãoalgoritmo "erro de atribuicao"var numero1, numero2: inteiro     numero3, numero4: real     letra: ca...
Operadores MatemáticosSímbolo              Ação                  Exemplo  +                  Soma               Soma <- 5 ...
Operadores Matemáticos• O resultado pode ser um inteiro ou real• Operados +, - e * o resultado dependerá dos   operandos  ...
Exercícios1. Escreva um algoritmo que leia um número inteirodo usuário e calcule y, sendo que y é calculadopela fórmula   ...
Upcoming SlideShare
Loading in …5
×

Aula 8 - Lógica de Programação - Variáveis, Tipos de dados e Operadores

Aula 8 - Lógica de Programação - Variáveis, Tipos de dados e Operadores

  1. 1. Aula 8 – Variáveis e Tipos de Dados Prof. André Constantino da Silva LOGT1 – Lógica Noturno 04 de maio de 2012
  2. 2. Na aula anterior...• VisualG• Comando de Decisão - Simples (se-entao) - Dupla (se-entao-senao)
  3. 3. Na aula de hoje...• Variáveis• Tipos de Dados• Operadores
  4. 4. Variável• Aprendemos a usar variáveis e a declará-las Mas o que é uma variável?
  5. 5. Variável• É um objeto ou entidade situado na memória que representa um valor ou expressão
  6. 6. Memória• São dispositivos utilizados para guardar dados• A unidade básica da memória é o dígito binário (bit)• Atualmente, cada byte da memória possui um endereço
  7. 7. Memória 02 0300 01 06 0704 05
  8. 8. MemóriaMas o computador trabalha com bits!Os endereços então são binários: 0 0 0 0 1 1 0 0 0 1 0 1 1 1 1 1 1 1 0 0 0 1 0 1
  9. 9. Memória0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 01 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 10 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 10 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 1 1 1 1 1 1 1 1 1 1 1
  10. 10. Memória 0000 0001 0011 00100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0100 0101 0111 01101 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1000 1001 1011 10100 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1100 1101 1111 11100 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 1 1 1 1 1 1 1 1 1 1 1
  11. 11. Memória• Imagina manipularmos endereços de memória em nossos algoritmos?Ex (hipotético): algoritmo “teste” var 0x010: inteiro inicio 0x010 <- 50 escreva(0x010) fim• E se o endereço estiver sendo usado por outro programa?
  12. 12. Variável• Espaço na memória• Possui um nome (identificador)• Armazena um dado (conteúdo)• Só existe em tempo de execução• Possui um tipo I n t eEx.: var fator: inteiro i r o
  13. 13. Tipos de Dados
  14. 14. Tipos de Dados• Combinação de valores e de operações que uma variável pode executar - Também conhecido como tipo de variável• Exemplo: inteiro Valores: ... , -2, -1, 0, 1, 2, .... , 100, ... Operações: + , - , *, /
  15. 15. Tipo de Dados0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 0 0 1 0 11 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 10 1 0 0 1 0 0 1 0 1 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 1 0 1 0 0 0 00 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 10 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 1 1 1 1 1 1 1 1 1 1 10 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 0 1 0 0 0 1 1 0 0 0 0 0 00 1 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 1 0 0 0 0 0 0 1 0 1 0 1 0 1 0 1 0 1 1 1 1 0 1 0 1 0 0 0 0 0
  16. 16. Tipo de Dados0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 0 0 1 0 11 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 10 1 0 0 1 0 0 1 0 1 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 1 0 1 0 0 0 00 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 10 0 0 0 0 1 0 0 1 O que 0esses 0 0e 0 0 0 0 1 0 0 0 1 0 1 1 1 1 1 1 1 1 1 1 10 0 0 0 0 0 1 0 0 1 representam? 0 1 0 0 0 0 0 1 0 0 0 1 0 0 0 1 1 0 0 0 0 0 00 1 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 1 0 0 0 0 0 0 1 0 1 0 1 0 1 0 1 0 1 1 1 1 0 1 0 1 0 0 0 0 0
  17. 17. Tipo de Dados - Inteiro0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 0 0 1 0 11 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1• Se o sistema utiliza 32 bits para representar um inteiro, temos: - A primeira sequência de 32 bits é 254 - A segunda sequência de 32 bits é 1.221 - A terceira sequência de 32 bits é 2.147.483.647
  18. 18. Tipo de Dados - Real0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 0 0 1 0 11 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1• Se o sistema utiliza 32 bits para representar um real (ponto flutuante), adotando a norma IEEE 754 formato simples: - Primeiro bit: indica o sinal (0 positivo, 1 negativo) - Os próximos 23 bits: mantissa (número em binário) - 8 bits restantes: expoente (variando de -126 a +127)
  19. 19. Tipo de Dados - Real0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 0 0 1 0 11 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1• Se o sistema utiliza 32 bits para representar um real, adotando a norma IEEE 754 formato simples: - Primeiro bit: indica o sinal (0 positivo, 1 negativo) - Os próximos 8 bits: expoente (variando de -126 a +127) - 23 bits restantes: mantissa (número em binário)0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 representa 356 x e-43
  20. 20. Tipo de Dados - Caractere0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 0 0 1 0 11 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1• Se o sistema utiliza 8 bits para representar um caractere, adotando a tabela ASC II:0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 Nulo Nulo Nulo ▀0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 0 0 1 0 1 Nulo Nulo EOT †
  21. 21. Tabela ASC II• Convenção para representarletras, números, símbolosatravés de código binário.• Exemplos:A 0100 0001B 0100 0010C 0100 0011...a 0110 0001b 0110 0010c 0110 0011
  22. 22. Tipo de Dados - Caractere0 1 0 0 1 0 0 1 0 1 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 1 0 1 0 0 0 00 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 1• Se o sistema utiliza 8 bits para representar um caractere, adotando a tabela ASC II:0 1 0 0 1 0 0 1 0 1 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 1 0 1 0 0 0 0 I F S P
  23. 23. Tipo de Dados - Lógico0 1 0 0 1 0 0 1 0 1 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 1 0 1 0 0 0 00 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 1• Valores possíveis: verdadeiro, falso• Se o sistema utiliza 1 bit para representar um tipo lógico (booleano), adotamos por convenção bit 0 é falso bit 1 é verdadeiro0 1 0 0 1 0 0 1 0 1 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 1 0 1 0 0 0 0 Falso Verdadeiro Falso
  24. 24. Tipo de Dados - Lógico• Em Portugol, para atribuir verdadeiro ou falso, fazemos:algoritmo “verdadeiro_falso"var ligado: logicoinicio ligado <- verdadeiro ligado <- falso escreva(ligado)FimalgoritmoVálido para o comando leia(), qualquer coisa que ousuário digitar que não for igual a palavra reservadaverdadeiro será considerado como falso
  25. 25. Tipo de Dados• Determina o conteúdo de uma variável• Determina a quantidade de memória que será utilizada para armazenar o conteúdo• Escolha o tipo de dados mais adequado ao que deseja representar Para não usar mais memória do que é necessário• As operações que poderá realizar estão relacionadas ao tipo de dados
  26. 26. Operadores
  27. 27. Operador de Atribuição• Atribui um valor a uma variável• Símbolo: <- (lê-se recebe)• Cuidado: a variável só pode receber valores do seu tipo
  28. 28. Operador de Atribuiçãoalgoritmo "erro de atribuicao"var numero1, numero2: inteiro numero3, numero4: real letra: caractere ligado: logicoinicio numero1 <- "teste" numero2 <- falso letra <- 20 ligado <- "sim" escreva(numero1, numero2, letra, ligado)fimalgoritmo
  29. 29. Operadores MatemáticosSímbolo Ação Exemplo + Soma Soma <- 5 + 2 - Subtração Sub <- 5 – 2 * Multiplicação M <- 5 * 2 / Divisão Divisao <- 5 / 2 (resultado sempre real) Divisão Inteira Quociente <- 5 2 MOD Resto da divisão inteira Resto <- 5 mod 2 ^ Potenciação Potencia <- 5 ^ 2 (resultando sempre real)
  30. 30. Operadores Matemáticos• O resultado pode ser um inteiro ou real• Operados +, - e * o resultado dependerá dos operandos - Se os operandos forem inteiros, resultadoserá inteiro - Se houver algum operando real, resultadoserá real - mesmo se o resultado for um número inteiro.Ex: 1.5 + 1.5 = 3.0 Observação: Se o resultado for inteiro, elepode ser atribuído a uma variável do tipo real
  31. 31. Exercícios1. Escreva um algoritmo que leia um número inteirodo usuário e calcule y, sendo que y é calculadopela fórmula y = 2x2. Escrever um algoritmo que leia um númerointeiro digitado pelo usuário e informe ao usuário seele é par ou ímpar3. Escrever um algoritmo que leia o nome de umaluno e as notas das três provas que ele obteve nosemestre. No final informar o nome do aluno e asua média (aritmética) , a sua média (aritmética) ese o aluno passou na disciplina (média maior ouigual a 6.0).

×