SlideShare uma empresa Scribd logo
1 de 28
Baixar para ler offline
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

Mais conteúdo relacionado

Mais procurados

Conceitos Iniciais de Linguagens de Programação
Conceitos Iniciais de Linguagens de ProgramaçãoConceitos Iniciais de Linguagens de Programação
Conceitos Iniciais de Linguagens de ProgramaçãoSidney Roberto
 
Linguagem de programação
Linguagem de programação Linguagem de programação
Linguagem de programação Marcos Gregorio
 
Linguagens de Programação
Linguagens de ProgramaçãoLinguagens de Programação
Linguagens de ProgramaçãoBeDMK
 
Paradigmas De Linguagem De Programação.
Paradigmas De Linguagem De Programação.Paradigmas De Linguagem De Programação.
Paradigmas De Linguagem De Programação.Valmon Gaudencio
 
Linguágens de programação
Linguágens de programaçãoLinguágens de programação
Linguágens de programaçãoAlbertoVach
 
Linguagen..
Linguagen..Linguagen..
Linguagen..essa
 
Linguagens de programação
Linguagens de programaçãoLinguagens de programação
Linguagens de programaçãoessa
 
Programação 1
Programação 1Programação 1
Programação 1essa
 
Introdução a Linguagem de Programação
Introdução a Linguagem de ProgramaçãoIntrodução a Linguagem de Programação
Introdução a Linguagem de ProgramaçãoJessica Ribeiro
 
Linguagens de programação 03-12-09
Linguagens de programação   03-12-09Linguagens de programação   03-12-09
Linguagens de programação 03-12-09essa
 
Técnicas_Implementação
Técnicas_ImplementaçãoTécnicas_Implementação
Técnicas_ImplementaçãoWagner Zaparoli
 
Paradigmas de Programação - Imperativo, Orientado a Objetos e Funcional
Paradigmas de Programação - Imperativo, Orientado a Objetos e FuncionalParadigmas de Programação - Imperativo, Orientado a Objetos e Funcional
Paradigmas de Programação - Imperativo, Orientado a Objetos e FuncionalGustavo Coutinho
 
Introdução ao paradigma imperativo
Introdução ao paradigma imperativoIntrodução ao paradigma imperativo
Introdução ao paradigma imperativoTony Alexander Hild
 
Paradigmas de Programação
Paradigmas de ProgramaçãoParadigmas de Programação
Paradigmas de ProgramaçãoNatanael Simões
 

Mais procurados (19)

Conceitos Iniciais de Linguagens de Programação
Conceitos Iniciais de Linguagens de ProgramaçãoConceitos Iniciais de Linguagens de Programação
Conceitos Iniciais de Linguagens de Programação
 
Linguagem de programação
Linguagem de programação Linguagem de programação
Linguagem de programação
 
Linguagens de Programação
Linguagens de ProgramaçãoLinguagens de Programação
Linguagens de Programação
 
Paradigmas De Linguagem De Programação.
Paradigmas De Linguagem De Programação.Paradigmas De Linguagem De Programação.
Paradigmas De Linguagem De Programação.
 
Linguágens de programação
Linguágens de programaçãoLinguágens de programação
Linguágens de programação
 
1.1.paradigmas
1.1.paradigmas1.1.paradigmas
1.1.paradigmas
 
Linguagen..
Linguagen..Linguagen..
Linguagen..
 
Linguagens de programação
Linguagens de programaçãoLinguagens de programação
Linguagens de programação
 
Programação 1
Programação 1Programação 1
Programação 1
 
Introdução a Linguagem de Programação
Introdução a Linguagem de ProgramaçãoIntrodução a Linguagem de Programação
Introdução a Linguagem de Programação
 
Linguagens de programação
Linguagens de programaçãoLinguagens de programação
Linguagens de programação
 
Linguagens de programação 03-12-09
Linguagens de programação   03-12-09Linguagens de programação   03-12-09
Linguagens de programação 03-12-09
 
Técnicas_Implementação
Técnicas_ImplementaçãoTécnicas_Implementação
Técnicas_Implementação
 
Software
SoftwareSoftware
Software
 
