1 aula 4 nomes, vinculações, tipos e escopos universidade do vale do rio dos sinos barbosa...

67
1 Aula 4 Aula 4 Nomes, Vinculações, Nomes, Vinculações, Tipos e Escopos Tipos e Escopos Universidade do Vale do Rio dos S < Página da Disciplina > www.inf.unisinos.br/~barbosa www.inf.unisinos.br/~barbosa <Endereço do Professor > [email protected] [email protected]

Upload: internet

Post on 17-Apr-2015

104 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: 1 Aula 4 Nomes, Vinculações, Tipos e Escopos Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br

1

Aula 4Aula 4Nomes, Vinculações, Nomes, Vinculações,

Tipos e EscoposTipos e Escopos

Universidade do Vale do Rio dos Sinos

< Página da Disciplina >

www.inf.unisinos.br/~barbosawww.inf.unisinos.br/~barbosa

<Endereço do Professor >

[email protected]@exatas.unisinos.br

Page 2: 1 Aula 4 Nomes, Vinculações, Tipos e Escopos Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br

2

SUMÁRIOSUMÁRIO1 – Introdução

Page 3: 1 Aula 4 Nomes, Vinculações, Tipos e Escopos Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br

3

SUMÁRIOSUMÁRIO1 – Introdução2 – Nomes

Page 4: 1 Aula 4 Nomes, Vinculações, Tipos e Escopos Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br

4

SUMÁRIOSUMÁRIO1 – Introdução2 – Nomes3 – Variáveis

Page 5: 1 Aula 4 Nomes, Vinculações, Tipos e Escopos Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br

5

SUMÁRIOSUMÁRIO1 – Introdução2 – Nomes3 – Variáveis4 – Vinculação

Page 6: 1 Aula 4 Nomes, Vinculações, Tipos e Escopos Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br

6

SUMÁRIOSUMÁRIO1 – Introdução2 – Nomes3 – Variáveis4 – Vinculação5 – Verificação de tipos

Page 7: 1 Aula 4 Nomes, Vinculações, Tipos e Escopos Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br

7

SUMÁRIOSUMÁRIO1 – Introdução2 – Nomes3 – Variáveis4 – Vinculação5 – Verificação de tipos6 – Tipificação forte

Page 8: 1 Aula 4 Nomes, Vinculações, Tipos e Escopos Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br

8

SUMÁRIOSUMÁRIO1 – Introdução2 – Nomes3 – Variáveis4 – Vinculação5 – Verificação de tipos6 – Tipificação forte7 – Compatibilidade de tipos

Page 9: 1 Aula 4 Nomes, Vinculações, Tipos e Escopos Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br

9

SUMÁRIOSUMÁRIO1 – Introdução2 – Nomes3 – Variáveis4 – Vinculação5 – Verificação de tipos6 – Tipificação forte7 – Compatibilidade de tipos8 – Escopo

Page 10: 1 Aula 4 Nomes, Vinculações, Tipos e Escopos Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br

10

SUMÁRIOSUMÁRIO1 – Introdução2 – Nomes3 – Variáveis4 – Vinculação5 – Verificação de tipos6 – Tipificação forte7 – Compatibilidade de tipos8 – Escopo9 –Escopo e tempo de vida

Page 11: 1 Aula 4 Nomes, Vinculações, Tipos e Escopos Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br

11

SUMÁRIOSUMÁRIO1 – Introdução2 – Nomes3 – Variáveis4 – Vinculação5 – Verificação de tipos6 – Tipificação forte7 – Compatibilidade de tipos8 – Escopo9 –Escopo e tempo de vida10 – Ambientes de referenciamento

Page 12: 1 Aula 4 Nomes, Vinculações, Tipos e Escopos Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br

12

SUMÁRIOSUMÁRIO1 – Introdução2 – Nomes3 – Variáveis4 – Vinculação5 – Verificação de tipos6 – Tipificação forte7 – Compatibilidade de tipos8 – Escopo9 –Escopo e tempo de vida10 – Ambientes de referenciamento11 – Constantes nomeadas

Page 13: 1 Aula 4 Nomes, Vinculações, Tipos e Escopos Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br

13

