Linguagens de Programação 10 Avaliação de Linguagens

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

Download "Linguagens de Programação 10 Avaliação de Linguagens"

Transcrição

1 Linguagens de Programação 10 Avaliação de Linguagens Vítor E. Silva Souza ~ vitorsouza Departamento de Informática Centro Tecnológico Universidade Federal do Espírito Santo Este obra foi licenciada sob uma Licença Creative Commons Atribuição 3.0 Não Adaptada.

2 Conteúdo do curso Introdução; Amarrações; Valores e tipos de dados; Variáveis e constantes; Expressões e comandos; Modularização; Polimorfismo; Exceções; Concorrência; Avaliação de linguagens. Estes slides foram baseados em: Slides do prof. Flávio M. Varejão; Livro Linguagens de Programação Conceitos e Técnicas (Varejão); Livro Linguagens de Programação Princípios e Paradigmas, 2a edição (Tucker & Noonan). Outubro 2014 Linguagens de Programação - Avaliação de Linguagens 2

3 Linguagens de programação Fundamentais para o profissional de computação; Envolvida em diversas etapas do processo de software: Viabilidade de um projeto; Estimativa de tempo e custo; Definição do paradigma de desenvolvimento; etc. Conhecimento dos conceitos teóricos: Maior habilidade para resolver problemas; Mais facilidade para aprender novas LPs; Maior capacidade de escolher a LP para um projeto. Outubro 2014 Linguagens de Programação - Avaliação de Linguagens 3

4 Critérios de comparação Dificuldade para definir: Inúmeras possibilidades; Granularidade; Dependência do contexto; Opiniões divergentes; Etc. Isso se aplica mesmo a essa aula (visão do professor sobre o assunto) e ao capítulo do livro do Flávio (visão do autor sobre o assunto)! Outubro 2014 Linguagens de Programação - Avaliação de Linguagens 4

5 Alguns critérios gerais Aplicabilidade; Confiabilidade; Facilidade de aprendizado; Eficiência; Portabilidade; Suporte ao método de projeto; Evolutibilidade; Reusabilidade; Integração com outros softwares; Custo. Outubro 2014 Linguagens de Programação - Avaliação de Linguagens 5

6 Alguns critérios específicos Escopo; Expressões e comandos; Tipos primitivos e compostos; Gerenciamento de memória; Persistência de dados; Passagem de parâmetros; Encapsulamento e proteção; Sistema de tipos; Verificação de tipos; Polimorfismo; Exceções; Concorrência. Outubro 2014 Linguagens de Programação - Avaliação de Linguagens 6

7 Comparações entre LPs Dificuldade para realizar; Não existe uma LP melhor que outra: Depende do contexto de uso; Depende do critério avaliado; Comparações refletem visão do autor. Outubro 2014 Linguagens de Programação - Avaliação de Linguagens 7

8 Critérios gerais C C++ Java Aplicabilidade Sim Sim Parcial Confiabilidade Não Não Sim Aprendizado Não Não Não Eficiência Sim Sim Parcial Portabilidade Não Não Sim Método de projeto Estruturado Estruturado e OO OO Evolutibilidade Não Parcial Sim Reusabilidade Parcial Sim Sim Integração Sim Sim Parcial Custo Outubro 2014 Linguagens de Programação - Avaliação de Linguagens 8

9 Critérios gerais C C++ Java Aplicabilidade Sim Sim Parcial Confiabilidade Não Não Sim Aprendizado C Não e C++ são linguagens Não de propósito Não geral. Eficiência Java, contudo, não oferece recursos para Sim Sim Parcial controlar diretamente o hardware, obrigando Portabilidade Não o programador a Não usar métodos nativos. Sim Método de projeto Estruturado Estruturado e OO Evolutibilidade Não Parcial Sim Reusabilidade Parcial Sim Sim Integração Sim Sim Parcial OO Custo Outubro 2014 Linguagens de Programação - Avaliação de Linguagens 9

10 Critérios gerais C C++ Java Aplicabilidade Sim Sim Parcial Confiabilidade Não Não Sim Aprendizado Não Não Não C e C++ possuem inúmeras características Eficiência estimuladoras Sim de erros Simem programação Parcial (ex.: Portabilidade desvio Não incondicional Não irrestrito, aritmética Sim de ponteiros, etc.). Java centraliza certas Método de Estruturado operações para Estruturado evitar problemas e (ex.: OO projeto OO verificação de índices de vetor, coleta de lixo, Evolutibilidade Não Parcial etc.) Sim Reusabilidade Parcial Sim Sim Integração Sim Sim Parcial Custo Outubro 2014 Linguagens de Programação - Avaliação de Linguagens 10

11 Critérios gerais C C++ Java Aplicabilidade Sim Sim Parcial Confiabilidade Não Não Sim Aprendizado Não Não! Não Eficiência Sim Sim Parcial Embora C e Java sejam mais fáceis de Portabilidade aprender Não que C++, Não nenhuma das LPs Simatende Método de Estruturado ao critério. C exige Estruturado uso massivo e de ponteiros, OO projeto que não é um conceito OO trivial. Java apresenta Evolutibilidade muitos conceitos, nem sempre ortogonais. Não Em especial as Parcial versões mais recentes Sim Reusabilidade Parcial adicionaram bastante Sim complexidade Sim(ex.: Integração tipos genéricos, closures, etc.). Sim Sim Parcial Custo Outubro 2014 Linguagens de Programação - Avaliação de Linguagens 11

12 Critérios gerais C C++ Java Aplicabilidade Sim Sim Parcial Confiabilidade Não Não Sim Aprendizado Não Não Não Eficiência Sim Sim Parcial Portabilidade Não Não Sim O critério toma como base programadores Método de Estruturado muito experientes. Estruturado Neste caso, e C permite OO um projeto controle mais fino e é OOportanto mais eficiente. Evolutibilidade C++ Não vai na mesma Parcial linha. Java assume Sim o controle de diversos aspectos, adicionando Reusabilidade mecanismos Parcial de verificação, Sim coleta de Simlixo, Integração Sim etc. que diminuem Sim a eficiência. Parcial Custo Outubro 2014 Linguagens de Programação - Avaliação de Linguagens 12

