segunda-feira, 25 de fevereiro de 2008

PDA - Aula 04: Variáveis

* Esta obra é uma adptação do autor desse blog da disciplina de Fundamento de Algoritmo para Computação do curso de Tecnologia em Sistemas de Computacão/Cederj UFF das aulas originais cujo os autores são: Adriano Cruz e Jonas Knopman.

Índice

1. Objetivos
2. Introdução
3. Modelo de Memória
4. Armazenamento de Dados Numéricos
  • Dados Inteiros
  • Dados Reais
5. Armazenamento de Dados Literais
6. Armazenamento de Dados Lógicos
7. Variáveis
8. Bibliografia

1. Objetivos
  • Apresentar o modelo de do computador
  • Mostras como os diversos tipos de dados são armazenados na memória do computador.
  • Apresentar o conceito de variável e sua utilidade no desenvolvimento de algoritmos.
2. Introdução
  • Variáveis são endereços de memória destinados a armazenar informações temporariamente.
  • Todo Algoritmo ou programa deve possuir variável!
  • Podemos classificar as variáveis em dois tipos as de Entradas e as de Saídas.
  • Variáveis de Entrada armazenam informações fornecidas por um meio externo, normalmente usuários ou discos.
  • Variáveis de Saída armazenam dados processados como resultados.
Exemplo:



  • De acordo com a figura acima A e B são Variáveis de Entrada e C é uma Variável de Saída.

3. Modelo de Memória
  • A memória é um conjunto ordenado de células, cada um identificada por um endereço.
  • A unidade mínima de informação na memória é o bit que consegue armazenar ou o valor 0 ou 1.
  • Um conjunto de 8 bits forma um byte.
  • Um conjunto de bytes, usualmente 4 (32 bits) forma uma palavra de memória.
Palavras e bytes

  • Usualmente uma palavra de memória é composta de 4 bytes.




  • A maioria das memórias são endereçadas por byte, portanto o endereço permite manipular o conteúdo de um determinado byte.
Memória e endereçamento
  • Memória com 2 - 1 palavras de 4 bytes.
  • Então n + 2 é o número de bits do endereço.
  • Podemos pensar cada byte como uma casa.
  • Uma palavra seria uma vila de casas.
  • A memória uma rua de vilas.
  • Suponha uma rua (memória) com 5 vilas (palavras), cada vila com 4 casas (bytes).
  • Temos endereços de casas indo de casa 0 até casa 19.
  • Temos endereço de vilas indo de vila 0 até vila 4.
  • Posso dar meu endereço como casa 6 ou casa 2 da vila 1.
  • Observar que 6 dividido por 4 (casas por vila) é igula a 1 com resto 2.
  • Em computação os endereços de memória começam sempre em 0.
Exemplo
  • Memória de 128 Mega (2?) bytes
  • Memória com 128 x 2 ? = 2? x 2 ? = 128 x 1.048.576 bytes
  • O endereço deve ter 27 bits
.: 7 bits devido aos 128 = 2 ?
.: 20 bits devido ao 2?
  • Se cada palavra de memória tem 4 bytes temos então 32 Mega palavras.
Bits e dados
  • Cada tipo de dado requer uma quantidade de bits para armazenar o valor.
  • Esta quantidade é variável e depende da linguagem e do computador.
  • Atualmente computadores típicos possuem memória com palavras de 32 bits, ou 4 bytes.
4. Armazenamento de Dados Numéricos

Armazenamento de Inteiros

  • O conjunto dos números inteiros ( Z = {..., -2, -1, 0, +1, +2, ...}) contém uma quantidade infinita de elementos.
  • Como o número de bits disponíveis na memória para armazenar os números é finito não é possível representar todos os números deste conjunto.
  • Considere uma palavra de 32 bits.
  • Um bit é reservado para o sinal.
  • O bit mais significativo está à esquerda e menos significativo à direita;
  • Um número interio i pode variar entre
- 2 ? <= i <= 2 ? = 1
-2.147.483.648 <= i <= 2.147.483.647
  • Como não temos + 0 e - 0, há um número negativo a mais que os positivos.
fig??

  • Observar que não podemos armazenar números maiores que 2.147.483.647 e menores que -2.147.483.648.
  • Isto pode ser contornado, em alguns casos, empregando-se os números reais que veremos em seguinda.