SUMÁRIOSUMÁRIO1 – Introdução2 – Nomes3 – Variáveis4 – Vinculação5 – Verificação de tipos6 – Tipificação forte7 – Compatibilidade de tipos8 – Escopo9 –Escopo e tempo de vida10 – Ambientes de referenciamento11 – Constantes nomeadas12 – Inicialização de variáveis

Page 14: 1 Aula 4 Nomes, Vinculações, Tipos e Escopos Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br

14

NOMESNOMES1 – Formas de nomes: Distinção entre maiúsculas e minúsculas

Page 15: 1 Aula 4 Nomes, Vinculações, Tipos e Escopos Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br

15

NOMESNOMES1 – Formas de nomes: Distinção entre maiúsculas e minúsculas

2 – Palavras especiais: Palavra Chave x Palavra Reservada

Page 16: 1 Aula 4 Nomes, Vinculações, Tipos e Escopos Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br

16

NOMESNOMES1 – Formas de nomes: Distinção entre maiúsculas e minúsculas

2 – Palavras especiais: Palavra Chave x Palavra Reservada

=> FORTRAN

INTEGER REAL REAL INTEGER

Page 17: 1 Aula 4 Nomes, Vinculações, Tipos e Escopos Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br

17

NOMESNOMES1 – Formas de nomes: Distinção entre maiúsculas e minúsculas

2 – Palavras especiais: Palavra Chave x Palavra Reservada

=> FORTRAN

INTEGER REAL REAL INTEGER => PL/1 if then then then = else; else else = then;

Page 18: 1 Aula 4 Nomes, Vinculações, Tipos e Escopos Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br

18

VARIÁVEISVARIÁVEIS 1 – Atributos: - Nome - Endereço - Valor - Tipo - Tempo de vida - Escopo

Page 19: 1 Aula 4 Nomes, Vinculações, Tipos e Escopos Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br

19

VARIÁVEISVARIÁVEIS 1 – Atributos: - Nome - Endereço - Valor - Tipo - Tempo de vida - Escopo

2 – Aliases

Page 20: 1 Aula 4 Nomes, Vinculações, Tipos e Escopos Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br

20

VARIÁVEISVARIÁVEIS 1 – Atributos: - Nome - Endereço - Valor - Tipo - Tempo de vida - Escopo

2 – Aliases

3 – Células de memória: - Físicas - Abstratas

Page 21: 1 Aula 4 Nomes, Vinculações, Tipos e Escopos Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br

21

VINCULAÇÃOVINCULAÇÃO 1 – Tipos - Estática: Tempo de compilação - Dinâmica: Tempo de execução

Page 22: 1 Aula 4 Nomes, Vinculações, Tipos e Escopos Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br

22

VINCULAÇÃOVINCULAÇÃO 1 – Tipos - Estática: Tempo de compilação - Dinâmica: Tempo de execução

2 – Vinculação de tipos - Estática: Declaração explícita ou implícita

- Dinâmica:

- Inferência de tipos

Page 23: 1 Aula 4 Nomes, Vinculações, Tipos e Escopos Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br

23

VINCULAÇÃOVINCULAÇÃO 1 – Tipos - Estática: Tempo de compilação - Dinâmica: Tempo de execução

2 – Vinculação de tipos - Estática: Declaração explícita ou implícita Declaração explícita: Instrução do programa Declaração implícita: Baseada em uma convenção Primeira ocorrência estabelece o tipo - Dinâmica:

- Inferência de tipos

Page 24: 1 Aula 4 Nomes, Vinculações, Tipos e Escopos Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br

24

VINCULAÇÃOVINCULAÇÃO 1 – Tipos - Estática: Tempo de compilação - Dinâmica: Tempo de execução

2 – Vinculação de tipos - Estática: Declaração explícita ou implícita Declaração explícita: Instrução do programa Declaração implícita: Baseada em uma convenção Primeira ocorrência estabelece o tipo - Dinâmica: Definição (múltiplas) e verificação durante execução

A := B + C; - Inferência de tipos

Page 25: 1 Aula 4 Nomes, Vinculações, Tipos e Escopos Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br

25

