SlideShare uma empresa Scribd logo
Programação I
Programação de Computadores e
Algoritmos
23/08/2011
Paradigmas ou como ver um
problema
● Fornece e determina a visão que o
programador possui sobre a estruturação
e execução do programa;
● Se define na forma como o programador
lida com um determinado problema;
● Modelo, padrão ou estilo de programação
suportado por linguagens que agrupam
certas características comuns;
Paradigmas e linguagens
● Imperativo ou procedural: O problema é
analisado até que se encontre uma
solução; sequência de comandos que o
computador executarpa, passo-a-passo
modificando o estado e conteúdo de
variáveis a fim de alcançar o resultado
esperado.
● Ex.: Algol, BASIC, C, PASCAL...
Paradigmas e linguagens
● Declarativo: método preciso de descrever
um problema, sem se preocupar com um
algoritmo específico. É baseado em
axiomas (verdades universais) e regras de
inferência.
● Ex.: Prolog
Paradigmas e linguagens
● Funcional ou modular: Consiste no
desenvolvimento de rotinas de
programação interligadas através de uma
interface comum.
● Ex.: Arc, Cat, Lisp, Common Lisp,
Haskell, OCaml
Paradigmas e linguagens
● Orientado a Objetos: Baseado na
composição e interação entre diversas
unidades de software chamadas de
objetos. Tudo é objeto, com estrutura e
comportamento (ou atributos e métodos).
● Ex.: C++, C#, Java, Object Pascal,
Object-C, Python, Smalltalk...
● Ex. 2: ActionScript, ColdFusion,
Javascript, PHP, Perl, etc têm suporte a
orientação a objetos.
Paradigmas e linguagens
● Programação literária: paradigma
baseado na premissa que um programa
deve ser escrito tendo a legibilidade
humana como principal objetivo, similar a
um trabalho de literatura.
● Ex.: CWEB
Paradigmas e linguagens
Qual paradigma usar?
● Depende muito do tipo de problema em si,
das ferramentas de programação
(linguagens), da experiência do
programador e/ou equipe de
desenvolvimento;
● Podem ser utilizados mais de um
paradigma em um programa ou sistema;
Qual paradigma usar?
● Depende muito do tipo de problema em si,
das ferramentas de programação
(linguagens), da experiência do
programador e/ou equipe de
desenvolvimento;
● Podem ser utilizados mais de um
paradigma em um programa ou sistema;

Mais conteúdo relacionado

Mais procurados

Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetos
Cleyton Ferrari
 
Aula de Introdução - JAVA
Aula de Introdução  - JAVAAula de Introdução  - JAVA
Aula de Introdução - JAVA
Moises Omena
 
UML
UMLUML
Aula - Metodologias Ágeis
Aula - Metodologias ÁgeisAula - Metodologias Ágeis
Aula - Metodologias Ágeis
Mauricio Cesar Santos da Purificação
 
Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)
Gercélia Ramos
 
Introdução a JavaScript
Introdução a JavaScriptIntrodução a JavaScript
Introdução a JavaScript
Bruno Catão
 
Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }
Mariana Camargo
 
As vantagens e desvantagens da aplicação de padrões de projeto
As vantagens e desvantagens da aplicação de padrões de projetoAs vantagens e desvantagens da aplicação de padrões de projeto
As vantagens e desvantagens da aplicação de padrões de projeto
Gabriel Galdino
 
Gerenciamento de tempo em projetos
Gerenciamento de tempo em projetosGerenciamento de tempo em projetos
Gerenciamento de tempo em projetos
Paulo Junior
 
Aula Lógica de Programação - cap1
Aula Lógica de Programação - cap1 Aula Lógica de Programação - cap1
Aula Lógica de Programação - cap1
Cloves da Rocha
 
Aula 02 - Introdução ao PHP
Aula 02 - Introdução ao PHPAula 02 - Introdução ao PHP
Aula 02 - Introdução ao PHP
Daniel Brandão
 
Linguagens de Programação
Linguagens de ProgramaçãoLinguagens de Programação
Linguagens de Programação
BeDMK
 
