Aula 1 Java Prof. Dr. Sylvio Barbon Junior

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

Download "Aula 1 Java Prof. Dr. Sylvio Barbon Junior"

Transcrição

1 5COP101 Linguagens de Programação Aula 1 Java Prof. Dr. Sylvio Barbon Junior Sylvio Barbon Jr barbon@uel.br 1

2 Sumário 1) Razões para Estudar Conceitos de LP; 2) Domínios das Linguagens de Programação 3) Critérios para Avaliação das Linguagens - Readability - Writability - Reliability 4) Categorias das Linguagens (Paradigmas) 5) Métodos para Implementação Sylvio Barbon Jr barbon@uel.br 2

3

4 Razões para Estudar 1) Aumentar a capacidade de expressar ideias: - A relação entre poder de expressão, raciocínio e abstração está ligada à linguagem. - Programadores podem aumentar a capacidade de desenvolvimento de software aprendendo outras linguagens. 2) Melhora da escolha apropriada para linguagens: - Na universidade são ensinadas poucas linguagens; - As linguagens mudam constantemente; - A linguagem deve ser escolhida para solucionar o problema; - É melhor selecionar uma linguagem que tenha a característica do que simular a característica em outra (elegância, lentidão, inseguro); Sylvio Barbon Jr barbon@uel.br 4

5 Razões para Estudar 3) Aumenta a capacidade de aprender novas linguagens: - É sabido que uma pessoa que tem sólida formação em apenas uma linguagem tem dificuldades para aprender uma nova, quando comparado a um indivíduo com formação em 2 ou 3. - Exemplo, pessoas que conhecem o paradigma O.O. terão mais facilidade para aprender Java do que quem não conhecem os conceitos. - O mesmo fenômeno acontece para linguagens naturais, um indivíduo que fala português, que aprendeu inglês terá mais facilidade par aprender alemão. Sylvio Barbon Jr barbon@uel.br 5

6 Razões para Estudar 4) Melhor compreensão da importância da implementação: - Uso mais inteligente da linguagem de programação selecionada; - Aumento da velocidade de depuração de erros e gargalos; - Por exemplo, desenvolvedores que conhecem pouco sobre outras linguagens podem escolher a invocação de rotinas legadas ao invés da implementação em uma mesma plataforma; Sylvio Barbon Jr barbon@uel.br 6

7 Razões para Estudar 5) Uso adequado das linguagens já conhecidas: - O uso de linguagens que não são familiares reforçam o estudo de características e aplicações, que podem ampliar e abranger áreas não estudadas na ling. dominada; 6) Avanço geral em computação: - Uma visão geral dos conceitos auxiliam no aprofundamento da teoria da computação; - Novas linguagens surgem a todo momento, algumas específicas para escopos de problemas; Sylvio Barbon Jr barbon@uel.br 7

8 Domínios de Programação

9 Domínios de Programação Aplicações Científicas Aplicações Comerciais (Business) Inteligência Artificial Programação de Sistemas Softwares para Web Sylvio Barbon Jr 9

10 Domínios de Programação 1) Aplicações Científicas: - Tipicamente estruturas simples; - Muitos cálculos aritméticos; - Alta precisão numérica; - Exemplo: Fortran e ALGOL 60 2) Aplicações Comerciais (Business): - Facilidade na produção de relatórios; - Diversas maneiras de descrever dados; - Estruturas complexas para os dados (data e char.) - Exemplo: COBOL. 3) Inteligência Artificial: - Utilização simbólica e não computacional; - Deve ser mais flexível que os outros domínios; Sylvio Barbon Jr barbon@uel.br 10

11 Domínios de Programação - Algumas aplicações precisam de codificação de segmentos durante a execução - Exemplos: LISP 4) Programação de Sistemas - Características de baixo nível; - Recursos de interface com dispositivos de I/O; - Exemplo: Linguagem C 5) Softwares Web - Coleção eclética de linguagens; - Entre as funcionalidade, escrita em HTML; - Exemplo: PHP; Sylvio Barbon Jr barbon@uel.br 11

12 Domínios de Programação Outra descrição de domínio: Sylvio Barbon Jr 12

13 Critérios para Avaliação das Linguagens Foco da avaliação das linguagens está pautado no processo de desenvolvimento de software, principalmente manutenção. Sylvio Barbon Jr 13

