SlideShare ist ein Scribd-Unternehmen logo
1 von 17
Carlos Wagner 1
Técnico em Informática
● Prof.: Carlos Wagner
– Linux Básico
– Programação 1
– Introdução a Sistemas Distribuídos e Segurança de
Redes
– Montagem e manutenção
Carlos Wagner 2
Linguages de Programação e
Compiladores
● Linguagens de programação são conjuntos de
padrões e comandos usados para dar ordens aos
computadores;
● Compiladores são os programas que transformam
os programas escritos em linguagens de
programação (de baixo ou alto nível) para a
linguagem de máquina, própria da plataforma do
equipamento.
Carlos Wagner 3
Linguages de Programação e
Compiladores
● Linguagens de baixo nível estão mais relacionadas
com a arquitetura dos equipamentos e portanto são
diferentes entre si;
● LPs de alto nível estão mais longe dos detalhes das
máquinas e são padronizadas.
Carlos Wagner 4
Paradigmas de programação
● Fornecem e determinam a visão que o
programador possui sobre a estruturação e
execução do programa:
– Procedural;
– Estruturada;
– Modular;
– Orientada a objetos;
– Linear.
Carlos Wagner 5
Paradigmas de programação
● Procedural ou programação imperativa:
baseado no conceito de chamadas a
procedimentos (rotinas, subrotinas, métodos
ou funções)
– Facilidade em reutilizar código;
– Facilita organizar o fluxo do programa;
● Ex.: Ada, Algol, Basic, C/C++, Cobol,
D, ECMAScript, Frtran...
Carlos Wagner 6
Paradigmas de programação
● Estruturada: preconiza, recomenda que todos
os programas possíveis podem ser reduzidos
a apenas três estruturas: sequência, decisão e
repetição.
– Ex.: C/C++, Pascal, Basic, Cobol
Carlos Wagner 7
Paradigmas de programação
● Orientado a objetos: baseado na composição
e interação de diversas unidades de software
chamadas objetos. Objetos são instâncias das
Classes que definem atributos e métodos que
devem ser usados e manipulados para
executarem os programas.
– Ex.: C++, Object Pascal, Smalltalk, C#,
Ada
Carlos Wagner 8
Compiladores
● Um compilador é um programa de sistema
que traduz um programa descrito em uma
linguagem de programação de alto nível para
um programa equivalente em código de
máquina para um determinado processador.
Carlos Wagner 9
Compiladores
● Uma LP consiste essencialmente de uma
sequência de strings ou símbolos com regras
oara definir quais dessas sequenências são
válidas na linguagem (sintaxe)
● A interpretação do significado de uma
sequência válida de símbolos corresponde à
semântica da linguagem.
● A sintaxe de uma LP é expressa na forma de
uma gramática.
Carlos Wagner 10
Linguagens interpretadas
● Nem todas as linguagens precisam ser
compiladas. Algumas podem ser interpretadas
e outras ainda devem ser executadas em
máquinas virtuais.
● As linguagens interpretadas precisam de um
programa (interpretador) que leem o código
fonte do programa e executam os comandos
contidos no arquivo.
Carlos Wagner 11
Linguagens interpretadas
● Nem todas as linguagens precisam ser
compiladas. Algumas podem ser interpretadas
e outras ainda devem ser executadas em
máquinas virtuais.
● As linguagens interpretadas precisam de um
programa (interpretador) que leem o código
fonte do programa e executam os comandos
contidos no arquivo.
Carlos Wagner 12
Linguagens interpretadas
● Exemplos de linguagens interpretadas: Basic,
Logo, R, S, Python, Lisp, JavaScript, Lua, Ruby,
VBScript, ActionScript...
Carlos Wagner 13
Linguagens que geram bytecode
● Algumas Lps podem rodar em verdadeiras
plataformas que incluem até máquinas virtuais.
Estas tecnologias normalmente passam por um
processo que gera um arquivo intermediário
chamado bytecode que é específico para a VM
daquela linguagem. Este bytecode então pode ser
interpretado e executado para aquela VM em
qualquer plataforma.
– Ex.: Java, C#, .Net, Lua, Adobe Flash...
Carlos Wagner 14
Bytecode java
Carlos Wagner 15
Compiladores de compiladores
● Ou gerador de compilador, gerador de analisador
sintático ou ainda gerador de parser – é um
algoritmo, um componente de software ou um
programa de computador que gera o código fonte de
um analisador sintático, interpretador ou compilador
de uma linguagem de programação.
● Na maioria dos casos ele é alimentado com a
descrição sintática e semântica da linguagem
independente de arquitetura, junto com uma uma
descrição do conjunto de instruções da arquitetura
independente de linguagem de programação.
Carlos Wagner 16
Compiladores de compiladores
● ANTLR
● Bison
● Coco/R
● DMS Software Reengineering Toolkit
● ELI
● Grako, a Python EBNF-to-PEG parser generator.
● Lemon
● parboiled, a Java library for building parsers.
● Packrat parser
● PQCC, a compiler-compiler that is more than a parser generator.
● SYNTAX, an integrated toolset for compiler construction
● VisualLangLab, a visual parser generator for JVM languages.
● Yacc
● XPL
Carlos Wagner 17
Técnico em Informática
● Carlos Wagner
– Fone: 8413-6949
– cwagnersc@gmail.com
– http://cwagnersc.blogspot.com
– http://www.facebook.com/CWagnersc

