Paradigmas de Programação

Tamanho: px
Começar a partir da página:

Download "Paradigmas de Programação"

Transcrição

1 Paradigmas de Programação Programação Orientada a Objetos Java Prof. Anselmo Cardoso Paiva Prof. Geraldo Braz Junior

2 Linguagem de Programação Linguagem destinada a ser usada por um ser humano para expressar um processo através do qual um computador pode resolver um problema processo Solução 2

3 Para que estudar linguagens? Desenvolvimento da habilidade em resolver problemas. Capacidade de extrair o máximo da funcionalidade e eficiência da LP. Escolha da LP apropriada de cada problema para a solução Facilidade para aprender outras linguagens. 3

4 O que Estudar? Sintaxe: gramática (forma) Semântica: significado Pragmática (ex.: metodologias) Processadores: compiladores, interpretadores, editores, ambientes visuais... 4

5 Histórico das LP FORTRAN (FORmula TRANslation)-1956-John Backus muito utilizada no meio técnico-científico disponibilidade de uma vasta biblioteca Contribuições: variáveis; comando de atribuição; conceito de tipos; modularidade (com o uso de subprogramas); E/S formatadas ; 5

6 Histórico das LP COBOL (COmmon Business Oriented Language) Código é "English-like" Padrão para as aplicações comerciais (até pouco tempo) Excelente para a manipulação de arquivos. Contribuições: código mais legível; estrutura de dados heterogênea (record). 6

7 Histórico das LP ALGOL 60 (ALGorithmic Oriented Language) Linguagem algébrica européia resolução de problemas científicos. Influência marcante Pouco usada em aplicações comerciais Contribuições: estrutura de blocos; comandos de controle estruturados; recursividade. 7

8 Histórico das LP LISP (LISt Processing) John McCartly(MIT) Linguagem funcional criada para dar suporte à pesquisa em Inteligência Artificial. Contribuição: pioneirismo na idéia de computação simbólica ou não-numérica. BASIC (Beginners All-purpose Symbolic Instruction Code) John Kemeny-Thomas Kurtz (Dartmouth College) Contribuições para futuras linguagens: ambiente de programação interativo; conceito de execução interpretativa de programas. 8

9 Histórico das LP PL/I (Programming Language I) -IBM Incorporou: ALGOL 60- estrutura de bloco, de controle e recursividade FORTRAN - subprogramas e E/S formatadas; COBOL - manipulação de arquivos e registros do LISP - alocação dinâmica e estruturas encadeadas linguagem complexa Contribuições: tratamento de interrupção suporte a multitarefa 9

10 Histórico das LP 10 SIMULA 67 destinada a sistemas e programação de simulações. Contribuição: conceito de classe PASCAL - Niklaus Wirth(1969) linguagem de fácil aprendizado e implementação; suporta programação estruturada; adequada para o ensino de programação; Influenciou quase todas posteriores Contribuições: Estruturas de controle flexíveis; tipos definidos pelo usuário; manipulação de arquivos; estruturas de dados heterogêneas e conjuntos.

11 Histórico das LP PROLOG (PROgramming in LOGic) desenvolvida para aplicações de IA Artificial baseada em lógica formal SMALL TALK - Alan Kay -Xerox - Palo Alto Ambiente de programação com menus pop-up, windows e mouse. Modelo OO: conceito de classe, encapsulamento, herança e instanciação. Contribuições: - 1ª a utilizar o paradigma de programação interativa; - Conceito de LP extensível; 11

12 Histórico das LP C - Bell Lab - início dos anos 70 implementação do UNIX. facilidades para a programação em "baixo nível" gera código compacto e eficiente Alta portabilidade MODULA 2 - Niklaus Wirth - final 70's 12 linguagem de propósito geral, baseada em melhorias no Pascal. Acrescentou: - possibilidade de implementar TAD; - existência de uma palavra-chave de terminação para toda estrutura de controle; - co-rotinas - execução intercalada; e tipos de procedimentos;

13 Por que tantas linguagens? Propósitos diferentes Avanços tecnológicos Interesses comerciais Cultura e background científico 13

14 Escolha de uma LP Implementação Competência na LP Portabilidade Sintaxe Semântica Ambiente de programação Modelo de computação- 14

15 O que é um paradigma de programação? Modelo, padrão ou estilo de programação suportado por linguagens que agrupam certas características comuns A classificação de linguagens em paradigmas é uma conseqüência de decisões de projeto que impactam radicalmente a forma na qual uma aplicação real é modelada do ponto de vista computacional 15

16 Paradigmas de LP Paradigma Imperativo - Computador FORTRAN, COBOL, ALGOL 60, APL, BASIC, PL/I, SIMULA 67, ALGOL 68, PASCAL, C, MODULA 2, ADA. Paradigma Funcional - solução do problema LISP. Paradigma Lógico - ser humano PROLOG. Paradigma Orientado a Objetos - problema SMALTALK, Java C++ : Linguagem híbrida Modelo Imperativo + Orientação a Objetos 16

17 O Paradigma Imperativo Solução do problema especificada na ótica do computador Programas centrados no conceito de um estado (modelado por variáveis) e ações (comandos) que manipulam o estado Paradigma também denominado de procedural, por incluir subrotinas ou procedimentos como mecanismo de estruturação Primeiro paradigma a surgir e ainda é o dominante 17

18 Vantagens e Desvantagens - Imperativo Vantagens - Eficiência (embute modelo de Von Neumann) - Modelagem natural de aplicações do mundo real - Paradigma dominante e bem estabelecido Desvantagens - erros introduzidos durante manutenção - descrições demasiadamente operacionais focalizam o como e não o que 18

19 O Paradigma Funcional Programas são funções que descrevem uma relação explícita e precisa entre E/S Estilo declarativo: não há o conceito de estado nem comandos como atribuição Aplicação: prototipação em geral e IA 19

20 Vantagens e Desvantagens - Funcional Vantagens - Manipulação de programas mais simples: - Prova de propriedades - Transformação (exemplo: otimização) - Concorrência explorada de forma natural 20 Desvantagens - O mundo não é funcional! - Implementações ineficientes - Mecanismos primitivos de E/S e formatação

21 Exemplo LP Funcional - Scheme Função que Calcula o Máximo de uma lista (define maximo ) (lambda (l) (if (null? (cdr l)) ; ultimo/unico elemento? (car l) (max (car l) (maximo (cdr l)) ) ) ) 21

22 O Paradigma Lógico Programas são relações entre E/S Estilo declarativo, como no paradigma funcional Na prática, inclui características imperativas, por questão de eficiência Aplicações: sistemas especialistas e banco de dados 22

23 Vantagens e Desvantagens - Lógico Vantagens Em princípio, todas do paradigma funcional Permite concepção da aplicação em um alto nível de abstração (através de associações entre E/S) Problemas Em princípio, todos do paradigma funcional Linguagens usualmente não possuem tipos, nem são de alta ordem 23