14 Critérios para Avaliação das Linguagens 1) Readability: - É uma das características mais importantes, que garantem a legibilidade e compreensão; Inicialmente as linguagens eram construídas do ponto de vista do computador e não do usuário; A popularização da computação se deu a melhoria deste critério. A legibilidade deve ser considerada do contexto do domínio do problema. A dificuldade deve estar em solucionar o problema e não em traduzir para a máquina. Sylvio Barbon Jr barbon@uel.br 14

15 1) Readability: Critérios para Avaliação das Linguagens Algumas características contribuem para a legibilidade das Linguagens de Programação: Simplicidade Global Ortogonalidade Tipagem de Dados Sintaxe Sylvio Barbon Jr barbon@uel.br 15

16 Critérios para Avaliação das Linguagens 1) Readability: Simplicidade Global: Problemas de legibilidade podem ocorrer quando o programador pode ler um trecho acreditando ser familiar, mas apresenta resultados específicos. Exemplo: aux = aux + 1 aux += 1 aux++ ++aux A sobrecarga de operador contribui para a redução para a legibilidade do código. Sylvio Barbon Jr barbon@uel.br 16

17 Critérios para Avaliação das Linguagens 1) Readability: Ortogonalidade: Define a relação entre um grupo de construções primitivas e como elas podem ser combinadas. Quanto mais ortogonal a linguagem, menos exceções serão criadas. Exemplo: a + b * A expressão pode significar que os valores estão sendo movidos e adicionados juntos. Porém se a for um ponteiro ou um tipo flutuante, serão necessários tratamentos. Sylvio Barbon Jr barbon@uel.br 17

18 Critérios para Avaliação das Linguagens 1) Readability: Tipagem de dados: Facilidades para a definição dos tipos de dados e estruturas contribuem na legibilidade. valor = 1 valor = true Sintaxe: A sintaxe ou forma afetam diretamente a legibilidade. O uso de palavras especiais (reservadas) influenciam fortemente a legibilidade. Exemplos: while, for, class, end, end loop. Sylvio Barbon Jr barbon@uel.br 18

19 Critérios para Avaliação das Linguagens 2) Writability: É a medida de facilidade para escrita de programas em um determinado domínio. A maioria das características de legibilidade (readability) afetam a writability. Exemplo: A writability do VB (Visual Basic) para escrita de softwares com interface gráfica é drasticamente diferente da linguagem C. Algumas novas características serão destacadas: Simplicidade e Ortogonalidade Suporte a Abstração Expressividade Sylvio Barbon Jr barbon@uel.br 19

20 2) Writability: Critérios para Avaliação das Linguagens Simplicidade e Ortogonalidade: Caso a linguagem apresente uma diversidade de construções o programador pode não se familiarizar com todas. Isso pode induzir o uso incorreto de algumas construções e o desuso de outras. Por outro lado o excesso de simplicidade pode exigir uma solução complexa para um problema. Por isso a ideia de uma linguagem adequada para o problema é sempre considerada na solução de um problema.

21 2) Writability: Simplicidade e Ortogonalidade: Critérios para Avaliação das Linguagens Visual Basic C

22 2) Writability: Critérios para Avaliação das Linguagens Suporte a Abstração: Sendo abstração a habilidade de definir e depois utilizar estruturas ou operações para diversos fins, as linguagens devem auxiliar nesta tarefa. O grau de abstração permite ao programador descrever solução com mais naturalidade. Um grau de abstração adequado está sempre ao domínio do problema.

23 2) Writability: Critérios para Avaliação das Linguagens Exepressividade: Pode referenciar diversas características, mas podemos relacionar com a capacidade de escrever programas menores, utilizando elementos como: count++ (count = count + 1) for ( ao uso do while com variável de controle)

24 3) Reliability: Critérios para Avaliação das Linguagens - Descreve a capacidade de uma linguagem ser segura em várias condições. As principais características deste critério são: Verificação de Tipo Controle de Exceção Aliasing Readability e Writability

25 3) Reliability: Critérios para Avaliação das Linguagens Verificação de Tipo: É a tarefa de verificação de tipagem de variáveis durante a compilação ou execução de um programa. Diversos erros podem ser evitados com a tipagem correta dos dados e requisitando os reparos adequados dos desenvolvedores. Um exemplo da importância desta verificação é quando um tipo pode assumir alguns correspondentes como int e float, porém o resultado pode não ser o esperado.