Gof design patterns
Gof design patternsGof design patterns
Gof design patterns
Eduardo Carvalho
 
Introdução à Programação Web com Angular
Introdução à Programação Web com AngularIntrodução à Programação Web com Angular
Introdução à Programação Web com Angular
Elmano Cavalcanti
 
Linguagens de programação
Linguagens de programaçãoLinguagens de programação
Linguagens de programação
essa
 
Aula 1 - Introdução ao Mobile
Aula 1 - Introdução ao MobileAula 1 - Introdução ao Mobile
Aula 1 - Introdução ao Mobile
Cloves da Rocha
 
Minicurso de JavaScript (Portuguese)
Minicurso de JavaScript (Portuguese)Minicurso de JavaScript (Portuguese)
Minicurso de JavaScript (Portuguese)
Bruno Grange
 
Aula 1 requisitos
Aula 1   requisitosAula 1   requisitos
Aula 1 requisitos
licardino
 
JAVA - Orientação a Objetos
JAVA - Orientação a ObjetosJAVA - Orientação a Objetos
JAVA - Orientação a Objetos
Elaine Cecília Gatto
 
Concepções de linguagem e sua implicação para o ensino de línguas.
Concepções de linguagem e sua implicação para o ensino de línguas. Concepções de linguagem e sua implicação para o ensino de línguas.
Concepções de linguagem e sua implicação para o ensino de línguas.
Ailton Moreira
 

Mais procurados (20)

Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetos
 
Aula de Introdução - JAVA
Aula de Introdução  - JAVAAula de Introdução  - JAVA
Aula de Introdução - JAVA
 
UML
UMLUML
UML
 
Aula - Metodologias Ágeis
Aula - Metodologias ÁgeisAula - Metodologias Ágeis
Aula - Metodologias Ágeis
 
Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)
 
Introdução a JavaScript
Introdução a JavaScriptIntrodução a JavaScript
Introdução a JavaScript
 
Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }
 
As vantagens e desvantagens da aplicação de padrões de projeto
As vantagens e desvantagens da aplicação de padrões de projetoAs vantagens e desvantagens da aplicação de padrões de projeto
As vantagens e desvantagens da aplicação de padrões de projeto
 
Gerenciamento de tempo em projetos
Gerenciamento de tempo em projetosGerenciamento de tempo em projetos
Gerenciamento de tempo em projetos
 
Aula Lógica de Programação - cap1
Aula Lógica de Programação - cap1 Aula Lógica de Programação - cap1
Aula Lógica de Programação - cap1
 
Aula 02 - Introdução ao PHP
Aula 02 - Introdução ao PHPAula 02 - Introdução ao PHP
Aula 02 - Introdução ao PHP
 
Linguagens de Programação
Linguagens de ProgramaçãoLinguagens de Programação
Linguagens de Programação
 
Gof design patterns
Gof design patternsGof design patterns
Gof design patterns
 
Introdução à Programação Web com Angular
Introdução à Programação Web com AngularIntrodução à Programação Web com Angular
Introdução à Programação Web com Angular
 
Linguagens de programação
Linguagens de programaçãoLinguagens de programação
Linguagens de programação
 
Aula 1 - Introdução ao Mobile
Aula 1 - Introdução ao MobileAula 1 - Introdução ao Mobile
Aula 1 - Introdução ao Mobile
 
Minicurso de JavaScript (Portuguese)
Minicurso de JavaScript (Portuguese)Minicurso de JavaScript (Portuguese)
Minicurso de JavaScript (Portuguese)
 
Aula 1 requisitos
Aula 1   requisitosAula 1   requisitos
Aula 1 requisitos
 
JAVA - Orientação a Objetos
JAVA - Orientação a ObjetosJAVA - Orientação a Objetos
JAVA - Orientação a Objetos
 
Concepções de linguagem e sua implicação para o ensino de línguas.
Concepções de linguagem e sua implicação para o ensino de línguas. Concepções de linguagem e sua implicação para o ensino de línguas.
Concepções de linguagem e sua implicação para o ensino de línguas.
 