Weitere ähnliche Inhalte

Was ist angesagt?

Algoritmos - Formas de Representação de Algoritmos
Algoritmos - Formas de Representação de AlgoritmosAlgoritmos - Formas de Representação de Algoritmos
Algoritmos - Formas de Representação de AlgoritmosElaine Cecília Gatto
 
Estrutura de Dados - Aula 02 - Estrutura de Dados e TAD
Estrutura de Dados - Aula 02 - Estrutura de Dados e TADEstrutura de Dados - Aula 02 - Estrutura de Dados e TAD
Estrutura de Dados - Aula 02 - Estrutura de Dados e TADLeinylson Fontinele
 
Aula 01 - Algoritmo e Programação
Aula 01 - Algoritmo e ProgramaçãoAula 01 - Algoritmo e Programação
Aula 01 - Algoritmo e ProgramaçãoAislan Rafael
 
Sistemas Operacionais - Aula 02 (Visão geral de sistemas operacionais)
Sistemas Operacionais - Aula 02 (Visão geral de sistemas operacionais)Sistemas Operacionais - Aula 02 (Visão geral de sistemas operacionais)
Sistemas Operacionais - Aula 02 (Visão geral de sistemas operacionais)Leinylson Fontinele
 
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)Gercélia Ramos
 
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
 
Hierarquia de memória
Hierarquia de memóriaHierarquia de memória
Hierarquia de memóriaPAULO Moreira
 
Introdução à Programação
Introdução à ProgramaçãoIntrodução à Programação
Introdução à ProgramaçãoMario Sergio
 
Sistemas Operacionais - Aula 01 (Conceitos básicos de so)
Sistemas Operacionais - Aula 01 (Conceitos básicos de so)Sistemas Operacionais - Aula 01 (Conceitos básicos de so)
Sistemas Operacionais - Aula 01 (Conceitos básicos de so)Leinylson Fontinele
 
Aula 3 compiladores e interpretadores
Aula 3   compiladores e interpretadoresAula 3   compiladores e interpretadores
Aula 3 compiladores e interpretadoresLCCIMETRO
 
Estrutura de Dados - Aula 01 - Apresentação
Estrutura de Dados - Aula 01 - ApresentaçãoEstrutura de Dados - Aula 01 - Apresentação
Estrutura de Dados - Aula 01 - ApresentaçãoLeinylson Fontinele
 
Sistemas Operacionais Modernos Capítulo 3 Deadlock
Sistemas Operacionais Modernos Capítulo 3 DeadlockSistemas Operacionais Modernos Capítulo 3 Deadlock
Sistemas Operacionais Modernos Capítulo 3 DeadlockWellington Oliveira
 
Algoritmos e Programação: Estruturas de repetição
Algoritmos e Programação: Estruturas de repetiçãoAlgoritmos e Programação: Estruturas de repetição
Algoritmos e Programação: Estruturas de repetiçãoAlex Camargo
 
Estrutura de Dados - Aula de revisão de C na prática
Estrutura de Dados - Aula de revisão de C na práticaEstrutura de Dados - Aula de revisão de C na prática
Estrutura de Dados - Aula de revisão de C na práticaLeinylson Fontinele
 
Lógica de programação pascal
Lógica de programação   pascalLógica de programação   pascal
Lógica de programação pascalJocelma Rios
 
Organização de computadores
Organização de computadoresOrganização de computadores
Organização de computadoresKaren Costa
 

Was ist angesagt? (20)