26 3) Reliability: Critérios para Avaliação das Linguagens Controle de Exceções: É a habilidade de interceptação de condições indesejadas em um programa e tomar medidas de correção para mantê-lo coerente. Linguagens como Ada, C++, Java e C# apresentação capacidades avançadas para o controle de exceção. Aliasing: É a característica de apresentar dois ou mais mecanismos para acessar o mesmo lugar da memória. Esta característica é considerada como prejudicial em uma linguagem de programação. Exemplo: Dois ponteiros apontam para o mesmo endereço de memória.

27 3) Reliability: Critérios para Avaliação das Linguagens Readability e Writability: A legibilidade e capacidade de escrita também influenciam na confiabilidade de uma linguagem de programação. Estes fatores ficam mais evidentes em fases do ciclo de vida do software desenvolvido. Programas que são de dificil leitura e escrita, obviamente só complexos para modificação e correção.

28 CUSTO Critérios para Avaliação das Linguagens O custo total que envolve o uso de uma linguagem de programação é formado por diversos fatores: 1)Treinamento (Simplicidade e Ortogonalidade) 2)Custo de escrever programas (writability) 3)Custo de compilação (tempo) 4)Custo de execução (tempo) 5)Custo de implementação do sistema (financeiro) 6)Custo por confiabilidade (falhas) 7)Manutenção (correções e adição de novas func.) Novos critérios: Portabilidade, Generalidade e Welldenedness (completo e preciso)

29 Categorias das Linguagens As linguagens são categoriazadas em quatro grupos (ou paradigmas): - Linguagens Imperativas; - Linguagens Funcionais; - Linguagens Lógicas; - Linguagens Orientadas a Objetos.

30 Categorias das Linguagens - Linguagens Imperativas: Tem como principal característica comando que atualizam as variáveis armazenadas em memória; Seu domínio são aplicações comerciais, científicas e sistemas operacionais. Exemplo: C, Cobol, Pascal etc.

31 Categorias das Linguagens - Linguagens Imperativas:

32 Categorias das Linguagens - Linguagens Funcionais: Tem como origem as funções matemáticas para realizar as computações. Domínio: aplicações científicas e inteligência artificial. Exemplo: Lisp, Scheme, CLOS etc.

33 Categorias das Linguagens - Linguagens Funcionais:

34 Categorias das Linguagens - Linguagens Lógicas: A implementação é baseada em uma descrição lógica do problema (uma relação). Muito utiilzado em sistemas especialistas. Domínio: Inteligência Artificial; Exemplo: Prolog e Gödel

35 Categorias das Linguagens - Linguagens Lógicas:

36 Categorias das Linguagens - Linguagens Orientadas a Objetos: Conceitos de classes, atributos e objetos. Domínios: Praticamente todos. Exemplos: Java, C++, C# etc;

37 Categorias das Linguagens - Linguagens Orientadas a Objetos:

38 Métodos de Implementação Os métodos de implementação descrevem com uma linguagem interagem entre o código e o hardware de execução

39 Métodos de Implementação Os métodos podem ser divididos em: 1) Compilação 2) Interpretação Pura 3) Interpretação Híbrida

40 Métodos de Implementação 1) Compilação - É a tradução de im programa fonte em um programa em linguagem de montagem ou de máquina. - Normalmente é caracterizado pela rápida execução - Exemplo: C, Cobol, Fortran, Pascal.

41 Métodos de Implementação 2) Interpretação Pura - Interpreta os comandos do código fonte e os executa; - Caracterizado por uma depuração facilitada; - Uso de Máquinas Virtuais; - Mais lento do que as linguagens compiladas; - Exemplo: Javascript, Prolog, VBScript, Shell;

42 Métodos de Implementação 3) Interpretação Híbrida - É realizada uma tradução para um programa intermediário de fácil interpretação; - Desempenho intermediário entre as anteriores; - Exemplo: Java, Perl etc.

43 Referências 1- Sebesta, R. Conceitos de Linguagens de Programação. 5ª Edição. Porto Alegre. Bookman, Tucker, A. B. Noonan, R. E. Linguagens de Programação. Princípios e Paradigmas. 2ª Ed. São Paulo, McGraw-Hill, 2008.

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

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

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

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

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

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

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

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 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

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

Paradigmas de Linguagem de Programação