Destaque

Algoritmos - Paradigmas de Programação
Algoritmos - Paradigmas de ProgramaçãoAlgoritmos - Paradigmas de Programação
Algoritmos - Paradigmas de Programação
Elaine Cecília Gatto
 
Linguágens de programação
Linguágens de programaçãoLinguágens de programação
Linguágens de programação
AlbertoVach
 
Introdução ao paradigma imperativo
Introdução ao paradigma imperativoIntrodução ao paradigma imperativo
Introdução ao paradigma imperativo
Tony Alexander Hild
 
Apresentação linguagem cobol
Apresentação linguagem cobolApresentação linguagem cobol
Apresentação linguagem cobol
Lorranna Machado
 
Introdução ao paradigma funcional com scala
Introdução ao paradigma funcional com scalaIntrodução ao paradigma funcional com scala
Introdução ao paradigma funcional com scala
Gustavo Fernandes Dos Santos
 
4 introdução ao paradigma funcional
4 introdução ao paradigma funcional4 introdução ao paradigma funcional
4 introdução ao paradigma funcional
Péricles Miranda
 
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
 

Destaque (7)

Algoritmos - Paradigmas de Programação
Algoritmos - Paradigmas de ProgramaçãoAlgoritmos - Paradigmas de Programação
Algoritmos - Paradigmas de Programação
 
Linguágens de programação
Linguágens de programaçãoLinguágens de programação
Linguágens de programação
 
Introdução ao paradigma imperativo
Introdução ao paradigma imperativoIntrodução ao paradigma imperativo
Introdução ao paradigma imperativo
 
Apresentação linguagem cobol
Apresentação linguagem cobolApresentação linguagem cobol
Apresentação linguagem cobol
 
Introdução ao paradigma funcional com scala
Introdução ao paradigma funcional com scalaIntrodução ao paradigma funcional com scala
Introdução ao paradigma funcional com scala
 
4 introdução ao paradigma funcional
4 introdução ao paradigma funcional4 introdução ao paradigma funcional
4 introdução ao paradigma funcional
 
Paradigmas De Linguagem De Programação.
Paradigmas De Linguagem De Programação.Paradigmas De Linguagem De Programação.
Paradigmas De Linguagem De Programação.
 

Semelhante a Paradigmas de programação

Metodologia e Linguagem de Programação - Aula 1
Metodologia e Linguagem de Programação - Aula 1Metodologia e Linguagem de Programação - Aula 1
Metodologia e Linguagem de Programação - Aula 1
Thyago Maia
 
Técnicas_Implementação
Técnicas_ImplementaçãoTécnicas_Implementação
Técnicas_Implementação
Wagner Zaparoli
 
Apresentação final
Apresentação finalApresentação final
Apresentação final
valmon
 
Linguagem da programação
Linguagem da programaçãoLinguagem da programação
Linguagem da programação
Rodrigo Gonçalves
 
Linguagem da programação
Linguagem da programaçãoLinguagem da programação
Linguagem da programação
Rodrigo Gonçalves
 
Linguagens de programação
Linguagens de programaçãoLinguagens de programação
Linguagens de programação
Elaine Cecília Gatto
 
Orientação a Aspectos em PHP
Orientação a Aspectos em PHPOrientação a Aspectos em PHP
Orientação a Aspectos em PHP
Flávio Lisboa
 
Aula01 estrutura de dados - (começando as brincadeiras)
Aula01   estrutura de dados - (começando as brincadeiras)Aula01   estrutura de dados - (começando as brincadeiras)
Aula01 estrutura de dados - (começando as brincadeiras)
Cleyton Fábio
 
01 aula1 habib
01 aula1 habib01 aula1 habib
01 aula1 habib
eduardohabib
 
Aula01 - Analise e Programação
Aula01 - Analise e ProgramaçãoAula01 - Analise e Programação
Aula01 - Analise e Programação
Jorge Ávila Miranda
 
