Aspectos preliminares

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

Download "Aspectos preliminares"

Transcrição

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

2 Conteúdo Razões para estudar conceitos de linguagens de programação Domínios de programação Critérios para avaliação de linguagens Influências no projeto de linguagens Categorias de linguagens Métodos de implementação Referências

3 Razões para estudar conceitos de linguagens de programação

4 Razões para estudar conceitos de linguagens de programação Aumentar a capacidade de expressar ideias 4 / 27

5 Razões para estudar conceitos de linguagens de programação Aumentar a capacidade de expressar ideias Melhorar as condições de escolha da linguagem apropriada para cada problema 4 / 27

6 Razões para estudar conceitos de linguagens de programação Aumentar a capacidade de expressar ideias Melhorar as condições de escolha da linguagem apropriada para cada problema Aumentar a capacidade de aprender novas linguagens 4 / 27

7 Razões para estudar conceitos de linguagens de programação Aumentar a capacidade de expressar ideias Melhorar as condições de escolha da linguagem apropriada para cada problema Aumentar a capacidade de aprender novas linguagens Melhorar o uso das linguagens já conhecidas 4 / 27

8 Razões para estudar conceitos de linguagens de programação Aumentar a capacidade de expressar ideias Melhorar as condições de escolha da linguagem apropriada para cada problema Aumentar a capacidade de aprender novas linguagens Melhorar o uso das linguagens já conhecidas Entender a importância da implementação 4 / 27

9 Razões para estudar conceitos de linguagens de programação Aumentar a capacidade de expressar ideias Melhorar as condições de escolha da linguagem apropriada para cada problema Aumentar a capacidade de aprender novas linguagens Melhorar o uso das linguagens já conhecidas Entender a importância da implementação Avanço da área de computação 4 / 27

10 Domínios de programação

11 Domínios de programação Aplicações científicas 6 / 27

12 Domínios de programação Aplicações científicas Estruturas simples (arranjos e matrizes) Muitas operações com pontos flutuantes Fortran, Algol, C/C++ Fortress, Mathlab (Octave), numpy (Python) 6 / 27

13 Domínios de programação Aplicações científicas Estruturas simples (arranjos e matrizes) Muitas operações com pontos flutuantes Fortran, Algol, C/C++ Fortress, Mathlab (Octave), numpy (Python) Aplicações comerciais 6 / 27

14 Domínios de programação Aplicações científicas Estruturas simples (arranjos e matrizes) Muitas operações com pontos flutuantes Fortran, Algol, C/C++ Fortress, Mathlab (Octave), numpy (Python) Aplicações comerciais Produção de relatórios Formatação de números decimais e caracteres Cobol 6 / 27

15 Domínios de programação Aplicações científicas Estruturas simples (arranjos e matrizes) Muitas operações com pontos flutuantes Fortran, Algol, C/C++ Fortress, Mathlab (Octave), numpy (Python) Aplicações comerciais Produção de relatórios Formatação de números decimais e caracteres Cobol Inteligência artificial 6 / 27

16 Domínios de programação Aplicações científicas Estruturas simples (arranjos e matrizes) Muitas operações com pontos flutuantes Fortran, Algol, C/C++ Fortress, Mathlab (Octave), numpy (Python) Aplicações comerciais Produção de relatórios Formatação de números decimais e caracteres Cobol Inteligência artificial Manipulação de símbolos (lista ligada) Criação e execução de código Lisp, Prolog C/C++ 6 / 27

17 Domínios de programação Software de sistema 7 / 27

18 Domínios de programação Software de sistema Eficiência devido ao uso contínuo C/C++ D, Go, Rust 7 / 27

19 Domínios de programação Software de sistema Web Eficiência devido ao uso contínuo C/C++ D, Go, Rust 7 / 27

20 Domínios de programação Software de sistema Web Eficiência devido ao uso contínuo C/C++ D, Go, Rust Código dentro do documento Javascript, PHP, Java, Ruby, Python 7 / 27

21 Critérios para avaliação de linguagens

22 Critérios para avaliação de linguagens Facilidade de leitura (legibilidade) Facilidade de escrita Confiabilidade Custo 9 / 27

23 Critérios para avaliação de linguagens Facilidade de leitura Simplicidade Um conjunto bom de características e construções Poucas formas de expressar cada operação Mínima sobrecarga de operador Muito simples não é bom (assembly) 10 / 27

24 Critérios para avaliação de linguagens Facilidade de leitura Simplicidade Um conjunto bom de características e construções Poucas formas de expressar cada operação Mínima sobrecarga de operador Muito simples não é bom (assembly) Ortogonalidade Poucas características podem ser combinadas de várias maneiras Uma característica deve ser independente do contexto que é usada (exceções a regra são ruins) Muito ortogonalidade não é bom (Algol68) Linguagens funcionais oferecem uma boa combinação de simplicidade e ortogonalidade 10 / 27