Paradigmas de Linguagem de Programação Paradigmas de Linguagem de Programação Aula 1 - Introdução Prof. Filipo Mór 2016/II - www.filipomor.com Apresentação do Professor B.Sc. SI FDBPOA 2012 M.Sc. em CC PUCRS/DALHOUSIE 2015 Atuação na área de

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

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

Paradigmas de Programação

Paradigmas de Programação Paradigmas de Programação Prof.: Edilberto M. Silva http://www.edilms.eti.br Aula 2 Linguagens de Programação Desenvolvimento e execução de programas Características de linguagens Execução de programas

Leia mais

Métodos de implementação de linguagens. Kellen Pinagé

Métodos de implementação de linguagens. Kellen Pinagé Métodos de implementação de linguagens Kellen Pinagé Sumário Métodos de implementação de linguagens Compilação Interpretação pura Híbrido Métodos de implementação de linguagens Principais componentes de

Leia mais

Programação de Computadores

Programação de Computadores Programação de Computadores Instituto de Computação UFF Departamento de Ciência da Computação Otton Teixeira da Silveira Filho Conteúdo Alguns Conceitos sobre Conceito de Algoritmo Pseudocódigo Tipos de

Leia mais

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

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

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

Estudos de Linguagens de Programação - Revisão

Estudos de Linguagens de Programação - Revisão Estudos de Linguagens de Programação - Revisão (marinho.mlm@gmail.com) O que é uma Linguagem de Programação? Linguagem usada por uma pessoa para expressar um processo através do qual um computador pode

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

Programação de Computadores

Programação de Computadores Programação de Computadores Instituto de Computação UFF Departamento de Ciência da Computação Otton Teixeira da Silveira Filho Conteúdo Alguns Conceitos sobre Linguagens Conceito de Algoritmo Pseudocódigo

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

Matéria Linguagens de Programação Prof Geraldo. 1) Estudo das Linguagens de Programação

Matéria Linguagens de Programação Prof Geraldo. 1) Estudo das Linguagens de Programação Matéria Linguagens de Programação Prof Geraldo. 1) Estudo das Linguagens de Programação É muito importante o estudo dos conceitos de linguagens de programação, especialmente a análise de seus paradigmas.

Leia mais

Programação de Computadores

Programação de Computadores Programação de Computadores Instituto de Computação UFF Departamento de Ciência da Computação Otton Teixeira da Silveira Filho Conteúdo Alguns Conceitos sobre Linguagens Paradigmas para linguagens de Programaçã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

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

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

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

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

Programação de Computadores:

Programação de Computadores: Instituto de C Programação de Computadores: Introdução a Linguagens de Programação Luis Martí Instituto de Computação Universidade Federal Fluminense lmarti@ic.uff.br - http://lmarti.com Seis Camadas Problema

Leia mais

Fundamentos de Programação 1

Fundamentos de Programação 1 Fundamentos de Programação 1 Slides N. 2 E / Prof. SIMÃO Slides elaborados pelo Prof. Robson Linhares elaborados pelo Prof. Robson Linhares http://www.dainf.ct.utfpr.edu.br/~robson/ Jean Marcelo SIMÃO

Leia mais

Organização de Computadores

Organização de Computadores Organização de Computadores Professor Marcus Vinícius Midena Ramos Colegiado de Engenharia de Computação (74)3614.1936 marcus.ramos@univasf.edu.br www.univasf.edu.br/~marcus.ramos Computador Ferramenta

Leia mais

Linguagens de Programação

Linguagens de Programação O estudante estuda muito. Regras: 7 9 12 14. . Regras: 2 4 . Regras: 1 Representar através de uma árvore de derivação. 77 O estudante estuda muito.

Leia mais

Algoritmos e Programação

Algoritmos e Programação ESTADO DE MATO GROSSO SECRETARIA DE ESTADO DE CIÊNCIA E TECNOLOGIA UNIVERSIDADE DO ESTADO DE MATO GROSSO CAMPUS UNIVERSITÁRIO DE SINOP FACULDADE DE CIÊNCIAS EXATAS E TECNOLÓGICAS Algoritmos e Programação

Leia mais

Linguagens de Programação

Linguagens de Programação Linguagens de Programação Aula 1 Celso Olivete Júnior olivete@fct.unesp.br Metodologia Aulas expositivas teórico-práticas Exercícios práticos Projetos individuais e/ou em grupos Seminários sobre tópicos

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

