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

Introdução à Programação
Introdução à ProgramaçãoIntrodução à Programação
Introdução à Programação
Mario Sergio
 
Android - Programação para dispositivos móveis (Aula 1)
Android - Programação para dispositivos móveis (Aula 1)Android - Programação para dispositivos móveis (Aula 1)
Android - Programação para dispositivos móveis (Aula 1)Ricardo Longa
 
Estrutura de Programas
Estrutura de ProgramasEstrutura de Programas
Estrutura de ProgramasSidney Roberto
 
Paradigmas de Programação
Paradigmas de ProgramaçãoParadigmas de Programação
Paradigmas de Programação
Natanael Simões
 
Introdução à programação
Introdução à programação Introdução à programação
Introdução à programação
João Piedade
 
Curso javascript básico
Curso javascript básicoCurso javascript básico
Curso javascript básico
Vinicius Dacal Lopes
 
Orientação a Objetos em Python
Orientação a Objetos em PythonOrientação a Objetos em Python
Orientação a Objetos em Python
Luciano Ramalho
 
Modelos de Processo de Software
Modelos de Processo de SoftwareModelos de Processo de Software
Modelos de Processo de Software
Rogerio P C do Nascimento
 
Aula 03 - Hardware e Software
Aula 03 - Hardware e SoftwareAula 03 - Hardware e Software
Aula 03 - Hardware e Software
Suzana Viana Mota
 
Aula02 conhecendo o computador
Aula02 conhecendo o computadorAula02 conhecendo o computador
Aula02 conhecendo o computadordalvaguedes
 
Informática Básica - Aula 04 - Software
Informática Básica - Aula 04 - SoftwareInformática Básica - Aula 04 - Software
Informática Básica - Aula 04 - Software
Joeldson Costa Damasceno
 
Aula 0. introdução ao scratch 1.4
Aula 0. introdução ao scratch 1.4Aula 0. introdução ao scratch 1.4
Aula 0. introdução ao scratch 1.4Scratch_TCC
 
Apresentação HTML e CSS
Apresentação HTML e CSSApresentação HTML e CSS
Apresentação HTML e CSS
ledsifes
 
Aulas 1 e 2 - Hardware
Aulas 1 e 2 - HardwareAulas 1 e 2 - Hardware
Aulas 1 e 2 - Hardware
Jocelma Rios
 
Aula 01 - Ms PowerPoint
Aula 01 - Ms  PowerPointAula 01 - Ms  PowerPoint
Aula 01 - Ms PowerPoint
Roney Sousa
 
Aula 06 softwares
Aula 06   softwaresAula 06   softwares
Aula 06 softwares
Vanilson Sertão
 
Algoritmos - Aula 02 - Construcao de algoritmos
Algoritmos - Aula 02 - Construcao de algoritmosAlgoritmos - Aula 02 - Construcao de algoritmos
Algoritmos - Aula 02 - Construcao de algoritmos
Rodrigo Kiyoshi Saito
 
Plano de curso informatica
Plano de curso informaticaPlano de curso informatica
Plano de curso informaticaF Guanambi
 
Paradigmas De Engenharia De Software
Paradigmas De Engenharia De SoftwareParadigmas De Engenharia De Software
Paradigmas De Engenharia De SoftwareRobson Silva Espig
 
Visualg
VisualgVisualg
Visualg
Pedro Silva
 

Mais procurados (20)

Introdução à Programação
Introdução à ProgramaçãoIntrodução à Programação
Introdução à Programação
 
Android - Programação para dispositivos móveis (Aula 1)
Android - Programação para dispositivos móveis (Aula 1)Android - Programação para dispositivos móveis (Aula 1)
Android - Programação para dispositivos móveis (Aula 1)
 
Estrutura de Programas
Estrutura de ProgramasEstrutura de Programas
Estrutura de Programas
 
Paradigmas de Programação
Paradigmas de ProgramaçãoParadigmas de Programação
Paradigmas de Programação
 
Introdução à programação
Introdução à programação Introdução à programação
Introdução à programação
 
Curso javascript básico
Curso javascript básicoCurso javascript básico
Curso javascript básico
 
Orientação a Objetos em Python
Orientação a Objetos em PythonOrientação a Objetos em Python
Orientação a Objetos em Python
 
Modelos de Processo de Software
Modelos de Processo de SoftwareModelos de Processo de Software
Modelos de Processo de Software
 
Aula 03 - Hardware e Software
Aula 03 - Hardware e SoftwareAula 03 - Hardware e Software
Aula 03 - Hardware e Software
 
Aula02 conhecendo o computador
Aula02 conhecendo o computadorAula02 conhecendo o computador
Aula02 conhecendo o computador
 
Informática Básica - Aula 04 - Software
Informática Básica - Aula 04 - SoftwareInformática Básica - Aula 04 - Software
Informática Básica - Aula 04 - Software
 
Aula 0. introdução ao scratch 1.4
Aula 0. introdução ao scratch 1.4Aula 0. introdução ao scratch 1.4
Aula 0. introdução ao scratch 1.4
 
Apresentação HTML e CSS
Apresentação HTML e CSSApresentação HTML e CSS
Apresentação HTML e CSS
 
Aulas 1 e 2 - Hardware
Aulas 1 e 2 - HardwareAulas 1 e 2 - Hardware
Aulas 1 e 2 - Hardware
 
Aula 01 - Ms PowerPoint
Aula 01 - Ms  PowerPointAula 01 - Ms  PowerPoint
Aula 01 - Ms PowerPoint
 
Aula 06 softwares
Aula 06   softwaresAula 06   softwares
Aula 06 softwares
 
Algoritmos - Aula 02 - Construcao de algoritmos
Algoritmos - Aula 02 - Construcao de algoritmosAlgoritmos - Aula 02 - Construcao de algoritmos
Algoritmos - Aula 02 - Construcao de algoritmos
 
Plano de curso informatica
Plano de curso informaticaPlano de curso informatica
Plano de curso informatica
 
Paradigmas De Engenharia De Software
Paradigmas De Engenharia De SoftwareParadigmas De Engenharia De Software
Paradigmas De Engenharia De Software
 
Visualg
VisualgVisualg
Visualg
 

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çãoAlbertoVach
 
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 cobolLorranna 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
 
Linguagens de Programação
Linguagens de ProgramaçãoLinguagens de Programação
Linguagens de Programação
BeDMK
 
4 introdução ao paradigma funcional
4 introdução ao paradigma funcional4 introdução ao paradigma funcional
4 introdução ao paradigma funcionalPé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 (8)

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
 
Linguagens de Programação
Linguagens de ProgramaçãoLinguagens de Programação
Linguagens de Programação
 
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çãoWagner 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
 
Programação Pragmática
Programação PragmáticaProgramação Pragmática
Programação Pragmáticaelliando 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
 
Lógica booleana e estruturas condicionais
Lógica booleana e estruturas condicionaisLógica booleana e estruturas condicionais
Lógica booleana e estruturas condicionaisCarlos 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;