24 Exemplo Lp Lógico - Prolog Verifica se uma palavra é palíndroma. Exemplo de utilização: inicio(madam). % entrada e saida de dados inicio(x) :- ler(x), (X = para; teste(x), inicio(y)). teste(x) :- nome(x,n), palindromo(n), write(x), write(` e' palindroma'), nl,!. teste(x) :- write(x), write(` nao e' palindroma'), nl. % inversao e teste palindromo(x) :- inverte2(x,x). inverte2(l1,l) :- invconc(l1,[ ],L). invconc([h L],L,M) :- invconc(t,[h L],M). invconc([ ], L, L). 24

25 O Paradigma Orientado a Objetos Pode ser visto como uma subclassificacão do imperativo A diferença é mais de metodologia quanto à concepção e modelagem do sistema A grosso modo, uma aplicação é estruturada em módulos (classes) que agrupam um estado e operações (métodos) sobre este estado Classes podem ser estendidas e/ou usadas como tipos (cujos elementos são objetos) 25

26 Vantagens e Desvantagens - OO Vantagens Todas as do estilo imperativo Classes estimulam projeto centrado em dados: modularidade, reusabilidade e extensibilidade Aceitação comercial crescente Desvantagens Semelhantes às do paradigma imperativo, mas amenizadas pelas facilidades de estruturação 26

27 Tendência: integração de paradigmas A principal vantagem é combinar facilidades de mais de um paradigma, aumentando o domínio de aplicação da linguagem Exemplos: linguagens lógicas ou funcionais com o conceito de estado e comandos A integração deve ser conduzida com muita cautela, para que não se viole os princípios básicos de cada paradigma. 27

28 Outras Classificações Linguagens de 1a., 2a., 3a., 4a. e 5a. gerações Programação seqüencial versus concorrente Programação Linear versus orientada a eventos 28

29 29 Uma Visão histórica FORTRAN ALGOL-60...COBOL...LISP... SIMULA ALGOL-68 PL/I BASIC Pascal... Smalltalk C PROLOG Modula-2 ML Ada...DBASE-II... Eifell C++ Miranda Java Delphi Haskell...Godel... Orientado a objetos Imperativo Funcional Lógico

30 Paradigma de Orientação a Objetos

31 Paradigma de OO 1ª noção de objeto - Simula (Birtwistle, 1973) POO programador visualiza programa como uma coleção de objetos cooperantes que se comunicam através de mensagens. Cada objeto é uma instância de uma classe As classes estão organizadas em hieraquia Unifica dados e procedimentos Dá ênfase à estrutura de dados, adicionando funcionalidade a estas estruturas. Aspectos fundamentais: Abstração de dados; Objetos; Mensagens; Classes; Herança; Polimorfismo. 31

32 Abstração de dados Tipo Abstrato de Dados (TAD) o que constitui o tipo as operações aplicáveis representação Exemplo: TAD Pilha. Interface: boolean isempty() - verifica se a pilha está vazia push(int n) - empilha o número fornecido int pop() - desempilha o número do topo e o retorna int top() - retorna o número do topo Representação: vetor 32

33 Abstração de dados TAD pode ser usado sem qualquer conhecimento sobre sua implementação. Vantagens: Independência entre uso e implementação Manutenção da integridade do TAD Abstração de dados: introduz um novo tipo de objeto, útil no domínio do problema a ser resolvido. usuários dos tipos abstratos de dados tem comportamento do objeto dados estão ocultos aumento de confiabilidade 33

34 Abstração - Exemplo Plantação de alface hidropônico Sistema para monitorar as condições Elemento central: sensores para medir: temperatura, ph, luz,.. sensor: objeto que mede a temp. em uma posição identificação do sensor responsabilidades: o conhecer a temperatura na sua posição de medida o relatar a temp. medida. Operações: o perguntar a temperatura o Calibrar o sensor 34

35 Abstração - Exemplo Elemento SensorTemp Parte Públicas: SensorTemp(pos) - cria o sensor ~SensorTemp() - destroi o sensor Calibra( tempatual) - calibra o sensor real QualTemp() - devolve a temp. atual no sensor Parte Privada... 35