13 Critérios gerais C C++ Java Aplicabilidade Sim Sim Parcial Confiabilidade Não Não Sim Aprendizado Não Não Não Eficiência Sim Sim Parcial Portabilidade Não Não Sim Método de Estruturado Estruturado e OO projeto Embora C e C++ sejam OO padronizadas pela Evolutibilidade ANSI, é comum compiladores diferentes Não Parcial Sim terem características diferentes. Java, por Reusabilidade outro Parciallado, tem a portabilidade Sim como Simuma Integração característica fundamental da LP. Sim Sim Parcial Custo Outubro 2014 Linguagens de Programação - Avaliação de Linguagens 13

14 Critérios gerais C C++ Java Aplicabilidade Sim Sim Parcial Confiabilidade Não Não Sim Aprendizado Não Não Não Eficiência Sim Sim Parcial Portabilidade Não Não Sim Método de projeto Estruturado Estruturado e OO OO Evolutibilidade Não Parcial Sim Esse critério depende da escolha do Reusabilidade Parcial Sim Sim paradigma adotado no projeto. Contudo, cada Integração vez Sim mais o paradigma SimOO vem sendo Parcial adotado Custo em projetos de sistemas de informação. Outubro 2014 Linguagens de Programação - Avaliação de Linguagens 14

15 Critérios gerais C C++ Java Aplicabilidade Sim Sim Parcial Confiabilidade Não Não Sim Aprendizado Não Não Não Eficiência Sim Sim Parcial Portabilidade Não Não Sim Método de projeto Estruturado Estruturado e OO OO Evolutibilidade Não Parcial Sim Reusabilidade C Parcial possui características Sim que permitem Simcódigo Integração ilegível Sim e difícil de manter. Sim C++ melhora Parcialesse aspecto quando a orientação a objetos é Custo usada (estímulo ao encapsulamento e abstração). Java só admite programação OO e ainda oferece estímulo para construção de código bem documentado (ex.: JavaDoc). Outubro 2014 Linguagens de Programação - Avaliação de Linguagens 15

16 Critérios gerais C C++ Java Aplicabilidade Sim Sim Parcial Confiabilidade Não Não Sim Aprendizado Não Não Não Eficiência C Sim oferece apenas reuso Sim de funções, Parcial tipos e Portabilidade variáveis Não distribuídas Nãoem bibliotecas. Sim C++ e Java oferecem o conceito de classes e Método de Estruturado possuem mecanismo Estruturado de e pacotes. OOO projeto OO polimorfismo universal também auxilia na Evolutibilidade criação Não de código Parcial reutilizável e frameworks. Sim Reusabilidade Parcial Sim Sim Integração Sim Sim Parcial Custo Outubro 2014 Linguagens de Programação - Avaliação de Linguagens 16

17 Critérios gerais C C++ Java Aplicabilidade Sim Sim Parcial Confiabilidade Não Não Sim Aprendizado Não Não Não Eficiência Sim Sim Parcial Portabilidade Não Não Sim Método de Estruturado Estruturado e OO C e C++ podem invocar código compilado por projeto OO qualquer LP. Java tem que recorrer ao Evolutibilidade mecanismo Não JNI (Java Parcial Native Interface), Sim que integra com C/C++ apenas. Reusabilidade Parcial Sim Sim Integração Sim Sim Parcial Custo Outubro 2014 Linguagens de Programação - Avaliação de Linguagens 17

18 Critérios gerais C C++ Java Aplicabilidade Sim Sim Parcial Confiabilidade Não Não Sim Aprendizado Não Não Não Eficiência Sim Sim Parcial Portabilidade Não Não Sim Método de Estruturado Estruturado e OO projeto C e C++ são de OO domínio público. Java Evolutibilidade pertence à Oracle, porém é liberada Não Parcial Sim gratuitamente. Existem inúmeras s Reusabilidade Parcial gratuitas e pagas. Sim escolha Sim da Integração Sim equipe de desenvolvimento. Sim Parcial Custo Outubro 2014 Linguagens de Programação - Avaliação de Linguagens 18

19 Critérios específicos C C++ Java Escopo Sim Sim Sim Expressões e comandos Sim Sim Sim Tipos primitivos e compostos Gerenciamento de memória Sim Sim Sim Programador Programador Sistema Persistência dos dados Biblioteca de funções Biblioteca de classes e funções JDBC, biblioteca de classes, serialização Passagem de parâmetros Lista variável e por valor Lista variável, default, por valor e por referência Lista variável, por valor e por cópia de referência Outubro 2014 Linguagens de Programação - Avaliação de Linguagens 19

20 Critérios específicos C C++ Java Escopo Sim Sim Sim Expressões e comandos Tipos primitivos e compostos As Sim três LPs requerem Sim a definição explícita Sim de entidades, associando-as a um escopo de Sim visibilidade. Há Sim pequenas diferenças. Sim Gerenciamento de memória Programador Programador Sistema Persistência dos dados Biblioteca de funções Biblioteca de classes e funções JDBC, biblioteca de classes, serialização Passagem de parâmetros Lista variável e por valor Lista variável, default, por valor e por referência Lista variável, por valor e por cópia de referência Outubro 2014 Linguagens de Programação - Avaliação de Linguagens 20

21 Critérios específicos C C++ Java Escopo Sim Sim Sim Expressões e comandos Tipos primitivos e compostos Sim Sim Sim Todas Sim oferecem uma Sim ampla variedade Sim de expressões e comandos. Gerenciamento de memória Programador Programador Sistema Persistência dos dados Biblioteca de funções Biblioteca de classes e funções JDBC, biblioteca de classes, serialização Passagem de parâmetros Lista variável e por valor Lista variável, default, por valor e por referência Lista variável, por valor e por cópia de referência Outubro 2014 Linguagens de Programação - Avaliação de Linguagens 21