VINCULAÇÃOVINCULAÇÃO Modelo de memória em tempo de execucão

MemóriaBaixa

MemóriaAlta

Page 26: 1 Aula 4 Nomes, Vinculações, Tipos e Escopos Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br

26

CódigoMemória

Baixa

MemóriaAlta

VINCULAÇÃOVINCULAÇÃO Modelo de memória em tempo de execucão

Page 27: 1 Aula 4 Nomes, Vinculações, Tipos e Escopos Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br

27

Código

DadosEstáticos

MemóriaBaixa

MemóriaAlta

VINCULAÇÃOVINCULAÇÃO Modelo de memória em tempo de execucão

Page 28: 1 Aula 4 Nomes, Vinculações, Tipos e Escopos Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br

28

Código

DadosEstáticos

Pilha

MemóriaBaixa

MemóriaAlta

VINCULAÇÃOVINCULAÇÃO Modelo de memória em tempo de execucão

Page 29: 1 Aula 4 Nomes, Vinculações, Tipos e Escopos Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br

29

Código

DadosEstáticos

Pilha

Heap

MemóriaBaixa

MemóriaAlta

VINCULAÇÃOVINCULAÇÃO Modelo de memória em tempo de execucão

Page 30: 1 Aula 4 Nomes, Vinculações, Tipos e Escopos Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br

30

VINCULAÇÃOVINCULAÇÃO 3 – Vinculação de armazenamento - Alocação e desalocação de variáveis (pool de memória)

Page 31: 1 Aula 4 Nomes, Vinculações, Tipos e Escopos Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br

31

VINCULAÇÃOVINCULAÇÃO 3 – Vinculação de armazenamento - Alocação e desalocação de variáveis (pool de memória) - Tempo de vida de uma variável

Page 32: 1 Aula 4 Nomes, Vinculações, Tipos e Escopos Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br

32

VINCULAÇÃOVINCULAÇÃO 3 – Vinculação de armazenamento - Alocação e desalocação de variáveis (pool de memória) - Tempo de vida de uma variável - Categorias de armazenamento de variáveis escalares - Variáveis Estáticas: Globais e STATICs

Page 33: 1 Aula 4 Nomes, Vinculações, Tipos e Escopos Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br

33

Código

DadosEstáticos

Pilha

Heap

MemóriaBaixa

MemóriaAlta

VINCULAÇÃOVINCULAÇÃO Modelo de memória em tempo de execucão

Page 34: 1 Aula 4 Nomes, Vinculações, Tipos e Escopos Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br

34

VINCULAÇÃOVINCULAÇÃO 3 – Vinculação de armazenamento - Alocação e desalocação de variáveis (pool de memória) - Tempo de vida de uma variável - Categorias de armazenamento de variáveis escalares - Variáveis Estáticas: Globais e STATICs - Variáveis Stack-Dinâmicas (RAs): - Tipos estaticamente vinculados - Elaboração em tempo de execução

Page 35: 1 Aula 4 Nomes, Vinculações, Tipos e Escopos Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br

35

Código

DadosEstáticos

Pilha

Heap

MemóriaBaixa

MemóriaAlta

VINCULAÇÃOVINCULAÇÃO Modelo de memória em tempo de execucão

Page 36: 1 Aula 4 Nomes, Vinculações, Tipos e Escopos Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br

36

VINCULAÇÃOVINCULAÇÃO 3 – Vinculação de armazenamento - Alocação e desalocação de variáveis (pool de memória) - Tempo de vida de uma variável - Categorias de armazenamento de variáveis escalares - Variáveis Estáticas: Globais e STATICs - Variáveis Stack-Dinâmicas (RAs): - Tipos estaticamente vinculados - Elaboração em tempo de execução - Variáveis Heap-Dinâmicas Explícitas - Instruções explícitas (alocação / desalocação) - Garbage Collection (Java) - Tipos estaticamente vinculados - Elaboração em tempo de execução - Acessadas por ponteiros (C) ou referências (Java)

Page 37: 1 Aula 4 Nomes, Vinculações, Tipos e Escopos Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br

37

Código

DadosEstáticos

Pilha

Heap

MemóriaBaixa

MemóriaAlta

