plp aula-01-apresentação

28
Prof. José Augusto Meirelles (Guto) Paradigmas de Linguagem de Programação - Aula 1 Apresentação Material desenvolvido pelo Prof. Fernando Bryan Frizzarin

Upload: jose-meirelles

Post on 28-Jul-2015

199 views

Category:

Technology


3 download

TRANSCRIPT

Prof. José Augusto Meirelles (Guto) Paradigmas de Linguagem de Programação - Aula 1

Apresentação

Material desenvolvido pelo Prof. Fernando Bryan Frizzarin

Paradigmas de linguagem de programação – Aula 1 – Apresentação Guto – [email protected]

Formação Acadêmica

• Técnico em Processamento de Dados

– Einstein 1994

• Tecnologia em Processamento de Dados

– Fatec 2003

• Pós-Graduação em Administração

– Fundação Getúlio Vargas - 2008

Paradigmas de linguagem de programação – Aula 1 – Apresentação Guto – [email protected]

Atuação Profissional

• Atuação na área de TI desde 1990

– Analista / Programador e Gerente de TI

• Escola Einstein

• TRW

• Invicta

• CTM Citrus

• Galle Folheados

– Professor

• COTIL/UNICAMP

Paradigmas de linguagem de programação – Aula 1 – Apresentação Guto – [email protected]

Ementa

• Fundamentos das linguagens de programação

• Meios de avaliação e das implementações das linguagens

• Estudo de linguagens em espécie e de sua evolução

• Estudo dos tipos de dados, estruturas de construção de um programa e introdução aos subprogramas.

Paradigmas de linguagem de programação – Aula 1 – Apresentação Guto – [email protected]

Bibliografia Básica Padrão

• SEBESTA, Robert W.. Conceitos de Linguagem de Programação. 9ª ed. São Paulo: Bookman, 2011.

Paradigmas de linguagem de programação – Aula 1 – Apresentação Guto – [email protected]

Bibliografia Complementar

• MIZRAHI, Victorine Viviane. Treinamento em linguagem C++: módulo 1. 2ª ed. São Paulo: Pearson - Prentice Hall, 2008, v.1.

• SANTOS, Rafael. Introdução à Programação Orientada a Objetos usando Java. 1ª ed. Rio de Janeiro: Campus - Elsevier, 2008.

• HARBISON III, Samuel P.. C: Manual de Referência. 1ª ed. Rio de Janeiro: Ciência Moderna, 2002.

• ASCENCIO, Ana F. G.. Fundamentos da programação de computadores : algoritmos, pascal e C/C++ e java. 2ª ed. São Paulo: Pearson - Prentice Hall, 2009.

• ZIVIANI, Nivio. Projeto de Algoritmos: com Implementações em Pascal e C. 2ª ed. São Paulo: Pioneira - Thomson Learning, 2005.

Paradigmas de linguagem de programação – Aula 1 – Apresentação Guto – [email protected]

Metodologia e Critérios de Avaliação

• Metodologia – Aulas expositivas e práticas

• Avaliação – Média 5,0 – 1ª. Avaliação (Peso 4,0)

• Critério do Professor • ATPS (3,0) + Exercícios (Peso 2,0) + Prova Escrita (Peso 5,0)

– 2ª. Avaliação (Peso 6,0) • Oficial • ATPS (3,0) + Prova Escrita (Peso 7,0)

– Fórmula • NS = ((P1+EX+ATPS) * 0,4) + (P2 * 0,6) • NS = ((3+2+2) * 0,4) + (3 * 0,6) • NS = 2,8 + 1,8 • NS = 4,6

Paradigmas de linguagem de programação – Aula 1 – Apresentação Guto – [email protected]

Metodologia e Critérios de Avaliação

• Entrega de trabalhos será feita através do Google Drive • Enviar email para o professor para que seja dado o

acesso • Haverão duas pastas ao qual o aluno terá acesso:

– Public (somente leitura) • Onde será deixado o material didático, slides das aulas, etc