22 Critérios específicos C C++ Java Escopo Sim Sim Sim Expressões e comandos Sim Sim Sim Tipos primitivos e compostos Gerenciamento de memória Persistência dos dados Sim Sim Sim Todas oferecem ampla variedade de tipos Programador primitivos (mas Programador C não oferece booleano) Sistema e compostos (mas nenhuma oferece conjunto Biblioteca potência). de Recentemente, Biblioteca de Java 8 JDBC, incluiu biblioteca o tipo funções função na linguagem classes e (vide closures). de classes, funções serialização Passagem de parâmetros Lista variável e por valor Lista variável, default, por valor e por referência Lista variável, por valor e por cópia de referência Outubro 2014 Linguagens de Programação - Avaliação de Linguagens 22

23 Critérios específicos C C++ Java Escopo Sim Sim Sim Expressões e comandos Sim Sim Sim Tipos primitivos e compostos Gerenciamento de memória Persistência dos dados Sim Sim Sim Programador Programador Sistema Biblioteca C/C++ deixam a Biblioteca cargo do de programador. JDBC, biblioteca Java funções classes e de classes, utiliza coletor de lixo. funções serialização Passagem de parâmetros Lista variável e por valor Lista variável, default, por valor e por referência Lista variável, por valor e por cópia de referência Outubro 2014 Linguagens de Programação - Avaliação de Linguagens 23

24 Critérios específicos C C++ Java Escopo Sim Sim Sim Expressões e comandos Tipos primitivos e compostos Gerenciamento de memória Persistência dos dados Passagem de parâmetros Sim Sim Sim C/C++ oferecem funções de I/O, mas deixam persistência a cargo do programador. Não Sim Sim Sim existe padrão para interface com BD. Java possui serialização e padronizou interface com Programador BD no JDBC, além Programador de ter operações Sistema de I/O. Biblioteca de funções Lista variável e por valor Biblioteca de classes e funções Lista variável, default, por valor e por referência JDBC, biblioteca de classes, serialização Lista variável, por valor e por cópia de referência Outubro 2014 Linguagens de Programação - Avaliação de Linguagens 24

25 Critérios específicos C C++ Java Escopo Sim Sim Sim Expressões e comandos Sim Sim Sim Tipos primitivos e compostos Gerenciamento de memória Persistência dos dados Sim Sim Sim Programador Programador Sistema C usa apenas passagem por valor, obrigando o uso de ponteiros em diversas ocasiões. C++ Biblioteca de Biblioteca de JDBC, biblioteca oferece funçõeso maior leque classes de e opções. de Java classes, incluiu varargs funções na versão 5. serialização Passagem de parâmetros Lista variável e por valor Lista variável, default, por valor e por referência Lista variável, por valor e por cópia de referência Outubro 2014 Linguagens de Programação - Avaliação de Linguagens 25

26 Critérios específicos Encapsulamento e proteção C C++ Java Parcial Sim Sim Sistema de tipos Não Parcial Sim Verificação de tipos Polimorfismo Estática Estática / Dinâmica Coerção e sobrecarga Todos Estática / Dinâmica Todos Exceções Não Parcial Sim Concorrência Não (biblioteca de funções) Não (biblioteca de funções) Sim Outubro 2014 Linguagens de Programação - Avaliação de Linguagens 26

27 Critérios específicos C C++ Java Encapsulamento e proteção Parcial Sim Sim Sistema de tipos C oferece Não apenas encapsulamento Parcial de Simdados. Versões recentes permitem ocultamento com Verificação de declaração Estática (.h) & Estática definição / (.c). Java Estática e C++ / tipos oferecem mecanismo Dinâmica de classes e Dinâmica pacotes. Polimorfismo Coerção e sobrecarga Todos Todos Exceções Não Parcial Sim Concorrência Não (biblioteca de funções) Não (biblioteca de funções) Sim Outubro 2014 Linguagens de Programação - Avaliação de Linguagens 27

28 Critérios específicos Encapsulamento e proteção C C++ Java Parcial Sim Sim Sistema de tipos Não Parcial Sim Verificação de Estática Em C, diversos Estática mecanismos / (ex.: Estática uniões / tipos livres, coerções Dinâmica e aritmética de ponteiros) Dinâmica permitem violação do sistema de tipos. C++ Polimorfismo Coerção e Todos Todos sobrecarga herda isso, mas possui sistema de tipos mais rigoroso se usado em sua forma OO. Java Exceções possui Não um sistema Parcial de tipos bastante Sim rigoroso. Concorrência Não (biblioteca de funções) Não (biblioteca de funções) Sim Outubro 2014 Linguagens de Programação - Avaliação de Linguagens 28

29 Critérios específicos Encapsulamento e proteção C C++ Java Parcial Sim Sim Sistema de tipos Não Parcial Sim Verificação de tipos Estática Estática / Dinâmica Estática / Dinâmica Polimorfismo Coerção e Todos Todos Todas as verificações de C são estáticas. C++ sobrecarga e Java fazem algumas verificações dinâmicas Exceções (ex.: Nãoamarração tardia, Parcialverificação de Simíndice de vetor). Concorrência Não (biblioteca de funções) Não (biblioteca de funções) Sim Outubro 2014 Linguagens de Programação - Avaliação de Linguagens 29

30 Critérios específicos Encapsulamento e proteção C C++ Java Parcial Sim Sim Sistema de tipos Não Parcial Sim Verificação de tipos Polimorfismo Estática Estática / Dinâmica Coerção e sobrecarga Todos Estática / Dinâmica Todos Exceções Não Parcial Sim C não possui polimorfismo paramétrico ou de inclusão. C++ e Java possuem todos, porém Concorrência Não Java (biblioteca não permite Não sobrescrita (biblioteca de operadores. Sim de funções) de funções) Outubro 2014 Linguagens de Programação - Avaliação de Linguagens 30

