Linguagens de Programação Programação Funcional (Haskell)
|
|
|
- Arthur Clementino Vasques
- 7 Há anos
- Visualizações:
Transcrição
1 Linguagens de Programação Programação Funcional (Haskell) Andrei Rimsa Álvares
2 Sumário Introdução Programação funcional Linguagens funcionais Haskell Casamento de padrões Funções de ordem superior Avaliação preguiçosa (lazy evalua)on) Resumo
3 INTRODUÇÃO Linguagens de Programação
4 Introdução Programação funcional é baseada no conceito de funções matemáfcas Uma função matemáfca é um mapeamento de membros de um conjunto (domínio) em outro conjunto (imagem) A ordem de avaliação é controlada por recursões e expressões condicionais, ao invés de sequenciamento e iterações Não possuem efeito colateral
5 Uma Simples Função Exemplo: função cubo cubo(x) = x * x * x Domínio: conjunto dos números reais = : a função é definida como x: pode representar qualquer elemento do domínio, mas é fixo para representar apenas um elemento na avaliação São diferentes de variáveis no paradigma imperafvo
6 Formas Funcionais Forma funcional ou função de ordem superior Aceita funções como parâmetros Aceita funções como retorno Composição de funções (h = f g) Exemplo: f(x) = x + 2 g(x) = 3 * x h(x) = f(g(x)) = (3 * x) + 2
7 PROGRAMAÇÃO FUNCIONAL Linguagens de Programação
8 Programação Funcional Um programa no paradigma funcional é uma função, o qual pode ser uma composição de outras funções P f (x 1, x 2,..., x n ) f 1 f 2... f n (x 1, x 2,..., x n ) O objefvo da programação é imitar uma função matemáfca Programação funcional é baseada no modelo computacional Lambda Calculus (Church, 1941) Exemplo: ((λ x. (λ y. x)) (λ z. z)) (λ a. a)
9 Programação Funcional vs. ImperaFva Exemplo de avaliação de (x + y) / (a b) Alan Turing Programação imperamva Avalia (x + y) e armazena resultado na memória Avalia (a b) e armazena resultado na memória Carrega ambos valores da memória e faz a divisão Alonzo Church Programação funcional Não usam variáveis como endereços de memória Usam recursão ao invés de iterações Não possuem efeitos colaterais dados os mesmos parâmetros sempre dará o mesmo resultado (transparência referencial)
10 Exemplo Algoritmo de Euclides para cálculo do máximo divisor comum (MDC)!# mdc(m, n) = " $# n mdc(n mod m, m) Escrito como um programa em Haskell, se m = 0, se m > 0 mdc :: Int -> Int -> Int -- declaração da função mdc mdc m n -- definição da função m == 0 = n m > 0 = mdc (n `mod` m) m : hbp://haskell.org
11 LINGUAGENS FUNCIONAIS Linguagens de Programação
12 Linguagens Funcionais Algumas linguagens funcionais famosas LISP (John McCarthy, 1960) Escopo dinâmico e coleta de lixo Diversas extensões: CLOS, Scheme, etc Principal uso: inteligência arfficial APL (Kenneth Iverson, 1962) Não é puramente funcional (possui atribuição) Principal Fpo de dados: matrizes Principal uso: avaliação de expressões
13 Linguagens Funcionais Algumas linguagens funcionais famosas ML (Robin Milner, 1979) Polimorfismo e sistema de Fpos forte Modularização e suporte a TAD Não é puramente funcional Miranda (David Turner, 1986) Similar a ML, porém com avaliação lazy Haskell (S. Peyton Jones & P. Wadler, 1992) Puramente funcional Avaliação lazy
14 Principais Aplicações LISP Diversas aplicações em IA Emacs (editor de textos) Macsyma (cálculos simbólicos) Haskell Compilador GHC ML Servidor Web, provadores de teorema
15 HASKELL Linguagens de Programação
16 Haskell Algumas propriedades de Haskell Sintaxe similar a ML EstaFcamente e fortemente Fpada Puramente funcional Não possui variáveis Nem outras caracterísfcas imperafvas Possui avaliação preguiçosa (lazy evaluafon) Permite definir listas infinitas
17 Exemplo Exemplo de função fatorial fact :: Integer -> Integer fact 0 = 1 fact n = n * fact (n-1) Mesmo exemplo escrito com uma sintaxe alternafva fact :: Integer -> Integer fact n n == 0 = 1 n > 0 = n * fact (n-1) Int: precisão fixa (32 ou 64 bits) Integer: precisão arbitrária
18 Conceitos Fundamentais Conceitos fundamentais de Haskell Casamento de Padrões Avaliação Preguiçosa Funções de ordem superior
19 Casamento de Padrões Função definida por várias equações, cada uma com um padrão no seu lado esquerdo fib :: Int -> Int fib 0 = 0 -- equação aplicada ao caso 0 fib 1 = 1 -- equação aplicada ao caso 1 fib n = fib (n-1) + fib (n-2) -- equação aplicada nos outros casos Vantagens Concisão e clareza Mais próxima de uma definição matemáfca
20 Casamento de Padrões Forma tradicional para definição de funções via uma única equação (possivelmente condicional) soma :: Int -> Int soma n n <= 0 = 0 -- se n menor ou igual a zero n > 0 = n + soma (n-1) -- se n maior que zero
21 Cláusula otherwise Casamento de padrão com opção padrão (otherwise) fun :: Int -> Int fun n n < 10 = 0 n > 10 = 2 otherwise = 1
22 Cláusula where Cálculo das raízes de uma equação de segundo grau Implementado em Haskell x = b ± b2 4ac 2a raizeq :: Float -> Float -> Float -> [Float] raizeq a b c = [ menos_b_sobre_2a - delta_sqrt, menos_b_sobre_2a + delta_sqrt ] where menos_b_sobre_2a = -b / (2.0 * a) delta_sqrt = (sqrt (b*b - 4.0*a*c)) / (2.0 * a)
23 Listas Declaração de listas entre colchetes Operadores Concatenação (++) Infixo de lista (:) colors :: [String] colors = [ "blue", "green", "red" ] [1, 3, 5] ++ [2, 4, 6] [1, 3, 5, 2, 4, 6] 5:[2, 7, 9] [5, 2, 7, 9] Séries aritméfcas (..) [1, 3..11] [1, 3, 5, 7, 9, 11] Tamanho de lista (length) length [2, 4, 6] 3
24 Exemplos Operações com lista Soma de todos os elementos de uma lista de inteiros somatorio :: [Int] -> Int somatorio [] = 0 somatorio (a:x) = a + somatorio x Produto de todos os elementos de uma lista de inteiros produtorio :: [Int] -> Int produtorio [] = 1 produtorio (a:x) = a * produtorio x Fatorial de um número inteiro fact :: Int -> Int fact n = produtorio [1..n]
25 Compreensão de Listas Descrição de listas que representam conjuntos Exemplos Cubo dos números de 1 a 50 [corpo qualificadores ] cubo :: [Int] cubo = [ n * n * n n <- [1..50] ] Fatores de um número inteiro fatores :: Int -> [Int] fatores 0 = [] fatores n = [ i i <- [1..n `div` 2], n `mod` i == 0 ] ++ [n]
26 Simplicidade Exemplo do algoritmo Quicksort em Haskell qsort :: [Int] -> [Int] qsort [] = [] qsort (a:x) = qsort [ b b <- x, b <= a ] ++ [a] ++ qsort [ b b <- x, b > a ]
27 Funções de Ordem Superior Formas funcionais Funções de primeira ordem Parâmetros e resultado não são funções Funções de ordem superior Possui parâmetros e/ou retornos que são funções Linguagens funcionais Funções são valores de primeira classe Conceito comum na matemáfca (derivada, integral,...)
28 Exemplo Funções de primeira ordem impar :: Int -> Bool impar x (x `mod` 2) == 1 = True otherwise = False quad :: Int -> Int quad x = x ^ 2 Função de ordem superior nmap :: (t -> u) -> [t] -> [u] nmap f [] = [] nmap f (a:x) = f a : nmap f x > nmap quad [1,2,3,4] [1,4,9,16] > nmap impar [1,2,3,4] [True,False,True,False] >
29 Avaliação Preguiçosa Avaliação preguiçosa ou avaliação tardia: argumentos somente são avaliados quando são uflizados Permite que uma função retorne resultados parcialmente avaliados Conceito úfl para construir listas infinitas positivos :: [Integer] positivos = [0..] pares :: [Integer] pares = [2, 4..] quadrados :: [Integer] quadrados = [n * n n <- [0..]]
30 Exemplo Verificar se um elemento existe na lista quadrado membro :: [Integer] -> Integer -> Bool membro [] b = False membro (a:x) b = (a == b) membro x b > membro quadrados 16 True > Qual o problema desse programa?
31 Exemplo Reescrevendo o exemplo anterior para consertar o problema membro2 :: [Integer] -> Integer -> Bool membro2 [] n = False membro2 (m:x) n m < n = membro2 x n m == n = True otherwise = False > membro quadrados 16 True > membro quadrados 15 False >
32 Avaliação Preguiçosa Vantagens Maior poder de expressividade Desvantagens SemânFca complicada Execução mais lenta
33 RESUMO Linguagens de Programação
34 Comparação Funcional vs. ImperaFvo Linguagens imperafvas são mais eficientes Modelo computacional de von Neumann: mesmo modelo das atuais arquiteturas de computadores Linguagens funcionais possuem construções com um nível de abstração maior ÚFl para protofpação Linguagens funcionais viabilizam provas formais de propriedades de programas
35 ISSO É TUDO PESSOAL! Linguagens de Programação
Linguagem Funcional Haskell
Bacharelado em Ciência da Computação PARADIGMAS DE PROGRAMAÇÃO Linguagem Funcional Haskell Prof. Claudinei Dias email: [email protected] Principais Linguagens Funcionais LISP (John McCarthy,
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
Linguagem Haskell. Universidade Estadual Santa Cruz Conceitos de Linguagens de Programação. Tiago Carneiro 19 Agosto 2013
Linguagem Haskell Universidade Estadual Santa Cruz Conceitos de Linguagens de Programação Tiago Carneiro 19 Agosto 2013 1 1 Linguagem Haskell Linguagem de programação funcional É um paradigma de programação
Aula prática 5. Funções Recursivas
Programação Funcional UFOP DECOM 2014.1 Aula prática 5 Funções Recursivas Resumo Definições recursivas são comuns na programação funcional. Nesta aula vamos aprender a definir funções recursivas. Sumário
Conceitos de Linguagens de Programação
Conceitos de Linguagens de Programação Aula 09 Programação Funcional (Haskell) Edirlei Soares de Lima Programação Funcional A programação funcional modela um problema computacional
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
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
Pedro Vasconcelos DCC/FCUP. Programação Funcional 3 a Aula Definição de funções
Programação Funcional 3 a Aula Definição de funções Pedro Vasconcelos DCC/FCUP 2014 Definição de funções Podemos definir novas funções simples usando funções pré-definidas. minuscula :: Char -> Bool minuscula
Paradigmas de Programação
Paradigmas de Programação Fabrício Olivetti de França 21 de Junho de 2018 1 Listas 2 Listas Uma das principais estruturas em linguagens funcionais. Representa uma coleção de valores de um determinado tipo.
Cálculo Lambda Sem Tipos
Cálculo Lambda Sem Tipos Cálculo lambda sem tipos Peter Landin (60 s) observou que uma linguagem de programação pode ser compreendida formulando-a em um pequeno núcleo capturando suas características essenciais
Pedro Vasconcelos DCC/FCUP. Programação Funcional 5 a Aula Definições recursivas
Programação Funcional 5 a Aula Definições recursivas Pedro Vasconcelos DCC/FCUP 2014 Definições usando outras funções Podemos definir funções usando outras previamente definidas (e.g. do prelúdio-padrão).
Layout. Módulos. Normalmente, cada módulo está armazenado num ficheiro com o mesmo nome do módulo. Exemplo.hs
Layout Ao contrário de quase todas as linguagens de programação, o Haskell não necessita de marcas para delimitar as diversas declarações que constituem um programa. Em Haskell a identação do texto (isto
Linguagens de Programação Aula 13
Linguagens de Programação Aula 13 Celso Olivete Júnior [email protected] Na aula passada Suporte para a programação orientada a objetos 2 Na aula de hoje Programação Funcional Linguagem Haskell 3 Roteiro
Expressões Lambda. Programação Funcional. Capítulo 7. José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto
Programação Funcional Capítulo 7 Expressões Lambda José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2012.1 1/64 1 Valores de primeira classe 2 Expressão lambda 3 Aplicação
Programação Funcional
Programação Funcional Lucília Camarão de Figueiredo Universidade Federal de Ouro Preto [email protected] Aula 04: Definição de funções 1 DEFINIÇÃO DE FUNÇÕES f x1 x2...xn = E Define uma função f de tipo
Introdução à Programação uma Abordagem Funcional
Universidade Federal do Espírito Santo Introdução à Programação uma Abordagem Funcional Programação I Prof.ª Claudia Boeres [email protected] CT VII - Sala 34 Departamento de Informática Centro Tecnológico
Aula prática 14. Expressão Lambda
Programação Funcional UFOP DECOM 2014.1 Aula prática 14 Expressão Lambda Sumário Resumo Expressões lambdas são funções anônimas que podem ser usadas como qualquer outro valor de primeira classe. Nesta
Aula Prática 3. Paradigmas da Programação I / Programação Funcional. ESI/MCC 1 o ano (2005/2006)
Aula Prática 3 Paradigmas da Programação I / Programação Funcional ESI/MCC 1 o ano (2005/2006) Nesta aula pretende-se que os alunos: consolidem os conceitos de expressão, tipo e redução; compreendam a
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,
Tipos Algébricos. Programação Funcional. Capítulo 11. José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto
Programação Funcional Capítulo 11 Tipos Algébricos José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2012.1 1/33 1 Tipos Algébricos 2/33 Tópicos 1 Tipos Algébricos 3/33
Programaçã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
Programação Funcional - Introdução a Cálculo Lambda
Programação Funcional - Introdução a Cálculo Lambda Cristiano Damiani Vasconcellos Universidade do Estado de Santa Catarina 1. Definição Cálculo lambda (λ-cálculo) é um modelo matemático capaz de ilustrar
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
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
Uma Aula Prática sobre LISP
MAC 5710 - Estruturas de Dados - 2008 Linguagem LISP Surgiu no final dos anos 50 - John McCarthy (MIT). Linguagem para processamento simbólico. Muito usada em aplicações em Inteligência Artificial. Outras
Lambda Cálculo e Programação Funcional. Programação Funcional Bacharelado em Sistemas de Informação Maio
Lambda Cálculo e Programação Funcional Programação Funcional Bacharelado em Sistemas de Informação Maio - 2009 Alonzo Church (1903 1995) Professor em Princeton, EUA (1929 1967) e UCLA (1967 1990) Inventou
Professor: Domingos Equipe Haskell: Lucas Montesuma, Francisco Leonardo CONCEITOS DA LINGUAGEM DE PROGRAMAÇÃO CÁLCULADORA EM HASKELL
Professor: Domingos Equipe Haskell: Lucas Montesuma, Francisco Leonardo CONCEITOS DA LINGUAGEM DE PROGRAMAÇÃO CÁLCULADORA EM HASKELL Sobre a Linguagem Haskell Inicialmente temos no trabalho o uso da versão
Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Básicas. Aula Tópico 2
Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Básicas Aula Tópico 2 1 Problema 3 Exibir o maior número inteiro que pode ser representado no computador. 2 Qual o maior número inteiro? Para o compilador
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
Linguagem Haskell. Riocemar S. de Santana
Linguagem Haskell Riocemar S. de Santana Haskell, o que é? É uma linguagem de programação puramente funcional, de propósito geral. Nomeada em homenagem ao matemático americano Haskell B. Curry (1900 1982).
Aula de hoje. Expressões. Expressões. Expressões. Exemplos. Programa em Python. SCC Introdução à Programação para Engenharias
SCC 124 - Introdução à Programação para Engenharias Expressões Professor: André C. P. L. F. de Carvalho, ICMC-USP Pos-doutorando: Isvani Frias-Blanco Monitor: Henrique Bonini de Britto Menezes Aula de
Computação Eletrônica. Tipos de dados, constantes, variáveis, operadores e expressões. Prof: Luciano Barbosa
Computação Eletrônica Tipos de dados, constantes, variáveis, operadores e expressões Prof: Luciano Barbosa Site da disciplina: www.cin.ufpe.br/~if165/ Recapitulando num cubo = n * n * n cubo Algoritmo
Principais paradigmas de programação. Programação imperativa Programação funcional Programação lógica Programação OO
Principais paradigmas de programação Programação imperativa Programação funcional Programação lógica Programação OO Programação Imperativa É o paradigma mais usado. Programas são definidos através de sequências
Introdução à Linguagem C++
Introdução à Linguagem C++ C++: Definição C++ C A Linguagem de Programação C++ pode ser definida como uma extensão da Linguagem C; Todo código de programação em Linguagem C pode a priori ser compilado
Revisão C++ - Parte 1
Revisão C++ - Parte 1 Prof. Gustavo Leitão Campus Natal Central Disciplina Programação para Ambiente de Redes 5/3/2010 Objetivo da Aula 5/3/2010 5/3/2010 OBJETIVO DA AULA Revisar os principais comandos
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
Pedro Vasconcelos DCC/FCUP. Programação Funcional 2 a Aula Tipos e classes
Programação Funcional 2 a Aula Tipos e classes Pedro Vasconcelos DCC/FCUP 2012 Tipos Um tipo é um nome para uma coleção de valores relacionados. Por exemplo, o tipo Bool True contém dois valores lógicos:
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
Programação Funcional. Capítulo 2. OCaml. José Romildo Malaquias. Departamento de Computação Universidade Federal de Ouro Preto 2015.
Programação Funcional Capítulo 2 OCaml José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2015.1 1/27 1 História 2 Características de OCaml 3 Usos e Aplicações 4 O Sistema
Pedro Vasconcelos DCC/FCUP. Programação Funcional 2 a Aula Tipos e classes
Programação Funcional 2 a Aula Tipos e classes Pedro Vasconcelos DCC/FCUP 2014 Tipos Um tipo é um nome para uma coleção de valores relacionados. Por exemplo, o tipo Bool True contém dois valores lógicos:
Aula 4: Introdução à Linguagem C++
CI208 - Programação de Computadores Aula 4: Introdução à Linguagem C++ Prof. MSc. Diego Roberto Antunes [email protected] www.inf.ufpr.br/diegor Universidade Federal do Paraná Setor de Ciências Exatas
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
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: [email protected] Linguagens de Programação p. 1/5 Linguagens de
Algoritmos e Estruturas de Dados I (DCC/003) 2013/1. Estruturas Básicas. Aula Tópico 4
Algoritmos e Estruturas de Dados I (DCC/003) 2013/1 Estruturas Básicas Aula Tópico 4 1 Problema 3 Exibir o maior número inteiro que pode ser representado no computador. 2 Qual o maior número inteiro? Para
Linguagens de Programação. Programação Funcional. Carlos Bazilio
Linguagens de Programação Programação Funcional Carlos Bazilio [email protected] http://www.ic.uff.br/~bazilio/cursos/lp Funções como Valores de 1a. Classe Atribuição a Variáveis a = f() g = f
4. Constantes. Constantes pré-definidas
4. Constantes Constantes pré-definidas O PHP possui algumas constantes pré-definidas, indicando a versão do PHP, o Sistema Operacional do servidor, o arquivo em execução, e diversas outras informações.
Primeira Prova de Linguagens de Programação - DCC024 - Sistemas de Informação
Primeira Prova de Linguagens de Programação - DCC024 - Sistemas de Informação Nome: Eu dou minha palavra de honra que não trapacearei neste exame. Número de matrícula: As regras do jogo: A prova é sem
Programação Funcional Aulas 5 & 6
Programação Funcional Aulas 5 & 6 Sandra Alves DCC/FCUP 2016/17 Definições usando outras funções Podemos definir funções usando outras previamente definidas (por exemplo: do prelúdio-padrão). Exemplo:
Casamento de Padrão. Programação Funcional. Capítulo 6. José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto
Programação Funcional Capítulo 6 Casamento de Padrão José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2012.2 1/66 1 Casamento de padrão 2 Expressão case 3 Definição
Funções de Ordem Superior
Programação Funcional Capítulo 7 Funções de Ordem Superior José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2013.2 1/37 1 Funções de Ordem Superior 2 Composição de funções
Programação Estruturada
Algoritmos e Técnicas - Estruturas de Controle de Fluxo - Programação Estruturada Programação estruturada é a técnica de construir e formular algoritmos de uma forma sistemática. Utilizada para apresentar
Aula Prática 2. Paradigmas da Programação I / Programação Funcional
Aula Prática 2 Paradigmas da Programação I / Programação Funcional ESI/MCC 1 o ano (2005/2006) Nesta aula pretende-se introduzir os conceitos seguintes: valores e expressões; tipos básicos e tipos compostos;
Introdução a Programação na Linguagem C.
Introdução a Programação na Linguagem C. Prof. Gemilson George E-mail: [email protected] Skype: gemilson_geo MSN: [email protected] Facebook: facebook.com/gemilson Fone: (83)8880-2046 Blog: informaticageo.wordpress.com
Lógica e Linguagem de Programação Convertendo um algoritmo em pseudocódigo para a linguagem C Professor: Danilo Giacobo
Lógica e Linguagem de Programação Convertendo um algoritmo em pseudocódigo para a linguagem C Professor: Danilo Giacobo Este documento explica como transformar um algoritmo escrito na forma pseudocódigo
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
Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Condicionais e de Repetição
Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Condicionais e de Repetição 1 Comando while Deseja-se calcular o valor de: 1 + 2 + 3 +... + N. Observação: não sabemos, a priori, quantos termos
Arquitetura Von Neumann Dados e instruções são obtidos da mesma forma, simplificando o desenho do microprocessador;
1 Microprocessador Um microprocessador é um circuito eletrônico capaz de realizar diversas tarefas conforme os comandos específicos. Para isso ele deve ler esses comandos da memória de programa (ROM) e
Funções Recursivas. Prof.: Edson Holanda Teoria da computação - Diverio e Menezes
Funções Recursivas Prof.: Edson Holanda [email protected] Teoria da computação - Diverio e Menezes Tipos de Formalismos Operacional Define-se uma máquina abstrata, baseada em estados, em instruções
Introdução à Programação Estruturada Parte 3. Material da Prof. Ana Eliza
Introdução à Programação Estruturada Parte 3 Material da Prof. Ana Eliza Arquitetura do Computador Digital MEMÓRIA Armazena dados e comandos UNIDADE DE ENTRADA UNIDADE DE CONTROLE UNIDADE LÓGICA E ARITMÉTICA
Conceitos de Linguagem de Programação - 2
Conceitos de Linguagem de Programação - 2 Arthur Jovita Guerra Thalles Santos Silva Universidade Estadual de Santa Cruz - Ilhéus, BA 1 de novembro de 2011 1 Revisão Natureza das linguagens de Programação
Pedro Vasconcelos DCC/FCUP. Programação Funcional 13 a Aula Definição de tipos
Programação Funcional 13 a Aula Definição de tipos Pedro Vasconcelos DCC/FCUP 2014 Declarações de sinónimos Podemos dar um nome novo a um tipo existente usando uma declaração de sinónimo. Exemplo (do prelúdio-padrão):
Laboratório de programação II
Laboratório de programação II Herança e Polimorfismo Edson Moreno [email protected] http://www.inf.pucrs.br/~emoreno Herança Mecanismo da Orientação a Objeto que permite criar novas classes aproveitando
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
Programação Funcional. Aula 5. Funções Recursivas. José Romildo Malaquias. Departamento de Computação Universidade Federal de Ouro Preto 2011.
Programação Funcional Aula 5 Funções Recursivas José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2011.2 1/39 1 Funções recursivas 2 Recursividade mútua 3 Recursividade
Lista de Exercícios 06 Modularização (Procedimentos e Funções)
Lista de Exercícios 06 Modularização (Procedimentos e Funções) Procedimentos: Passagem de parâmetros. 1) Escreva um procedimento que receba um número inteiro e imprima o mês correspondente ao número. Por
Linguagens Formais e Autômatos Apresentação da Disciplina
Linguagens Formais e Autômatos Apresentação da Disciplina Andrei Rimsa Álvares Computação Histórico da Computação O que pode ser computado? Ábaco China Aprox. 3500 a.c. Máquina de Babbage Inglaterra 1823
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
Casamento de Padrão. Programação Funcional. Capítulo 5. José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto
Programação Funcional Capítulo 5 Casamento de Padrão José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2012.1 1/63 1 Casamento de padrão 2 Expressão case 3 Definição
Programação Computacional C/C++
exatasfepi.com.br Programação Computacional C/C++ André Luís Duarte Feliz é o homem que acha sabedoria, e o homem que adquire entendimento; Provérbios 3:13 Conceitos Fundamentos Estrutura sequencial Estruturas
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;
