1 Linguagens de Programação por Jorge Luis Victória Barbosa Universidade do Vale do Rio dos Sinos...

39
1 Linguagens de Programação Linguagens de Programação por Jorge Luis Victória Barbosa 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]

Transcript of 1 Linguagens de Programação por Jorge Luis Victória Barbosa Universidade do Vale do Rio dos Sinos...

Page 1: 1 Linguagens de Programação por Jorge Luis Victória Barbosa Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br.

1

Linguagens de Programação Linguagens de Programação por

Jorge Luis Victória Barbosa

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 Linguagens de Programação por Jorge Luis Victória Barbosa Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br.

2

• EuEu• Graduado em Informática (UCPel, 1990)• Graduado em Engenharia Elétrica (UCPel, 1991)• Pós-graduado (especialização) em Engenharia de Software (UCPel, 1998)• Pós-graduado (mestrado) em Arquitetura de Computadores e Processamento Paralelo e Distribuído (UFRGS, 1993)• Doutorado em Linguagens de Programação e Sistemas Distribuídos (UFRGS, 2002)

• VocêsVocês• Arquitetura de Microprocessadores (65094)• Paradigmas de Programação (60023)• Estruturas Avançadas de Dados (65098)• Linguagens em que programam?

Page 3: 1 Linguagens de Programação por Jorge Luis Victória Barbosa Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br.

3

Apresentação da disciplinaApresentação da disciplinaAspectos PreliminaresAspectos PreliminaresEvolução das LinguagensEvolução das LinguagensNomes, Vinculações, Tipos e EscoposNomes, Vinculações, Tipos e EscoposTipos de Dados, Expressões e AtribuiçãoTipos de Dados, Expressões e AtribuiçãoSubprogramasSubprogramasImplementando SubprogramasImplementando SubprogramasEncadeamentos Estáticos e DisplaysEncadeamentos Estáticos e DisplaysOrientação a ObjetosOrientação a ObjetosConcorrênciaConcorrênciaExceçõesExceçõesLinguagens Declarativas e MultiparadigmaLinguagens Declarativas e Multiparadigma

ConteúConteúdodo

Page 4: 1 Linguagens de Programação por Jorge Luis Victória Barbosa Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br.

4

Metodologia – Metodologia – Leitura e DebateLeitura e Debate

Sala de AulaSala de Aula Fora da Sala de AulaFora da Sala de Aula

Page 5: 1 Linguagens de Programação por Jorge Luis Victória Barbosa Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br.

5

Metodologia – Metodologia – Leitura e DebateLeitura e Debate

Definição do texto

Revisão e Debate

Sala de AulaSala de Aula Fora da Sala de AulaFora da Sala de Aula

Leitura

Page 6: 1 Linguagens de Programação por Jorge Luis Victória Barbosa Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br.

6

Metodologia – Metodologia – Leitura e DebateLeitura e Debate

Definição do texto

Revisão e Debate

Sala de AulaSala de Aula Fora da Sala de AulaFora da Sala de Aula

LeituraDuas

aulas

Page 7: 1 Linguagens de Programação por Jorge Luis Victória Barbosa Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br.

7

Apresentação da disciplinaApresentação da disciplinaAspectos PreliminaresAspectos PreliminaresEvolução das LinguagensEvolução das LinguagensNomes, Vinculações, Tipos e EscoposNomes, Vinculações, Tipos e EscoposTipos de Dados, Expressões e AtribuiçãoTipos de Dados, Expressões e AtribuiçãoSubprogramasSubprogramasImplementando SubprogramasImplementando SubprogramasEncadeamentos Estáticos e DisplaysEncadeamentos Estáticos e DisplaysOrientação a ObjetosOrientação a ObjetosConcorrênciaConcorrênciaExceçõesExceçõesLinguagens Declarativas e MultiparadigmaLinguagens Declarativas e Multiparadigma

ConteúConteúdodo

Page 8: 1 Linguagens de Programação por Jorge Luis Victória Barbosa Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br.

8

Sebesta(páginas 17- 47)

Apresentação da disciplinaApresentação da disciplinaAspectos PreliminaresAspectos PreliminaresEvolução das LinguagensEvolução das LinguagensNomes, Vinculações, Tipos e EscoposNomes, Vinculações, Tipos e EscoposTipos de Dados, Expressões e AtribuiçãoTipos de Dados, Expressões e AtribuiçãoSubprogramasSubprogramasImplementando SubprogramasImplementando SubprogramasEncadeamentos Estáticos e DisplaysEncadeamentos Estáticos e DisplaysOrientação a ObjetosOrientação a ObjetosConcorrênciaConcorrênciaExceçõesExceçõesLinguagens Declarativas e MultiparadigmaLinguagens Declarativas e Multiparadigma