Fonte (livro-texto): Conceitos de Linguagens de Programação, 4ed. Robert W. Sebesta

Fonte (livro-texto): Conceitos de Linguagens de Programação, 4ed. Robert W. Sebesta 1 Fonte (livro-texto): Conceitos de Linguagens de Programação, 4ed. Robert W. Sebesta Agenda 1. Razões para estudar conceitos de LPs 2. Domínios de programação 3. Critérios de avaliação de linguagens 4.

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

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

Algoritmos e Programação

Algoritmos e Programação ESTADO DE MATO GROSSO SECRETARIA DE ESTADO DE CIÊNCIA E TECNOLOGIA UNIVERSIDADE DO ESTADO DE MATO GROSSO CAMPUS UNIVERSITÁRIO DE SINOP FACULDADE DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE ENGENHARIA ELÉTRICA

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

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

Conceitos de Linguagens de Programação

Conceitos de Linguagens de Programação Conceitos de Linguagens de Programação Aula 03 Processo de Compilação Edirlei Soares de Lima Métodos de Implementação Arquitetura de Von Neumann: A linguagem de máquina de um computador

Leia mais

Introdução e Conceitos

Introdução e Conceitos Introdução e Conceitos Aula 1 11/08/2017 diegoquirino@gmail.com 1 Agenda 1. Motivações: porque estudar linguagens de programação? 2. Breve Histórico sobre as Linguagens de Programação 3. Processos de Tradução

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

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

Noções de compilação

Noções de compilação Noções de compilação Compilador: o que é, para que serve e estrutura geral Parentes do compilador e programas correlatos Prof. Thiago A. S. Pardo 1 Compilação: por que estudar? (parte 1) Compiladores:

Leia mais

Noções de compilação

Noções de compilação Noções de compilação Compilador: o que é, para que serve e estrutura geral Parentes do compilador e programas correlatos Prof. Thiago A. S. Pardo 1 Exercício em duplas Para esquentar... 2 1 Compilação:

Leia mais

Linguagens de Programação. Introdução: Motivação, Avaliação, Categorização e Implementação de Linguagens

Linguagens de Programação. Introdução: Motivação, Avaliação, Categorização e Implementação de Linguagens v.2016 Linguagens de Programação Introdução: Motivação, Avaliação, Categorização e Implementação de Linguagens Prof. Ricardo Couto A. da Rocha rcarocha@ufg.br UFG Regional de Catalão Material adaptado

Leia mais

Capítulo 7. Expressões e Sentenças de Atribuição

Capítulo 7. Expressões e Sentenças de Atribuição Capítulo 7 Expressões e Sentenças de Atribuição Introdução Expressões são os meios fundamentais de especificar computações em uma linguagem de programação Para entender a avaliação de expressões, é necessário

Leia mais

Programação de Computadores IV. Introdução a Linguagens de Programação Simone Martins SLIDES CEDIDOS POR BRUNO MARQUES 1

Programação de Computadores IV. Introdução a Linguagens de Programação Simone Martins SLIDES CEDIDOS POR BRUNO MARQUES 1 Programação de Computadores IV Introdução a Linguagens de Programação Simone Martins simone@ic.uff.br SLIDES CEDIDOS POR BRUNO MARQUES 1 Arquitetura de programação 2 O Que é um Dado? Dado é o elemento

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

Aula 2 POO 1 Introdução. Profa. Elaine Faria UFU

Aula 2 POO 1 Introdução. Profa. Elaine Faria UFU Aula 2 POO 1 Introdução Profa. Elaine Faria UFU - 2019 Sobre o Material Agradecimentos Aos professores José Gustavo e Fabiano, por gentilmente terem cedido seus materiais. Os slides consistem de adaptações

Leia mais

Conceitos de Linguagens de Programação

Conceitos de Linguagens de Programação Conceitos de Linguagens de Programação Aula 01 Introdução Edirlei Soares de Lima O que é uma Linguagem de Programação? Na programação de computadores, uma linguagem de programação

Leia mais

Introdução à Computação

Introdução à Computação UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA Introdução à Computação Prof. Yandre Maldonado - 1 Prof. Yandre Maldonado e Gomes da Costa yandre@din.uem.br Histórico da Computação Prof. Yandre

Leia mais

Introdução à Computação