31 Critérios específicos Encapsulamento e proteção C C++ Java Parcial Sim Sim Sistema de tipos Não Parcial Sim Verificação de tipos Polimorfismo Estática Estática / Estática / C não oferece. C++ Dinâmica oferece, mas Dinâmica não obriga seu uso. Java oferece um sistema bastante Coerção e Todos Todos sobrecarga rigoroso de tratamento de exceções. Exceções Não Parcial Sim Concorrência Não (biblioteca de funções) Não (biblioteca de funções) Sim Outubro 2014 Linguagens de Programação - Avaliação de Linguagens 31

32 Critérios específicos Encapsulamento e proteção C C++ Java Parcial Sim Sim Sistema de tipos Não Parcial Sim Verificação de tipos Estática Estática / Dinâmica Estática / Dinâmica Polimorfismo Coerção e Todos Todos sobrecarga Java oferece recursos nativos para exclusão Exceções mútua Não (synchronized) Parcial e oferece threads Sim em sua API básica. Concorrência Não (biblioteca de funções) Não (biblioteca de funções) Sim Outubro 2014 Linguagens de Programação - Avaliação de Linguagens 32

33 Procure saber Vários autores já fizeram comparações entre LPs; Procure saber: Algumas referências no livro do Flávio; Google Scholar, ACM DL, IEEE Xplorer, SpringerLink, etc. Outubro 2014 Linguagens de Programação - Avaliação de Linguagens 33

34 Outubro 2014 Linguagens de Programação - Avaliação de Linguagens 34

Gabriel Giorisatto De Angelo Luiz Otávio Gerhardt Fernandes

Gabriel Giorisatto De Angelo Luiz Otávio Gerhardt Fernandes Gabriel Giorisatto De Angelo Luiz Otávio Gerhardt Fernandes Histórico Desenvolvida em 2012 por Jeff Bezanson, Stefan Karpinski, Viral B. Shah, Alan Edelman Gratuita, Open Source e licenciada sob a Licença

Leia mais

Programação Estruturada Orientada a Objetos

Programação Estruturada Orientada a Objetos INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE Programação Estruturada Orientada a Objetos Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com eberton.marinho@gmail.com

Leia mais

Groovy. Cleisson Santos Guterres Lucas Augusto Santos Renato Menezes Machado

Groovy. Cleisson Santos Guterres Lucas Augusto Santos Renato Menezes Machado Groovy Cleisson Santos Guterres Lucas Augusto Santos Renato Menezes Machado Introdução Groovy é uma linguagem de programação orientada a objeto para a plataforma Java. É dinamicamente compilada na JVM,

Leia mais

GRUPO: Rafael Igor Vanderlei Vieira

GRUPO: Rafael Igor Vanderlei Vieira GRUPO: Rafael Igor Vanderlei Vieira C# INTRODUÇÃO Paradigmas: Orientado a objeto; Estruturado; Imperativo; Surgimento: 2002. Criador: Anders Hejlsberg. Principais Compiladores:.NET Framework (Windows),

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

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

Linguagens de Programação 2016/2

Linguagens de Programação 2016/2 Linguagens de Programação 2016/2 Vítor E. Silva Souza (vitor.souza@ufes.br) http://www.inf.ufes.br/~vitorsouza Departamento de Informática Centro Tecnológico Universidade Federal do Espírito Santo Antes

Leia mais

Gabriel Santa Clara Ucelli

Gabriel Santa Clara Ucelli Gabriel Santa Clara Ucelli 1. Histórico 2. Introdução 3. Visão Geral 4. Conceitos Básicos 5. Aspectos Teóricos 6. Avaliação da Linguagem 7. Referências Sumário Histórico Scala foi desenvolvida em 2001

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

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

Histórico. Perl (Practical Extraction and Report Language). Criada por Larry Wall em 1987.

Histórico. Perl (Practical Extraction and Report Language). Criada por Larry Wall em 1987. www.perl.org Sumário 1. Histórico 2. Características 3. Compilação/Interpretação 3.1. Procedimento; 1. Sintaxe 1. Variáveis; 2. Escopo; 3. Operadores; 4. Controle de Fluxo; 5. Estruturas de Repetição 5.

Leia mais

Linguagens de Programação Scala. Gabriel Favalessa Gustavo Andrade

Linguagens de Programação Scala. Gabriel Favalessa Gustavo Andrade Linguagens de Programação Scala Gabriel Favalessa Gustavo Andrade Sumário Histórico Introdução/Conceitos Básicos Aspectos Teóricos Avaliação da Linguagem Referências Histórico Scala foi desenvolvida em

Leia mais

PLANO DE UNIDADE DIDÁTICA- PUD

PLANO DE UNIDADE DIDÁTICA- PUD Professor: Marcus Vinícius Midena Ramos Coordenação: Ricardo Argenton Ramos Data: 03/08/2010 Página: 1 de 5 EMENTA: Conceitos básicos de linguagens. Histórico, classificação e principais aplicações de

Leia mais

Seminário de Linguagens de Programação. Grupo: Felipe de Aquino Fernandes

Seminário de Linguagens de Programação. Grupo: Felipe de Aquino Fernandes Seminário de Linguagens de Programação Grupo: Felipe de Aquino Fernandes História Surgiu em 1989; Criada por Guido van Rossum; Inspiração para o nome: Monty Python and the Flying Circus; Licença compatível

Leia mais

Projeto de Linguagem. Linguagens de Programação

Projeto de Linguagem. Linguagens de Programação Projeto de Linguagem Renato Ferreira Linguagens de Programação Linguagens são adotadas para preencher uma demada Facilitar uma aplicação outrora difícil/impossível Independente da qualidade da linguagem

Leia mais

Linguagens. Programação

Linguagens. Programação Linguagens de Programação Professor: Vítor Souza Grupo: Gustavo Tavares Linicker Harison Rodrigo Barcellos Seminário Criad apelo Google Lançada em novembro de 2007 Código livre em 2009 Primeira versão

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

Verificação de Tipo. Unions. Verificação de tipo estática. Verificação de tipo dinâmica

Verificação de Tipo. Unions. Verificação de tipo estática. Verificação de tipo dinâmica Verificação de Tipo Atividade que certifica que os operandos de um operador são de tipos compatíveis. São considerados operadores e operandos: operadores usuais (aritméticos, relacionais, etc) subprogramas

