Pedro Vasconcelos DCC/FCUP. Programação Funcional 2 a Aula Tipos e classes
|
|
|
- Bernadete Rocha Canedo
- 8 Há anos
- Visualizações:
Transcrição
1 Programação Funcional 2 a Aula Tipos e classes Pedro Vasconcelos DCC/FCUP 2014
2 Tipos Um tipo é um nome para uma coleção de valores relacionados. Por exemplo, o tipo Bool True contém dois valores lógicos: False
3 Erros de tipos Algumas operações só fazem sentido com valores de determinados tipos. Por exemplo: não faz sentido somar números e valores lógicos. > 1 + False ERRO Em Haskell, estes erros são detetados classificando as expressões com os tipos dos resultados.
4 Tipos em Haskell Escrevemos e :: T para indicar que a expressão e admite o tipo T. Se e :: T, então o resultado de e será um valor de tipo T. O interpretador verifica tipos indicados pelo programador e infere tipos omitidos. Os programas com erros de tipos são rejeitados antes da execução.
5 Tipos básicos Bool valores lógicos True, False Char carateres simples 'A', 'B', '?', '\n' String sequências de carateres "Abba", "UB40" Int inteiros de precisão fixa (32 ou 64-bits) 142, Integer inteiros de precisão arbitrária (apenas limitados pela memória do computador) Float vírgula flutuante de precisão simples , -1.23e10 Double vírgula flutuante de precisão dupla
6 Listas Uma lista é uma sequência de tamanho variável de elementos dum mesmo tipo. [False,True,False] :: [Bool] ['a', 'b', 'c', 'd'] :: [Char] Em geral: [T ] é o tipo de listas cujos elementos são de tipo T.
7 Tuplos Um tuplo é uma sequência de tamanho fixo de elementos de tipos possivelmente diferentes. (42,'a') :: (Int,Char) (False,'b',True) :: (Bool,Char,Bool) Em geral: (T 1,T 2,...,T n ) é o tipo de tuplos com n componentes de tipos T i para i de 1 a n.
8 Observações Listas de tamanhos diferentes podem ter o mesmo tipo. Tuplos de tamanhos diferentes têm tipos diferentes. ['a'] :: [Char] ['b','a','b'] :: [Char] ('a','b') :: (Char,Char) ('b','a','b') :: (Char,Char,Char)
9 Observações (cont.) Os elementos de listas e tuplos podem ser quaisquer valores, inclusivé outras listas e tuplos. [['a'], ['b','c']] :: [[Char]] (1,('a',2)) :: (Int,(Char,Int)) (1, ['a','b']) :: (Int,[Char])
10 Observações (cont.) A lista vazia [] admite qualquer tipo de lista [T ] O tuplo vazio () é o único valor do tipo unitário () Não existem tuplos com apenas um elemento
11 Tipos funcionais Uma função faz corresponder valores de um tipo em valores de outro um tipo. not :: Bool -> Bool isdigit :: Char -> Bool Em geral: T 1 ->T 2 é o tipo das funções que fazem corresponder valores do tipo T 1 em valores do tipo T 2.
12 Tipos funcionais (cont.) Os argumento e resultado duma função podem ser listas, tuplos ou de quaisquer outros tipos. soma :: (Int,Int) -> Int soma (x,y) = x+y contar :: Int -> [Int] contar n = [0..n]
13 Funções de vários argumentos Uma função de vários argumentos toma um argumento de cada vez. soma :: Int -> (Int -> Int) soma x y = x+y incr :: Int -> Int incr = soma 1 Ou seja: soma 1 é a função que a cada y associa 1 + y. NB: a esta forma de tratar múltiplos argumentos chama-se currying (em homenagem a Haskell B. Curry).
14 Tuplos vs. currying Função de dois argumentos (curried) soma :: Int -> (Int -> Int) soma x y = x+y Função de um argumento (par de inteiros) soma' :: (Int,Int) -> Int soma' (x,y) = x+y
15 Porquê usar currying? Funções curried são mais flexíveis do que funções usando tuplos porque podemos aplicá-las parcialmente. Exemplos soma 1 :: Int -> Int take 5 :: [Char] -> [Char] drop 5 :: [Char] -> [Char] -- incrementar -- primeiros 5 elms. -- retirar 5 elms. É preferível usar currying exceto quando queremos explicitamente construir tuplos.
16 Convenções sintáticas Duas convenções que reduzem a necessidade de parêntesis: a seta -> associa à direita; a aplicação associa à esquerda. Int -> Int -> Int -> Int = = Int -> (Int -> (Int -> Int)) f x y z = (((f x) y) z)
17 Funções polimorfas Certas funções operam com valores de qualquer tipo; tais funções admitem tipos com variáveis. Uma função diz-se polimorfa ( de muitas formas ) se admite um tipo com variáveis. Exemplo length :: [a] -> Int A função length calcula o comprimento duma lista de valores de qualquer tipo a.
18 Funções polimorfas (cont.) Ao aplicar funções polimorfas, as variáveis de tipos são automaticamente substituidas pelos tipos concretos: > length [1,2,3,4] -- Int 4 > length [False,True] -- Bool 2 > length [(0,'X'),(1,'O')] -- (Int,Char) 2 As variáveis de tipo devem começar por uma letra minúscula; é convencional usar a, b, c,...
19 Funções polimorfas (cont.) Muitas funções do prelúdio-padrão são poliformas: null :: [a] -> Bool head :: [a] -> a take :: Int -> [a] -> [a] fst :: (a,b) -> a zip :: [a] -> [b] -> [(a,b)] O polimorfismo permite usar estas funções em contextos muito diferentes.
20 Sobrecarga (overloading) Certas funções operam sobre vários tipos mas não sobre quaisquer tipos. > sum [1,2,3] 6 > sum [1.5, 0.5, 2.5] 4.5 > sum ['a', 'b', 'c'] ERRO > sum [True, False] ERRO
21 Sobrecarga (overloading) (cont.) Nestes casos o tipo mais geral da função tem restrições de classe. sum :: Num a => [a] -> a Num a =>... é uma restrição de classe da variável a. Indica que sum opera apenas sobre tipos a que sejam numéricos.
22 Algumas classes pré-definidas Num tipos numéricos (ex: Int, Integer, Float, Double) Integral tipos com divisão inteira (ex: Int, Integer) Fractional tipos com divisão fracionária (ex: Float, Double) Eq tipos com igualdade Ord tipos com ordem total Exemplos (+) :: Num a => a -> a -> a (/) :: Fractional a => a -> a -> a (==) :: Eq a => a -> a -> Bool (<) :: Ord a => a -> a -> Bool max :: Ord a => a -> a -> a
23 Hierarquia de classes Algumas classes respeitam uma hierarquica: Ord é uma subclasse de Eq Num é uma subclasse de Eq Fractional e Integral são subclasses de Num Assim, podemos usar: == e /= com tipos em Ord ou em Num +, - e * com tipos em Fractional ou em Integral
24 Constantes numéricas Em Haskell, também as constantes numéricas podem ser usadas com vários tipos: 1 :: Int 1 :: Float 1 :: Num a => a -- tipo mais geral 3.0 :: Float 3.0 :: Double 3.0 :: Fractional a => a -- tipo mais geral Assim, as expressões seguintes são correctamente tipadas: 1/3 :: Float ( ) :: Float
25 Misturar tipos numéricos Uma função para calcular a média duma lista de números. media :: [Float] -> Float media xs = sum xs / length xs
26 Misturar tipos numéricos Uma função para calcular a média duma lista de números. media :: [Float] -> Float media xs = sum xs / length xs Erro de tipos! Couldn't match expected type `Float' with actual type `Int' In the return type of a call of `length' In the second argument of `(/)', namely `length xs' In the expression: sum xs / length xs
27 Misturar tipos numéricos (cont.) Problema (/) :: Fractional a => a -> a -> a -- divisão fracionária length xs :: Int -- não é fracionário Solução: usar uma conversão explícita media :: [Float] -> Float media xs = sum xs / fromintegral (length xs) fromintegral converte qualquer tipo inteiro para qualquer outro tipo numérico.
28 Quando usar anotações de tipos Podemos escrever definições e deixar o interpretador inferir os tipos. É melhor prática anotar o tipo de cada definição: serve de documentação; ajuda a escrever as definições; permite mensagens de erro de tipos mais compreensíveis. Pode ser mais fácil começar com um tipo concreto e depois generalizar. O interpretador dá um erro de tipos se a generalização for errada. O tipo mais geral de funções com operações númericas, igualdade ou comparações, necessita sempre de restrições de classes.
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:
Programação Funcional Capítulo 3 Tipos e Classes
Programação Funcional Capítulo 3 Tipos e Classes José Romildo Malaquias 2012.1 Departamento de Computação Universidade Federal de Ouro Preto 1 / 68 1 Valores, expressões e tipos 2 Listas 3 Tuplas 4 Funções
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
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;
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):
Listas em Haskell. Listas. Linguagem Haskell. Maria Adriana Vidigal de Lima. Faculdade de Computação - UFU. Setembro
em Haskell Linguagem Haskell Faculdade de Computação - UFU Setembro - 2009 em Haskell 1 em Haskell Noções sobre Construção de por Compreensão Funções Sobre Processamento de Fundamentos em Haskell Noções
Introdução à Programação Aula 3 Primeiros programas
Introdução à Programação Aula 3 Primeiros programas Pedro Vasconcelos DCC/FCUP 2015 Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 3 Primeiros programas 2015 1 / 23 Nesta aula... 1 Tipos básicos
Pedro Vasconcelos DCC/FCUP. Programação Funcional 14 a Aula Um verificador de tautologia
Programação Funcional 14 a Aula Um verificador de tautologias Pedro Vasconcelos DCC/FCUP 2014 Proposições lógicas Uma proposição lógica é construida apartir de: constantes T, F (verdade e falsidade) variáveis
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).
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
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
Pedro Vasconcelos DCC/FCUP. Programação Funcional 8 a Aula Listas infinitas
Programação Funcional 8 a Aula Listas infinitas Pedro Vasconcelos DCC/FCUP 2014 Listas infinitas Podemos usar listas para sequências finitas, por ex.: [1,2,3,4] = 1:2:3:4:[] Nesta aula vamos ver que podemos
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:
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
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
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
Expressões Condicionais
Programação Funcional Capítulo 4 Expressões Condicionais José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2012.1 1/39 1 Combinando funções 2 Expressão condicional 3
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
1 Expressões, valores e tipos 1. 2 Variáveis e atribuições 5. cálculo de expressões segue a estrutura de parênteses e as prioridades dos operadores
Nesta aula... Conteúdo 1 Expressões, valores e tipos 1 2 Variáveis e atribuições 5 1 Expressões, valores e tipos Expressões e valores Tipos programas calculam expressões para produzir valores cálculo de
Bacharelado em Ciência e Tecnologia Processamento da Informação. Equivalência Portugol Java. Linguagem Java
Linguagem Java Objetivos Compreender como desenvolver algoritmos básicos em JAVA Aprender como escrever programas na Linguagem JAVA baseando-se na Linguagem Portugol aprender as sintaxes equivalentes entre
Computação L2. Linguagem C++ Observação: Material Baseado na Disciplina Computação Eletrônica.
Computação L2 Linguagem C++ [email protected] Observação: Material Baseado na Disciplina Computação Eletrônica. Alfabeto São os símbolos ( caracteres ) permitidos na linguagem: Letras (maiúsculas e minúsculas);
Aula 3 Conceitos de memória, variáveis e constantes Cleverton Hentz
Aula 3 Conceitos de memória, variáveis e constantes Cleverton Hentz Sumário de Aula } Conceito de Memória } Variáveis e Tipos de Dados } Constantes 2 Conceito de Memória } A memória de um computador é
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
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).
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
Pedro Vasconcelos DCC/FCUP. Programação Funcional 7 a Aula Funções de ordem superior
Programação Funcional 7 a Aula Funções de ordem superior Pedro Vasconcelos DCC/FCUP 2013 Funções de ordem superior Uma função é de ordem superior se tem um argumento que é uma função ou um resultado que
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
Expressão Condicional
Programação Funcional UFOP DECOM 2014.1 Aula prática 4 Expressão Condicional Resumo Expressões condicionais permitem a escolha entre duas alternativas na obtenção do valor da expressão, com base em uma
Programação Funcional. Aula 4. Definindo Funções. José Romildo Malaquias. Departamento de Computação Universidade Federal de Ouro Preto 2011.
Programação Funcional Aula 4 Definindo Funções José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2011.2 1/143 1 Combinando funções 2 Expressão condicional 3 Equaçao com
PROGRAMAÇÃO I E N T R A DA E S A Í DA D E DA D O S
PROGRAMAÇÃO I VA R I Á V E I S, C O N S TA N T E S, O P E R A D O R E S E N T R A DA E S A Í DA D E DA D O S Variáveis 2 Variáveis são locais onde são armazenados os valores na memória. Toda variável é
Fundamentos de Programação. Turma CI-240-EST. Josiney de Souza.
Fundamentos de Programação Turma CI-240-EST Josiney de Souza [email protected] Agenda do Dia Aula 3 (12/08/15) Saídas Entradas Operadores Atribuição Aritméticos Expressões Aritméticas Saída Permite
Métodos Computacionais. Operadores, Expressões Aritméticas e Entrada/Saída de Dados
Métodos Computacionais Operadores, Expressões Aritméticas e Entrada/Saída de Dados Tópicos da Aula Hoje aprenderemos a escrever um programa em C que pode realizar cálculos Conceito de expressão Tipos de
Funções de Ordem Superior
Programação Funcional UFOP DECOM 2014.1 Aula prática 15 Funções de Ordem Superior Sumário Resumo Uma função é conhecida como função de ordem superior quando ela tem uma função como argumento ou resulta
Estruturas da linguagem C. 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões.
1 Estruturas da linguagem C 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões. Identificadores Os identificadores seguem a duas regras: 1. Devem ser começados por letras
Variáveis e Entrada de Dados Marco André Lopes Mendes marcoandre.googlepages.
Variáveis e Entrada de Dados Marco André Lopes Mendes [email protected] [email protected] marcoandre.googlepages.com Algoritmos é a base Primeiro programa Este programa possui apenas uma
Algoritmos e Estruturas de Dados I
Algoritmos e Estruturas de Dados I Tipo de Dados Orivaldo Santana Jr [email protected] Observação: Este material esta baseado no material do Prof. Tiago Massoni e Prof. Fernando Buarque Tipos de Dados Primitivos
Operadores. Tipo de operadores. Aritméticos. Relacionais. Lógicos. Bit a bit. Cálculos aritméticos: soma, subtracção, multiplicação, divisão, etc.
Operadores Tipo de operadores Aritméticos Cálculos aritméticos: soma, subtracção, multiplicação, divisão, etc. Relacionais Comparação entre entidades. Lógicos Bit a bit 1 Operadores Aritméticos Operadores
Ambientação com a Sintaxe de Java: parte 1
Ambientação com a Sintaxe de Java: parte 1 Prof. Gustavo Wagner FATEC-PB Programas em Java Texto do programa: arquivo com extensão.java Arquivo contém ao menos uma classe Nome do arquivo deve ser IGUAL
JSP Prof. Daniela Pires. VARIAVEIS... 2 Tipos de Dados... 2 String Float Integer Boolean... 3
Conteúdo VARIAVEIS... 2 Tipos de Dados... 2 String... 2 Float... 3 Integer... 3 Boolean... 3 Variáveis... 4 O que são variáveis?... 4 Tipo de variáveis... 5 Concatenação:... 6 1 VARIAVEIS Antes de falarmos
Introdução à Computação MAC0110
Introdução à Computação MAC0110 Prof. Dr. Paulo Miranda IME-USP Aula 2 Variáveis e Atribuições Memória Principal: Introdução Vimos que a CPU usa a memória principal para guardar as informações que estão
Algoritmos: Conceitos Fundamentais. Slides de autoria de Rosely Sanches e Simone Senger de Souza
Algoritmos: Conceitos Fundamentais Slides de autoria de Rosely Sanches e Simone Senger de Souza DADOS E EXPRESSÕES Uso da Informação Computador manipula informações contidas em sua memória. Classificadas
Computação para Informática - Prof. Adriano Joaquim de Oliveira Cruz Segunda Aula Prática - 3 de setembro de 2010
Computação para Informática - Prof. Adriano Joaquim de Oliveira Cruz Segunda Aula Prática - 3 de setembro de 2010 1 Introdução O objetivo desta aula prática é exercitar o uso de variáveis de vários tipos
Algoritmos e Estrutura de Dados Aula 08 Pilhas
Algoritmos e Estrutura de Dados Aula 08 Pilhas Profa. Alana Oliveira e Prof. Davi Viana [email protected] e [email protected] Se não entender, pergunte! Dados e Tipos de Dados Um dado é uma informação
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
Sistemas de Numeração
Sistemas de Numeração Objetivos Conhecer representações numéricas para inteiros positivos (naturais) nas bases binária, hexadecimal e octal. Generalizar representações para qualquer base. Manipular fluentemente
Pedro Vasconcelos DCC/FCUP. Programação Funcional 15 a Aula Árvores de pesquisa
Programação Funcional 15 a Aula Árvores de pesquisa Pedro Vasconcelos DCC/FCUP 2014 Árvores binárias Um árvore binária é um grafo dirigido, conexo e acíclico em que cada vértice é de um de dois tipos:
Computação para Informática - Prof. Adriano Joaquim de Oliveira Cruz Segunda Aula Prática - 29 de agosto de 2008
Computação para Informática - Prof. Adriano Joaquim de Oliveira Cruz Segunda Aula Prática - 29 de agosto de 2008 Introdução O objetivo desta aula prática é exercitar comandos de entrada e saída simples
Algoritmos I Aula 13 Linguagem de Programação Java
Algoritmos I Aula 13 Linguagem de Programação Java Professor: Max Pereira http://paginas.unisul.br/max.pereira Ciência da Computação IDE Eclipse IDE (Integrated development environment) Criar um projeto
Disciplina de Algoritmos e Programação
Disciplina de Algoritmos e Programação Aula Passada 1º Programa: olamundo.c #include // biblioteca padrão de E/S /* Programa Olá Mundo */ int main(void) { printf( Olá mundo\n ); //exibe Olá mundo
Disciplina de Algoritmos e Programação
Disciplina de Algoritmos e Programação Aula Passada Prática com declaração e inicialização de variáveis Capacidade de representação (estouro de representação) Tamanho ocupado pela variável na memória (comando
Introdução à Programação em C. Prof. Ricardo Teixeira Tecnologia em Mecatrônica Industrial SENAI
Introdução à Programação em C Prof. Ricardo Teixeira Tecnologia em Mecatrônica Industrial SENAI Linguagem C Criada em 1972 para uso no LINUX; Sintaxe base para diversas outras (Java, JavaScript, PHP, C++,
Introdução a Programação de Jogos
Introdução a Programação de Jogos Aula 03 Introdução a Linguagem C Edirlei Soares de Lima Estrutura de um Programa C Inclusão de bibliotecas auxiliares: #include Definição
Pedro Vasconcelos DCC/FCUP. Programação Funcional 16 a Aula Árvores equilibradas
Programação Funcional 16 a Aula Árvores equilibradas Pedro Vasconcelos DCC/FCUP 2014 Aula anterior Operações sobre árvores binárias ordenadas: 1 pesquisa; 2 inserção; 3 remoção. Estas operações são mais
Tema da aula Introdução ao paradigma de programação: Orientado a Objetos
Profa. Juliana Santiago Teixeira Disciplina: Programação Orientada a Objetos I Tema da aula Introdução ao paradigma de programação: Orientado a Objetos Paradigma Paradigma é a filosofia adotada na construção
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
Aula 3. Objetivos Sequências de escapes ; Um aplicativo que adiciona inteiro; Aritmética.
Objetivos Sequências de escapes ; Um aplicativo que adiciona inteiro; Aritmética. Sequências de escape \n Nova linha. Posiciona o cursor de tela no início da próxima linha. \t Tabulação horizontal. Move
Programação com Acesso a BD. Programação com OO Acesso em Java
Programação com OO Acesso em Java a BD Curso: Técnico em Informática Campus: Ipanguaçu José Maria Monteiro Pontifícia Universidade Católica do Rio de Janeiro PUC-Rio Departamento Clayton Maciel de Informática
Introdução à Programação em Java Constantes, expressões e variáveis
Constantes, expressões e variáveis Prof. Rodrigo Hausen Constante Valor definido pelo programador que não pode ser alterado durante a execução do programa. Exemplos em Java: numéricas inteiras: 1, 3, 9,
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
Tipos, Literais, Operadores
Tipos, Literais, Operadores Identificadores São palavras utilizadas para nomear variáveis, métodos e classes Na linguagem Java, o identificador sempre começa por letra, sublinhado(_) ou cifrão ($) Não
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
Programação I Aula 10 Processamento de listas
Programação I Aula 10 Processamento de listas Pedro Vasconcelos DCC/FCUP 2017 Pedro Vasconcelos (DCC/FCUP) Programação I Aula 10 Processamento de listas 2017 1 / 30 Nesta aula Vamos ver alguns exemplos
Variáveis Tipos de Dados. APROG (Civil) Aula 2
Variáveis Tipos de Dados APROG () Aula 2 Conteúdo Conceito de Variável Declaração de variáveis Tipos de Dados Operação de Atribuição Uso de Constantes 2 Variáveis Uma variável é uma localização de memória
Linguagem C: Introdução
Linguagem C: Introdução Linguagem C É uma Linguagem de programação genérica que é utilizada para a criação de programas diversos como: Processadores de texto Planilhas eletrônicas Sistemas operacionais
UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE DEPARTAMENTO DE INFORMÁTICA E MATEMÁTICA APLICADA. DIM0320 Algoritmos e Programação de Computadores
UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE DEPARTAMENTO DE INFORMÁTICA E MATEMÁTICA APLICADA DIM0320 Algoritmos e Programação de Computadores #VARIÁVEIS #TIPOS DE DADOS E L I EZ I O S O A R ES E L I EZ
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
1) Operadores de auto incremento ++ e auto decremento --
Aula 09 - Operadores de auto incremento e auto decremento, atribuição múltipla, atribuição na declaração, atribuição resumida e algumas regras de boa programação. 1) Operadores de auto incremento ++ e
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
Universidade Federal de Uberlândia Faculdade de Computação. Representação e aritmética binária
Universidade Federal de Uberlândia Faculdade de Computação Representação e aritmética binária Prof. Renato Pimentel 1 Tipos de informação Representação por meio de sequências binárias: 8 bits (byte) Também
Programaçã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
Programação Básica. Estrutura de um algoritmo
Programação Básica Estrutura de um algoritmo Código-fonte Como vimos na aula anterior um algoritmo pode ser representado usando um fluxograma Um algoritmo pode também ser representado usando texto Esse
Fundamentos de Programação. Linguagem C++ aula II - Variáveis e constantes. Prof.: Bruno Gomes
Fundamentos de Programação Linguagem C++ aula II - Variáveis e constantes Prof.: Bruno Gomes 1 Variáveis Representa uma porção da memória que pode ser utilizada pelo programa para armazenar informações
COMPORTAMENTOS - Observações
COMPORTAMENTOS - Observações O próprio objeto realiza operações de consulta ou alteração dos valores dos seus atributos Essas operações são definidas em seus métodos Os métodos também são utilizados para
Lição 4 Fundamentos da programação
Lição 4 Fundamentos da programação Introdução à Programação I 1 Objetivos Ao final desta lição, o estudante será capaz de: Identificar as partes básicas de um programa em Java Reconhecer as diferenças
Introdução à Programação
Introdução à Programação Aula 11: Processamento de Listas Rita P. Ribeiro 2016/2017 Departamento de Ciência de Computadores Nesta aula 1. Agregações 2. Eliminar repetidos 3. Crivo de Eratóstenes INTRODUÇÃO
C Operadores e Expressões
C Operadores e Expressões Adriano Cruz [email protected] Instituto de Matemática Departamento de Ciência da Computação UFRJ 15 de agosto de 2013 Adriano Cruz [email protected] (IM-DCC-UFRJ)C Operadores
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
Iteração e Pontos Fixos
Iteração e Pontos Fixos Iteração é um dos pontos chave da programação numérica. Iterar consiste em repetir uma mesma operação diversas vezes levando a uma aproximação cada vez melhor da solução exata.
Programação de Computadores:
Instituto de C Programação de Computadores: Introdução ao FORTRAN Luis Martí Instituto de Computação Universidade Federal Fluminense [email protected] - http://lmarti.com Introdução ao FORTRAN Cinco aspectos
Linguagem C: Ponteiros. Prof. Leonardo Barreto Campos 1
Linguagem C: Ponteiros Prof. Leonardo Barreto Campos 1 Sumário Ponteiros; Variáveis ponteiros; Operadores de ponteiros; Expressões com ponteiros; Atribuição de ponteiros; Aritmética de ponteiros; Comparação
Universidade de Mogi das Cruzes Implementação Orientada a Objetos - Profª. Danielle Martin. Guia da Sintaxe do Java
Guia da Sintaxe do Java TIPOS PRIMITIVOS DE DADOS DO JAVA São os tipos nativos de dados do Java, que podem ser usados na declaração de atributos, variáveis, parâmetros. Tipo primitivo Tamanho Valor padrão