36 Objetos Entidade autônoma que combina a representação da informação (estruturas de dados) e sua manipulação (procedimentos) Compostos de: - Propriedades(atributos) - Comportamento (Métodos) - Identidade INTERFACE { OPERAÇÃO 1 OPERAÇÃO 2 ESTADO INTERNO OPERAÇÃO 3 IMPLEMENTAÇÕES DAS OPERAÇÕES 1, 2 E 3 36

37 Objetos Fácil identificar objetos Exemplo: Objetos do tipo empregado identidade única: CPF. Atributos: endereço idade dependentes salário cargo Comportamento (Operações): aumentar salário listar dependentes alterar cargo AUMENTAR SALÁRIO LISTAR DEPENDENTES NOME CARGO SALÁRIO 37

38 Objetos Vantagens: Modularidade: a unidade de programa que implementa um objeto pode ser escrita e mantida sem gerar alterações nas demais; Ocultamento de informação: Objeto possui interface pública que outros objetos usam para se comunicar com ele. Objeto mantêm informações e métodos particulares, que podem ser alterados a qualquer momento sem afetar os outros objetos que se comunicam com ele Não é necessário saber como o objeto é implementado para poder utilizá-lo. 38

39 Mensagens Aplicação OO: vários objetos interagindo fornece grande funcionalidade e comportamentos complexos. Interação através de mensagens objeto A envia mensagem para objeto B executar um de seus métodos informação adicional para B executar o métodos: lista de parâmetros Componentes: - o objeto a quem a mensagem é endereçada (receptor); o nome do método que se deseja executar; os parâmetros (se existirem) necessários ao método; Objetos em processos ou máquinas distintas podem comunicar-se através do uso de mensagens(corba, DCOm, etc.). Mensagem ~ uma chamada de subrotina (procedimento ou função). 39

40 Troca de Mensagens - Exemplo 1 "João deseja enviar flores para Maria mas ela mora em outra cidade. João vai, então, até a floricultura e pede a José, o floricultor, para que ele envie um bouquet de rosas ao endereço de Maria. José, por sua vez, liga para uma outra floricultura, da cidade de Maria, e pede para que as flores sejam entregues. João precisa resolver um problema, então, ele procura um agente, José, e lhe passa uma mensagem contendo sua requisição: enviar rosas para Maria. José tem a responsabilidade de, através de algum método, cumprir a requisição. O método utilizado por José pode estar oculto de João." 40

41 Troca de Mensagens - Exemplo 2 Realização de uma operação aritmética (SmallTalk) Adição é realizada enviando uma mensagem a um objeto representando o número. A mensagem especifica a operação desejada (adição) e o número que deve ser somado ao objeto receptor. Então, a operação x + y é interpretada como a mensagem + sendo enviada ao objeto x com o parâmetro y. 41

42 Método implementa algum aspecto do comportamento do objeto. uma função ou procedimento que é definido para o objeto e tipicamente pode acessar o seu estado interno para realizar alguma operação. procedimento cujo primeiro parâmetro é o objeto no qual deve trabalhar(objeto receptor) receptor.nome_da_mensagem(par1, par2, par3) 42

43 Construtores e Destrutores Construtores: usados para criar e inicializar objetos novos. Destrutores: usados para destruir objetos construtor chamado automaticamente quando objeto é declarado Exemplo: gerenciar a quantidade de objetos de uma determinada classe que já foram criados até o momento. 43

44 Classes Objetos com estrutura e comportamento idênticos são descritos como pertencendo a uma classe Provê a informação para construir e utilizar objetos de um tipo particular Classes de objetos descrição das propriedades de objetos, de forma concisa em termos de estrutura e comportamento Provê a informação para construir e utilizar objetos de um tipo particular Descreve o comportamento de vários objetos de comportamento semelhante 44

45 Classes Objeto -- variável Classe - tipo Objeto criado a partir de uma classe: instância Cada instância pertence a uma classe Uma classe pode possuir múltiplas instâncias Exemplo: classe Posição Posição Dados: Variável de classe (compartilhada) nobj Variável de Instância (única) X, Y tipo coordenadas Métodos Inicializa a Posição Retorna valor X Retorna valor Y Objeto Posição #1 nobj = 3 X = 5 Y = 10 Objeto Posição #2 nobj = 3 X = 7 Y = 2 Objeto Posição #3 nobj = 3 X = 5 Y = 10 45

46 Herança Permite a reutilização das propriedades de uma classe na definição de outra. característica única de linguagens OO diferencia POO de programação com TAD Classe mais generalizada: superclasse Classe mais especializada: subclasse. Objeto descendente não tem nenhum trabalho para receber a herança 46

47 Herança classe Ponto: herança da classe Posição variável de instância Visivel métodos para desenhar, apagar e perguntar acercar da visibilidade de pontos. classe Circulo: herança da classe Ponto variável de instância Raio métodos para contrair e expandir círculos. Posição Ponto Dados: Variável de classe (compartilhada) nobj Variável de Instância (única) X, Y tipo coordenadas Métodos Inicializa a Posição Retorna valor X Retorna valor Y Dados: Variável de Instância (única) Visivel - lógico Métodos Inicializa Ponto Desenha Ponto Apaga valor Y Retorna Visivel Circulo Dados: Variável de Instância (única) Raio Métodos Inicializa Circulo Expande Circulo Contrai Circulo 47

48 Herança se B é subclasse de A: objetos da classe B suportam todas as operações suportadas por objetos da classe A, menos as redefinidas as variáveis de instância de B incluem todas as variáveis de instância de A. Especialização: nova classe é criada a partir de uma classe existente, que era muito geral. Generalização: processo inverso 48

49 Herança Pode afetar o encapsulamento de informação. Clientes: requisitam operações sobre instâncias da classe informações ocultadas classes definidas através da herança acesso à representação das variáveis de instâncias definidas na sua superclasse Mudanças na implementação de uma classe, podem comprometer a implementação de suas subclasses. 49

50 Herança Múltipla subclasse pode herdar características de diversas superclasses Exemplo: classe Janela DefineAltura DefineLargura MostraObjeto MoveObjeto ExibeTexto AdicionaTexto RemmoveTexto AdicionaFilho RemoveFilho ObjetoTela Texto Arvore Janela 50

51 Polimorfismo Vários objetos respondem à uma mesma mensagem, cada um a seu próprio modo Solução sem polimorfismo Função DesenhaObjeto ( Obj ) Se Obj é do tipo Ponto DesenhaPonto ( Obj) Senão Se Obj é do tipo Circulo DesenhaCirculo (Obj) Fim se Fim se Fim DesenhaObjeto Solução com polimorfismo Função DesenhaObjeto ( Obj ) Obj.Desenha() Fim DesenhaObjeto 51

52 Polimorfismo 52 útil na compreensão de programas sobrecarga de função ou de operadores polimorfismo paramétrico ligação (binding): associação entre um atributo e uma entidade ou entre uma operação e um símbolo. Estática: ocorre em tempo de compilação ou de ligação (linking) e não é mais modificada durante toda a execução do programa. Dinâmica: é feita em tempo de execução ou pode ser alterada no decorrer da execução do programa. Aumenta reutilização - diminui a performance

53 Objeto, Classe e Herança Permitem a definição de hierarquias de abstrações, que facilitam a compreensão classes agrupam objetos com características iguais herança estrutura classes semelhantes. Objetos e classes: grande poder de modelagem expressa relações entre comportamentos: classificação/instanciação generalização/especialização agregação/composição 53

54 Classificação/Instanciação Classificação de objetos em classes definição de propriedades e comportamentos comuns a objetos para agrupá-los em classes Instanciação de objetos de uma classe criação de um objeto de uma determinada classes INSTANCIAÇÃO MICROCOMPUTADOR IBM PC MACHINTOSH CLASSIFICAÇÃO 54

55 Generalização/Especialização Abstração de uma classe mais genérica Subclasses possuem todas as propriedades das classes de quem elas são especializações Pelo menos uma propriedade para diferenciar duas classes especializadas (subclasses) a partir da mesma classe genérica (superclasse) ESPECIALIZAÇÃO COMPUTADOR MICROCOMPUTADOR MAINFRAME GENERALIZAÇÃO 55

56 Composição/Decomposição objetos compostos pela agregação de outros objetos ou componentes instâncias (objetos) de uma classe compostas por instâncias de outras classes. DECOMPOSIÇÃO MICROCOMPUTADOR TECLADO VÍDEO COMPOSIÇÃO 56

57 Vantagens POO Reutilização de código: maior vantagem Escalabilidade: capacidade de crescimento Encapsulamento: facilita manutenção Polimorfismo: aumenta a legibilidade Herança: facilidade de adição de novas funcionalidades 57

58 Desvantagens da POO Apropriação: Problemas com limites nebulosos Fragilidade sensível a mudanças de relacionamentos entre as classes chave Importância fundamental de bom projeto e análise necessidade de estratégia linera de projeto ao invés da cíclica 58

59 Estilo POO Modularidade: Suporte a generalização/especialização Visão balanceada entre dados e processos Composição botton-up de aplicação Atividade incremental e evolutiva Reutilização de código Robustez Programação em grande escala 59

PROGRAMAÇÃO ORIENTADA A OBJETOS I -CONCEITOS PRELIMINARES. Prof. Angelo Augusto Frozza, M.Sc.

PROGRAMAÇÃO ORIENTADA A OBJETOS I -CONCEITOS PRELIMINARES. Prof. Angelo Augusto Frozza, M.Sc. PROGRAMAÇÃO ORIENTADA A OBJETOS I -CONCEITOS PRELIMINARES Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza ROTEIRO O que é programação Linguagens de Programação Paradigmas de Programação História

Leia mais

Introdução. Parte 01. Desenvolvimento de Programação Orientada a Objetos. Prof. Pedro Neto

Introdução. Parte 01. Desenvolvimento de Programação Orientada a Objetos. Prof. Pedro Neto Introdução Parte 01 Prof. Pedro Neto Aracaju Sergipe - 2011 Conteúdo 1. Introdução i. Paradigmas de ii. Motivação da OO iii. Desafio das novas tecnologias iv. Ambientes de Desenvolvimento Modernos v. OO

Leia mais

Visão Geral... e conceitos básicos

Visão Geral... e conceitos básicos Visão Geral.. e conceitos básicos 1 Curso de... Programação O que se estuda aqui? Algoritmos 2 E o que são algoritmos? Sequência finita e não ambígua de passos para a solução de um problema. Lembre- se

Leia mais

Histórico de Linguagens de Programação

Histórico de Linguagens de Programação Bacharelado em Ciência da Computação PARADIGMAS DE PROGRAMAÇÃO Histórico de Linguagens de Programação Prof. Claudinei Dias email: prof.claudinei.dias@gmail.com Objetivos Geral: Estudar as características

Leia mais

Linguagens de Programação

Linguagens de Programação Linguagens de Programação Prof a Jerusa Marchi Departamento de Informática e Estatística Universidade Federal de Santa Catarina e-mail: jerusa@inf.ufsc.br Linguagens de Programação p. 1/5 Linguagens de

Leia mais

Programação Orientada a Objetos

Programação Orientada a Objetos Curso Profissional de Gestão e Programação de Sistemas Informáticos Disciplina: Programação e Sistemas de Informação Programação Orientada a Objetos Módulos 9/10/11 POO 2016/2017 História A OO surgiu no

Leia mais

Conceitos de Linguagens de Programação - Características. Paavo Soeiro

Conceitos de Linguagens de Programação - Características. Paavo Soeiro Conceitos de Linguagens de Programação - Características Paavo Soeiro Motivação Para que possa escolher uma linguagem apropriada ao problema. Melhorar o entendimento da linguagem utilizada. Facilitar o

Leia mais

O PARADIGMA ORIENTADO POR OBJETOS

O PARADIGMA ORIENTADO POR OBJETOS O PARADIGMA ORIENTADO POR OBJETOS A idéia básica do paradigma orientado a objetos é imaginar que programas simulam o mundo real: um mundo povoado de objetos. Dessa maneira, linguagens baseadas nos conceitos

Leia mais

Paradigmas de Programação

Paradigmas de Programação Paradigmas de Programação Aula 3 Histórico das Linguagens Prof.: Edilberto M. Silva http://www.edilms.eti.br Prof. Edilberto Silva / edilms.eti.br Definição Linguagens de programação são usadas para descrever

Leia mais

Paradigmas de Linguagens

Paradigmas de Linguagens Paradigmas de Linguagens Paradigma Imperativo Professora Sheila Cáceres Paradigma Imperativo Um pouco de historia Paradigma fundamentado no conceito de máquina de Turing. A máquina de Turing é uma abstração

Leia mais

Paradigmas de Linguagens de Programação. Suporte para Programação Orientada a Objeto

Paradigmas de Linguagens de Programação. Suporte para Programação Orientada a Objeto Suporte para Programação Orientada a Objeto Cristiano Lehrer Categoria das Linguagens que Suportam POO Suporte a POO acrescentado a uma linguagem já existente: C++ (também suporta programação procedural

Leia mais

Revisão: linguagens de programação

Revisão: linguagens de programação Revisão: linguagens de programação Definição, histórico, paradigmas e semântica Prof. Thiago A. S. Pardo taspardo@icmc.usp.br Definição Uma linguagem de programação é uma linguagem destinada a ser usada

Leia mais

Aspectos preliminares

Aspectos preliminares Aspectos preliminares Linguagens de Programação Marco A L Barbosa cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual 4.0 Internacional. http://github.com/malbarbo/na-lp-copl

Leia mais

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Programação Orientada a Objectos - P. Prata, P. Fazendeiro Programação Orientada a Objetos 1.1 - Perspectiva histórica: Conceitos A evolução das linguagens de programação tem-se feito na procura de ferramentas: -cada vez mais próximas da percepção humana - e que

Leia mais

Capítulo 1. Aspectos Preliminares

Capítulo 1. Aspectos Preliminares Capítulo 1 Aspectos Preliminares Tópicos do Capítulo 1 Razões para estudar conceitos de linguagens de programação Domínios de programação Critérios de avaliação de linguagens Influências no projeto de

Leia mais

Paradigmas de Linguagens de Programação. Tipos de Dados Abstratos

Paradigmas de Linguagens de Programação. Tipos de Dados Abstratos Tipos de Dados Abstratos Cristiano Lehrer Conceito de Abstração O conceito de abstração é fundamental em programação. Quase todas as linguagens suportam abstração de processos, através de subprogramas:

Leia mais

Introdução à Programação Aula 03. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação

Introdução à Programação Aula 03. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação Aula 03 Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação Linguagens de Programação A primeira linguagem de programação foi criada por Ada Lovelace. Amiga

Leia mais

Classes e Objetos. Sintaxe de classe em Java

Classes e Objetos. Sintaxe de classe em Java Classes e Objetos Classes e Objetos A Programação Orientada a Objetos (POO) é uma técnica de programação que se baseia na construção de classes e utilização de objetos. Os objetos são formados por dados

Leia mais

Introdução à Orientação a Objetos

Introdução à Orientação a Objetos Introdução à Orientação a Objetos Paradigmas de programação Objetos Classes Paradigma não é só uma palavra bonita! Lógico - tudo é assertiva lógica: Prolog, Mercury; Funcional tudo são listas e funções:

Leia mais

Reinaldo Gomes Análise/projeto estruturado

Reinaldo Gomes Análise/projeto estruturado Programação Orientada a Objetos Objetos, Classes e Mensagens O Modelo de Objetos Objetos e Classes Mensagens e métodos Reinaldo Gomes reinaldo@cefet-al.br Decomposição Análise/projeto estruturado Soluciona

Leia mais

Linguagens de Programação. Introdução. Carlos Bazilio

Linguagens de Programação. Introdução. Carlos Bazilio Linguagens de Programação Introdução Carlos Bazilio carlosbazilio@id.uff.br http://www.ic.uff.br/~bazilio/cursos/lp ??? Pascal aux := 0 for i:=1 to 10 do aux := aux + i 10: i = 1 20: if i > 10 goto 60

Leia mais

Informática I. Aula 9. Aula 9-17/05/2006 1

Informática I. Aula 9.  Aula 9-17/05/2006 1 Informática I Aula 9 http://www.ic.uff.br/~bianca/informatica1/ Aula 9-17/05/2006 1 Ementa Histórico dos Computadores Noções de Hardware e Software Microprocessadores Sistemas Numéricos e Representação

Leia mais

2. Introdução à Programação e Análise. Orientada a Objetos

2. Introdução à Programação e Análise. Orientada a Objetos Programação Orientada a Objetos em C++ Renato Cardoso Mesquita Departamento de Eng. Elétrica da UFMG renato@cpdee.ufmg.br 2. Introdução à Programação e Análise.......... Orientada a Objetos 2.1. Introdução

Leia mais

Conceitos de Programação Orientada por Objectos. Rui Camacho Programação 2

Conceitos de Programação Orientada por Objectos. Rui Camacho Programação 2 Conceitos de Programação Orientada por Objectos Um Problema Problema: Existem, hoje em dia, aplicações complexas e de grande dimensão que é preciso desenvolver e manter de modo eficiente utilizando equipas

Leia mais

Nomes, vinculações e escopos

Nomes, vinculações e escopos Nomes, vinculações e escopos Marco A L Barbosa malbarbo.pro.br Departamento de Informática Universidade Estadual de Maringá cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual

Leia mais

FIC-POO. Aula 1.1 Apresentação do Curso e Introdução aos Paradigmas de Programação. Prof. Dr. Bruno Moreno

FIC-POO. Aula 1.1 Apresentação do Curso e Introdução aos Paradigmas de Programação. Prof. Dr. Bruno Moreno FIC-POO Aula 1.1 Apresentação do Curso e Introdução aos Paradigmas de Programação Prof. Dr. Bruno Moreno bruno.moreno@ifrn.edu.br Apresentação Professor Bruno Neiva Moreno E-mail institucional: bruno.moreno@ifrn.edu.br

Leia mais

Modelo do Mundo Real. Abstração. Interpretação

Modelo do Mundo Real. Abstração. Interpretação Modelo do Mundo Real Mundo Real Abstração Interpretação Sistema de Software Modelo Algoritmo Abstração: O modelo precisa capturar apenas as características do mundo real que são importantes para o sistema

Leia mais

Informática I. Aula Aula 18-29/10/2007 1

Informática I. Aula Aula 18-29/10/2007 1 Informática I Aula 18 http://www.ic.uff.br/~bianca/informatica1/ Aula 18-29/10/2007 1 Ementa Noções Básicas de Computação (Hardware, Software e Internet) HTML e Páginas Web Internet e a Web Javascript

Leia mais

Nomes, vinculações e escopos

Nomes, vinculações e escopos Nomes, vinculações e escopos Marco A L Barbosa malbarbo.pro.br Departamento de Informática Universidade Estadual de Maringá cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual

Leia mais

Linguagens de Programação Funcional

Linguagens de Programação Funcional Linguagens de Programação Funcional Conceitos de Linguagens de Programação Pedro Libório Setembro de 2013 2 Roteiro Introdução Funções matemáticas Fundamentos das linguagens de programação funcionais A

Leia mais

Informática I. Aula 9. Aula 9-27/09/2006 1

Informática I. Aula 9.   Aula 9-27/09/2006 1 Informática I Aula 9 http://www.ic.uff.br/~bianca/informatica1/ Aula 9-27/09/2006 1 Ementa Histórico dos Computadores Noções de Hardware e Software Microprocessadores Sistemas Numéricos e Representação

Leia mais

Paradigmas de Linguagens Computacionais (PLC) (Apresentação da disciplina)

Paradigmas de Linguagens Computacionais (PLC) (Apresentação da disciplina) Paradigmas de Linguagens Computacionais (PLC) (Apresentação da disciplina) George Darmiton da Cunha Cavalcanti (gdcc@cin.ufpe.br) Informações Básicas Professor George Darmiton da Cunha Cavalcanti Monitores

Leia mais

3. Linguagem de Programação C

3. Linguagem de Programação C Introdução à Computação I IBM1006 3. Linguagem de Programação C Prof. Renato Tinós Departamento de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 3. Linguagem de programação C 3.1. Conceitos

Leia mais

ORIENTAÇÃO A OBJETOS

ORIENTAÇÃO A OBJETOS CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DA PARAÍBA DIRETORIA DE ENSINO COORDENAÇÃO DE INFORMÁTICA INTRODUÇÃO AO PARADIGMA DE ORIENTAÇÃO A OBJETOS MENSAGEM OBJETO B OBJETO A AUTOR: PROF. CARLOS ALBERTO KAMIENSKI

Leia mais

Linguagens de Programação

Linguagens de Programação Visão Geral Faculdade de Computação - UFU Agosto - 2009 1 Princípios 2 O que é uma linguagem de programação? Linguagens naturais facilitam a expressão e o intercâmbio de idéias entre as pessoas. Assim

Leia mais

Capítulo 5. Nomes, Vinculações e Escopos

Capítulo 5. Nomes, Vinculações e Escopos Capítulo 5 Nomes, Vinculações e Escopos Tópicos do Capítulo 5 Introdução Nomes Variáveis O conceito de vinculação Escopo Escopo e tempo de vida Ambientes de referenciamento Constantes nomeadas Introdução

Leia mais

Paradigmas. Fortran, Algol, Algol-68, Pascal, C, Cobol, PL/I

Paradigmas. Fortran, Algol, Algol-68, Pascal, C, Cobol, PL/I Paradigmas Paradigmas Tradicional Fortran, Algol, Algol-68, Pascal, C, Cobol, PL/I Paradigmas Tradicional Fortran, Algol, Algol-68, Pascal, C, Cobol, PL/I OO Simula-67, Smalltalk, C++, Eiffel, Object Pascal,

Leia mais

O código fonte (source code) é o conjunto de palavras escritas de forma ordenada, contendo instruções em uma determinada linguagem de programação.

O código fonte (source code) é o conjunto de palavras escritas de forma ordenada, contendo instruções em uma determinada linguagem de programação. Uma linguagem de programação é um método padronizado para expressar instruções para um computador. É um conjunto de regras sintáticas e semânticas usadas para definir um conjunto de procedimentos (programa)

Leia mais

Linguagens Computacionais (Conceitos Básicos)

Linguagens Computacionais (Conceitos Básicos) Linguagens Computacionais (Conceitos Básicos) George Darmiton da Cunha Cavalcanti (gdcc@cin.ufpe.br) Tópicos Razões para estudar os conceitos de linguagens de programação Domínios de programação Critérios

Leia mais

Paradigmas de Programação. Java First-Tier: Aplicações. Orientação a Objetos em Java (I) Nomenclatura. Paradigma OO. Nomenclatura

Paradigmas de Programação. Java First-Tier: Aplicações. Orientação a Objetos em Java (I) Nomenclatura. Paradigma OO. Nomenclatura Java First-Tier: Aplicações Orientação a Objetos em Java (I) Paradigmas de Programação Programação Funcional Programação Procedural Programação Orientada por Objetos Grupo de Linguagens de Programação

Leia mais

Paradigmas de análise e desenvolvimento de sistemas. Principais Paradigmas

Paradigmas de análise e desenvolvimento de sistemas. Principais Paradigmas Paradigmas de análise e desenvolvimento de sistemas Principais Paradigmas Rosemary Silveira Filgueiras Melo rosesfmelo@hotmail.com rosefib.webnode.com.br Tópicos abordados Conceito de Paradigma Tipos de

Leia mais

Paradigmas de Programação

Paradigmas de Programação Paradigmas de Programação Aula 6 Nomes, Vinculações, Verificação de Tipos e Escopos Prof.: Edilberto M. Silva http://www.edilms.eti.br Prof. Edilberto Silva / edilms.eti.br Introdução As linguagens de

Leia mais

Orientação a Objetos (OO) LPG II - Java. Orientação a Objetos (OO) Programação Orientada a Objetos. Programação Procedimental

Orientação a Objetos (OO) LPG II - Java. Orientação a Objetos (OO) Programação Orientada a Objetos. Programação Procedimental Orientação a Objetos (OO) LPG II - Java Orientação a Objetos (OO) Roberto Vedoato vedoato@joinville.udesc.br Programação Procedimental x Orientada a Objetos Objetivos e Benefícios da Orientação a Objetos

Leia mais

SEMINÁRIOS INTEGRADOS EM ADS PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS

SEMINÁRIOS INTEGRADOS EM ADS PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS SEMINÁRIOS INTEGRADOS EM ADS PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS Prof. Dr. Daniel Caetano 2014-1 DISCUSSÃO Visão Geral dos Paradigmas Quais os paradigmas mais comuns? Do que é composto um programa

Leia mais

CONCEITOS DE LINGUAGENS DE PROGRAMAÇÃO

CONCEITOS DE LINGUAGENS DE PROGRAMAÇÃO CONCEITOS DE LINGUAGENS DE PROGRAMAÇÃO ROTEIRO 1. INTRODUÇÃO 2. LINGUAGENS IMPERATIVAS 1. CONCEITO 2. PARADIGMA IMPERATIVO 3. ORIGENS 4. MODELO COMPUTACIONAL 1. ARQUITETURA DE VON NEUMANN 2. CARACTERISTICAS

Leia mais

ORIENTAÇÃO A OBJETOS Histórico:

ORIENTAÇÃO A OBJETOS Histórico: GESTÃO DE TECNOLOGIA DA INFORMAÇÃO Anhanguera Itapecerica da Serra Curso: Gestão da Tecnologia da Informação Disciplina: Modelagem de Sistemas Prof. Luiz Antonio do Nascimento Histórico: A orientação a

Leia mais

Profª. Juliana Pinheiro Campos ENG10082 Programação II Créditos: Prof. Gustavo Willam Pereira e Prof.

Profª. Juliana Pinheiro Campos   ENG10082 Programação II Créditos: Prof. Gustavo Willam Pereira e Prof. 1 Profª. Juliana Pinheiro Campos E-mail: jupcampos@gmail.com ENG10082 Programação II Créditos: Prof. Gustavo Willam Pereira e Prof. Clayton Vieira Fraga Filho 2 Paradigmas de programação Paradigmas de

Leia mais

Introdução ao Java. Prof. Herbert Rausch Fernandes

Introdução ao Java. Prof. Herbert Rausch Fernandes Introdução ao Java Prof. Herbert Rausch Fernandes Orientação a Objetos Programação Orientada por Objetos: é a construção de sistemas de software como uma coleção estruturada de implementações de tipos

Leia mais

Daniel Wildt

Daniel Wildt Orientação a Objetos 1 Daniel Wildt http://danielwildt.blogspot.com Agenda 2 Orientação a Objetos Classe x Objeto Representação classe Atributos / operações Construtores e Destrutores Liberando memória

Leia mais

Paradigmas de Programação

Paradigmas de Programação Paradigmas de Programação Gustavo Jungthon 1, Cristian Machado Goulart 1 1 Faculdade de Informática de Taquara (FIT) Rua Oscar Martins Rangel, 4500 95600 000 Taquara RS Brazil guto@faccat.br, cmg3k@faccat.br

Leia mais

Programação I A Linguagem C. Prof. Carlos Alberto

Programação I A Linguagem C. Prof. Carlos Alberto Programação I A Linguagem C Prof. Carlos Alberto carlos.batista@facape.br carlos36_batista@yahoo.com.br 2 Origem A linguagem C foi desenvolvida em 1972, nos Laboratórios Bell, por Dennis Ritchie. Implementada

Leia mais

Aula 1 Java Prof. Dr. Sylvio Barbon Junior

Aula 1 Java Prof. Dr. Sylvio Barbon Junior 5COP101 Linguagens de Programação Aula 1 Java Prof. Dr. Sylvio Barbon Junior Sylvio Barbon Jr barbon@uel.br 1 Sumário 1) Razões para Estudar Conceitos de LP; 2) Domínios das Linguagens de Programação 3)