VINCULAÇÃOVINCULAÇÃO Modelo de memória em tempo de execucão

Page 38: 1 Aula 4 Nomes, Vinculações, Tipos e Escopos Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br

38

VINCULAÇÃOVINCULAÇÃO 3 – Vinculação de armazenamento - Variáveis Estáticas: Globais e STATICs - Variáveis Stack-Dinâmicas (RAs) - Variáveis Heap-Dinâmicas Explícitas - Variáveis Heap-Dinâmicas Implícitas - Vinculadas ao armazenamento na atribuição - Todos os atributos são vinculados na atribuição

Page 39: 1 Aula 4 Nomes, Vinculações, Tipos e Escopos Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br

39

Código

DadosEstáticos

Pilha

Heap

MemóriaBaixa

MemóriaAlta

VINCULAÇÃOVINCULAÇÃO Modelo de memória em tempo de execucão

Page 40: 1 Aula 4 Nomes, Vinculações, Tipos e Escopos Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br

40

TIPOSTIPOS 1 – Verificação de tipos 2 – Tipificação forte 3 – Compatibilidade de tipos

Page 41: 1 Aula 4 Nomes, Vinculações, Tipos e Escopos Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br

41

TIPOSTIPOS 1 – Verificação de tipos - Estática ou dinâmica - Coerção - Relação entre verificação e vinculação - Quantos antes, melhor 2 – Tipificação forte

3 – Compatibilidade de tipos

Page 42: 1 Aula 4 Nomes, Vinculações, Tipos e Escopos Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br

42

TIPOSTIPOS 1 – Verificação de tipos - Estática ou dinâmica - Coerção - Relação entre verificação e vinculação - Quantos antes, melhor 2 – Tipificação forte - Erros de tipo sempre são detectados - Enfraquecida pela coerção 3 – Compatibilidade de tipos

Page 43: 1 Aula 4 Nomes, Vinculações, Tipos e Escopos Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br

43

TIPOSTIPOS 1 – Verificação de tipos - Estática ou dinâmica - Coerção - Relação entre verificação e vinculação - Quantos antes, melhor 2 – Tipificação forte - Erros de tipo sempre são detectados - Enfraquecida pela coerção 3 – Compatibilidade de tipos - Compatibilidade de nome e de estrutura - Discussão sobre Pascal, C, C++ e Java

Page 44: 1 Aula 4 Nomes, Vinculações, Tipos e Escopos Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br

44

ESCOPOESCOPO 1 – Escopo estático - Hierarquia de escopos: Pascal, C, C++ e Java - Pai estático e Ancestrais estáticos - Declarações ocultas

Page 45: 1 Aula 4 Nomes, Vinculações, Tipos e Escopos Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br

45

ESCOPOESCOPO 1 – Escopo estático - Hierarquia de escopos: Pascal, C, C++ e Java - Pai estático e Ancestrais estáticos - Declarações ocultas

procedure big; var x : integer; procedure sub1; begin ..x.. end; procedure sub2; var x : integer; begin ..x.. end; begin end;

Page 46: 1 Aula 4 Nomes, Vinculações, Tipos e Escopos Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br

46

ESCOPOESCOPO 1 – Escopo estático - Hierarquia de escopos: Pascal, C, C++ e Java - Pai estático e Ancestrais estáticos - Declarações ocultas

procedure big; var x : integer; procedure sub1; begin ..x.. end; procedure sub2; var x : integer; begin ..x.. end; begin end;

Page 47: 1 Aula 4 Nomes, Vinculações, Tipos e Escopos Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br

47

ESCOPOESCOPO 1 – Escopo estático - Hierarquia de escopos: Pascal, C, C++ e Java - Pai estático e Ancestrais estáticos - Declarações ocultas

procedure big; var x : integer; procedure sub1; begin ..x.. end; procedure sub2; var x : integer; begin ..x.. end; begin end;

Page 48: 1 Aula 4 Nomes, Vinculações, Tipos e Escopos Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br

48

ESCOPOESCOPO 1 – Escopo estático - Hierarquia de escopos: Pascal, C, C++ e Java - Pai estático e Ancestrais estáticos - Declarações ocultas