Armazenamento de Reais
  • Os números reais também são armazenados em 32 bits.
  • Estes números são, as vezes, chamados de números em ponto flutuante devido a forma como eles são processados.
  • O método é parecido com a notação científica que algumas calculadoras empregam.
Notação Científica
  • Os números em notação científica nas calculadoras são expressos por um número real normalizado multiplicado por um número elevado a uma potência.
  • Ex. 1,5 E + 8 = 1,5 X 10?
  • Um número normalizado implica que antes da vírgula somente deve aparecer um algarismo.
  • Ex. (5,0 E+8) + (6,0 E+8) = 11,0 E+8
  • Resultado final = 1,10 E+9
Armazenamento de Reais

O conjunto dos números reais contém uma quantidade infinita de elementos.
Como o número de bits para armazenar os números é finito não é possível representar todos os números deste conjunto.

Reais em bits
  • Considere uma palavra de 32 bits.
  • Um bit é reservado para o sinal.
  • Oito bits são reservado para o expoente.
  • A base do expoente depende do computador, normalmente 2.
  • Vinte e três bits são usados para o número real, chamado de mantissa.

fig. ??/

Quais números reais?

  • Computadores tem dificulade de armazenar os números reais muito grandes e os muito pequenos.
  • Os subconjunto dos números reais disponíveis pode ser representado como

fig???

  • O zero está incluído no conjunto.
  • Para uma palavra de 32 bits temos RMAX = 3.4 E + 38 e RMIN = 3.4 E -38
5. Armazenamento de Dados Literais

Armazenamento de caracteres

  • O código de caracteres normalmente empregado é o ASCII que precisa de 8 bits ou um byte.
  • Como os computadores endereçam a memória por bytes então é possível armazenar um caractere por byte.
  • Para armazenar um conjunto de caracteres normalmente se emprega um conjunto de bytes.
6. Armazenamento de Dados Lógicos

Valores Lógicos

  • Este tipo de dado somente possui dois valores verdadeiro e falso.
  • Portanto um bit é suficiente para armazenar estes dados.
  • Normalmente se usa um byte inteiro para armazenar valores lógicos devido a dificuldade de endereçar bits.
7. Variáveis
  • Diversos tipos de dados são armazenados na memória.
  • A memória é endereçada por meio de números.
  • Para procurar um determinado dado na memória seria preciso saber o número da palavra (ou byte) onde este dado está armazenado.
  • Este método seria complicado e ilegível.
  • Mais fácil empregar nomes como fazemos com as ruas de nossa cidade.
Nome de Variáveis
  • Variáveis receberão nomes.
  • Cada variável deve receber um nome diferente para poder ser identificada sem problemas.
  • Estes nomes deverão ser utilizados sempre que quisermos modificar ou saber o conteúdo de uma posição na memória do computador.
  • As regras para criação dos nomes das variáveis são as seguintes:
.: Um nome de variável pode conter letras, algarismos e o caracter_(sublinha);
.: Um nome de variável deve necessariamente começar por uma letra;
.: Um nome de variável não deve conter nenhum símbolo diferente de letras ou algarismo, exceto o símbolo_(sublinha)
.: Não existe limitação para o número de caracteres do nome;
.: Não será feita diferenciação entre letras maiúsculas e minúsculas.

Dicas
  • Escolher nomes significativos para as variáveis
.: P. Ex. salario, total, nota, pagamento
  • Nomes significativos ajudam a tornar os algoritmos e os programas auto-explicativos
  • Nomes de variáveis com mais de uma palavra podem ajudar também
  • Sempre as palavras por sublinhados
.: P. Ex. toal_pagamentos, prova_final
  • Não é necessário alongar desnecessariamente os nomes.
.: P. Ex. total_de_recebimentos_do_ano, variavel_nota
  • Evitar nomes que não ajudem o entendimento do algoritmo.
Exemplos de nomes corretos
  • soma
  • salario_total
  • nota_final
  • prova1
  • velocidade_inicial
Exemplos de nomes incorretos
  • soma$................$ não é permitido
  • salario total.......Espaço em branco não é permitido
  • 2prova...............Não começou por uma letra
  • Salario/hora...../não é permitido
Bibliografia

ss??



Um comentário:

teacher disse...

muito bom esse seu material e quebrou um galho pra min realizar um trabalho de escola valeu muito obrigado