Leia mais

1 Introdução à Programação O que é? Para que serve?... 1

1 Introdução à Programação O que é? Para que serve?... 1 Nesta aula... Conteúdo 1 Introdução à Programação 1 1.1 O que é?................................. 1 1.2 Para que serve?............................. 1 2 Linguagens de programação 2 2.1 Programação estruturada........................

Leia mais

Introdução à Orientação a Objetos. SSC Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012

Introdução à Orientação a Objetos. SSC Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012 Introdução à Orientação a Objetos SSC 121 - Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012 Conteúdo Histórico de OO Vantagens de OO Linguagens OO Conceitos Básicos de OO

Leia mais

Linguagens de Programação Aula 12

Linguagens de Programação Aula 12 Linguagens de Programação Aula 12 Celso Olivete Júnior olivete@fct.unesp.br Na aula passada Implementando subprogramas 2 Na aula de hoje Suporte para a programação orientada a objetos 3 Roteiro Introdução

Leia mais

Orientação a Objetos (OO)

Orientação a Objetos (OO) CURSO: Ciência da Computação DATA: / / 2013 PERÍODO: 4 o. PROFESSOR: Andrey DISCIPLINA: Técnicas Alternativas de Programação AULA: 04 APRESENTAÇÃO: Hoje vamos discutir os conceitos de Orientação a Objetos.