ConteúConteúdodo

Page 9: 1 Linguagens de Programação por Jorge Luis Victória Barbosa Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br.

9

OBRIGATÓRIO

Apresentação da disciplinaApresentação da disciplinaAspectos PreliminaresAspectos PreliminaresEvolução das LinguagensEvolução das LinguagensNomes, Vinculações, Tipos e EscoposNomes, Vinculações, Tipos e EscoposTipos de Dados, Expressões e AtribuiçãoTipos de Dados, Expressões e AtribuiçãoSubprogramasSubprogramasImplementando SubprogramasImplementando SubprogramasEncadeamentos Estáticos e DisplaysEncadeamentos Estáticos e DisplaysOrientação a ObjetosOrientação a ObjetosConcorrênciaConcorrênciaExceçõesExceçõesLinguagens Declarativas e MultiparadigmaLinguagens Declarativas e Multiparadigma

ConteúConteúdodo Sebesta

(páginas 17- 47)

Page 10: 1 Linguagens de Programação por Jorge Luis Victória Barbosa Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br.

10

Metodologia – Metodologia – TrabalhosTrabalhos

Page 11: 1 Linguagens de Programação por Jorge Luis Victória Barbosa Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br.

11

Metodologia – Metodologia – TrabalhosTrabalhosMetodologia – Metodologia – TrabalhosTrabalhosTrabalho 1

• Implementação• Montadores• Direcionado para GA

Page 12: 1 Linguagens de Programação por Jorge Luis Victória Barbosa Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br.

12

Metodologia – Metodologia – TrabalhosTrabalhosMetodologia – Metodologia – TrabalhosTrabalhosTrabalho 1

• Implementação• Montadores• Direcionado para GA

Trabalho 2• Estudo e Resumo• Site na Web• Direcionado para GB

Page 13: 1 Linguagens de Programação por Jorge Luis Victória Barbosa Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br.

13

Metodologia – Metodologia – TrabalhosTrabalhosMetodologia – Metodologia – TrabalhosTrabalhosTrabalho 1

• Implementação• Montadores• Direcionado para GA

Trabalho 2• Estudo e Resumo• Site na Web• Direcionado para GB

Trabalho 3• Estudo e Resumo• Congresso Simulado de Linguagens de Programação (CONSIPRO)• Direcionado para GB

Page 14: 1 Linguagens de Programação por Jorge Luis Victória Barbosa Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br.

14

Metodologia – Metodologia – TrabalhosTrabalhosTrabalho 1

• Implementação• Montadores• Direcionado para GA

Trabalho 2• Estudo e Resumo• Site na Web• Direcionado para GB

Trabalho 3• Estudo e Resumo• Congresso Simulado de Linguagens de Programação (CONSIPRO)• Direcionado para GB

<Grupos>Máximo dois membros

Page 15: 1 Linguagens de Programação por Jorge Luis Victória Barbosa Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br.

15

Composição Composição dos Grausdos Graus

Grau AProva = 7.0

T1 = 3.0

Grau BProva = 4.0T2 = 3.0CONSIPRO = 3.0

Page 16: 1 Linguagens de Programação por Jorge Luis Victória Barbosa Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br.

16

Composição Composição dos Grausdos Graus

Grau AProva = 7.0

T1 = 3.0

Grau BProva = 4.0T2 = 3.0CONSIPRO = 3.0

Avaliação

Avaliação

Page 17: 1 Linguagens de Programação por Jorge Luis Victória Barbosa Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br.

17

Composição Composição dos Grausdos Graus

Grau AProva = 7.0

T1 = 3.0

Grau BProva = 4.0T2 = 3.0CONSIPRO = 3.0

Grau CGrau A = 7.0

Grau B = 4.0

Page 18: 1 Linguagens de Programação por Jorge Luis Victória Barbosa Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br.

18

Composição Composição dos Grausdos Graus

Grau AProva = 7.0

T1 = 3.0

Grau BProva = 4.0T2 = 3.0CONSIPRO = 3.0

Grau CGrau A = 7.0

Grau B = 4.0