25 Critérios para avaliação de linguagens Facilidade de leitura Tipos de dados Tipos pré-definidos adequados 11 / 27

26 Critérios para avaliação de linguagens Facilidade de leitura Tipos de dados Sintaxe Tipos pré-definidos adequados Flexibilidade para nomear identificadores Forma de criar instruções compostas A forma deve ter relação com o significado 11 / 27

27 Critérios para avaliação de linguagens Facilidade de escrita Simplicidade e ortogonalidade Poucas construções e um conjunto consistente de formas de combinação 12 / 27

28 Critérios para avaliação de linguagens Facilidade de escrita Simplicidade e ortogonalidade Poucas construções e um conjunto consistente de formas de combinação Suporte para abstração Definir e usar estruturas e operações de maneira que os detalhes possam ser ignorados Suporte a subprogramas Suporte a tipos abstratos de dados 12 / 27

29 Critérios para avaliação de linguagens Facilidade de escrita Simplicidade e ortogonalidade Poucas construções e um conjunto consistente de formas de combinação Suporte para abstração Definir e usar estruturas e operações de maneira que os detalhes possam ser ignorados Suporte a subprogramas Suporte a tipos abstratos de dados Expressividade Maneira conveniente de expressar a computação 12 / 27

30 Critérios para avaliação de linguagens Confiabilidade Verificação de tipos 13 / 27

31 Critérios para avaliação de linguagens Confiabilidade Verificação de tipos Manipulação de exceções 13 / 27

32 Critérios para avaliação de linguagens Confiabilidade Verificação de tipos Manipulação de exceções Apelidos 13 / 27

33 Critérios para avaliação de linguagens Confiabilidade Verificação de tipos Manipulação de exceções Apelidos Facilidade de leitura e escrita 13 / 27

34 Critérios para avaliação de linguagens Custo Treinar programadores 14 / 27

35 Critérios para avaliação de linguagens Custo Treinar programadores Escrever programas 14 / 27

36 Critérios para avaliação de linguagens Custo Treinar programadores Escrever programas Compilar programas 14 / 27

37 Critérios para avaliação de linguagens Custo Treinar programadores Escrever programas Compilar programas Executar programas 14 / 27

38 Critérios para avaliação de linguagens Custo Treinar programadores Escrever programas Compilar programas Executar programas Confiabilidade 14 / 27

39 Critérios para avaliação de linguagens Custo Treinar programadores Escrever programas Compilar programas Executar programas Confiabilidade Manutenção 14 / 27

40 Critérios para avaliação de linguagens Custo Treinar programadores Escrever programas Compilar programas Executar programas Confiabilidade Manutenção Maior peso no custo: escrita, manutenção e confiabilidade 14 / 27

41 Critérios para avaliação de linguagens Outros critérios Portabilidade Padronização 15 / 27

42 Critérios para avaliação de linguagens Outros critérios Portabilidade Padronização Diferentes visões Programador Projetista da linguagem Implementador da linguagem 15 / 27

43 Influências no projeto de linguagens

44 Influências no projeto de linguagens Arquitetura do Computador Arquitetura de von Neumann Arquiteturas multicore Outras? 17 / 27

45 Influências no projeto de linguagens Arquitetura do Computador Arquitetura de von Neumann Arquiteturas multicore Outras? Metodologias de Programação Orientada a processos Orientada a dados Orientação a objetos 17 / 27

46 Categorias de linguagens

47 Categorias de linguagens Imperativas: 19 / 27

48 Categorias de linguagens Imperativas: Algol68, Fortran, Cobol, Ruby, Python, Go, Java, Pascal, C/C++, / 27

49 Categorias de linguagens Imperativas: Algol68, Fortran, Cobol, Ruby, Python, Go, Java, Pascal, C/C++,... Funcionais ou Aplicativas: Lisp, Haskell, ML, Scheme, Erlang, Ocaml, F#, Miranda, / 27

50 Categorias de linguagens Imperativas: Algol68, Fortran, Cobol, Ruby, Python, Go, Java, Pascal, C/C++,... Funcionais ou Aplicativas: Lisp, Haskell, ML, Scheme, Erlang, Ocaml, F#, Miranda,... Lógicas ou Declarativas: Prolog, Planner, QA-4, Popler, Conniver, QLISP, Mercury, Oz, Frill, / 27

51 Métodos de implementação

52 Métodos de implementação Compilação Interpretação Híbrido 21 / 27