Leia mais

Aspectos preliminares

Aspectos preliminares Aspectos preliminares Marco A L Barbosa malbarbo.pro.br Departamento de Informática Universidade Estadual de Maringá cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual

Leia mais

Programação Estruturada e OO Aula 1.2 Introdução a Paradigmas de Programação. Prof. Bruno Moreno

Programação Estruturada e OO Aula 1.2 Introdução a Paradigmas de Programação. Prof. Bruno Moreno Programação Estruturada e OO Aula 1.2 Introdução a Paradigmas de Programação Prof. Bruno Moreno bruno.moreno@ifrn.edu.br Motivação Por que existe mais de uma LP? Propósitos diferentes; Avanços tecnológicos;

Leia mais

Aspectos preliminares

Aspectos preliminares Aspectos preliminares Marco A L Barbosa malbarbo.pro.br Departamento de Informática Universidade Estadual de Maringá cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual

Leia mais

Herança. Herança. Herança. Herança. Herança. Programação Orientada a Objetos

Herança. Herança. Herança. Herança. Herança. Programação Orientada a Objetos e Ligação Dinâmica Programação Orientada a Objetos e Polimorfismo A é a contribuição original do paradigma de programação orientado a objetos Fundamentos chave do paradigma OO: Abstração de Dados A herança