procedure big; var x : integer; procedure sub1; begin ..x.. end; procedure sub2; var x : integer; begin ..x.. end; begin end;

Page 49: 1 Aula 4 Nomes, Vinculações, Tipos e Escopos Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br

49

ESCOPOESCOPO 1 – Escopo estático - Hierarquia de escopos: Pascal, C, C++ e Java - Pai estático e Ancestrais estáticos - Declarações ocultas

procedure big; var x : integer; procedure sub1; begin ..x.. end; procedure sub2; var x : integer; begin ..x.. end; begin end;

Page 50: 1 Aula 4 Nomes, Vinculações, Tipos e Escopos Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br

50

ESCOPOESCOPO 1 – Escopo estático - Hierarquia de escopos: Pascal, C, C++ e Java - Pai estático e Ancestrais estáticos - Declarações ocultas 2 – Blocos - Variáveis stack-dinâmicas - Blocos não baseado em procedimentos: Pascal, C e Java

Page 51: 1 Aula 4 Nomes, Vinculações, Tipos e Escopos Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br

51

ESCOPOESCOPO 1 – Escopo estático - Hierarquia de escopos: Pascal, C, C++ e Java - Pai estático e Ancestrais estáticos - Declarações ocultas 2 – Blocos - Variáveis stack-dinâmicas - Blocos não baseado em procedimentos: Pascal, C e Java

if (list[i] < list[j]){ int temp; temp = list[i]; list[i] = list[j]; list[j] = temp;}

Page 52: 1 Aula 4 Nomes, Vinculações, Tipos e Escopos Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br

52

ESCOPOESCOPO 1 – Escopo estático - Hierarquia de escopos: Pascal, C, C++ e Java - Pai estático e Ancestrais estáticos - Declarações ocultas 2 – Blocos - Variáveis stack-dinâmicas - Blocos não baseado em procedimentos: Pascal, C e Java 3 – Avaliação do escopo estático - Demasiada visibilidade (variáveis e procedimentos) - Variáveis globais

Page 53: 1 Aula 4 Nomes, Vinculações, Tipos e Escopos Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br

53

ESCOPOESCOPO 4 – Escopo dinâmico - Baseado na seqüência de chamadas - Escopo determinado em tempo de execução - Pai dinâmico e Ancestrais dinâmicos

Page 54: 1 Aula 4 Nomes, Vinculações, Tipos e Escopos Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br

54

ESCOPOESCOPO 4 – Escopo dinâmico - Baseado na seqüência de chamadas - Escopo determinado em tempo de execução - Pai dinâmico e Ancestrais dinâmicos procedure big;

var x : integer; procedure sub1; begin ..x.. end; procedure sub2; var x : integer; begin ... end; begin end;

Page 55: 1 Aula 4 Nomes, Vinculações, Tipos e Escopos Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br

55

ESCOPOESCOPO 4 – Escopo dinâmico - Baseado na seqüência de chamadas - Escopo determinado em tempo de execução - Pai dinâmico e Ancestrais dinâmicos procedure big;

var x : integer; procedure sub1; begin ..x.. end; procedure sub2; var x : integer; begin ... end; begin end;

sub1sub2

Page 56: 1 Aula 4 Nomes, Vinculações, Tipos e Escopos Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br

56

ESCOPOESCOPO 4 – Escopo dinâmico - Baseado na seqüência de chamadas - Escopo determinado em tempo de execução - Pai dinâmico e Ancestrais dinâmicos procedure big;

var x : integer; procedure sub1; begin ..x.. end; procedure sub2; var x : integer; begin ... end; begin end;

sub1big

Page 57: 1 Aula 4 Nomes, Vinculações, Tipos e Escopos Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br

57

ESCOPOESCOPO 4 – Escopo dinâmico - Baseado na seqüência de chamadas - Escopo determinado em tempo de execução - Pai dinâmico e Ancestrais dinâmicos 5 – Avaliação do escopo dinâmico - Incapacidade de realizar análise estática de tipos - Confusão no significado das referências (documentação) - Eficiência no acesso é menor do que escopo estático

Page 58: 1 Aula 4 Nomes, Vinculações, Tipos e Escopos Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br