Algoritmos - Formas de Representação de Algoritmos
Algoritmos - Formas de Representação de AlgoritmosAlgoritmos - Formas de Representação de Algoritmos
Algoritmos - Formas de Representação de Algoritmos
 
Estrutura de Dados - Aula 02 - Estrutura de Dados e TAD
Estrutura de Dados - Aula 02 - Estrutura de Dados e TADEstrutura de Dados - Aula 02 - Estrutura de Dados e TAD
Estrutura de Dados - Aula 02 - Estrutura de Dados e TAD
 
Aula 01 - Algoritmo e Programação
Aula 01 - Algoritmo e ProgramaçãoAula 01 - Algoritmo e Programação
Aula 01 - Algoritmo e Programação
 
Sistemas Operacionais - Aula 02 (Visão geral de sistemas operacionais)
Sistemas Operacionais - Aula 02 (Visão geral de sistemas operacionais)Sistemas Operacionais - Aula 02 (Visão geral de sistemas operacionais)
Sistemas Operacionais - Aula 02 (Visão geral de sistemas operacionais)
 
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
 
TDD com Python
TDD com PythonTDD com Python
TDD com Python
 
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
 
Hierarquia de memória
Hierarquia de memóriaHierarquia de memória
Hierarquia de memória
 
História e evolução dos computadores
História e evolução dos computadores História e evolução dos computadores
História e evolução dos computadores
 
Introdução à Programação
Introdução à ProgramaçãoIntrodução à Programação
Introdução à Programação
 
Sistemas Operacionais - Aula 01 (Conceitos básicos de so)
Sistemas Operacionais - Aula 01 (Conceitos básicos de so)Sistemas Operacionais - Aula 01 (Conceitos básicos de so)
Sistemas Operacionais - Aula 01 (Conceitos básicos de so)
 
Algoritmo 04 - Estruturas de decisão
 Algoritmo 04 - Estruturas de decisão Algoritmo 04 - Estruturas de decisão
Algoritmo 04 - Estruturas de decisão
 
Paradigmas de Linguagem
Paradigmas de LinguagemParadigmas de Linguagem
Paradigmas de Linguagem
 
Aula 3 compiladores e interpretadores
Aula 3   compiladores e interpretadoresAula 3   compiladores e interpretadores
Aula 3 compiladores e interpretadores
 
Estrutura de Dados - Aula 01 - Apresentação
Estrutura de Dados - Aula 01 - ApresentaçãoEstrutura de Dados - Aula 01 - Apresentação
Estrutura de Dados - Aula 01 - Apresentação
 
Sistemas Operacionais Modernos Capítulo 3 Deadlock
Sistemas Operacionais Modernos Capítulo 3 DeadlockSistemas Operacionais Modernos Capítulo 3 Deadlock
Sistemas Operacionais Modernos Capítulo 3 Deadlock
 
Algoritmos e Programação: Estruturas de repetição
Algoritmos e Programação: Estruturas de repetiçãoAlgoritmos e Programação: Estruturas de repetição
Algoritmos e Programação: Estruturas de repetição
 
Estrutura de Dados - Aula de revisão de C na prática
Estrutura de Dados - Aula de revisão de C na práticaEstrutura de Dados - Aula de revisão de C na prática
Estrutura de Dados - Aula de revisão de C na prática
 
Lógica de programação pascal
Lógica de programação   pascalLógica de programação   pascal
Lógica de programação pascal
 
Organização de computadores
Organização de computadoresOrganização de computadores
Organização de computadores
 

Ähnlich wie Técnico Informática Carlos Wagner

Ähnlich wie Técnico Informática Carlos Wagner (20)

Técnicas_Implementação
Técnicas_ImplementaçãoTécnicas_Implementação
Técnicas_Implementação
 
Aula01 - Analise e Programação
Aula01 - Analise e ProgramaçãoAula01 - Analise e Programação
Aula01 - Analise e Programação
 
aula03-introprogy.pptx
aula03-introprogy.pptxaula03-introprogy.pptx
aula03-introprogy.pptx
 
Linguagem de programação
Linguagem de programaçãoLinguagem de programação
Linguagem de programação
 
paradigmasdlsksmmskskkekekekekedmmmdmdmmf.pdf
paradigmasdlsksmmskskkekekekekedmmmdmdmmf.pdfparadigmasdlsksmmskskkekekekekedmmmdmdmmf.pdf
paradigmasdlsksmmskskkekekekekedmmmdmdmmf.pdf
 