Leia mais

C com introdução a OO

C com introdução a OO ... Centro Integrado de Tecnologia da Informação C com introdução a OO ... Centro Integrado de Tecnologia da Informação Aula 9 Ronald Dener - Instrutor Matheus Soares - Monitor 17 / outubro 17 / outubro

Leia mais

Universidade Estadual de Santa Cruz

Universidade Estadual de Santa Cruz Universidade Estadual de Santa Cruz Conceitos de Linguagens de Programação Linguagens Imperativas e Funcionais Prof. Dr. Rogério Vargas Ilhéus-Ba, 16 de Maio de 2013. Linguagens Imperativas Linguagens

Leia mais

Paradigmas de Linguagens

Paradigmas de Linguagens Paradigmas de Linguagens Aula 1: Introdução e Conceitos Básicos Professora Sheila Cáceres O que é um paradigma??? Paradigmas de Linguagens - Sheila Cáceres 2 O que é um paradigma??? Paradigmas de Linguagens

Leia mais

Introdução à Orientação a Objetos

Introdução à Orientação a Objetos Introdução à Orientação a Objetos 11/04/2006 Prof. Vítor Souza Análise e Projeto Orientado a Objetos Departamento de Informática Univ. Federal do Espírito Santo Licença para uso e distribuição Este material