Page 19: 1 Linguagens de Programação por Jorge Luis Victória Barbosa Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br.

19

Composição Composição dos Grausdos Graus

Grau AProva = 7.0

T1 = 3.0

Grau BProva = 4.0T2 = 3.0CONSIPRO = 3.0

Grau CGrau A = 7.0

Grau B = 4.0

Page 20: 1 Linguagens de Programação por Jorge Luis Victória Barbosa Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br.

20

Definição do T1 – Definição do T1 – MontadoresMontadores

Page 21: 1 Linguagens de Programação por Jorge Luis Victória Barbosa Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br.

21

Definição do T1 – Definição do T1 – MontadoresMontadores

• Grupos contendo no máximo dois membrosmáximo dois membros• Plataforma de implementação escolhida pelo grupo

• RegrasRegras

Page 22: 1 Linguagens de Programação por Jorge Luis Victória Barbosa Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br.

22

Definição do T1 – Definição do T1 – MontadoresMontadores

• Grupos contendo no máximo dois membrosmáximo dois membros• Plataforma de implementação escolhida pelo grupo

• RegrasRegras

• Construção de montadores• Simulador de Arquitetura de Computador NIBA

• ConteúdoConteúdo

Page 23: 1 Linguagens de Programação por Jorge Luis Victória Barbosa Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br.

23

Definição do T1 – Definição do T1 – MontadoresMontadores

• Grupos contendo no máximo dois membrosmáximo dois membros• Plataforma de implementação escolhida pelo grupo

• RegrasRegras

• Construção de montadores• Simulador de Arquitetura de Computador NIBA

• ConteúdoConteúdo

• Montador para Arquitetura NIBA

• ResultadoResultado

Page 24: 1 Linguagens de Programação por Jorge Luis Victória Barbosa Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br.

24

Definição do T1 – Definição do T1 – MontadoresMontadores

• Grupos contendo no máximo dois membrosmáximo dois membros• Plataforma de implementação escolhida pelo grupo

• RegrasRegras

• Construção de montadores• Simulador de Arquitetura de Computador NIBA

• ConteúdoConteúdo

• Montador para Arquitetura NIBA

• ResultadoResultado

• Descrição de montadores • Simulador NIBA

• MaterialMaterial Tanenbaum (xerox) Página da disciplina

Page 25: 1 Linguagens de Programação por Jorge Luis Victória Barbosa Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br.

25

Trabalho T1 – Trabalho T1 – Visão GeralVisão Geral

Page 26: 1 Linguagens de Programação por Jorge Luis Victória Barbosa Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br.

26

Montador

Arquivo Fonte (assembly)

Arquivo Objeto (Linguagem de Máquina)

Trabalho T1 – Trabalho T1 – Visão GeralVisão Geral

Page 27: 1 Linguagens de Programação por Jorge Luis Victória Barbosa Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br.

27

Arquitetura deComputador

Montador

Arquivo Fonte (assembly)

Arquivo Objeto (Linguagem de Máquina)

Trabalho T1 – Trabalho T1 – Visão GeralVisão Geral

Page 28: 1 Linguagens de Programação por Jorge Luis Victória Barbosa Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br.

28

Montador

Arquivo Fonte (assembly)

Arquivo Objeto (Linguagem de Máquina)

LABEL OPERAÇÃO OPERANDOS COMENTÁRIOS

calc: MOV EAX,I ;inicio ADD EAX,J ;Soma ADD EAX,K ;Soma MOV N,EAX ;Resultado ...I: DD 2J: DD 3K: DD 4N: DD 0

Arquitetura deComputador

Trabalho T1 – Trabalho T1 – Visão GeralVisão Geral

Page 29: 1 Linguagens de Programação por Jorge Luis Victória Barbosa Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br.

29

Montador

Arquivo Fonte (assembly)

Arquivo Objeto (Linguagem de Máquina)

LABEL OPERAÇÃO OPERANDOS COMENTÁRIOS

calc: MOV EAX,I ;inicio ADD EAX,J ;Soma ADD EAX,K ;Soma MOV N,EAX ;Resultado ...I: DD 2J: DD 3K: DD 4N: DD 0

10 30 15 16 75 43 23 67 ...... Arquitetura deComputador

Trabalho T1 – Trabalho T1 – Visão GeralVisão Geral

Page 30: 1 Linguagens de Programação por Jorge Luis Victória Barbosa Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br.

30

Montador

Arquivo Fonte (assembly)