Comparativo do uso de linguagens de programação e geradores de código no dese...
Comparativo do uso de linguagens de programação e geradores de código no dese...Comparativo do uso de linguagens de programação e geradores de código no dese...
Comparativo do uso de linguagens de programação e geradores de código no dese...
Congresso Catarinense de Ciências da Computação
 
Java programação orientada a objetos
Java   programação orientada a objetosJava   programação orientada a objetos
Java programação orientada a objetos
Paulo Carvalho
 
Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos
Luis Ferreira
 
Programação orientada a aspectos
Programação orientada a aspectosProgramação orientada a aspectos
Programação orientada a aspectos
Ruben Blenicio Tavares Silva
 
Cap02
Cap02Cap02
Cap02
mvbahamut
 
Cap02
Cap02Cap02
Cap02
mvbahamut
 
Cap02
Cap02Cap02
Cap02
mvbahamut
 
Programação Pragmática
Programação PragmáticaProgramação Pragmática
Programação Pragmática
elliando dias
 
Programe a eficácia do seu código
Programe a eficácia do seu códigoPrograme a eficácia do seu código
Programe a eficácia do seu código
Ana Claudia Nogueira
 
Escalando apps com React e Type Script e SOLID
Escalando apps com React e Type Script e SOLIDEscalando apps com React e Type Script e SOLID
Escalando apps com React e Type Script e SOLID
Ruben Marcus Luz Paschoarelli
 

Semelhante a Paradigmas de programação (20)

Metodologia e Linguagem de Programação - Aula 1
Metodologia e Linguagem de Programação - Aula 1Metodologia e Linguagem de Programação - Aula 1
Metodologia e Linguagem de Programação - Aula 1
 
Técnicas_Implementação
Técnicas_ImplementaçãoTécnicas_Implementação
Técnicas_Implementação
 
Apresentação final
Apresentação finalApresentação final
Apresentação final
 
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
 
Linguagens de programação
Linguagens de programaçãoLinguagens de programação
Linguagens de programação
 
Orientação a Aspectos em PHP
Orientação a Aspectos em PHPOrientação a Aspectos em PHP
Orientação a Aspectos em PHP
 
Aula01 estrutura de dados - (começando as brincadeiras)
Aula01   estrutura de dados - (começando as brincadeiras)Aula01   estrutura de dados - (começando as brincadeiras)
Aula01 estrutura de dados - (começando as brincadeiras)
 
01 aula1 habib
01 aula1 habib01 aula1 habib
01 aula1 habib
 
Aula01 - Analise e Programação
Aula01 - Analise e ProgramaçãoAula01 - Analise e Programação
Aula01 - Analise e Programação
 
Comparativo do uso de linguagens de programação e geradores de código no dese...
Comparativo do uso de linguagens de programação e geradores de código no dese...Comparativo do uso de linguagens de programação e geradores de código no dese...
Comparativo do uso de linguagens de programação e geradores de código no dese...
 
Java programação orientada a objetos
Java   programação orientada a objetosJava   programação orientada a objetos
Java programação orientada a objetos
 
Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos
 
Programação orientada a aspectos
Programação orientada a aspectosProgramação orientada a aspectos
Programação orientada a aspectos
 
Cap02
Cap02Cap02
Cap02
 
Cap02
Cap02Cap02
Cap02
 
Cap02
Cap02Cap02
Cap02
 
Programação Pragmática
Programação PragmáticaProgramação Pragmática
Programação Pragmática
 
Programe a eficácia do seu código
Programe a eficácia do seu códigoPrograme a eficácia do seu código
Programe a eficácia do seu código
 
Escalando apps com React e Type Script e SOLID
Escalando apps com React e Type Script e SOLIDEscalando apps com React e Type Script e SOLID
Escalando apps com React e Type Script e SOLID
 

Mais de Carlos Wagner Costa

Raspberry pi
Raspberry piRaspberry pi
Raspberry pi
Carlos Wagner Costa
 
Apresentacao dev ops
Apresentacao dev opsApresentacao dev ops
Apresentacao dev ops
Carlos Wagner Costa
 