Leia mais

Introdução à Programação. Conceitos Básicos de Orientação a Objetos

Introdução à Programação. Conceitos Básicos de Orientação a Objetos Introdução à Programação Conceitos Básicos de Orientação a Objetos Tópicos da Aula Aprenderemos fundamentos do paradigma orientado a objetos, mas antes veremos o que é paradigma Conceito de paradigma Diferentes

Leia mais

Tema da aula Introdução ao paradigma de programação: Orientado a Objetos

Tema da aula Introdução ao paradigma de programação: Orientado a Objetos Profa. Juliana Santiago Teixeira Disciplina: Programação Orientada a Objetos I Tema da aula Introdução ao paradigma de programação: Orientado a Objetos Paradigma Paradigma é a filosofia adotada na construção

Leia mais

Introdução a orientação a objetos

Introdução a orientação a objetos 2 Introdução a orientação a objetos Introdução 2 Linguagens procedimentais 2 Um pouco de história 2 Idéias básicas da POO 2 Classe, atributo e método 2 Herança 3 Polimorfismo 3 Vantagens e desvantagens

Leia mais

UML (Unified Modelling Language)

UML (Unified Modelling Language) UML (Unified Modelling Language) Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior Referências: Booch, G. et al. The Unified Modeling Language User Guide

Leia mais

Orientação a Objetos (OO) Java Avançado Revisão do Paradigma de. Orientação a Objetos (OO) Programação Orientada a Objetos. Programação Procedimental

Orientação a Objetos (OO) Java Avançado Revisão do Paradigma de. Orientação a Objetos (OO) Programação Orientada a Objetos. Programação Procedimental Orientação a Objetos (OO) Java Avançado Revisão do Paradigma de Orientação a Objetos (OO) Roberto Vedoato vedoato@joinville.udesc.br Programação Procedimental x Orientada a Objetos Objetivos e Benefícios

Leia mais

Questões de Paradigmas de Programação Matéria: Prova 1 4ª EDIÇÃO

Questões de Paradigmas de Programação Matéria: Prova 1 4ª EDIÇÃO Questões de Paradigmas de Programação Matéria: Prova 1 4ª EDIÇÃO QUESTÃO 1 : Enviada por: Francisco Carlos Moraes Junior Duvidas: Thaise Domínios de programação são áreas onde os computadores são usados.

Leia mais

Linguagens de Programação

Linguagens de Programação Curso Superior em Análise e Desenvolvimento de Sistemas História da Ciência e da Tecnologia - (HCT) Linguagens de Programação Alunas: Érika H. Gamas Flávia G. Pereira Melissa B. Alcantud Thaynara da Silva

Leia mais

Programação Orientada a Objetos

Programação Orientada a Objetos PMR2300 Escola Politécnica da Universidade de São Paulo Proposta O mundo real é composto de entidades que interagem entre si para realizar tarefas (objetos). Objetos podem representar entidades concretas

Leia mais

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Programação Orientada a Objectos - P. Prata, P. Fazendeiro Programação Orientada a Objetos 1.1 - Perspectiva histórica: Conceitos A evolução das linguagens de programação tem-se feito na procura de ferramentas: -cada vez mais próximas da percepção humana - e que

Leia mais

Requisitos de sistemas

Requisitos de sistemas Requisitos de sistemas Unidade III - Casos de Uso Identificação de casos de uso Conceitos de orientação a objetos Modelagem do diagrama de classes e casos de uso 1 Casos de uso CONCEITO Especifica o comportamento

Leia mais

Programação Orientada a Objetos. Professor: André Luis Meneses Silva br.geocities.com/programacao2ufs

Programação Orientada a Objetos. Professor: André Luis Meneses Silva br.geocities.com/programacao2ufs Programação Orientada a Objetos Professor: André Luis Meneses Silva andreluis.ms@gmail.com br.geocities.com/programacao2ufs [ Conteúdo ] Objeto Mensagens Classe Encapsulamento Visibilidade Membros de Instância

Leia mais

Capítulo 2. Orientação a Objetos

Capítulo 2. Orientação a Objetos Capítulo 2 Orientação a Objetos Princípios da Orientação a Objetos Os princípios da orientação a objetos afetam todo o processo de desenvolvimento de software: Seres humanos pensam em termos de substantivos

Leia mais

PROGRAMAÇÃO E SISTEMAS DE INFORMAÇÃO (PSI) 11ºANO

PROGRAMAÇÃO E SISTEMAS DE INFORMAÇÃO (PSI) 11ºANO PROGRAMAÇÃO E SISTEMAS DE INFORMAÇÃO (PSI) 11ºANO 1 Módulo 9 - Int. à Programação Orientada a Objectos 2 1. Conceitos básicos A Programação Orientada a Objectos: é uma lógica de programação que procura

Leia mais

Linguagens de Programação Aula 3

Linguagens de Programação Aula 3 Aula 3 Celso Olivete Júnior olivete@fct.unesp.br Na aula passada... Classificação das LPs (nível, geração e paradigma) Paradigmas Imperativo, OO, funcional, lógico e concorrente 2/33 Na aula de hoje...

Leia mais

Linguagens de Programação Conceitos e Técnicas. Amarrações

Linguagens de Programação Conceitos e Técnicas. Amarrações Linguagens de Programação Conceitos e Técnicas Amarrações Conceituação Amarração (ou binding) é uma associação entre entidades de programação, tais como entre uma variável e seu valor ou entre um identificador