Leia mais

6 Polimorfismo. Desenvolvimento OO com Java. Vítor E. Silva Souza ~ vitorsouza

6 Polimorfismo. Desenvolvimento OO com Java. Vítor E. Silva Souza  ~ vitorsouza Desenvolvimento OO com Java 6 Polimorfismo Vítor E. Silva Souza (vitorsouza@inf.ufes.br) http://www.inf.ufes.br/ ~ vitorsouza Departamento de Informática Centro Tecnológico Universidade Federal do Espírito

Leia mais

Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática. Erlang. Luiz Carlos Passamani Filho.

Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática. Erlang. Luiz Carlos Passamani Filho. Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Erlang Luiz Carlos Passamani Filho Vitoria, 2015 Agenda Introdução Amarrações Valores e tipos de dados Variáveis e

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

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

Introdução a Orientação a Objetos

Introdução a Orientação a Objetos Introdução a Orientação a Objetos Instituto Federal de Educação, Ciência e Tecnologia do Triângulo Mineiro Prof. Edwar Saliba Júnior Fevereiro de 2011 Unidade 01 - Introdução 1 Qualidade de Software Obter

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

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

Paradigmas de Linguagens

Paradigmas de Linguagens Paradigmas de Linguagens Aula 2: Tipos de dados Professora Sheila Cáceres Tipos de dados Dados são a matéria prima da computação junto com os programas. LPs precisam manipular dados. LPS utilizam os conceitos

Leia mais

Sistemas Distribuídos e Paralelos

Sistemas Distribuídos e Paralelos Sistemas Distribuídos e Paralelos Aula #6: Programação paralela em sistemas de memória compartilhada. ISUTIC - 2016 Eng. Alexander Rodríguez Bonet Aula de hoje Regiões paralelas. Cláusulas de âmbito. Partilha

Leia mais

Expressões e sentença de atribuição

Expressões e sentença de atribuição Expressões e sentença de atribuição 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

Agenda da Aula. Reuso de Software. Tipos de Reuso. Potenciais Problemas. Vantagens de Reuso. Introdução a Reuso de Software

Agenda da Aula. Reuso de Software. Tipos de Reuso. Potenciais Problemas. Vantagens de Reuso. Introdução a Reuso de Software Reuso de Software Aula 02 Agenda da Aula Introdução a Reuso de Software Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo reuso.software@gmail.com Introdução a Reuso de Software Abordagens de Reuso

Leia mais

Carlos Eduardo Batista. Centro de Informática - UFPB

Carlos Eduardo Batista. Centro de Informática - UFPB Linguagem de Programação I Carlos Eduardo Batista Centro de Informática - UFPB bidu@ci.ufpb.br Motivação para o uso de C++ para o aprendizado de POO Quando usar C e quando usar C++ C++ versus Java Ambientes

Leia mais

Linguagens de Programação 2 Amarrações

Linguagens de Programação 2 Amarrações Linguagens de Programação 2 Amarrações Vítor E. Silva Souza (vitor.souza@ufes.br) http://www.inf.ufes.br/~vitorsouza Departamento de Informática Centro Tecnológico Universidade Federal do Espírito Santo

Leia mais

AULA 02. OBJETIVO: Características da Linguagem Orientada a Objetos.

AULA 02. OBJETIVO: Características da Linguagem Orientada a Objetos. AULA 02 OBJETIVO: Características da Linguagem Orientada a Objetos. HABILIDADES TRABALHADAS: Comparação das características das linguagens orientadas a objetos frente às linguagens estruturadas. Conhecimentos

Leia mais

Lua. Simple things simple, complex things possible. André Martinelli, Breno Krohling, Israel Santos, Matheus Vieira, Pedro Henrique Flores

Lua. Simple things simple, complex things possible. André Martinelli, Breno Krohling, Israel Santos, Matheus Vieira, Pedro Henrique Flores Lua ple things simple, complex things possible André Martinelli, Breno Krohling, Israel Santos, Matheus Vieira, Pedro Henrique Flores 1 Introdução 2 Histórico Desenvolvida pelo grupo Tecgraf da PUC-Rio

Leia mais

INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS

INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS Departamento de Informática PUC-Rio Ivan Mathias Filho ivan@inf.puc-rio.br Programa Capítulo 3 Ponteiros e Variáveis de Objeto Construtores e Blocos de Inicialização

Leia mais

Conceitos de Programação Orientada a Objetos

Conceitos de Programação Orientada a Objetos Conceitos de Programação Orientada a Objetos Tatyana Bitencourt Com as técnicas de orientação a objeto, é possível obter resultados considerados impossíveis pensando de maneira estruturada. Como Java não

Leia mais

INF1337 LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS

INF1337 LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS INF1337 LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS Departamento de Informática PUC-Rio Andrew Diniz da Costa andrew@les.inf.puc-rio.br Programa Capítulo 3 Ponteiros e Variáveis de Objeto Construtores

Leia mais

Linguagens de Programação. Marco A L Barbosa

Linguagens de Programação. Marco A L Barbosa Expressões e sentença de atribuição 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 Objetos

Programação Orientada a Objetos Programação Orientada a Objetos Classes e Objetos Renato Dourado Maia Universidade Estadual de Montes Claros Engenharia de Sistemas Lembrando Na Unidade II Modelagem Orientada a Objetos, vimos: Como utilizar

Leia mais

AULA 8 Polimorfismo de: coerção, overloading, inclusão e paramétrico Prof. Dr. Fernando Henrique Campos

AULA 8 Polimorfismo de: coerção, overloading, inclusão e paramétrico Prof. Dr. Fernando Henrique Campos Câmpus Santa Helena Curso: Ciência da Computação Disciplina: Programação Orientada a Objetos AULA 8 Polimorfismo de: coerção, overloading, inclusão e paramétrico Prof. Dr. Fernando Henrique Campos Tema

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

PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS

PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com eberton.marinho@ifrn.edu.br

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

Programação orientada a objetos

Programação orientada a objetos Programação orientada a objetos Neste capítulo: conceitos-chave que caracterizam as linguagens de programação orientadas a objetos; pragmática da programação orientada a objetos; o projeto de duas importantes

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

Desenvolva de qualquer sistema operacional para qualquer sistema operacional. Sem limites.

Desenvolva de qualquer sistema operacional para qualquer sistema operacional. Sem limites. Desenvolva de qualquer sistema operacional para qualquer sistema operacional. Sem limites. Gabriel Pereira, Especialista em Java da Clarify Projete e desenvolva situações de Mercado com a criação de um

Leia mais

SEMINÁRIOS INTEGRADOS EM SISTEMAS DE INFORMAÇÃO. Luiz Leão

SEMINÁRIOS INTEGRADOS EM SISTEMAS DE INFORMAÇÃO. Luiz Leão SEMINÁRIOS INTEGRADOS EM SISTEMAS DE INFORMAÇÃO Luiz Leão luizleao@gmail.com http://www.luizleao.com Conteúdo Programático 4.1. Aplicações utilizando Programação Estruturada e Programação Orientada a Objeto.

Leia mais

Curso teórico: Orientação a Objetos. Matemática computacional Marcos Aurelio Wozhiak Jr webzhiak.com.br

Curso teórico: Orientação a Objetos. Matemática computacional Marcos Aurelio Wozhiak Jr webzhiak.com.br Curso teórico: Orientação a Objetos Matemática computacional Marcos Aurelio Wozhiak Jr webzhiak.com.br Objetivos Conhecer os conceitos fundamentais de orientação a objetos; Aprender a criar e utilizar

Leia mais

Java Básico. Carga Horária: 32 horas. Pré-requisito: Lógica de Programação; JAVA. Conteúdo Programático

Java Básico. Carga Horária: 32 horas. Pré-requisito: Lógica de Programação; JAVA. Conteúdo Programático Java Básico Objetivo: Os assuntos apresentados no decorrer do curso Java Básico incluem os conceitos gerais desta linguagem assim como a definição e utilização de seus recursos diversos, tais como: tipos

Leia mais

[Desenvolvimento OO com Java] Organizando suas classes

[Desenvolvimento OO com Java] Organizando suas classes Centro Tecnológico Departamento de Informática Prof. Vítor E. Silva Souza http://www.inf.ufes.br/~vitorsouza [Desenvolvimento OO com Java] Organizando suas classes Este obra está licenciada com uma licença

Leia mais

Programação orientada a objetos

Programação orientada a objetos J100 com Programação orientada a objetos TM SE Helder da Rocha (helder@acm.org) argonavis.com.br 1 Objetivos Este curso tem como objetivo iniciá-lo em Java... mas não apenas isto Visa também a ajudá-lo

Leia mais

Programação Orientada a Objetos. Vagner Luz do Carmo - Vluzrmos