Introdução à Computação UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA Introdução à Computação Prof. Yandre Maldonado - 1 Prof. Yandre Maldonado e Gomes da Costa yandre@din.uem.br Histórico da Computação Prof. Yandre

Leia mais

Desenvolvimento de Aplicações Desktop

Desenvolvimento de Aplicações Desktop Desenvolvimento de Aplicações Desktop Conceitos Básicos de Programação Professor: Charles Leite O Desenvolvimento de Programas A programação consiste em indicar como o computador (hardware) deve trabalhar

Leia mais

Python - Variáveis e expressões

Python - Variáveis e expressões Python - e expressões Prof. Paulo H R Gabriel (com base no material do Prof. André Backes) Linguagem de Máquina Computador entende apenas pulsos elétricos Presença ou não de pulso 1 ou 0 Tudo no computador

Leia mais

Introdução à Computação Parte 2

Introdução à Computação Parte 2 Introdução à Computação Parte 2 José Gustavo de Souza Paiva Computação Objetivo básico auxiliar os seres humanos em trabalhos repetitivos e bra çais, diminuindo esfor ços e economizando tempo O computador

Leia mais

Construção de Compiladores. Capítulo 1. Introdução. José Romildo Malaquias. Departamento de Computação Universidade Federal de Ouro Preto 2014.

Construção de Compiladores. Capítulo 1. Introdução. José Romildo Malaquias. Departamento de Computação Universidade Federal de Ouro Preto 2014. Construção de Compiladores Capítulo 1 Introdução José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2014.2 1/22 1 Linguagens de programação 2 Compilação 2/22 Tópicos 1

Leia mais

OFICINA DA PESQUISA PROGRAMAÇÃO APLICADA À CIÊNCIA DA COMPUTAÇÃO

OFICINA DA PESQUISA PROGRAMAÇÃO APLICADA À CIÊNCIA DA COMPUTAÇÃO OFICINA DA PESQUISA PROGRAMAÇÃO APLICADA À CIÊNCIA DA COMPUTAÇÃO Prof. Msc. Carlos José Giudice dos Santos carlos@oficinadapesquisa.com.br www.oficinadapesquisa.com.br IMPORTÂNCIA DO ESTUDO DAS LINGUAGENS

Leia mais

Capítulo III - Linguagens de Programação

Capítulo III - Linguagens de Programação Capítulo III - Linguagens de Programação Porque Estudar Ling. de Programação? Quais são as formas de classificar Linguagens? Quais são os Conceitos Fundamentais de Linguagens de Programação? Como Avaliar/Projetar

Leia mais

Linguagens de Programação

Linguagens de Programação Linguagens de Programação Valores e Tipos de Dados Bruno Lopes Bruno Lopes Linguagens de Programação 1 / 19 Propriedades desejáveis Legibilidade: A leitura do programa é facilmente compreendida? Redigibilidade:

Leia mais

Fundamentos de Sistemas Operacionais

Fundamentos de Sistemas Operacionais Fundamentos de Sistemas Operacionais Aula 2 Princípios de Programação Prof. Belarmino Linguagem de Computadores Internamente os computadores usam instruções e armazenam os dados no formato numérico binário

Leia mais

Aula 1: Apresentação do Curso

Aula 1: Apresentação do Curso Aula 1: Apresentação do Curso Fernanda Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Fernanda Passos (UFF) Apresentação do Curso FAC 1 / 30 Estrutura da Disciplina

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

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

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

Conclusões. Baseado no Capítulo 9 de Programming Language Processors in Java, de Watt & Brown

Conclusões. Baseado no Capítulo 9 de Programming Language Processors in Java, de Watt & Brown Conclusões Baseado no Capítulo 9 de Programming Language Processors in Java, de Watt & Brown QUESTÕES FUNDAMENTAIS 1. Correção do código gerado 2. Desempenho do compilador: a. Notificação de erros; b.

Leia mais

Paradigmas de Linguagens de Programação. Expressões e Instruções de Atribuição

Paradigmas de Linguagens de Programação. Expressões e Instruções de Atribuição Expressões e Instruções de Atribuição Cristiano Lehrer Introdução Expressões são o meio fundamental de especificar computações em uma linguagem de programação: Familiarização com as ordens de avaliação

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

Grupo de Usuários Java do Noroeste Paulista. Tópicos Avançados em Java

