plp aula-01-apresentação
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]