Paradigmas de Programação - Imperativo, Orientado a Objetos e Funcional
Paradigmas de Programação - Imperativo, Orientado a Objetos e FuncionalParadigmas de Programação - Imperativo, Orientado a Objetos e Funcional
Paradigmas de Programação - Imperativo, Orientado a Objetos e Funcional
 
Paradigmas de programação
Paradigmas de programaçãoParadigmas de programação
Paradigmas de programação
 
Linguagem da programação
Linguagem da programaçãoLinguagem da programação
Linguagem da programação
 
Introdução ao paradigma imperativo
Introdução ao paradigma imperativoIntrodução ao paradigma imperativo
Introdução ao paradigma imperativo
 
Paradigmas de Programação
Paradigmas de ProgramaçãoParadigmas de Programação
Paradigmas de Programação
 

Semelhante a Plp aula-01-apresentação

IES GF - Linguagem de Programação Estruturada - Parte 1
IES GF - Linguagem de Programação Estruturada - Parte 1IES GF - Linguagem de Programação Estruturada - Parte 1
IES GF - Linguagem de Programação Estruturada - Parte 1Ramon Mayor Martins
 
Linguagens de programação 03-12-09
Linguagens de programação   03-12-09Linguagens de programação   03-12-09
Linguagens de programação 03-12-09essa
 
Algoritmos e Técnicas de Programação - Aula 01
Algoritmos e Técnicas de Programação - Aula 01Algoritmos e Técnicas de Programação - Aula 01
Algoritmos e Técnicas de Programação - Aula 01thomasdacosta
 
silo.tips_paradigmas-e-linguagens-de-programaao-prof-josino-rodrigues-neto.pdf
silo.tips_paradigmas-e-linguagens-de-programaao-prof-josino-rodrigues-neto.pdfsilo.tips_paradigmas-e-linguagens-de-programaao-prof-josino-rodrigues-neto.pdf
silo.tips_paradigmas-e-linguagens-de-programaao-prof-josino-rodrigues-neto.pdfAmlieOGalaxias
 
Introdução à Computação Aula 09 - Algoritmos (Linguagens de Programação)
Introdução à Computação Aula 09 - Algoritmos (Linguagens de Programação)Introdução à Computação Aula 09 - Algoritmos (Linguagens de Programação)
Introdução à Computação Aula 09 - Algoritmos (Linguagens de Programação)Leinylson Fontinele
 
Python no Ensino Superior - PyconBrasil 2
Python no Ensino Superior - PyconBrasil 2Python no Ensino Superior - PyconBrasil 2
Python no Ensino Superior - PyconBrasil 2Marco Mendes
 
C a linguagem de programação
C   a linguagem de programaçãoC   a linguagem de programação
C a linguagem de programaçãoAndrei Bastos
 
Aula 3 - Lógica de Programação
Aula 3 - Lógica de ProgramaçãoAula 3 - Lógica de Programação
Aula 3 - Lógica de ProgramaçãoInstituto CENTEC
 
E14 s07-t3-algoritmos-2013-04-24 (1)
E14 s07-t3-algoritmos-2013-04-24 (1)E14 s07-t3-algoritmos-2013-04-24 (1)
E14 s07-t3-algoritmos-2013-04-24 (1)Alex Almeida
 
Int. sistemas de informação iii
Int. sistemas de informação iiiInt. sistemas de informação iii
Int. sistemas de informação iiiRay Fran Pires
 
Atps paradigmas linguagem programacao
Atps paradigmas linguagem programacaoAtps paradigmas linguagem programacao
Atps paradigmas linguagem programacaopablogranola
 
Aula01 ip introducao
Aula01 ip introducaoAula01 ip introducao
Aula01 ip introducaoBerg Oliveira
 
PARADIGMAS_LINGUAGENS_PROG_aula02.pdf
PARADIGMAS_LINGUAGENS_PROG_aula02.pdfPARADIGMAS_LINGUAGENS_PROG_aula02.pdf
PARADIGMAS_LINGUAGENS_PROG_aula02.pdfAthena542429
 

Semelhante a Plp aula-01-apresentação (20)

IES GF - Linguagem de Programação Estruturada - Parte 1
IES GF - Linguagem de Programação Estruturada - Parte 1IES GF - Linguagem de Programação Estruturada - Parte 1
IES GF - Linguagem de Programação Estruturada - Parte 1
 
