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 – gutojm+fac@gmail.com 
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 – gutojm+fac@gmail.com 
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 – gutojm+fac@gmail.com 
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 – gutojm+fac@gmail.com 
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 – gutojm+fac@gmail.com 
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 – gutojm+fac@gmail.com 
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 – gutojm+fac@gmail.com 
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 – gutojm+fac@gmail.com 
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 – gutojm+fac@gmail.com 
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 – gutojm+fac@gmail.com 
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 – gutojm+fac@gmail.com 
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 – gutojm+fac@gmail.com 
Introdução 
•Podemos dividir as linguagens em dois níveis 
–Baixo 
–Alto
Paradigmas de linguagem de programação – Aula 1 – Apresentação 
Guto – gutojm+fac@gmail.com 
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 – gutojm+fac@gmail.com 
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 – gutojm+fac@gmail.com 
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 – gutojm+fac@gmail.com 
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 – gutojm+fac@gmail.com 
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 – gutojm+fac@gmail.com 
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 – gutojm+fac@gmail.com 
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 – gutojm+fac@gmail.com 
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 – gutojm+fac@gmail.com 
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 – gutojm+fac@gmail.com 
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 – gutojm+fac@gmail.com 
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 – gutojm+fac@gmail.com 
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 – gutojm+fac@gmail.com 
•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 – gutojm+fac@gmail.com 
•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 – gutojm+fac@gmail.com 
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! gutojm+fac@gmail.com

Plp aula-01-apresentação

  • 1.
    Prof. José AugustoMeirelles (Guto) Paradigmas de Linguagem de Programação - Aula 1 Apresentação Material desenvolvido pelo Prof. Fernando Bryan Frizzarin
  • 2.
    Paradigmas de linguagemde programação – Aula 1 – Apresentação Guto – gutojm+fac@gmail.com 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
  • 3.
    Paradigmas de linguagemde programação – Aula 1 – Apresentação Guto – gutojm+fac@gmail.com 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
  • 4.
    Paradigmas de linguagemde programação – Aula 1 – Apresentação Guto – gutojm+fac@gmail.com 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.
  • 5.
    Paradigmas de linguagemde programação – Aula 1 – Apresentação Guto – gutojm+fac@gmail.com Bibliografia Básica Padrão •SEBESTA, Robert W.. Conceitos de Linguagem de Programação. 9ª ed. São Paulo: Bookman, 2011.
  • 6.
    Paradigmas de linguagemde programação – Aula 1 – Apresentação Guto – gutojm+fac@gmail.com 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.
  • 7.
    Paradigmas de linguagemde programação – Aula 1 – Apresentação Guto – gutojm+fac@gmail.com 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
  • 8.
    Paradigmas de linguagemde programação – Aula 1 – Apresentação Guto – gutojm+fac@gmail.com 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)
  • 9.
    Paradigmas de linguagemde programação – Aula 1 – Apresentação Guto – gutojm+fac@gmail.com 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.
  • 10.
    Paradigmas de linguagemde programação – Aula 1 – Apresentação Guto – gutojm+fac@gmail.com 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
  • 11.
    Paradigmas de linguagemde programação – Aula 1 – Apresentação Guto – gutojm+fac@gmail.com Introdução •Inicialmente, nos primórdios da computação, escrevia-se programas em códigos binários, com resultados igualmente binários
  • 12.
    Paradigmas de linguagemde programação – Aula 1 – Apresentação Guto – gutojm+fac@gmail.com 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;
  • 13.
    Paradigmas de linguagemde programação – Aula 1 – Apresentação Guto – gutojm+fac@gmail.com Introdução •Podemos dividir as linguagens em dois níveis –Baixo –Alto
  • 14.
    Paradigmas de linguagemde programação – Aula 1 – Apresentação Guto – gutojm+fac@gmail.com 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
  • 15.
    Paradigmas de linguagemde programação – Aula 1 – Apresentação Guto – gutojm+fac@gmail.com 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;
  • 16.
    Paradigmas de linguagemde programação – Aula 1 – Apresentação Guto – gutojm+fac@gmail.com 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.
  • 17.
    Paradigmas de linguagemde programação – Aula 1 – Apresentação Guto – gutojm+fac@gmail.com 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
  • 18.
    Paradigmas de linguagemde programação – Aula 1 – Apresentação Guto – gutojm+fac@gmail.com 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
  • 19.
    Paradigmas de linguagemde programação – Aula 1 – Apresentação Guto – gutojm+fac@gmail.com 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
  • 20.
    Paradigmas de linguagemde programação – Aula 1 – Apresentação Guto – gutojm+fac@gmail.com 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
  • 21.
    Paradigmas de linguagemde programação – Aula 1 – Apresentação Guto – gutojm+fac@gmail.com 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
  • 22.
    Paradigmas de linguagemde programação – Aula 1 – Apresentação Guto – gutojm+fac@gmail.com Introdução •Interpretação –Vantagens principais •Portabilidade –Desvantagens principais •Lento •Dependente do código fonte •Dependente do interpretador
  • 23.
    Paradigmas de linguagemde programação – Aula 1 – Apresentação Guto – gutojm+fac@gmail.com 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
  • 24.
    Paradigmas de linguagemde programação – Aula 1 – Apresentação Guto – gutojm+fac@gmail.com 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
  • 25.
    Paradigmas de linguagemde programação – Aula 1 – Apresentação Guto – gutojm+fac@gmail.com 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
  • 26.
    Paradigmas de linguagemde programação – Aula 1 – Apresentação Guto – gutojm+fac@gmail.com •As 20 mais utilizadas •Fonte: http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
  • 27.
    Paradigmas de linguagemde programação – Aula 1 – Apresentação Guto – gutojm+fac@gmail.com •As 20 mais utilizadas •Fonte: http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
  • 28.
    Paradigmas de linguagemde programação – Aula 1 – Apresentação Guto – gutojm+fac@gmail.com 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! gutojm+fac@gmail.com