Grupo de Usuários Java do Noroeste Paulista. Tópicos Avançados em Java Grupo de Usuários Java do Noroeste Paulista Tópicos Avançados em Java Aula 1 Objetivos Programa exemplo; Programação Orientada a Objetos. Conceitos Orientada a Objetos Mundo real Conceitos Orientada a

Leia mais

a) Computador b) Estrutura do sistema i. Hardware ii.software c) Linguagens de Programação i. Paradigmas e Programação 1.

a) Computador b) Estrutura do sistema i. Hardware ii.software c) Linguagens de Programação i. Paradigmas e Programação 1. a) Computador b) Estrutura do sistema i. Hardware ii.software c) Linguagens de Programação i. Paradigmas e Programação 1. Estruturada 2. Orientada a eventos 3. Orientada a objetos d) Sistemas Operacionais

Leia mais

Programação I Apresentação

Programação I Apresentação Programação I Apresentação Prof. Carlos Alberto carlos.batista@facape.br carlos36_batista@yahoo.com.br Referências JUNIOR, D. P.; NAKAMITI, G. S.; ENGELBRECHT, A. de M. E.; BIANCHI, F. Algoritmos e Programação

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

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

Linguagens de Programação 10 Avaliação de Linguagens Linguagens de Programação 10 Avaliação de Linguagens Vítor E. Silva Souza (vitorsouza@inf.ufes.br) http://www.inf.ufes.br/ ~ vitorsouza Departamento de Informática Centro Tecnológico Universidade Federal

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

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

As fases de um compilador

As fases de um compilador As fases de um compilador Paradigmas de LP Métodos de Implementação de LP Compilando um programa simples estrutura de um compilador formas de organização de um compilador processo de execução de uma linguagem

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

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

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

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

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

Sistema Computacional

Sistema Computacional Algoritmos e Lógica de Programação Conceitos Básicos Abstração Reinaldo Gomes reinaldo@cefet-al.br O que é um? Integração de componentes atuando como uma entidade, com o propósito de processar dados, i.e.

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

Programação I Aula 2 Apresentação da linguagem Python

Programação I Aula 2 Apresentação da linguagem Python Programação I Aula 2 Apresentação da linguagem Python Pedro Vasconcelos DCC/FCUP 2017 Pedro Vasconcelos (DCC/FCUP) Programação I Aula 2 Apresentação da linguagem Python 2017 1 / 25 Nesta aula... 1 Porquê

Leia mais

Introdução à Programação / Programação I

Introdução à Programação / Programação I Introdução à Programação / Programação I Aula 2: Introdução à linguagem Python Rita P. Ribeiro 2018/2019 Departamento de Ciência de Computadores Nesta aula 1. Porquê programar? 2. Linguagens de Programação

Leia mais

Paradigmas de Linguagem de Programação. Paradigma Imperativo

Paradigmas de Linguagem de Programação. Paradigma Imperativo Paradigmas de Linguagem de Programação Paradigma Imperativo Paradigma Imperativo Imperare Comandar É o mais antigo de todos; Baseado no modo de funcionamento do computador; São também chamadas de procedurais;

Leia mais

As fases de um compilador

As fases de um compilador As fases de um compilador Compilando um programa simples estrutura de um compilador formas de organização de um compilador processo de execução de uma linguagem de alto-nível Compilando um programa simples

Leia mais

Aula 1: Apresentação do Curso

Aula 1: Apresentação do Curso Aula 1: Apresentação do Curso Diego Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Diego Passos (UFF) Apresentação do Curso FAC 1 / 30 Estrutura da Disciplina Diego

Leia mais

CES-10 Introdução à Computação. Prof. Paulo André IEC - ITA

CES-10 Introdução à Computação. Prof. Paulo André IEC - ITA CES-10 Prof. Paulo André Estrutura do Curso Conceitos Básicos de Programação Algoritmos Estruturas de Controle Comandos de Entrada e Saída e Manipulação de Arquivos Rotinas, Variáveis Estruturadas e Ponteiros

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

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

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

Autômatos e Linguagens

Autômatos e Linguagens Autômatos e Linguagens Eduardo Ferreira dos Santos Ciência da Computação Centro Universitário de Brasília UniCEUB Agosto, 2016 1 / 41 Sumário 1 Compiladores 2 Linguagens de programação 3 Ciência dos compiladores

Leia mais