Linguagem de programação
Linguagem de programação Linguagem de programação
Linguagem de programação
 
Linguagem da programação
Linguagem da programaçãoLinguagem da programação
Linguagem da programação
 
Linguagem da programação
Linguagem da programaçãoLinguagem da programação
Linguagem da programação
 
Pascal 70
Pascal 70Pascal 70
Pascal 70
 
Linguágens de programação
Linguágens de programaçãoLinguágens de programação
Linguágens de programação
 
Linguagens de programação
Linguagens de programaçãoLinguagens de programação
Linguagens de programação
 
Aula 03 - Interpretador [mr_@@@@@].pdf
Aula 03 - Interpretador [mr_@@@@@].pdfAula 03 - Interpretador [mr_@@@@@].pdf
Aula 03 - Interpretador [mr_@@@@@].pdf
 
Software
SoftwareSoftware
Software
 
Lp m2
Lp m2Lp m2
Lp m2
 
Int. sistemas de informação iii
Int. sistemas de informação iiiInt. sistemas de informação iii
Int. sistemas de informação iii
 
Paradigmas de Linguagens de Programação - Classificações
Paradigmas de Linguagens de Programação - ClassificaçõesParadigmas de Linguagens de Programação - Classificações
Paradigmas de Linguagens de Programação - Classificações
 
Apostila c
Apostila cApostila c
Apostila c
 
Lp m2(parte1)
Lp m2(parte1)Lp m2(parte1)
Lp m2(parte1)
 
Compilador
CompiladorCompilador
Compilador
 
Noções Básicas do Software dos Computadores Digitais
Noções Básicas do Software dos Computadores DigitaisNoções Básicas do Software dos Computadores Digitais
Noções Básicas do Software dos Computadores Digitais
 

Mehr von Carlos Wagner Costa (18)

Raspberry pi
Raspberry piRaspberry pi
Raspberry pi
 
Apresentacao dev ops
Apresentacao dev opsApresentacao dev ops
Apresentacao dev ops
 
Palestra semana pedagógica2
Palestra semana pedagógica2Palestra semana pedagógica2
Palestra semana pedagógica2
 
Ubuntu 13.04
Ubuntu 13.04Ubuntu 13.04
Ubuntu 13.04
 
História da computação
História da computaçãoHistória da computação
História da computação
 
Vetores
VetoresVetores
Vetores
 
Funções
FunçõesFunções
Funções
 
Lógica booleana e estruturas condicionais
Lógica booleana e estruturas condicionaisLógica booleana e estruturas condicionais
Lógica booleana e estruturas condicionais
 
Estrutura i o e operações mtm
Estrutura i o e operações mtmEstrutura i o e operações mtm
Estrutura i o e operações mtm
 
Variáveis e portugol
Variáveis e portugolVariáveis e portugol
Variáveis e portugol
 
Linguagens de programação
Linguagens de programaçãoLinguagens de programação
Linguagens de programação
 
Paradigmas de programação
Paradigmas de programaçãoParadigmas de programação
Paradigmas de programação
 
Programação de computadores
Programação de computadoresProgramação de computadores
Programação de computadores
 
Software
SoftwareSoftware
Software
 
Organização de computadores
Organização de computadoresOrganização de computadores
Organização de computadores
 
Famílias de computadores
Famílias de computadoresFamílias de computadores
Famílias de computadores
 
Computador
ComputadorComputador
Computador
 
Computação Básica - Aula 1
Computação Básica - Aula 1Computação Básica - Aula 1
Computação Básica - Aula 1
 