Leia mais

2 Paradigmas de linguagens de programação João B. Rocha- Junior. As linguagens evoluem com o passar do tempo

2 Paradigmas de linguagens de programação João B. Rocha- Junior. As linguagens evoluem com o passar do tempo Agenda Paradigmas de Linguagens de ção joao@ecomp.uefs.br Principais paradigmas de linguagem de programação imperajvo funcional declaração Departamento de Ciências Exatas Universidade Estadual de Feira

Leia mais

Linguagem de Programação I Apresentação da Disciplina

Linguagem de Programação I Apresentação da Disciplina Linguagem de Programação I Apresentação da Disciplina Apresentação da Disciplina Conteúdo: 1) Orientação a Objetos - Características da OO - Reutilização de código 2) Introdução à Linguagem Java - Histórico

Leia mais

Curso Profissional de Gestão e Programação de Sistemas Informáticos. Programação e Sistemas de Informação. Módulo 1. 1ª Parte Prof. Sandra Pais Soares

Curso Profissional de Gestão e Programação de Sistemas Informáticos. Programação e Sistemas de Informação. Módulo 1. 1ª Parte Prof. Sandra Pais Soares Curso Profissional de Gestão e Programação de Sistemas Informáticos Programação e Sistemas de Informação Módulo 1 1ª Parte Prof. Sandra Pais Soares Linguagens de Programação Linguagens de Programação Uma

Leia mais

Orientação a Objetos Parte I. Introdução a POO (Programação Orientada a Objetos)

Orientação a Objetos Parte I. Introdução a POO (Programação Orientada a Objetos) Orientação a Objetos Parte I Introdução a POO (Programação Orientada a Objetos) Histórico Gerações de Linguagens de Programação Primeira Geração: Linguagem de máquina Segunda Geração: Linguagem de montagem

Leia mais

Conceitos de Linguagens de Programação

Conceitos de Linguagens de Programação Faculdade de Ciências e Tecnologia Departamento de Matemática e Computação Bacharelado em Ciência da Computação Conceitos de Linguagens de Programação Aula 06 (rogerio@fct.unesp.br) Aula 6 Subprogramas

Leia mais

Linguagem de Programação e Compiladores

Linguagem de Programação e Compiladores Linguagem de Programação e Compiladores Fernando Antônio Asevedo Nóbrega Instituto de Ciências Matemáticas e de Computação USP SCC-206 Introdução à Compilação 24 de abril de 2012 1 / 20 Sumário 1 Introdução

Leia mais

Televisao tamanho tela emitirsom. conectarperifericos

Televisao tamanho tela emitirsom. conectarperifericos 1 - Introdução a Programação Orientada a Objeto Para tentar solucionar o problema do baixo reaproveitamento de código, surgiu a idéia da Programação Orientada a Objeto (POO). A POO não é nova, sua formulação

Leia mais

Paradigmas de Linguagem de Programação. Aspectos Básicos

Paradigmas de Linguagem de Programação. Aspectos Básicos Paradigmas de Linguagem de Programação Aspectos Básicos Introdução Nesta segunda etapa de nossos estudos, veremos: aspectos básicos de programa e linguagem de programação; revisão de conceitos de compilador

Leia mais

Conceitos de Programação Orientada a Objetos

Conceitos de Programação Orientada a Objetos Conceitos de Programação Orientada a Objetos flavio@facom.ufu.br 80 Por que a Orientação a Objetos? As abstrações podem corresponder às "coisas" do domínio do problema, facilitando o entendimento Esta

Leia mais

Ederson Luiz da Silva Ciência da Computação. Algoritmos e Programação

Ederson Luiz da Silva Ciência da Computação. Algoritmos e Programação Ederson Luiz da Silva Ciência da Computação Algoritmos e Programação Linguagem de programação Linguagem de Programação Linguagem de máquina http://www.assemblyprogressivo.net/p/curso.html Linguagem de

Leia mais

3.4. Programação Orientada a Objetos

3.4. Programação Orientada a Objetos Paradigmas de Linguagens I 1 3.4. Programação Orientada a Objetos Os conceitos de objetos e classes, vistos nas seções anteriores, são fundamentais na programação orientada a objetos. Complementando a

Leia mais

Herança Tiago Eugenio de Melo

Herança Tiago Eugenio de Melo Herança Tiago Eugenio de Melo tiago@comunidadesol.org Herança Conceito: Herança é a capacidade de especializar tipos de objetos (classes), de forma que os tipos especializados contenham, além de características

Leia mais

Compiladores. Introdução

Compiladores. Introdução Compiladores Introdução Apresentação Turma Noite Continuada I 20/03 Continuada II 22/05 Atividades Regimental 05/06 Total 1 Ponto 1 Ponto 1 Ponto 7 Pontos 10 Pontos Aulas expositivas teórico-práticas Exercícios

Leia mais

ACH2002. Orientação a Objetos

ACH2002. Orientação a Objetos ACH2002 Orientação a Objetos Professores: Delano Medeiros Beder Fátima L. S. Nunes EACH USP O que é abstração? Abstração s.f. Operação do espírito, que isola de uma noção um elemento, negligenciando os

Leia mais

Modelagem de Dados MODELAGEM DE DADOS. Sistemas de Banco de Dados. Profa. Rosemary Melo

Modelagem de Dados MODELAGEM DE DADOS. Sistemas de Banco de Dados. Profa. Rosemary Melo MODELAGEM DE DADOS Sistemas de Banco de Dados Profa. Rosemary Melo SISTEMAS DE BANCO DE DADOS OBJETIVOS Apresentar os conceitos fundamentais de Sistemas de Banco de Dados. Principais componentes dos SGBDs

Leia mais

Informática I. Aula 19. Aula 19-31/10/2007 1

Informática I. Aula 19.  Aula 19-31/10/2007 1 Informática I Aula 19 http://www.ic.uff.br/~bianca/informatica1/ Aula 19-31/10/2007 1 Ementa Noções Básicas de Computação (Hardware, Software e Internet) HTML e Páginas Web Internet e a Web Javascript

Leia mais

Programação Orientada a Objetos 2 Flávio de Oliveira Silva, M.Sc.

Programação Orientada a Objetos 2 Flávio de Oliveira Silva, M.Sc. Orientação a Objetos Revisão Conceitos CLASSE CLASSIFICAÇÃO GENERALIZAÇÃO ESPECIALIZAÇÃO HERANÇA INTERFACES POLIMORFISMO SOBRECARGA ENCAPSULAMENTO ABSTRAÇÃO MODULARIZAÇÃO 9 CLASSE Classe é um agrupamento

Leia mais

Linguagens de Programação

Linguagens de Programação Linguagens de Programação Paradigma Imperativo Matheus Hafner Tiago Xavier CET 087 - Conceitos de Linguagens de Programação (CLP) 10 de novembro de 2011 Sumário 1 Introdução 2 Paradigma imperativo Modelo

Leia mais