53 Métodos de implementação 22 / 27

54 Métodos de implementação - Compilação 23 / 27

55 Métodos de implementação - Interpretação 24 / 27

56 Métodos de implementação - Híbrido 25 / 27

57 Referências

58 Referências Robert Sebesta, Concepts of programming languages, 9 a edição. Capítulo / 27

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ENSINO TÉCNICO Notas de aulas PC I 1

ENSINO TÉCNICO Notas de aulas PC I 1 ENSINO TÉCNICO Notas de aulas 1 Competências, Habilidades e Bases Tecnológicas da disciplina de Programação de Computadores I 1-) Comunicação de alunos com alunos e professores: Um e-mail para a sala é

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

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

Nomes, vinculações e escopos

Nomes, vinculações e escopos Nomes, vinculações e escopos 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

MINISTÉRIO DA EDUCAÇÃO CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DE MINAS GERAIS DIRETORIA DE GRADUAÇÃO

MINISTÉRIO DA EDUCAÇÃO CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DE MINAS GERAIS DIRETORIA DE GRADUAÇÃO DISCIPLINA: Linguagens de Programação CÓDIGO: 2ECOM.031 Data de Elaboração: Janeiro/2012 Carga Horária: Total: 30 h/a; Semanal: 02 aulas; Créditos: 02 Modalidade: Prática Classificação do Conteúdo pelas

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

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

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

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

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

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

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

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

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

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

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

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

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

Prof. Rodrigo Rocha

Prof. Rodrigo Rocha : sobre : MATA56 - de Linguagens de Programação, UFBA, 2016.1 : sobre : Links interessantes sobre Comparação de sintaxe: http://merd.sourceforge.net/pixel/ language-study/syntax-across-languages/ Programa

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

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

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

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

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

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

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

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

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

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

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

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

Introdução à Computação: Máquinas Multiníveis

Introdução à Computação: Máquinas Multiníveis Introdução à Computação: Máquinas Multiníveis Beatriz F. M. Souza (bfmartins@inf.ufes.br) http://inf.ufes.br/~bfmartins/ Computer Science Department Federal University of Espírito Santo (Ufes), Vitória,

Leia mais

FACULDADE BATISTA MINEIRA - CST Banco de Dados Estruturas de Dados - Variáveis

FACULDADE BATISTA MINEIRA - CST Banco de Dados Estruturas de Dados - Variáveis Variável, na Matemática, é um termo utilizado em substituição de outro, normalmente, desconhecido. É utilizado para representar um número ou um conjunto. No contexto da programação de computadores, uma

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

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

Algoritmos e Programação

Algoritmos e Programação Algoritmos e Programação 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 Objetivos: Desenvolver o

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

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

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

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

Introdução à Computação

Introdução à Computação Introdução à Computação Jordana Sarmenghi Salamon jssalamon@inf.ufes.br jordanasalamon@gmail.com http://inf.ufes.br/~jssalamon Departamento de Informática Universidade Federal do Espírito Santo Agenda

Leia mais

Linguagens de Programação e Programação Funcional

Linguagens de Programação e Programação Funcional Linguagens de Programação e Programação Funcional GSI004 Aula 01* Faculdade de Computação UFU *baseada nos slides do Professor Paulo Henrique Ribeiro Gabriel 30 de setembro de 2014 GSI004 Aula 01 30 de

Leia mais

Linguagens de Programação. Introdução. Carlos Bazilio bazilio@ic.uff.br http://www.ic.uff.br/~bazilio/cursos/lp

Linguagens de Programação. Introdução. Carlos Bazilio bazilio@ic.uff.br http://www.ic.uff.br/~bazilio/cursos/lp Linguagens de Programação Introdução Carlos Bazilio bazilio@ic.uff.br http://www.ic.uff.br/~bazilio/cursos/lp Motivação Algumas questões filosóficas Por quê existe mais de uma linguagem de programaçã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

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

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

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

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

Aspectos Preliminares

Aspectos Preliminares Capítulo 1 Aspectos Preliminares 1.1 Razões para estudar conceitos de linguagens de programação 1.2 Domínios de programação 1.3 Critérios de avaliação de linguagens 1.4 Influências no projeto de linguagens

Leia mais

Implementando subprogramas

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

LAPRO I. Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Informática - FACIN. Prof. Dr. Rafael Garibotti

LAPRO I. Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Informática - FACIN. Prof. Dr. Rafael Garibotti Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Informática - FACIN LAPRO I Prof. Dr. Rafael Garibotti v Baseado no material cedido pelos Profs. Dr. Marco Mangan e Dr. Matheus Trevisan

Leia mais