Programação Orientada a Objetos. Vagner Luz do Carmo - Vluzrmos Programação Orientada a Objetos Vagner Luz do Carmo - Vluzrmos Questão 1 Dada a seguinte classe na linguagem JAVA: public class Carro { public String retornacor(){ ; return Azul ; private String retornachassi(){

Leia mais

Sumário. Capítulo 1 Introdução 29. Capítulo 2 Utilizando Objetos 59

Sumário. Capítulo 1 Introdução 29. Capítulo 2 Utilizando Objetos 59 Sumário Capítulo 1 Introdução 29 1.1 O que é programação? 30 1.2 A anatomia de um computador 31 1.3 Traduzindo programas legíveis pelo homem em código de máquina 36 1.4 A linguagem de programação Java

Leia mais

MINISTÉRIO DA EDUCAÇÃO SECRETARIA DA EDUCAÇÃO PROFISSIONAL E TECNOLÓGICA INSTITUTO FEDERAL GOIANO - CAMPUS TRINDADE

MINISTÉRIO DA EDUCAÇÃO SECRETARIA DA EDUCAÇÃO PROFISSIONAL E TECNOLÓGICA INSTITUTO FEDERAL GOIANO - CAMPUS TRINDADE 1. Identificação Instituição Docente Curso Unidade Curricular Instituto Federal de Educação, Ciência e Tecnologia Goiano - Campus Trindade Hudson de Paula Romualdo Técnico Integrado em Informática para

Leia mais

FACULDADE DE CIÊNCIA DE ENGENHARIA DE SOFTWARE MATRIZ CURRICULAR DO CURSO DE ENGENHARIA DE SOFTWARE PRIMEIRO PERÍODO SEGUNDO PERÍODO

FACULDADE DE CIÊNCIA DE ENGENHARIA DE SOFTWARE MATRIZ CURRICULAR DO CURSO DE ENGENHARIA DE SOFTWARE PRIMEIRO PERÍODO SEGUNDO PERÍODO FACULDADE DE CIÊNCIA DE ENGENHARIA DE SOFTWARE MATRIZ CURRICULAR DO CURSO DE ENGENHARIA DE SOFTWARE PRIMEIRO PERÍODO ESW200 Introdução à Engenharia de Software 2 36 30 - ESW201 Prática de Programação I

Leia mais

Noções de sistemas de computação

Noções de sistemas de computação Noções de sistemas de computação Software 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

Leia mais

Universidade Federal de Minas Gerais Colégio Técnico Plano de Ensino

Universidade Federal de Minas Gerais Colégio Técnico Plano de Ensino Disciplina: Carga horária total: Universidade Federal de Minas Gerais Plano de Ensino Tecnologias de Programação Ano: 2015 Curso: Informática Regime: anual Série: 3o ano Observação: Carga Horária Semanal

Leia mais

Introdução à Análise e Projeto de Sistemas

Introdução à Análise e Projeto de Sistemas Introdução à I. O Que vamos fazer na Disciplina? Saber uma linguagem de programação orientada a objeto (OO) não é suficiente para criar sistemas OO Tem que saber Análise e Projeto OO (APOO) Isto é, Análise

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

Agenda do Curso. Reuso de Software. Agenda da Aula. Tipos de Reuso. Vantagens de Reuso. Reuso de Software. Eduardo Figueiredo

Agenda do Curso. Reuso de Software. Agenda da Aula. Tipos de Reuso. Vantagens de Reuso. Reuso de Software. Eduardo Figueiredo Engenharia de Software Aula 21 Agenda do Curso Reuso de Software Aula 23 Data 28/05 Assunto Desenv. Orientado a Aspectos 24 30/05 Laboratório 25 04/06 Apresentações do TP (1) Eduardo Figueiredo 26 06/06

Leia mais

SUMÁRIO CAPÍTULO 1 INTRODUÇÃO AO JAVA...1

SUMÁRIO CAPÍTULO 1 INTRODUÇÃO AO JAVA...1 SUMÁRIO CAPÍTULO 1 INTRODUÇÃO AO JAVA...1 A Origem...2 O Caminho Para a Aprendizagem...4 Java Como Plataforma...6 Finalidade...8 Características...11 Perspectivas...13 Exercícios...14 CAPÍTULO 2 AMBIENTE

Leia mais

Desenvolvimento OO com Java Um pouco de vetores

Desenvolvimento OO com Java Um pouco de vetores Desenvolvimento OO com Java Um pouco de vetores Vítor E. Silva Souza (vitor.souza@ufes.br) http://www.inf.ufes.br/~vitorsouza Departamento de Informática Centro Tecnológico Universidade Federal do Espírito

Leia mais

UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA. Sistemas Distribuídos

UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA. Sistemas Distribuídos UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA Sistemas Distribuídos Mestrado em Ciência da Computação 1o. Semestre / 2006 Prof. Fábio M. Costa fmc@inf.ufg.br www.inf.ufg.br/~fmc/ds-msc2006 Aula

Leia mais

Trabalho Linguagem e Programação de Compiladores

Trabalho Linguagem e Programação de Compiladores Trabalho Linguagem e Programação de Compiladores Responda as questões. Os exercícios deverão ser desenvolvidos utilizando as estruturas apresentadas em aula e adequadas para cada problema. Forma de entrega:

Leia mais

Academia Java IP JAVA: Introdução à Programação em Java (30 horas)

Academia Java IP JAVA: Introdução à Programação em Java (30 horas) Academia Java IP JAVA: Introdução à Programação em Java (30 horas) Índice Designação do Curso... 2 Duração Total... 2 Destinatários... 2 Perfil de saída... 2 Pré-Requisitos... 2 Objetivo Geral... 2 Objetivos

Leia mais

Ferramenta para Desenvolvimentode Sistemas EmbarcadosUtilizando Linguagem de Alto Nível p.1/25

Ferramenta para Desenvolvimentode Sistemas EmbarcadosUtilizando Linguagem de Alto Nível p.1/25 Universidade Federal do Rio Grande do Sul Escola de Engenharia - Instituto de Informática Graduação em Engenharia de Computação Ferramenta para Desenvolvimento de Sistemas Embarcados Utilizando Linguagem

Leia mais

Técnicas para Reutilização de Software

Técnicas para Reutilização de Software DCC / ICEx / UFMG Técnicas para Reutilização de Software Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Panorama de Reutilização Frameworks Padrões de projeto Aplicações configuráveis Padrões de

Leia mais

Universidade Federal do Espírito Santo. Programação II. CT IX - Sala 206 Departamento de Informática Centro Tecnológico

Universidade Federal do Espírito Santo. Programação II. CT IX - Sala 206 Departamento de Informática Centro Tecnológico Universidade Federal do Espírito Santo Programação II Prof.ª Claudia Boeres (boeres@inf.ufes.br) CT IX - Sala 206 Departamento de Informática Centro Tecnológico Universidade Federal do Espírito Santo Linguagem

Leia mais

Técnicas para Reutilização de Software Prof. Eduardo Figueiredo Estagiário: Johnatan Oliveira

Técnicas para Reutilização de Software Prof. Eduardo Figueiredo Estagiário: Johnatan Oliveira Técnicas para Reutilização de Software Prof. Eduardo Figueiredo Estagiário: Johnatan Oliveira Panorama de Reutilização Frameworks Padrões de projeto Aplicações configuráveis Padrões de arquitetura Linha

Leia mais

RPC e RMI. Sistemas Distribuídos. Mauro Lopes Carvalho Silva. Professor EBTT DAI Departamento de Informática Campus Monte Castelo

RPC e RMI. Sistemas Distribuídos. Mauro Lopes Carvalho Silva. Professor EBTT DAI Departamento de Informática Campus Monte Castelo Sistemas Distribuídos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do Maranhão Objetivos Nesta aula

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

Academia Programador de Aplicações JAVA

Academia Programador de Aplicações JAVA Academia Programador de Aplicações JAVA Formato do curso: Presencial e Live Training Com certificação: Oracle Certified Associate Preço: mensal, desde 253 Duração: 210 horas Este percurso é destinado a

Leia mais

Informática Parte 15 Prof. Márcio Hunecke

Informática Parte 15 Prof. Márcio Hunecke Escriturário Informática Parte 15 Prof. Márcio Hunecke Informática SCALA 2.12 O projeto do Scala começou em 2001 por Martin Odersky e tinha como objetivo criar uma linguagem de programação que combinava

Leia mais

JAVA Express com Lógica. Subtítulo

JAVA Express com Lógica. Subtítulo JAVA Express com Lógica Subtítulo Sobre a APTECH A Aptech é uma instituição global, modelo em capacitação profissional, que dispõe de diversos cursos com objetivo de preparar seus alunos para carreiras

Leia mais

IV. CONTEÚDO PROGRAMÁTICO

IV. CONTEÚDO PROGRAMÁTICO I IDENTIFICAÇÃO CURSO: Ciência da Computação DISCIPLINA: Prática de Programação Orientada a objetos CARGA HORÁRIA SEMESTRAL: 40 h/a PROF. RESPONSÁVEL: Míriam de Souza Monteiro II. EMENTA Classes e objetos.

Leia mais

CONTEÚDO PROGRAMÁTICO

CONTEÚDO PROGRAMÁTICO CONTEÚDO PROGRAMÁTICO Java Básico Carga horária: 24 horas TreinaWeb Tecnologia LTDA CNPJ: 06.156.637/0001-58 Av. Paulista, 1765 - Conj 71 e 72 São Paulo - SP CONTEÚDO PROGRAMÁTICO 1 - Um pouco sobre o

Leia mais

SCALA! Mariah Barros Cardoso Ruann Magalhães Homem Rudá Martinez Pimentel Deeke Yuri Pereira Constante

SCALA! Mariah Barros Cardoso Ruann Magalhães Homem Rudá Martinez Pimentel Deeke Yuri Pereira Constante SCALA! Mariah Barros Cardoso Ruann Magalhães Homem Rudá Martinez Pimentel Deeke Yuri Pereira Constante O Que é scala? É uma linguagem de programação moderna de propósito geral que roda sobre a Java Virtual

Leia mais

Curso Técnico Concomitante em Informática

Curso Técnico Concomitante em Informática Curso Técnico Concomitante em Informática CÂMPUS TUBARÃO MATRIZ CURRICULAR Módulo/Semestre 1 Carga horária total: 400h Informática Básica 4 Arquitetura de Computadores 4 Introdução à Programação 4 Administração

Leia mais

Técnico em Informática. Web JavaScript. Profª Ana Paula Mandelli

Técnico em Informática. Web JavaScript. Profª Ana Paula Mandelli Técnico em Informática Web JavaScript Profª Ana Paula Mandelli anapaula_mandelli@hotmail.com Para o JavaScript - NetBeans O NetBeans é um ambiente de desenvolvimento integrado (IDE) Java desenvolvido pela

Leia mais

Principais paradigmas de programação. Programação imperativa Programação funcional Programação lógica Programação OO

Principais paradigmas de programação. Programação imperativa Programação funcional Programação lógica Programação OO Principais paradigmas de programação Programação imperativa Programação funcional Programação lógica Programação OO Programação Imperativa É o paradigma mais usado. Programas são definidos através de sequências

Leia mais

EMENTAS DAS DISCIPLINAS

EMENTAS DAS DISCIPLINAS EMENTAS DAS DISCIPLINAS CURSO DE GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO Algoritmos e Linguagem de Programação I: Ensino dos conceitos básicos de algoritmos estruturados (estruturas condicionais e de repetição),

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

Opções de persistência

Opções de persistência Opções de Persistência Tratamos aqui apenas dos aspectos arquiteturais da persistência Não tratamos do mapeamento de projetos OO para esquemas de BD relacionais Três grandes pontos devem ser tratados com

Leia mais

Objetos e Componentes Distribuídos: EJB e CORBA

Objetos e Componentes Distribuídos: EJB e CORBA : EJB e CORBA Sistemas Distribuídos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do Maranhão Objetivos

Leia mais

INTRODUÇÃO A LINGUAGEM JAVA

INTRODUÇÃO A LINGUAGEM JAVA INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE INTRODUÇÃO A LINGUAGEM JAVA Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com eberton.marinho@ifrn.edu.br Curso Técnico

Leia mais

Capítulo 9. Subprogramas

Capítulo 9. Subprogramas Capítulo 9 Subprogramas Introdução Dois recursos fundamentais de abstração Abstração de processos Desde o início da história das linguagens de programação Abstração de dados Desde o início dos anos 1980

Leia mais

Capítulo 8. Estruturas de Controle no Nível de Sentença

Capítulo 8. Estruturas de Controle no Nível de Sentença Capítulo 8 Estruturas de Controle no Nível de Sentença Níveis de fluxo de controle Computações são realizadas por meio da avaliação de expressões e da atribuição dos valores a variáveis Para tornar a computaçã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

Sistemas de Tipos. Prof. Alberto Costa Neto Linguagens de Programação. Departamento de Computação Universidade Federal de Sergipe

Sistemas de Tipos. Prof. Alberto Costa Neto Linguagens de Programação. Departamento de Computação Universidade Federal de Sergipe Linguagens de Programação Departamento de Computação Universidade Federal de Sergipe Tipos permitem que dados sejam descritos de forma efetiva Previnem operações sem sentido (ex: 5 * true) Programas mais

Leia mais

PROGRAMAÇÃO I. Introdução

PROGRAMAÇÃO I. Introdução PROGRAMAÇÃO I Introdução Introdução 2 Princípios da Solução de Problemas Problema 1 Fase de Resolução do Problema Solução na forma de Algoritmo Solução como um programa de computador 2 Fase de Implementação

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

Apresentação SCC0204 Programação Orientada a Objetos

Apresentação SCC0204 Programação Orientada a Objetos Apresentação SCC0204 Programação Orientada a Objetos Prof. Moacir Ponti Jr. www.icmc.usp.br/~moacir Instituto de Ciências Matemáticas e de Computação USP 28 de fevereiro de 2012 Moacir Ponti Jr. (ICMCUSP)

Leia mais

Como Modelar com UML 2

Como Modelar com UML 2 Ricardo Pereira e Silva Como Modelar com UML 2 Visual Books Sumário Prefácio... 13 1 Introdução à Modelagem Orientada a Objetos... 17 1.1 Análise e Projeto Orientados a Objetos... 18 1.2 Requisitos para

Leia mais

Introdução à Programação para Dispositivos Móveis

Introdução à Programação para Dispositivos Móveis Introdução à Programação para Dispositivos Móveis Aula 03 Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br http://www.diemesleno.com.br Na aula passada vimos... Na aula passada vimos... Aplicações

Leia mais

Ponteiros de Variáveis

Ponteiros de Variáveis Ponteiros de Variáveis C++ permite o armazenamento e a manipulação de valores de endereços de memória. Para cada tipo existente, há um tipo ponteirocapaz de armazenar endereços de memória em que existem

Leia mais