Você está na página 1de 28

Algoritmos e programao

Prof. Nelson Junior junior.nelson@esade.edu.br


@juniornelson

Variveis

Agenda
Objetivos

Introduo
Modelo de Memria Armazenamento de Dados Numricos
Dados Inteiros Dados Reais

Armazenamento de Dados Literais Armazenamento de Dados Lgicos Variveis

Objetivos
Apresentar o modelo de memria do computador Mostrar como os diversos tipos de dados so armazenados na memria do computador.

Apresentar o conceito de varivel e sua utilidade no desenvolvimento de algoritmos.

Memria
A memria um conjunto ordenado de clulas, cada um identificada por um endereo. A unidade mnima de informao na memria 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 memria.

Palavras e bytes
Usualmente uma palavra de memria composta de 4 bytes.
Byte 3 Byte 2 Byte 1 Byte 0

Palavra

A maioria das memrias so endereadas por byte, portanto o endereo permite manipular o contedo de um determinado byte

Memria e endereamento
Memria com 2n-1 palavras de 4 bytes. Ento n+2 o nmero de bits do endereo.
Largura = quantidade de bits da palavra

Palavra 0 Palavra 1 Palavra 2

Byte 3 Byte 7

Byte 2 Byte 6

Byte 1 Byte 5

Byte 0 Byte 4

Altura= No. de palavras

Palavra 2n-1

Memria e endereos
Podemos pensar cada byte como uma casa. Uma palavra seria uma vila de casas. A memria uma rua de vilas. Suponha uma rua (memria) com 5 vilas (palavras), cada vila com 4 casas (bytes).

Memria e endereos
Casa 0 Casa 1 Casa 2 Casa 3

Casa 2 vila 1 ou casa 6

Vila 0

Vila 1

Vila 2

Vila 3

Vila 4

Casa 16

Casa 17

Casa 18

Casa 19

Memria e endereos
Temos endereos de casas indo de casa 0 at casa 19. Temos endereos de vilas indo de vila 0 at vila 4. Posso dar meu endereo como casa 6 ou casa 2 da vila 1.

Observar que 6 dividido por 4 (casas por vila) igual a 1 com resto 2. Em computao os endereos de memria comeam sempre em 0.

Exemplo
Memria de 128 Mega (220) bytes Memria com 128 x 220 = 27 x 220 = 128 x 1.048.576 bytes O endereo deve ter 27 bits
7 bits devido aos 128 = 27 20 bits devido aos 220

Se cada palavra de memria tem 4 bytes temos ento 32 Mega palavras

Bits e dados
Cada tipo de dado requer uma quantidade de bits para armazenar o valor. Esta quantidade varivel e depende da linguagem e do computador. Atualmente computadores tpicos possuem memrias com palavras de 32 bits, ou 4 bytes.

Armazenamento de Inteiros
O conjunto dos nmeros inteiros (Z={,-2,1,0,+1,+2,}) contm uma quantidade infinita de elementos. Como o nmero de bits disponveis na memria para armazenar os nmeros finito no possvel representar todos os nmeros deste conjunto.

Armazenamento de Inteiros
Considere uma palavra de 32 bits. Um bit reservado para o sinal. Um nmero inteiro i pode variar entre -231 <= i <= 231-1 -2.147.483.648<= i <= 2.147.483.647 Como no temos +0 e 0, h um nmero negativo a Bit menos mais que os positivos.
Bit mais significativo Bits 31 significativo 0

Sinal

Dados

Armazenamento de Inteiros
Observar que no podemos armazenar nmeros maiores que 2.147.483.647 e menores que 2.147.483.648.

Isto pode ser contornado, em alguns casos, empregando-se os nmeros reais que veremos em seguida.

Armazenamento de Reais
Os nmeros reais tambm so armazenados em 32 bits Estes nmeros so, as vezes, chamados de nmeros em ponto flutuante devido a forma como eles so processados pelo processador. O mtodo parecido com a notao cientfica que algumas calculadoras empregam.

Notao cientfica
Os nmeros em notao cientfica nas calculadoras so expressos por um nmero real normalizado multiplicado por um nmero elevado a uma potncia.
Ex. 1,5 E+8 = 1,5 x 108

Um nmero normalizado implica que antes da vrgula 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 nmeros reais contm uma quantidade infinita de elementos. Como o nmero de bits para armazenar os nmeros finito no possvel representar todos os nmeros deste conjunto.

Reais em bits
Considere uma palavra de 32 bits.

Um bit reservado para o sinal.


Oito bits so reservados para o expoente. A base do expoente depende do computador, normalmente 2. Vinte e trs bits so usados para o nmero real, chamado de mantissa.
31 30 Bits 23 22 0

Sinal

Expoente

Mantissa

Quais nmeros reais?


Computadores tem dificuldade de armazenar os nmeros reais muito grandes e os muito pequenos. O subconjunto dos nmeros reais disponveis pode ser representado como
0.0 -RMAX -RMIN RMIN RMAX

O zero est includo no conjunto. Para uma palavra de 32 bits temos RMAX=3.4E+38 e RMIN=3.4E-38

Armazenamento de caracteres
O cdigo de caracteres normalmente empregado o ASCII que precisa de 8 bits ou um byte. Como os computadores endeream a memria por bytes ento possvel armazenar um caractere por byte. Para armazenar um conjunto de caracteres normalmente se emprega um conjunto de bytes.

Valores Lgicos
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 lgicos devido a dificuldade de enderear bits.

Variveis
Diversos tipos de dados so armazenados na memria. A memria endereada por meio de nmeros. Para procurar um determinado dado na memria seria preciso saber o nmero da palavra (ou byte) onde este dado est armazenado. Este mtodo seria complicado e ilegvel. Mais fcil empregar nomes como fazemos com as ruas de nossa cidade.

Nomes de Variveis
Variveis recebero nomes. Cada varivel deve receber um nome diferente para poder ser idenficada sem problemas.

Estes nomes devero ser utilizados sempre que quisermos modificar ou saber o contedo de uma posio na memria do computador.

Nomes de Variveis
As regras para criao dos nomes das variveis so as seguintes:
Um nome de varivel pode conter letras, algarismos e o caracter _ (sublinha);

Um nome de varivel deve necessariamente comear por uma letra;


Um nome de varivel no deve conter nenhum smbolo diferente de letra ou algarismo, exceto o smbolo _ (sublinha) No existe limitao para o nmero de caracteres do nome; No ser feita diferenciao entre letras maisculas e minsculas.

Dicas
Escolher nomes significativos para as variveis
P. Ex. salario, total, nota, pagamento

Nomes significativos ajudam a tornar os algoritmos e os programas auto-explicativos Nomes de variveis com mais de uma palavra podem ajudar tambm

Separe os nomes por sublinhados


P. Ex. total_pagamentos, prova_final

Dicas
No necessrio alongar desnecessriamente os nomes.
P. Ex. total_de_recebimentos_do_ano, variavel_nota

Evitar nomes que no ajudem o entendimento do algoritmo.

Exemplos de nomes corretos


soma salario_total nota_final

prova1
raio velocidade_inicial

Exemplos de nomes incorretos


soma$ salario total 2prova Salario/hora
$ no permitido Espao no permitido No comeou por uma letra / no permitido

Você também pode gostar