MCTA028 Programação Estruturada Aula 01: - Introdução à linguagem C - Teste de avaliação

MCTA028 Programação Estruturada Aula 01: - Introdução à linguagem C - Teste de avaliação MCTA028 Programação Estruturada Aula 01: - Introdução à linguagem C - Teste de avaliação Prof. João Henrique Kleinschmidt Material elaborado pelo Prof. Jesús P. Mena-Chalco 3Q-2018 Linguagens de programação

Leia mais

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

Olá pessoal, Hoje vamos entender os conceitos sobre linguagem de programação. Definição, tipos de linguagens e as linguagens mais utilizadas

Olá pessoal, Hoje vamos entender os conceitos sobre linguagem de programação. Definição, tipos de linguagens e as linguagens mais utilizadas Olá pessoal, Hoje vamos entender os conceitos sobre linguagem de programação. Definição, tipos de linguagens e as linguagens mais utilizadas atualmente. Uma linguagem de programação é um conjunto padronizado

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

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

MCTA028 Programação Estruturada Aula 01: - Introdução à linguagem C - Teste de avaliação

MCTA028 Programação Estruturada Aula 01: - Introdução à linguagem C - Teste de avaliação MCTA028 Programação Estruturada Aula 01: - Introdução à linguagem C - Teste de avaliação Prof. Jesús P. Mena-Chalco jesus.mena@ufabc.edu.br 3Q-2017 1 Linguagens de programação 2 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

ao paradigma imperativo

ao paradigma imperativo PARADIGMA FUNCIONAL PARADIGMA FUNCIONAL: INTRODUÇÃO G Exemplos de linguagens funcionais LISP - Início: LP puramente funcional - Depois: acréscimo de alguns recursos imperativos (aumentaram eficiência de

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

Paradigmas de Linguagem de Programação

Paradigmas de Linguagem de Programação Paradigmas de Linguagem de Programação Evolução das Linguagens de Programação Histórico das Linguagens de Programação Década de 40: código de máquina No início da década não havia nenhuma linguagem de

Leia mais

LINGUAGENS DE PROGRAMAÇÃO

LINGUAGENS DE PROGRAMAÇÃO LINGUAGENS DE PROGRAMAÇÃO 1. Introdução às Linguagens de Programação 2. Paradigmas 3. Modelos de Implementação 4. Evolução das LP Motivos para estudar os conceitos de linguagens de programação Aumento

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

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

Implementação de subprogramas

Implementação de subprogramas Implementação de subprogramas 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 EM JOGOS DIGITAIS

PROGRAMAÇÃO EM JOGOS DIGITAIS PROGRAMAÇÃO EM JOGOS DIGITAIS Frutuoso Silva Paradigmas de Programação Linguagem de programação Paradigmas de programação 1 Linguagem de programação! Para ser útil e confiável, uma linguagem deve ter uma

Leia mais

Linguagens de Programação

Linguagens de Programação 45 Linguagens de Programação O paradigma de programação imperativo está diretamente atrelado à arquitetura básica dos computadores sobre os quais os programas eram executados. Boa parte dos computadores

Leia mais

Nomes, Vinculações, Verificação de Tipos e Escopos. George Darmiton da Cunha Cavalcanti

Nomes, Vinculações, Verificação de Tipos e Escopos. George Darmiton da Cunha Cavalcanti Nomes, Vinculações, Verificação de Tipos e Escopos George Darmiton da Cunha Cavalcanti (gdcc@cin.ufpe.br) Tópicos Introdução Nomes Variáveis O conceito de vinculação (binding) Verificação de tipos Tipificação

Leia mais

Introdução à linguagem C

Introdução à linguagem C MCTA028 Programação Estruturada Introdução à linguagem C Material preparado a partir de slides dos profs. Jesús MenaChalco e Fabrício Olivetti Prof. Guilherme Mota Q3-2018 1 Linguagens de programação 2

Leia mais

Paradigma de Programação Lógico. Marco A L Barbosa

Paradigma de Programação Lógico. Marco A L Barbosa Introdução Paradigma de Programação Lógico Marco A L Barbosa cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual 4.0 Internacional. Conteúdo Introdução Imperativo

Leia mais

INTRODUÇÃO AOS SISTEMAS LÓGICOS

INTRODUÇÃO AOS SISTEMAS LÓGICOS 1 INTRODUÇÃO AOS SISTEMAS LÓGICOS ÁREAS DE COMPUTAÇÃO PROF. ANDRÉ MONTEVECCHI PROFA. ANNA TOSTES 28/08/2011 Prof. André Montevecchi / Profa. Anna Tostes 2 SUMÁRIO Os Pilares da Computação Algoritmos Teoria

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

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