– Nome-Ra (leitura e gravação) • Onde o aluno fará o upload dos trabalhos

• A lista de chamada será passada no início da aula • Eventualmente será feita também uma chamada no

final da aula (a critério do professor)

Paradigmas de linguagem de programação – Aula 1 – Apresentação Guto – [email protected]

Cronograma de Aulas 1. Apresentação da Disciplina e da metodologia de trabalho. Apresentação do

Plano de Ensino e Aprendizagem. Introdução à Linguagens de Programação.

2. Introdução aos principais critérios de avaliação das linguagens de programação: legibilidade.

3. Critérios de avaliação das linguagens de programação: capacidade de escrita.

4. Critérios de avaliação das linguagens de programação: confiabilidade.

5. Abordagem das principais influências sobre o projeto de uma linguagem de programação: arquitetura do computador e metodologias de programação.

6. Métodos de implementação: compilação, interpretação pura, implementação hibrida.

7. Evolução das principais linguagens de programação: visão geral de Fortran e Lisp.

8. Evolução das principais linguagens de programação: visão geral de COBOL, Smalltalk.

9. Atividades de Avaliação.

Paradigmas de linguagem de programação – Aula 1 – Apresentação Guto – [email protected]

Cronograma de Aulas 10. Introdução a tipos de dados. Tipos primitivos: inteiro, float, decimal, booleano,

caracter, string. Exemplos e exercícios de definição de tipos.

11. Tipos de dados definidos pelo usuário e tipo matriz. Abordagem de índices de matrizes. Exemplos e exercícios.

12. Tipos de dados: registro de dados. Definições dos registros. Referência a campos e operações com registros. Exemplos e exercícios

13. Introdução a expressões e instruções de atribuição. Expressões aritméticas (+,-,*, /). Contador e acumulador. Expressões lógicas (e, ou, não) e booleanas (V ou F). Exemplos.

14. Estruturas de uma linguagem: introdução a instruções de seleção. Exemplos e exercícios.

15. Introdução a instruções iterativas ou de repetição. Exemplos e exercícios.

16. Introdução a Subprogramas: conceito, tipos, utilização, parâmetros. Exemplos.

17. Atividades de revisão de conteúdo para a avaliação do segundo bimestre.

18. Prova Escrita Oficial

19. Exercícios de Revisão

20. Prova Substitutiva

Paradigmas de linguagem de programação – Aula 1 – Apresentação Guto – [email protected]

Introdução

• Inicialmente, nos primórdios da

computação, escrevia-se programas em

códigos binários, com resultados

igualmente binários

Paradigmas de linguagem de programação – Aula 1 – Apresentação Guto – [email protected]

Introdução

• Tal processo, além de desgastante, era rudimentar e demasiadamente suscetível a erros;

• Para facilitar o trabalho dos programadores surgiram, ao longo dos anos, as linguagem de programação;

Paradigmas de linguagem de programação – Aula 1 – Apresentação Guto – [email protected]

Introdução

• Podemos dividir as linguagens em dois níveis

– Baixo

– Alto

Paradigmas de linguagem de programação – Aula 1 – Apresentação Guto – [email protected]

Introdução

• Podemos dividir as linguagens em dois níveis

– Baixo

• Linguagens que compreendem as características

da arquitetura do computador

• Instruções de processadores, registradores e

outras

• São as linguagens de primeira e segunda geração

• Assembly

Paradigmas de linguagem de programação – Aula 1 – Apresentação Guto – [email protected]

Introdução

• Podemos dividir as linguagens em dois níveis

– Baixo

– Alto

• Próximo à linguagem natural;

• Distantes da arquitetura do computador

• C, Pascal, Java e outras;

Paradigmas de linguagem de programação – Aula 1 – Apresentação Guto – [email protected]

Introdução

• Baixo Nível (Assembly)

variable:

.message db "Olá, Mundo!$"

code:

mov ah, 9

mov dx, offset .message

int 0x21

ret

• Alto Nível (Pascal) program OlaMundo(output);

begin

WriteLn('Olá, Mundo!');