Palestra semana pedagógica2
Palestra semana pedagógica2Palestra semana pedagógica2
Palestra semana pedagógica2
Carlos Wagner Costa
 
Ubuntu 13.04
Ubuntu 13.04Ubuntu 13.04
Ubuntu 13.04
Carlos Wagner Costa
 
Compiladores
CompiladoresCompiladores
Compiladores
Carlos Wagner Costa
 
História da computação
História da computaçãoHistória da computação
História da computação
Carlos Wagner Costa
 
Vetores
VetoresVetores
Funções
FunçõesFunções
Lógica booleana e estruturas condicionais
Lógica booleana e estruturas condicionaisLógica booleana e estruturas condicionais
Lógica booleana e estruturas condicionais
Carlos Wagner Costa
 
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
Carlos Wagner Costa
 
Variáveis e portugol
Variáveis e portugolVariáveis e portugol
Variáveis e portugol
Carlos Wagner Costa
 
Linguagens de programação
Linguagens de programaçãoLinguagens de programação
Linguagens de programação
Carlos Wagner Costa
 
Programação de computadores
Programação de computadoresProgramação de computadores
Programação de computadores
Carlos Wagner Costa
 
Software
SoftwareSoftware
Organização de computadores
Organização de computadoresOrganização de computadores
Organização de computadores
Carlos Wagner Costa
 
Famílias de computadores
Famílias de computadoresFamílias de computadores
Famílias de computadores
Carlos Wagner Costa
 
Computação Básica - Aula 1
Computação Básica - Aula 1Computação Básica - Aula 1
Computação Básica - Aula 1
Carlos Wagner Costa
 

Mais de 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
 
Compiladores
CompiladoresCompiladores
Compiladores
 
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
 
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
 

Paradigmas de programação

  • 1. Programação I Programação de Computadores e Algoritmos 23/08/2011
  • 2. Paradigmas ou como ver um problema ● Fornece e determina a visão que o programador possui sobre a estruturação e execução do programa; ● Se define na forma como o programador lida com um determinado problema; ● Modelo, padrão ou estilo de programação suportado por linguagens que agrupam certas características comuns;
  • 3. Paradigmas e linguagens ● Imperativo ou procedural: O problema é analisado até que se encontre uma solução; sequência de comandos que o computador executarpa, passo-a-passo modificando o estado e conteúdo de variáveis a fim de alcançar o resultado esperado. ● Ex.: Algol, BASIC, C, PASCAL...
  • 4. Paradigmas e linguagens ● Declarativo: método preciso de descrever um problema, sem se preocupar com um algoritmo específico. É baseado em axiomas (verdades universais) e regras de inferência. ● Ex.: Prolog
  • 5. Paradigmas e linguagens ● Funcional ou modular: Consiste no desenvolvimento de rotinas de programação interligadas através de uma interface comum. ● Ex.: Arc, Cat, Lisp, Common Lisp, Haskell, OCaml
  • 6. Paradigmas e linguagens ● Orientado a Objetos: Baseado na composição e interação entre diversas unidades de software chamadas de objetos. Tudo é objeto, com estrutura e comportamento (ou atributos e métodos). ● Ex.: C++, C#, Java, Object Pascal, Object-C, Python, Smalltalk... ● Ex. 2: ActionScript, ColdFusion, Javascript, PHP, Perl, etc têm suporte a orientação a objetos.
  • 7. Paradigmas e linguagens ● Programação literária: paradigma baseado na premissa que um programa deve ser escrito tendo a legibilidade humana como principal objetivo, similar a um trabalho de literatura. ● Ex.: CWEB
  • 9. Qual paradigma usar? ● Depende muito do tipo de problema em si, das ferramentas de programação (linguagens), da experiência do programador e/ou equipe de desenvolvimento; ● Podem ser utilizados mais de um paradigma em um programa ou sistema;
  • 10. Qual paradigma usar? ● Depende muito do tipo de problema em si, das ferramentas de programação (linguagens), da experiência do programador e/ou equipe de desenvolvimento; ● Podem ser utilizados mais de um paradigma em um programa ou sistema;