Programação Funcional. Capítulo 2. OCaml. José Romildo Malaquias. Departamento de Computação Universidade Federal de Ouro Preto 2015.
|
|
- Zilda Veiga Ferrão
- 7 Há anos
- Visualizações:
Transcrição
1 Programação Funcional Capítulo 2 OCaml José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto /27
2 1 História 2 Características de OCaml 3 Usos e Aplicações 4 O Sistema OCaml 2/27
3 Tópicos 1 História 2 Características de OCaml 3 Usos e Aplicações 4 O Sistema OCaml 3/27
4 Histórico das linguagens funcionais Década de 1930: Alonzo Church desenvolve o cálculo lambda, uma teoria de funções simples, mas poderosa. 4/27
5 Histórico das linguagens funcionais (cont.) Década de 1950: John McCarthy desenvolve Lisp, a primeira linguagem funcional, com algumas influências do cálculo lambda, mas mantendo as atribuições de variáveis. 5/27
6 Histórico das linguagens funcionais (cont.) Década de 1960: Peter Landin desenvolve ISWIM, a primeira linguagem funcional pura, baseada fortemente no cálculo lambda, sem atribuições. 6/27
7 Histórico das linguagens funcionais (cont.) Década de 1970: John Backus desenvolve FP, uma linguagem funcional que enfatiza funções de ordem superior e raciocínio sobre programas. 7/27
8 Histórico das linguagens funcionais (cont.) Década de 1970: Robin Milner e outros desenvolvem ML, a primeira linguagem funcional moderna, que introduziu a inferência de tipos e tipos polimórficos. 8/27
9 Histórico das linguagens funcionais (cont.) Décadas de 1970 e 1980: David Turner desenvolve uma série de linguagens funcionais com avaliação lazy, culminando com o sistema Miranda. 9/27
10 Histórico das linguagens funcionais (cont.) 1987: Um comitê internacional de pesquisadores inicia o desenvolvimento de Haskell, uma linguagem funcional lazy padrão. 10/27
11 ML OCaml começou com a ML original criada na universidade de Edinburgo por Robin Milner, no começo da década de ML significa Meta Language pois ela foi feita para funcionar como a meta-linguagem do provador de teoremas LCF. Os primeiros usuários de ML perceberam que ela funcionava bem para programar outras coisas, então ela foi separada do seu sistema de origgem. 11/27
12 CAML Várias variações de ML foram desenvolvidas em universidades e institutos da Europa. No INRIA1 Pierre-Louis Curien criou a Categorial Abstract Machine (CAM), uma máquina virtual e modelo de computação adequado para execução de linguagens funcionais. Gérard Huet e outros pesquisadores criaram uma versão de ML usando a máquina CAM, e a chamaram de CAML, em meados da década de Como o código executado por CAML era lento e usava muita memória, Xavier Leroy e Damien Doligez criaram Caml Light no início da década de 1990, muito mais rápida e compacta. A linguagem foi estendida na década de 1990 para incluir suporte a orientação a objetos, resultando em Objective Caml. Em 2011 o nome foi mudado para OCaml. 1O INRIA (Institute national de recherche en informatique et en automatique) é uma organização pública francesa de carácter científico e tecnológico. 12/27
13 Tópicos 1 História 2 Características de OCaml 3 Usos e Aplicações 4 O Sistema OCaml 13/27
14 Algumas características de OCaml Estaticamente tipada Inferência de tipos Orientada a expressões Compilação nativa ou para bytecode Uso interativo ou em batch Tipos algébricos e casamento de padrão Módulos Objetos e classes Avaliação estrita 14/27
15 Por que OCaml? Aprendizagem de um novo paradigma de programação. Desempenho e expressividade Programas escritos em OCaml tendem a ter desempenho mais próximo de linguagens como C++, mas com código mais sucinto, geralmente mais próximo de linguagens como Python e Ruby. 15/27
16 Tópicos 1 História 2 Características de OCaml 3 Usos e Aplicações 4 O Sistema OCaml 16/27
17 Usos e aplicações OCaml não é somente experimental. Existem aplicações de complexidade e tamanho significativos escritos em OCaml. Estas aplicações tendem a ser de domínios realativamente complexos ou que usam pesquisas de ponta. Algumas delas funcionam em ambientes que requer alta confiabilidade. 17/27
18 Usos e aplicações (cont.) Jane Street Capital empresa financeira especializada na compra e venda de produtos financeitos em alta frequência (Hight-Speed Trading). Coq sistema assistente para provas que pode ser usado para auxílio na prova de teoremas matemáticos (e verificar as provas criadas), para verificação de outros sistemas de software (provar que um programa segue sua especificação), e como sistema de programação, para criar os chamados produtos certificados. Mirage OS sistema operacional criado especificamente para a computação em nuvens. Microsoft criou o projeto SLAM que resultou na ferramenta SDV (Static Driver Verifier) para verificação de drivers. Facebook compilador da linguagem Hack e algumas ferramentas internas. 18/27
19 Tópicos 1 História 2 Características de OCaml 3 Usos e Aplicações 4 O Sistema OCaml 19/27
20 Ferramentas da distribuição OCaml ocamlc: compilador para bytecode. ocamlopt: compilador para código nativo. ocaml: ambiente interativo. ocamldoc: gerador de documentação baseado em comentários. ocamlbuild: ferramenta para compilação de projetos OCaml. ocamldep: analisador de dependências entre módulos, geralmente usado para determinar a ordem de compilação dos arquivos. ocamllex e ocamlyacc: geradores de analisadores léxicos e sintáticos, usados principalmente na criação de compiladores e interpretadores para linguagens de programação. ocamlmktop: possibilita a criação de ambientes interativos customizados para OCaml. 20/27
21 O ambiente interativo REPL (Read Eval Print Loop): lê declarações e expressões digitadas pelo usuário, compila-as para bytecode, e executa-as. Útil para testar e explorar novas idéias. O ambiente interativo padrão (ocaml) tem algumas deficiências, como por exemplo a edição da entrada é bastante básica e não há suporte para um histórico de linhas digitadas. Sugestão: Adicionar estas capacidades usando utilitários como ledit ou rlwrap. Sugestão: usar o ambiente interativo alternativo utop, que é bastante melhorado. 21/27
22 Pacotes e bibliotecas findlib: ferramenta para instalação, gerenciamento e uso de bibliotecas usando a ferramenta ocamlfind. OPAM (OCaml Package Manager): sistema de gerenciamento de pacotes avançado com resolução de dependência. Ainda não disponível para Windows. 22/27
23 Editores Vários editores suportam a linguagem OCaml: Emacs, VIM, Sublime Text, Textmate, Atom, etc. 23/27
24 Usando o ambiente interativo No ambiente interativo do OCaml podemos digitar expressões e declarações da linguagem OCaml. Elas são compiladas e avaliadas, e o tipo e o valor obtido são exibidos. O ambiente interativo padrão pode ser iniciado a partir de um terminal usando o comando ocaml. Em um sistema Unix: $ ocaml OCaml version # 24/27
25 Usando o ambiente interativo (cont.) Para adicionar facilidades de edição da linha de entrada e histórico, use os utilitários ledit ou rlwrap: Em um sistema Unix: $ rlwrap ocaml OCaml version # 25/27
26 Usando o ambiente interativo (cont.) Expressões da linguagem OCaml podem ser digitadas no prompt. A entrada deve ser encerrada com dois sinais de ponto-e-vírgula: ;; Por exemplo: # 2 + 3*4;; - : int = 14 # (2 + 3)*4;; - : int = 20 # print string "Hello, world!\n";; Hello, world! - : unit = () Observe que o ambiente interativo responde informando o tipo e o valor calculados. 26/27
27 Fim 27/27
Programação Funcional. Capítulo 1. Introdução. José Romildo Malaquias. Departamento de Computação Universidade Federal de Ouro Preto 2012.
Programação Funcional Capítulo 1 Introdução José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2012.1 1/35 1 Programação Funcional 2 Algumas características de Haskell
Leia maisISBN. Impresso e PDF: EPUB: MOBI:
ISBN Impresso e PDF: 978-85-5519-070-4 EPUB: 978-85-5519-071-1 MOBI: 978-85-5519-072-8 Você pode discutir sobre este livro no Fórum da Casa do Código: http://forum.casadocodigo.com.br/. Caso você deseje
Leia maisProgramação Funcional
Programação Funcional Lucília Camarão de Figueiredo Universidade Federal de Ouro Preto lucilia@dcc.ufmg.br Aula 01: Introdução 1 PARADIGMAS DE PROGRAMAÇÃO Imperativo (FORTRAN, PL1, Ada, C, Pascal) Sequência
Leia maisLinguagens 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 maisUniversidade 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 maisLinguagens 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 maisCasa do Código Livros para o programador Rua Vergueiro, 3185-8º andar 04101-300 Vila Mariana São Paulo SP Brasil
Casa do Código Todos os direitos reservados e protegidos pela Lei nº9.610, de 10/02/1998. Nenhuma parte deste livro poderá ser reproduzida, nem transmitida, sem autorização prévia por escrito da editora,
Leia maisIntrodução ao Python. Programa Computacional
Programa Computacional É um algoritmo escrito em uma linguagem computacional (C, Fortran, Pascal, MATLAB, Python, etc.). É a tradução do algoritmo para uma linguagem que será interpretada pelo computador.
Leia maisPython - 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 mais1 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 maisConstruçã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 maisProgramação Estruturada e OO Aula 1.2 Introdução a Paradigmas de Programação. Prof. Bruno Moreno
Programação Estruturada e OO Aula 1.2 Introdução a Paradigmas de Programação Prof. Bruno Moreno bruno.moreno@ifrn.edu.br Motivação Por que existe mais de uma LP? Propósitos diferentes; Avanços tecnológicos;
Leia maisProgramação de Computadores I
Programação de Computadores I 2018.2 Por que programar? Porque é legal Por que programar? Porque é legal Porque pode render dinheiro Por que programar? Porque é legal Porque pode render dinheiro Porque
Leia maisFabiano Moreira.
Fabiano Moreira professor@fabianomoreira.com.br Um pouco de história Java 1.02 (250 classes, lenta) Java 1.1 (500 classes, um pouco mais rápida) Java 2, versões 1.2-1.4 (2300 classes, muito mais rápida)
Leia maisIntroduçã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 maisMé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 maisProgramação I A Linguagem C. Prof. Carlos Alberto
Programação I A Linguagem C Prof. Carlos Alberto carlos.batista@facape.br carlos36_batista@yahoo.com.br 2 Origem A linguagem C foi desenvolvida em 1972, nos Laboratórios Bell, por Dennis Ritchie. Implementada
Leia maisInformá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 maisLinguagens de Programação Programação Funcional (Haskell)
Linguagens de Programação Programação Funcional (Haskell) Andrei Rimsa Álvares Sumário Introdução Programação funcional Linguagens funcionais Haskell Casamento de padrões Funções de ordem superior Avaliação
Leia maisNoçõ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 maisCapí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 maisUniversidade Estadual De Santa Cruz (UESC)
Universidade Estadual De Santa Cruz (UESC) CET087 - Conceitos de Linguagem de Programação Prof. Dr. Marcelo Ossamu Honda Departamento de Ciências Exatas e Tecnológicas (DCET) mohonda.uesc(at)google(.)com
Leia maisLaboratório de Programação 1 Algoritmos e a Lógica de Programação
Laboratório de Programação 1 Algoritmos e a Lógica de Programação Mário Hozano professor@hozano.com Ciência da Computação UFAL - Arapiraca Relembrando a aula anterior... O que é um algoritmo? Como é o
Leia maisQuestõ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 maisParadigmas 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 maisProgramação Funcional. Capítulo 1. Introdução. José Romildo Malaquias. Departamento de Computação Universidade Federal de Ouro Preto 2013.
Programação Funcional Capítulo 1 Introdução José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2013.1 1/37 1 Programação Funcional 2 Algumas características de Haskell
Leia maisConceitos 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 maisImplementação de Linguagens
Implementação de Linguagens Pedro Vasconcelos DCC/FCUP 11 de Abril de 2016 Objectivos Introdução à implementação de linguagens de programação funcionais. Enfoce sobre técnicas de interpretação/compilação
Leia maisParadigmas de Programação
Paradigmas de Programação Fabrício Olivetti de França 05 de Junho de 2018 1 Paradigmas de Programação 2 Paradigmas de Programação Haskell 3 Haskell Surgiu em 1990 com o objetivo de ser a primeira linguagem
Leia maisProf. Natalia Castro Fernandes Mestrado em Telecomunicações UFF 2º semestre/2012
Prof. Natalia Castro Fernandes Mestrado em Telecomunicações UFF 2º semestre/2012 Ementa do Curso Conceitos básicos de programação Orientação a objetos Linguagem Python Simulação com o NS-3 Programação
Leia maisProvadores de Teoremas e suas Aplicações. Prof. Marcus Ramos 13 de Julho de 2018 UNIVASF
Provadores de Teoremas e suas Aplicações Prof. Marcus Ramos 13 de Julho de 2018 UNIVASF Teoremas? Provas? Provadores de Teoremas? Coisa de maluco? Tem aplicação prática? Por que eu deveria me interessar
Leia maisAlgoritmos 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 maisSEMÂNTICA. Rogério Rocha. rode = program simples = var x : int := 3 in x := x + 5 end.
SEMÂNTICA program simples = var x : int := 3 in x := x + 5 end. rode =? Rogério Rocha Roteiro Introdução Sintaxe Semântica Dinâmica (Métodos formais) Operacional Axiomática Denotacional Estática Conclusão
Leia maisPrincipais 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 maisLinguagens de Programação
Linguagens de Programação Paradigma Imperativo Matheus Hafner Tiago Xavier CET 087 - Conceitos de Linguagens de Programação (CLP) 17 de novembro de 2011 Aula Prática Instalação Fortran sudo apt-get install
Leia maisLinguagens de Programação
Linguagens de Programação Fabio Mascarenhas 2017.2 http://www.dcc.ufrj.br/~fabiom/lp Introdução Quais das expressões abaixo têm o mesmo significado? (vector-ref a 42) Introdução Quais das expressões abaixo
Leia maisParadigmas 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 maisMC-102 Aula 01. Instituto de Computação Unicamp
MC-102 Aula 01 Introdução à Programação de Computadores Instituto de Computação Unicamp 2016 Roteiro 1 Por que aprender a programar? 2 Hardware e Software 3 Organização de um ambiente computacional 4 Algoritmos
Leia maisPROGRAMAÇÃ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 maisAlgoritmos 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 maisIntrodução à Programação
Introdução à Programação Linguagens de Programação: sintaxe e semântica de linguagens de programação e conceitos de linguagens interpretadas e compiladas Engenharia da Computação Professor: Críston Pereira
Leia maisImplementação de Linguagens
Implementação de Linguagens Pedro Vasconcelos DCC/FCUP 21 de Março de 2011 Objectivos Introdução à implementação de linguagens de programação declarativas (funcionais e lógicas). Enfoce sobre técnicas
Leia mais1 a Aula. Mestrado em Engenharia Física Tecnológica
1 a Aula Apresentação e Informações Gerais Programação Mestrado em Engenharia Física Tecnológica Samuel M. Eleutério sme@tecnico.ulisboa.pt Departamento de Física Instituto Superior Técnico Universidade
Leia maisCompiladores. 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 maisLista de Linguagens de Programação 7
Lista de Linguagens de Programação 7 Nome: Matrícula: 1. Dizemos que uma linguagem é segura quando esta linguagem não permite que operações sejam aplicadas a argumentos que não possuam os tipos previstos
Leia mais3. 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 maisNoçõ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 maisGabriel 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 maisProgramas Interativos
Programação Funcional DECOM UFOP 2012-1 Aula prática Capítulo 8 Prof. José Romildo Malaquias Programas Interativos Resumo Nesta aula pretende-se explorar construção de programas interativos usando ações
Leia maisInstalação JDK. Joyce França. Professora de Ciência da Computação - IFNMG
Instalação JDK Joyce França Professora de Ciência da Computação - IFNMG Máquina Virtual Java utiliza-se do conceito de máquina virtual, onde existe uma camada extra entre o sistema operacional e a aplicação,
Leia maisNoçõ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 maisLinguagem de Programação I Prof. Tiago Eugenio de Melo.
Linguagem de Programação I Prof. Tiago Eugenio de Melo tmelo@uea.edu.br www.tiagodemelo.info 1 Sumário Introdução Conceitos preliminares Introdução Variáveis Comandos Condicionais 2 Por que aprender a
Leia maisProgramação Python. Nesta aula... 1 Programação. 2 Python. Operadores e Operandos Variáveis, Expressões, Instruções Funções Ciclos Comentários
Nesta aula... 1 2 Introdução à - minor Ciência de computadores: incluí tópicos de matemática (linguagens formais para especificar ideias) engenharia (projetar, juntar componentes para formar um sistema,
Leia maisInstalação JDK 10/03/2017
1 Instalação JDK 10/03/2017 Máquina Virtual Java utiliza-se do conceito de máquina virtual, onde existe uma camada extra entre o sistema operacional e a aplicação, responsável por traduzir o que sua aplicação
Leia maisO AMBIENTE DE DESENVOLVIMENTO
Módulo 9 O AMBIENTE DE DESENVOLVIMENTO P S I 1 1 - C P T G P S I SUMÁRIO Instalação do Java JDK - Kit de Desenvolvimento Java Download do JDK Instalação do JDK Configuração da Variável de ambiente (Path)
Leia maisINFORMÁTICA: Informação automática
INTRODUÇÃO INFORMÁTICA: Informação automática Definição: é a ciência que estuda o tratamento automático e racional da informação (encarregada pelo estudo e desenvolvimento de máquinas e métodos para processar
Leia maisLinguagem Funcional Haskell
Bacharelado em Ciência da Computação PARADIGMAS DE PROGRAMAÇÃO Linguagem Funcional Haskell Prof. Claudinei Dias email: prof.claudinei.dias@gmail.com Principais Linguagens Funcionais LISP (John McCarthy,
Leia maisCompiladores. Fabio Mascarenhas
Compiladores Fabio Mascarenhas 2017.1 http://www.dcc.ufrj.br/~fabiom/comp Introdução Compiladores x Interpretadores Offline x Online Um compilador transforma um programa executável de uma linguagem fonte
Leia maisEderson 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 maisUniversidade de Santa Cruz do Sul UNISC Departamento de informática COMPILADORES. Introdução. Geovane Griesang
Universidade de Santa Cruz do Sul UNISC Departamento de informática COMPILADORES Introdução geovanegriesang@unisc.br Processadores de linguagem Linguagens de programação são notações para se descrever
Leia maisParadigmas 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 maisComo construir um compilador utilizando ferramentas Java
Como construir um compilador utilizando ferramentas Java p. 1/2 Como construir um compilador utilizando ferramentas Java Aula 1 - Introdução Prof. Márcio Delamaro delamaro@icmc.usp.br Como construir um
Leia maisObs.: para realizar estas atividades tenha certeza de que já tenha instalado no sistema operacional o Java JDK e o NetBeans.
1 - Criando meu primeiro programa em Java Para criar um programa Java podemos utilizar um editor de textos (Bloco de Notas/Windows, Notepad ++ ou GEdit/Linux) e o console do sistema operacional, ou um
Leia maisConceito de Linguagens de Programação - 1
Conceito de Linguagens de Programação - 1 Arthur Jovita, Thalles Silva November 1, 2011 1 Natureza das linguagens de Programação Linguagens Estáticas e Dinâmicas 2 Tipificação 3 4 Linguagens Estáticas
Leia maisSimulação de Caixa Automático
Programação Funcional UFOP DECOM 2014.1 Trabalho 1 Simulação de Caixa Automático Sumário Resumo Com esta atividade pretende-se explorar a construção de programas interativos usando ações de entrada e saída
Leia maisProgramação Funcional
Programação Funcional Capítulo 2 Primeiros Passos José Romildo Malaquias 2012.1 Departamento de Computação Universidade Federal de Ouro Preto 1 / 39 1 Glasgow Haskell Compiler 2 O módulo Prelude 3 Aplicação
Leia maisLinguagem de Programação II Programação Orientada a Objetos. Ambientes de Programação
Linguagem de Programação II Programação Orientada a Objetos Ambientes de Programação Prof. Alessandro Borges 2 Tópicos Prompt de comando JDK IDE NetBeans Eclipse Jbuilder Visual Café Visual J++ NetBeans
Leia maisLinguagem Técnica I. Prof. Jonatas Bastos
Linguagem Técnica I Prof. Jonatas Bastos Email: jonatasfbastos@gmail.com 1 Objetivo da Disciplina p Entender os conceitos da programação orientada a objetos; p Aplicar conceitos básicos relativos a objetos
Leia maisShell Script. Básico do básico
Shell Script Básico do básico Os sistemas Unix like, como o GNU/Linux, possuem camadas. Estas camadas são o hardware, o kernel, os programas/comandos e o shell. O shell é a camada mais externa do sistema
Leia maisHASKELL. Breno Simão Boscaglia Pablo Santana Satler Ramon Pereira de Matos
HASKELL Breno Simão Boscaglia Pablo Santana Satler Ramon Pereira de Matos História - 1930: Alonzo Church desenvolveu o cálculo de Lambda, um simples e poderoso teorema de funções. - 1950: John McCarthy
Leia maisProgramação para Servidores. Cassio Diego
Programação para Servidores Cassio Diego contato@cassiodiego.com 1 Unidade 1 1. INTRODUÇÃO 1.1. Definição de shell script 1.2. Programação script 1.3. Scripts versus linguagens compiladas 1.4. Caracteres
Leia maisPLANO 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 maisJAVA. Professor: Bruno Toledo
JAVA Professor: Bruno Toledo Funcionamento de uma LP Em uma Linguagem de Programação (LP) como C e Pascal, temos o seguinte quadro quando vamos compilar um programa. Código fonte em c Teste.c Gera código
Leia maisIntrodução aos computadores, à Internet e à World Wide Web. Prof. Marcelo Roberto Zorzan
Introdução aos computadores, à Internet e à World Wide Web Prof. Marcelo Roberto Zorzan História do Java Origem Linguagem desenvolvida pela Sun Microsystems Sintaxe similar ao C++ Inicialmente chamada
Leia maisPuca Huachi Vaz Penna
Aula 3 C++: variáveis e expressões aritméticas 2017/1 BCC201 Introdução à Computação Turmas 61, 62, 63, 64, 65 e 66, 32 e 33 Puca Huachi Vaz Penna Departamento de Computação Universidade Federal de Ouro
Leia maisCOMPILAÇÃO. Ricardo José Cabeça de Souza
COMPILAÇÃO Ricardo José Cabeça de Souza www.ricardojcsouza.com.br Programas Código-fonte escrito em linguagem de programação de alto nível, ou seja, com um nível de abstração muito grande, mais próximo
Leia maisLinguagens de Programação
Linguagens de Programação Fabio Mascarenhas - 2015.2 http://www.dcc.ufrj.br/~fabiom/lp Introdução Quais das expressões abaixo têm o mesmo significado? (vector-ref a 42) Introdução Quais das expressões
Leia maisProgramaçã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 maisProgramaçã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 maisFundamentos de Lógica e Algoritmos. Aula 3.1 Introdução a Python. Prof. Dr. Bruno Moreno
Fundamentos de Lógica e Algoritmos Aula 3.1 Introdução a Python Prof. Dr. Bruno Moreno bruno.moreno@ifrn.edu.br O objetivo dessa disciplina é aprender Python? 2 Objetivo da disciplina O objetivo da disciplina
Leia maisCapí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 maisPROGRAMAÇÃ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 maisPROGRAMAÇÃO FUNCIONAL [BCC222] 1 Jogo Adivinha o Número. Teste 4 (2018 1) 23 de maio de 2018 Matrícula: Nome:
PROGRAMAÇÃO FUNCIONAL [BCC222] Teste 4 (2018 1) 23 de maio de 2018 Matrícula: Nome: Departamento de Computação Universidade Federal de Ouro Preto Prof. José Romildo Malaquias 1 Jogo Adivinha o Número Ao
Leia maisFERRAMENTA DE AUXÍLIO AO PROCESSO DE DESENVOLVIMENTO DE SOFTWARE INTEGRANDO TECNOLOGIAS OTIMIZADORAS
FERRAMENTA DE AUXÍLIO AO PROCESSO DE DESENVOLVIMENTO DE SOFTWARE INTEGRANDO TECNOLOGIAS OTIMIZADORAS Acadêmico: Roger Anderson Schmidt Orientador : Marcel Hugo Supervisor : Ricardo de Freitas Becker Empresa
Leia maisProgramação Estruturada
Programação Estruturada Organização de um ambiente computacional Professores Emílio Francesquini e Carla Negri Lintzmayer 2018.Q3 Centro de Matemática, Computação e Cognição Universidade Federal do ABC
Leia maisLinguagens 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 maisFundamentos de Lógica e Algoritmos. Aula 3.1 Introdução a Programação. Prof. Dr. Bruno Moreno
Fundamentos de Lógica e Algoritmos Aula 3.1 Introdução a Programação Prof. Dr. Bruno Moreno bruno.moreno@ifrn.edu.br O objetivo dessa disciplina é aprender uma linguagem de programação?? 2 Objetivo da
Leia maisIntrodução à plataforma Java
Introdução à plataforma Java Apresentação: Professor: Galvez Gonçalves prof.gago@gmail.com O que estudaremos 1. Os conceitos de programação orientada a objetos através de uma linguagem de programação que
Leia maisProgramação para Servidores. Cassio Diego
Programação para Servidores Cassio Diego contato@cassiodiego.com Unidade 1 1. INTRODUÇÃO 1.1. Definição de shell script 1.2. Programação script 1.3. Scripts versus linguagens compiladas 1.4. Caracteres
Leia maisProgramação: Compiladores x Interpretadores PROF. CARLOS SARMANHO JR
Programação: Compiladores x Interpretadores PROF. CARLOS SARMANHO JR Introdução Compiladores e interpretadores são formas de tradução de um código geralmente de alto nível (escrito em uma linguagem de
Leia maisV.2 Especificação Sintática de Linguagens de Programação
V.2 Especificação Sintática de Linguagens de Programação Deve ser baseada: No planejamento da Linguagem / Compilador Objetivos, Filosofia, Potencialidades,... Nos critérios de projeto/avaliação Legibilidade,
Leia maisLinguagens de Programação Classificação
Classificação Classificação A proximidade que a linguagem de programação tem com a humana determina sua classe (o nível): Linguagem de máquina (primeira geração) Linguagem assembly - de montagem (segunda
Leia maisProgramaçã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 maisIntrodução. PCO / PPO Departamento de Informática Faculdade de Ciências da Universidade de Lisboa
Introdução PCO / PPO Departamento de Informática Faculdade de Ciências da Universidade de Lisboa Resumo Funcionamento da cadeira Intuição sobre programação orientada-a-objectos A linguagem Java: história
Leia maisLinguagens 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 maisJava Standard Edition (JSE)
Java Standard Edition (JSE) Capítulo 01. Introdução à tecnologia JAVA Esp. Márcio Palheta MSN: marcio.palheta@hotmail.com 1 Agenda Apresentação: Formação, graduação, certificação, área de atuação; Apresentação
Leia mais