Linguagens de programação 03-12-09
Linguagens de programação   03-12-09Linguagens de programação   03-12-09
Linguagens de programação 03-12-09
 
Apostila de dev
Apostila de devApostila de dev
Apostila de dev
 
apostila de dev.pdf
apostila de dev.pdfapostila de dev.pdf
apostila de dev.pdf
 
Apostila de dev
Apostila de devApostila de dev
Apostila de dev
 
Apostila de dev
Apostila de devApostila de dev
Apostila de dev
 
Algoritmos e Técnicas de Programação - Aula 01
Algoritmos e Técnicas de Programação - Aula 01Algoritmos e Técnicas de Programação - Aula 01
Algoritmos e Técnicas de Programação - Aula 01
 
Mini Curso de C
Mini Curso de CMini Curso de C
Mini Curso de C
 
Apostila de dev
Apostila de devApostila de dev
Apostila de dev
 
silo.tips_paradigmas-e-linguagens-de-programaao-prof-josino-rodrigues-neto.pdf
silo.tips_paradigmas-e-linguagens-de-programaao-prof-josino-rodrigues-neto.pdfsilo.tips_paradigmas-e-linguagens-de-programaao-prof-josino-rodrigues-neto.pdf
silo.tips_paradigmas-e-linguagens-de-programaao-prof-josino-rodrigues-neto.pdf
 
Introdução à Computação Aula 09 - Algoritmos (Linguagens de Programação)
Introdução à Computação Aula 09 - Algoritmos (Linguagens de Programação)Introdução à Computação Aula 09 - Algoritmos (Linguagens de Programação)
Introdução à Computação Aula 09 - Algoritmos (Linguagens de Programação)
 
Apostila de devc++ novo
Apostila de devc++ novoApostila de devc++ novo
Apostila de devc++ novo
 
Python no Ensino Superior - PyconBrasil 2
Python no Ensino Superior - PyconBrasil 2Python no Ensino Superior - PyconBrasil 2
Python no Ensino Superior - PyconBrasil 2
 
C a linguagem de programação
C   a linguagem de programaçãoC   a linguagem de programação
C a linguagem de programação
 
Aula 3 - Lógica de Programação
Aula 3 - Lógica de ProgramaçãoAula 3 - Lógica de Programação
Aula 3 - Lógica de Programação
 
E14 s07-t3-algoritmos-2013-04-24 (1)
E14 s07-t3-algoritmos-2013-04-24 (1)E14 s07-t3-algoritmos-2013-04-24 (1)
E14 s07-t3-algoritmos-2013-04-24 (1)
 
Int. sistemas de informação iii
Int. sistemas de informação iiiInt. sistemas de informação iii
Int. sistemas de informação iii
 
Atps paradigmas linguagem programacao
Atps paradigmas linguagem programacaoAtps paradigmas linguagem programacao
Atps paradigmas linguagem programacao
 
Aula01 ip introducao
Aula01 ip introducaoAula01 ip introducao
Aula01 ip introducao
 
PARADIGMAS_LINGUAGENS_PROG_aula02.pdf
PARADIGMAS_LINGUAGENS_PROG_aula02.pdfPARADIGMAS_LINGUAGENS_PROG_aula02.pdf
PARADIGMAS_LINGUAGENS_PROG_aula02.pdf
 

Plp aula-01-apresentação

  • 1. Prof. José Augusto Meirelles (Guto) Paradigmas de Linguagem de Programação - Aula 1 Apresentação Material desenvolvido pelo Prof. Fernando Bryan Frizzarin
  • 2. 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
  • 3. 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
  • 4. 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.
  • 5. 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.
  • 6. 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.
  • 7. 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
  • 8. 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)
  • 9. 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.
  • 10. 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
  • 11. 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
  • 12. 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;
  • 13. 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
  • 14. 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
  • 15. 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;
  • 16. 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.
  • 17. 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
  • 18. 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
  • 19. 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
  • 20. 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
  • 21. 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
  • 22. 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
  • 23. 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
  • 24. 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
  • 25. 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
  • 26. 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
  • 27. 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
  • 28. 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