Documente Academic
Documente Profesional
Documente Cultură
Memria
Nomes, Variveis
e Vinculaes
Memria
Read
C := A+B
Instruo
Read
Read
CPU
11
Write
Nomes
Nomes
Processador e Memria
Von Neumann
Nomes
Nome - Comprimento
Nomeao de Variveis
Perguntas:
Exemplos de linguagens:
FORTRAN I: mximo de 6
FORTRAN 90 e C: mximo de 31
COBOL : mximo de 30
Ada e Java: sem limite
VBA: 255 caracteres
C: ilimitado, mas os 31 primeiros devem ser nicos
C++: sem limite, mas implementadores geralmente impem
limites
Caracteres especiais
Caracteres de conexo:
Exemplo
(
Desvantagem:
Problema de Legibilidade
Vantagem:
parseInt
( o correto!)
ParseInt e parseint (no so reconhecidas)
Palavras Especiais
Palavras Especiais
Palavra Reservada:
Exemplo:
na linguagem C
Classificadas como :
Reservadas,
e em algumas, so somente Palavras-Chave.
int
char.
Palavras Especiais
Variveis
Problemas de legibilidade
FORTRAN
Nome
Endereo
Valor
Tipo
Tempo de Vida
Escopo
Variveis - Nome
Variveis - Endereo
Clulas Memria
Nome
Int var1;
Endereo:
Exemplo
Variveis - Endereo
Variveis - Tipo
Clulas Memria
Apelidos (Aliases)
Os Apelidos existem quando duas ou mais
variveis apontam para o mesmo endereo
de memria. (C, C++).
Tipo
FORTRAN
INTEGER
Dificulta a legibilidade
Variveis - Valor
Faixa de Valores
-32.768 a 32.767
Operaes
Adio, subtrao, multiplicao, diviso , etc.
O valor de uma varivel s vezes conhecido como rvalue (valor direita) porque o atributo necessrio
para avaliar a expresso que se encontra do lado
direito de uma atribuio.
(l-value)
(r-value)
tempo de vida
Conjunto de clulas alocadas
para o armazenamento dos
dados de uma varivel
tempo
O Conceito de Vinculao
Clulas Memria
Varivel vinculado
clulas de memria
contador := contador + 1;
DESALOCAO
Clulas Memria
Tempo de Compilao
Tempo de Carregamento
Tempo de Execuo
Declarao de Variveis
- Explcita e Implcita -
Vinculao Esttica
Vinculao Dinmica
(JavaScript e PHP)
convenincia na programao
Desvantagem:
Vantagem:
Declarao Implcita:
Declarao Explcita
Declarao de Variveis
- Explcita e Implcita
Vinculaes de Tipos
1. Como um tipo especificado?
2. Quando a vinculao acontece?
LIST = [10.2 5.1 0.0] -> (LIST um array de reais com trs
posies);
LIST = 47; -> (LIST um inteiro).
Inferncia de Tipos
Em ML,
Opes
Vinculao de Armazenamento
Alocao
inicia
Desalocao
fun quadrado(x:int) = x * x;
fun quadrado(x) = (x:int) * x;
fun quadrado(x) = x * (x:int);
encerra
Variveis Estticas
As variveis estticas:
Variveis Estticas.
Variveis Dinmicas em Pilha (stack).
Vantagem:
Desvantagens:
Vantagem:
Desvantagens:
Procedimento
A
Exemplo:
int Y
int X
Heap
int X
Exemplo:
C0
BF Stack
Vantagem:
Procedimento
A
Exemplo:
permite recurso;
compartilhamento de espao de memria
listas encadeadas;
rvores.
Desvantagens:
80
7F
Heap
40 DLLs
3F
Heap
Data
08 Text
00
Exemplo
Vantagem:
Flexibilidade
Desvantagens:
Layout de Memria
(Viso do Processo)
...
Lista := (4, 2, 3, 7)
Neste momento a
memria foi alocada
Memria
Kernel
Cdigo
Dados
Heap
Stack