58

COMPLEMENTOCOMPLEMENTO 1 – Escopo x Tempo de vida - Escopo estático => Espacial Tempo de vida => Temporal - C, C++ e Java => Especificador STATIC - Chamadas a subprogramas

Page 59: 1 Aula 4 Nomes, Vinculações, Tipos e Escopos Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br

59

COMPLEMENTOCOMPLEMENTO

void printheader(){ .........}void compute(){ int sum; printheader();}

1 – Escopo x Tempo de vida - Escopo estático => Espacial Tempo de vida => Temporal - C, C++ e Java => Especificador STATIC - Chamadas a subprogramas

Page 60: 1 Aula 4 Nomes, Vinculações, Tipos e Escopos Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br

60

COMPLEMENTOCOMPLEMENTO

void printheader(){ .........}void compute(){ int sum; printheader();}

1 – Escopo x Tempo de vida - Escopo estático => Espacial Tempo de vida => Temporal - C, C++ e Java => Especificador STATIC - Chamadas a subprogramas

Page 61: 1 Aula 4 Nomes, Vinculações, Tipos e Escopos Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br

61

COMPLEMENTOCOMPLEMENTO 1 – Escopo x Tempo de vida - Escopo estático => Espacial Tempo de vida => Temporal - C, C++ e Java => Especificador STATIC - Chamadas a subprogramas

2 – Ambientes de referenciamento - Subprograma ativo - Escopo dinâmico: Locais + Subprogramas ativos

Page 62: 1 Aula 4 Nomes, Vinculações, Tipos e Escopos Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br

62

COMPLEMENTOCOMPLEMENTO 1 – Escopo x Tempo de vida - Escopo estático => Espacial Tempo de vida => Temporal - C, C++ e Java => Especificador STATIC - Chamadas a subprogramas

2 – Ambientes de referenciamento - Subprograma ativo - Escopo dinâmico: Locais + Subprogramas ativos

3 – Constantes nomeadas

Page 63: 1 Aula 4 Nomes, Vinculações, Tipos e Escopos Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br

63

COMPLEMENTOCOMPLEMENTO 1 – Escopo x Tempo de vida - Escopo estático => Espacial Tempo de vida => Temporal - C, C++ e Java => Especificador STATIC - Chamadas a subprogramas

2 – Ambientes de referenciamento - Subprograma ativo - Escopo dinâmico: Locais + Subprogramas ativos

3 – Constantes nomeadas

4 – Inicializacão de variáveis

Page 64: 1 Aula 4 Nomes, Vinculações, Tipos e Escopos Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br

64

EXERCÍCIOSEXERCÍCIOS 2 – Algumas linguagens de programação são sem tipos. Quais são as vantagens e desvantagens evidentes de não se ter tipos em uma linguagem?

Page 65: 1 Aula 4 Nomes, Vinculações, Tipos e Escopos Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br

65

EXERCÍCIOSEXERCÍCIOS 2 – Algumas linguagens de programação são sem tipos. Quais são as vantagens e desvantagens evidentes de não se ter tipos em uma linguagem?

5 – A vinculação dinâmica de tipos está estreitamente relacionada com as variáveis heap-dinâmicas. Explique essa relação.

Page 66: 1 Aula 4 Nomes, Vinculações, Tipos e Escopos Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br

66

EXERCÍCIOSEXERCÍCIOS 2 – Algumas linguagens de programação são sem tipos. Quais são as vantagens e desvantagens evidentes de não se ter tipos em uma linguagem?

5 – A vinculação dinâmica de tipos está estreitamente relacionada com as variáveis heap-dinâmicas. Explique essa relação.

6 – Descreve uma situação onde uma variável sensível à história em um subprograma é útil.

Page 67: 1 Aula 4 Nomes, Vinculações, Tipos e Escopos Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br

67

EXERCÍCIOSEXERCÍCIOS 8 – Escopo estático x Escopo dinâmico. 9 – Escopo estático x Escopo dinâmico. 10 – Escopo estático x Escopo dinâmico. 11 – Escopo estático 12 – Blocos 13 – Escopo dinâmico 14 – Escopo dinâmico