end.

Paradigmas de linguagem de programação – Aula 1 – Apresentação Guto – [email protected]

Introdução

• Os programas escritos precisam ser transformados em linguagem de máquina para que possam ser executados

• Para linguagens de baixo nível (assembly) esse processo se chama montagem, pois é a simples tradução para seus valores numéricos equivalentes

• Exemplo: MOV AL, 61h é montado diretamente para o seu equivalente numérico binário 10110000 01100001

Paradigmas de linguagem de programação – Aula 1 – Apresentação Guto – [email protected]

Introdução

• Para linguagens de alto nível essa “tradução” em linguagem de máquina se dá através de 3 métodos:

– Compilação

– Interpretação

– Misto

Paradigmas de linguagem de programação – Aula 1 – Apresentação Guto – [email protected]

Introdução

• Compilação – Um programa que chamamos de compilador lê o

programa em linguagem de alto nível gera uma cópia em linguagem de máquina

– A cópia gerada é independente do código fonte que a originou e é diretamente inteligível pelo sistema operacional

– Sendo assim nem o compilador e nem o código fonte são mais necessários para a execução do programa

Paradigmas de linguagem de programação – Aula 1 – Apresentação Guto – [email protected]

Introdução

– Compilação

• Vantagens principais – Rapidez

– Independência

• Desvantagens principais – Programa gerado não é portável, se precisarmos rodar o

programa num sistema operacional diferente será necessário compilarmos o mesmo para o novo SO

Paradigmas de linguagem de programação – Aula 1 – Apresentação Guto – [email protected]

Introdução

• Interpretação

– Um programa que chamamos de interpretador lê o código fonte e o vai traduzindo linha a linha para linguagem de máquina

– Toda vez que o programa precisar ser executado é necessário tanto o código fonte como o interpretador

Paradigmas de linguagem de programação – Aula 1 – Apresentação Guto – [email protected]

Introdução

• Interpretação

– Vantagens principais

• Portabilidade

– Desvantagens principais

• Lento

• Dependente do código fonte

• Dependente do interpretador

Paradigmas de linguagem de programação – Aula 1 – Apresentação Guto – [email protected]

Introdução

• Misto

– Aqui temos um conjunto de compilação e interpretação

– Um programa compilador gera um pseudo-código de máquina

– Este código não é inteligível diretamente pelo Sistema Operacional e sim por uma máquina virtual (programa que interpreta o pseudo-código)

– A máquina virtual interpreta o pseudo-código toda vez que ele é executado para o Sistema Operacional

Paradigmas de linguagem de programação – Aula 1 – Apresentação Guto – [email protected]

Introdução

• Misto

– Vantagem

• Portabilidade

• Independência do código fonte

• Mais rápido que a interpretação pura

– Desvantagem

• Dependência da máquina virtual

• Mais lento que o código compilado

Paradigmas de linguagem de programação – Aula 1 – Apresentação Guto – [email protected]

Introdução

• No site http://people.ku.edu/~nkinners/LangList/Extras/langlist.htm

encontramos uma lista de algo em torno de 2500 linguagens de programação conhecidas

Paradigmas de linguagem de programação – Aula 1 – Apresentação Guto – [email protected]

• As 20 mais utilizadas

• Fonte: http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

Paradigmas de linguagem de programação – Aula 1 – Apresentação Guto – [email protected]

• As 20 mais utilizadas

• Fonte: http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

Paradigmas de linguagem de programação – Aula 1 – Apresentação Guto – [email protected]

Exercícios

• Visite a lista de linguagens de programação na Wikipédia em http://pt.wikipedia.org/wiki/Anexo:Lista_de_linguagens_de_programação

• Escolha 3 linguagens e descreva suas características; • Encontre e anexe ao descritivo um programa do tipo “Hello

World” (“Olá Mundo”) para as linguagens escolhidas; • Verifique se há possibilidade de encontrar para download

as linguagens escolhidas e forneça indicativo de como fazê-lo;

• Entrega via Google Drive, individualmente! [email protected]