Técnico Informática Carlos Wagner

  • 1. Carlos Wagner 1 Técnico em Informática ● Prof.: Carlos Wagner – Linux Básico – Programação 1 – Introdução a Sistemas Distribuídos e Segurança de Redes – Montagem e manutenção
  • 2. Carlos Wagner 2 Linguages de Programação e Compiladores ● Linguagens de programação são conjuntos de padrões e comandos usados para dar ordens aos computadores; ● Compiladores são os programas que transformam os programas escritos em linguagens de programação (de baixo ou alto nível) para a linguagem de máquina, própria da plataforma do equipamento.
  • 3. Carlos Wagner 3 Linguages de Programação e Compiladores ● Linguagens de baixo nível estão mais relacionadas com a arquitetura dos equipamentos e portanto são diferentes entre si; ● LPs de alto nível estão mais longe dos detalhes das máquinas e são padronizadas.
  • 4. Carlos Wagner 4 Paradigmas de programação ● Fornecem e determinam a visão que o programador possui sobre a estruturação e execução do programa: – Procedural; – Estruturada; – Modular; – Orientada a objetos; – Linear.
  • 5. Carlos Wagner 5 Paradigmas de programação ● Procedural ou programação imperativa: baseado no conceito de chamadas a procedimentos (rotinas, subrotinas, métodos ou funções) – Facilidade em reutilizar código; – Facilita organizar o fluxo do programa; ● Ex.: Ada, Algol, Basic, C/C++, Cobol, D, ECMAScript, Frtran...
  • 6. Carlos Wagner 6 Paradigmas de programação ● Estruturada: preconiza, recomenda que todos os programas possíveis podem ser reduzidos a apenas três estruturas: sequência, decisão e repetição. – Ex.: C/C++, Pascal, Basic, Cobol
  • 7. Carlos Wagner 7 Paradigmas de programação ● Orientado a objetos: baseado na composição e interação de diversas unidades de software chamadas objetos. Objetos são instâncias das Classes que definem atributos e métodos que devem ser usados e manipulados para executarem os programas. – Ex.: C++, Object Pascal, Smalltalk, C#, Ada
  • 8. Carlos Wagner 8 Compiladores ● Um compilador é um programa de sistema que traduz um programa descrito em uma linguagem de programação de alto nível para um programa equivalente em código de máquina para um determinado processador.
  • 9. Carlos Wagner 9 Compiladores ● Uma LP consiste essencialmente de uma sequência de strings ou símbolos com regras oara definir quais dessas sequenências são válidas na linguagem (sintaxe) ● A interpretação do significado de uma sequência válida de símbolos corresponde à semântica da linguagem. ● A sintaxe de uma LP é expressa na forma de uma gramática.
  • 10. Carlos Wagner 10 Linguagens interpretadas ● Nem todas as linguagens precisam ser compiladas. Algumas podem ser interpretadas e outras ainda devem ser executadas em máquinas virtuais. ● As linguagens interpretadas precisam de um programa (interpretador) que leem o código fonte do programa e executam os comandos contidos no arquivo.
  • 11. Carlos Wagner 11 Linguagens interpretadas ● Nem todas as linguagens precisam ser compiladas. Algumas podem ser interpretadas e outras ainda devem ser executadas em máquinas virtuais. ● As linguagens interpretadas precisam de um programa (interpretador) que leem o código fonte do programa e executam os comandos contidos no arquivo.
  • 12. Carlos Wagner 12 Linguagens interpretadas ● Exemplos de linguagens interpretadas: Basic, Logo, R, S, Python, Lisp, JavaScript, Lua, Ruby, VBScript, ActionScript...
  • 13. Carlos Wagner 13 Linguagens que geram bytecode ● Algumas Lps podem rodar em verdadeiras plataformas que incluem até máquinas virtuais. Estas tecnologias normalmente passam por um processo que gera um arquivo intermediário chamado bytecode que é específico para a VM daquela linguagem. Este bytecode então pode ser interpretado e executado para aquela VM em qualquer plataforma. – Ex.: Java, C#, .Net, Lua, Adobe Flash...
  • 15. Carlos Wagner 15 Compiladores de compiladores ● Ou gerador de compilador, gerador de analisador sintático ou ainda gerador de parser – é um algoritmo, um componente de software ou um programa de computador que gera o código fonte de um analisador sintático, interpretador ou compilador de uma linguagem de programação. ● Na maioria dos casos ele é alimentado com a descrição sintática e semântica da linguagem independente de arquitetura, junto com uma uma descrição do conjunto de instruções da arquitetura independente de linguagem de programação.
  • 16. Carlos Wagner 16 Compiladores de compiladores ● ANTLR ● Bison ● Coco/R ● DMS Software Reengineering Toolkit ● ELI ● Grako, a Python EBNF-to-PEG parser generator. ● Lemon ● parboiled, a Java library for building parsers. ● Packrat parser ● PQCC, a compiler-compiler that is more than a parser generator. ● SYNTAX, an integrated toolset for compiler construction ● VisualLangLab, a visual parser generator for JVM languages. ● Yacc ● XPL
  • 17. Carlos Wagner 17 Técnico em Informática ● Carlos Wagner – Fone: 8413-6949 – cwagnersc@gmail.com – http://cwagnersc.blogspot.com – http://www.facebook.com/CWagnersc