Arquivo Objeto (Linguagem de Máquina)

LABEL OPERAÇÃO OPERANDOS COMENTÁRIOS

calc: MOV EAX,I ;inicio ADD EAX,J ;Soma ADD EAX,K ;Soma MOV N,EAX ;Resultado ...I: DD 2J: DD 3K: DD 4N: DD 0

10 30 15 16 75 43 23 67 ...... Arquitetura deComputador

Trabalho T1 – Trabalho T1 – Visão GeralVisão Geral

Page 31: 1 Linguagens de Programação por Jorge Luis Victória Barbosa Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br.

31

Arquitetura deComputador

Montador

Arquivo Fonte (assembly)

Arquivo Objeto (Linguagem de Máquina)

Trabalho T1 – Trabalho T1 – Visão GeralVisão Geral

Page 32: 1 Linguagens de Programação por Jorge Luis Victória Barbosa Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br.

32

Arquitetura doNIBA

Montador

Arquivo Fonte (Assembly NIBA)

Arquivo Objeto(Linguagem NIBA)

Trabalho T1 – Trabalho T1 – Visão GeralVisão Geral

Page 33: 1 Linguagens de Programação por Jorge Luis Victória Barbosa Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br.

33

1) Estudar o Ahmes:- Arquitetura;- Arquivo Objeto.

PassosPassos

Trabalho T1 – Trabalho T1 – Visão GeralVisão Geral

Arquitetura doNIBA

Montador

Arquivo Fonte (Assembly NIBA)

Arquivo Objeto(Linguagem NIBA)

Page 34: 1 Linguagens de Programação por Jorge Luis Victória Barbosa Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br.

34

Arquitetura doNIBA

1) Estudar o Ahmes:- Arquitetura;- Arquivo Objeto.

PassosPassos

Trabalho T1 – Trabalho T1 – Visão GeralVisão Geral

Montador

Arquivo Fonte (Assembly NIBA)

Arquivo Objeto(Linguagem NIBA)

Page 35: 1 Linguagens de Programação por Jorge Luis Victória Barbosa Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br.

35

1) Estudar o Ahmes:- Arquitetura;- Arquivo Objeto.

2) Especificar o Assembly;

PassosPassos

Trabalho T1 – Trabalho T1 – Visão GeralVisão Geral

Arquitetura doNIBA

Montador

Arquivo Fonte (Assembly NIBA)

Arquivo Objeto(Linguagem NIBA)

Page 36: 1 Linguagens de Programação por Jorge Luis Victória Barbosa Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br.

36

Montador

1) Estudar o Ahmes:- Arquitetura;- Arquivo Objeto.

2) Especificar o Assembly;3) Criar o montador.

PassosPassos

Trabalho T1 – Trabalho T1 – Visão GeralVisão Geral

Arquitetura doNIBA

Arquivo Fonte (Assembly NIBA)

Arquivo Objeto(Linguagem NIBA)

Page 37: 1 Linguagens de Programação por Jorge Luis Victória Barbosa Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br.

37

1) Estudar o Ahmes:- Arquitetura;- Arquivo Objeto.

2) Especificar o Assembly;3) Criar o montador.

PassosPassos

C:> montador fonte.asm

FuncionamentoFuncionamento

Trabalho T1 – Trabalho T1 – Visão GeralVisão Geral

Arquitetura doNIBA

Montador

Arquivo Fonte (Assembly NIBA)

Arquivo Objeto(Linguagem NIBA)

Page 38: 1 Linguagens de Programação por Jorge Luis Victória Barbosa Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br.

38

1) Estudar o Ahmes:- Arquitetura;- Arquivo Objeto.

2) Especificar o Assembly;3) Criar o montador.

PassosPassos

FuncionamentoFuncionamentoMATERIAL

Montadores: TanenbaumAhmes: Página da disciplina

Trabalho T1 – Trabalho T1 – Visão GeralVisão Geral

Arquitetura doNIBA

Montador

Arquivo Fonte (Assembly NIBA)

Arquivo Objeto(Linguagem NIBA)

Page 39: 1 Linguagens de Programação por Jorge Luis Victória Barbosa Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br.

39

BibliogrBibliografiaafia• SEBESTA, Robert W. Conceitos de Linguagens de Programação.

Bookman, 1999.

• TANENBAUM, Andrew S. Organização Estruturada de Computadores. Prentice Hall, 1992. Capítulo 7 – O Nível de Linguagem de Montagem.