Jump to content

Search the Community

Showing results for tags 'haskell'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Comunidade
    • Sugestões, Críticas ou Dúvidas relativas ao P@P
    • Acerca do P@P
  • Comunidade a Trabalhar
    • Apresentação de Projectos de Programação
    • Downloads
    • Revista PROGRAMAR
  • Desenvolvimento Geral
    • C
    • C++
    • Java
    • Pascal
    • Python
    • Bases de Dados
    • Dispositivos Móveis
    • Outras Linguagens
  • Desenvolvimento Orientado para Web
    • PHP
    • HTML
    • CSS
    • Javascript
    • Outras Linguagens de WebDevelopment
    • Desenvolvimento Web
  • Desenvolvimento .NET
    • C#
    • Visual Basic .NET
    • ASP.NET
    • WPF & SilverLight
  • Software e Sistemas Operativos
    • Software de Produtividade
    • Sistemas Operativos
    • Apresentação de Software
  • Informática
    • Interfaces Visuais
    • Computação Gráfica
    • Algoritmia e Lógica
    • Segurança e Redes
    • Hardware
    • Electrónica e Automação Industrial
    • Matemática
    • Software de Contabilidade e Finanças
    • Dúvidas e Discussão de Programação
  • Outras Áreas
    • Notícias de Tecnologia
    • Dúvidas Gerais
    • Discussão Geral
    • Eventos
    • Anúncios de Emprego
    • Tutoriais
    • Snippets / Armazém de Código
  • Arquivo Morto
    • Projectos Descontinuados
    • System Empires

Blogs

  • Blog dos Moderadores
  • Eventos
  • Notícias de Tecnologia
  • Blog do Staff
  • Revista PROGRAMAR
  • Projectos
  • Wiki

Categories

  • Revista PROGRAMAR
  • Tutoriais
  • Textos Académicos
  • Exercícios Académicos
    • Exercícios c/ Solução
    • Exercícios s/ Solução
  • Bibliotecas e Aplicações
  • Outros

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

  1. Betovsky

    I'm an imperative programmer!!!

    😁http://hpaste.org/2654
  2. zerogravity

    problema

    estou a fazer um trabalho que e uma especie de 4 em linha, ora o problema e que nao sei como por o tabuleiro a aparecer no hugs e a ser actualizado a cada jogada que e feita no enunciado deste aparece para declarar o tabuleiro como instancia da class show. alguem m pode ajudar?
  3. Betovsky

    OSCON 2007 - A Taste Of Haskell

    Bem, este ano na OSCON (O'Reilly Open Source Convention), o senhor Simon Peyton-Jones foi falar sobre o Haskell. Como um dos principais mentores da linguagem e grande entusiasta, fez uma demonstração fabulosa da linguagem. Demonstrou de uma forma simples o conceito da linguagem com algo complexo como o xmonad (um gestor de janelas para X11 em poucas linhas de código, ao estilo do wmii), sendo aconselhável a sua visualização desde os iniciantes (a maior parte do público não conhecia Haskell) até aos mais experientes. Podem ver os videos nos links indicados abaixo. Na página dos videos tem vá
  4. zerogravity

    packages (classes graficas) para hugs

    alguem conhece alguma classe grafica para o hugs e como se procede a sua instalaçao
  5. brunogsimoes

    Quick Sort

    Como escrever o mítico algoritmo quicksort em haskell hehe: quickSort :: Ord a => [a] -> [a] quickSort [] = [] quickSort (x:xs) = y1++[x]++y2 where (x1, x2) = pv x xs y1 = quickSort x1; y2 = quickSort x2 pv :: Ord a => a -> [a] -> ([a], [a]) pv _ [] = ([], []) pv v (x:xs) | x < v = (x:x1s, x2s) where (x1s, x2s) = pv v xs pv v (x:xs) | x >= v = (x1s, x:x2s) where (x1s, x2s) = pv v xs Não chegei a testar ... qualquer anormalia digam.
  6. K3nshin

    função zeros

    Boas! Precisava da vossa ajuda para resolver o seguinte problema: --dados inteiros a,b e c, determina os zeros da função --f(x)=a*x^2+b*x+c --o resultado deve ser uma resposta da forma --"f(x)=0 para x=4.2" --"f(x)=0 para 3.5 e x=2.7" ou ainda --"f(x) nunca toma o valor 0" --todos os valores acima indicados sao exemplos -- --Nota:pode precisar das funções predefinidas show e fromInt -- --zeros::Int->Int->Int->String Ora eu tentei resolver da seguinte forma: zeros::Int->Int->Int->String zeros a b c |(b*b-4*a*c)<0 = "f(x) nunca toma o valor 0"
  7. K3nshin

    Problema

    Boas ppl! Olhem,é o seguinte. quero fazer uma função que verifique se um caracter é um digito ou não. Eu fiz o seguinte: isDigit::Char->Bool isDigit car= ver var 48 where ver car num |num==58 |car== '\num' =true |otherwise =ver car (num+1) Ou seja a minha ideia é verificar atravas dos caracteres aos quais os digitos corr
  8. nvieira

    Problema para resolver...

    Pretende-se substituir todas as ocorrências de uma sequência de números (i.e. sem qualquer outro número no meio da sequência inicial) dentro de outra por uma terceira sequência de números. Apresente uma função Haskell recebendo três argumentos, que apresente o comportamento pretendido. -- Ex: -- Argumentos: (1 2 1) (9 9) ( 1 2 1 2 1 4 1 2 3 1 5 1 2 1 8 9) -- Resultado: (9 9 21 4 1 2 3 1 5 9 9 8 9) Imagino que não seja muito complicado, mas estou no inicio. Grato pela ajuda
  9. avernoro

    compreender a seguinte função

    Olá amigos tendo a seguinte definição da função divMod não consigo compreender o seu funcionamento, se alguém me quiser explicar eu agradeço... divMod :: Int -> Int -> (Int, Int) divMod n d | d > n = (0, n) | otherwise = let (a, b) = divMod (n-d) d in (a+1, b)
  10. break' :: (a -> Bool) -> [a]-> ([a], [a]) break' _ [] = ([], []) break' f (x: xs) | f x = let (a, b) = break' f xs in (x:a, b) | otherwise = ([], (x: xs)) se alguém souber....
  11. avernoro

    a função lines ?

    Alguém me pode dizer como é que se faz a função lines pré definida no prelude do haskell.
  12. avernoro

    Lista por compreensao

    Olá amigos alguém é capaz de me dizer como é que eu obtenho o seguinte resultado numa lista por compreensao, ou seja quero fazer uma lista por compreensao cujo resultado final seja o seguinte : [[1], [1, 2], [1, 2, 3], [1, 2, 3, 4], [1, 2, 3, 4, 5]] Se alguém souber agradeço.
  13. Heirophant

    [Haskell] Alguns Trabalhos

    OLá. Já ando pelo forum há muito tempo mas nunca deixei nenhuma mensagem. Resolvi agora deixar aqui dois trabalhos em Haskell (que tive de fazer para a universidade, na cadeira de pp1, juntamente com dois colegas, que na verdade têm mais mérito pelos trabalhos do que eu). Antes de mais... os programas que precisam: gVim - para edição do codigo (mas qualquer editor de texto serve, por ex, o notepad, apenas não distingue em cores as especificações da função) GHC ou HUGS - Interpretador de Haskell (podem arranjar estes programas em www.haskell.org) O primeiro trabalho é um trabalho simples
  14. Estou aqui com um poroblema gravissimo que me esta a impedir a continução deste trabalho para entregar até dia 2 e ainda vou no inicio... Num determinado exercicio tinhamos de gerar numeros aleatorios e para isso, com uma pesquisa na net, desenvolvi o seguinte código: -- Gera um número aleatório compreendido entre o par (x, y) geraNumeroAleatorio :: (Int, Int) -> IO Int geraNumeroAleatorio (x, y) = do r <- getStdRandom $ randomR (x, y) return r O problema esta em usar o valor devolvido por esta função para outros fins onde apenas tenho de usar Int e não IO Int. Por exemplo, criar
  15. Eu tenho algo do genero: a <- func1 ((b,_):a) <- func2 let s1 = b ((b,_):a) <- func2 let s2 = s1 ++ b ((b,_):a) <- func2 let s3 = s2 ++ b return s3 Só queria saber se ha forma de usar apenas uma variavel "s" em vez de usar "s1", "s2" e "s3" é que não tou a ver como... tentei algo como: let s = s + b, como funciona em certas linguagens, mas em haskell não funciona...
  16. Eu aqui não quero ajuda com código, apenas quero ajuda a pensar como vou resolver este problema para depois tentar programar eu prórpio, se futuramente tiver uma dúvida sobre isso, voltarei a colocar aqui. O problema é o seguinte, eu tenho um determinado texto cifrado usando a cifra de cesar. O objectivo é tentar descobrir o seu conteúdo que nos é dito que apenas são digitos escritos por extenso. É suposto fazer isto por força bruta. O texto crifrado é: "RLWRGRLVGRLVCHURQRYHRLWRTXDWURXPCHURVHWH". E eu fiz o seguinte: *TP1> [[a | a <- decryptCesar x "RLWRGRLVGRLVCHURQRYHRLWRTXDWURXPCH
  17. Num determinado trabalho tenho as seguintes funções: -------------- Função 1 -------------- replaceCharsMulti :: [string] -> [string] -> String -> String replaceCharsMulti _ _ [] = [] replaceCharsMulti [] bak m = replaceCharsMulti bak bak m replaceCharsMulti (x:xs) bak (y:ys) = [getNewChar abcList x y] ++ (replaceCharsMulti xs bak ys) -------------- Função 2 -------------- replaceCharsMultiRev :: [string] -> [string] -> String -> String replaceCharsMultiRev _ _ [] = [] replaceCharsMultiRev [] bak m = replaceCharsMultiRev bak bak m replaceCharsMultiRev (x:xs) bak (y:
  18. Em determinado exercício tenho o seguinte definido: type Aluno = (Int, String, Float) -- Nº Aluno, Nome, Nota type Curso = [Aluno] listaAlunos :: Curso listaAlunos = [(1234, "Jose Azevedo", 13.2), (2345, "Carlos Lopes", 9.7), (3456, "Rosa Mota", 17.9)] O objectivo é calcular a média das notas deste 3 alunos. Eu fiz da seguinte forma: mediaNotas :: Curso -> Float mediaNotas [] = 0 mediaNotas (x) = (somaNotas x)/3 somaNotas :: Curso -> Float somaNotas [] = 0 somaNotas ((_,_,x):xs) = x + (somaNotas xs) As minhas dúvidas/problemas: a) No caso de eu modificar listaAlunos removend
  19. Numa determinada aula, estivemos a refazer funções que já existem no Haskell para termos prática nestas coisas e vermos como elas funcionam... No entanto, em algumas delas (que usam assinaturas parecidas) eu não entendi certas partes delas e gostava de ficar esclarecido em como é que elas estão a funcionar. Por exemplo, a seguinte função: takeWhile :: (a -> Bool) -> [a] -> [a] takeWhile c (h:t) | c h = h:takeWhile c t takeWhile _ _ = [] O que eu não percebo o que é e como funciona nesta função, são as partes que se encontram coloridas e sublinhadas. A que també
  20. O enunciado diz o seguinte para ser feito recursivamente: "Dada uma lista e um elemento, verifique se esse elemento está contido na lista" Esta é última alínea deste exercício, em todas as outras, as listas são referidas como sendo listas de inteiros, mas não neste caso. Anyway... se for com uma lista de inteiros e verificar se o inteiro está na lista, óptimo, já consegui fazer isso da seguinte forma: elemc :: ([int], Int) -> Bool elemc ([], _) = False elemc ((x:xs), y) = if x == y then True else elemc (xs, y) *S3_Tarefa1> elemc ([4,7,21,6,3,56,2,5,254], 21) True *S3_Tarefa1>
  21. O problema não é bem o que está no tópico mas a minha dúvida é essa... Penso que sabendo isso, consigo solucionar o resto do problema, esta cena é que me está a comer a cabeça toda! O que eu pretendo é converter determinado inteiro numa lista de inteiros, ou seja, a função recebe um inteiro do género 87623 e retorna uma lista do género [8, 7, 6, 2, 3]. Existe alguma função para isto? Andei à procura na documentação do Prelude, mas não encontrei nada, se estará noutro módulo, também não sei... Ou será que é possível sacara cada digito do inteiro usando apenas matemática? Acho que é isto que a
  22. Na sequência deste tópico escrevi uma função em Haskell para testar se um número pode ser escrito como a soma de dois primos. No programa temos também uma função que implementa o Crivo de Eratosthenes. module Goldbach where crivoEratosthenes::[int]->[int] crivoEratosthenes [] =[] crivoEratosthenes (h:t)=let t'=[n|n<-t,mod n h/=0] in h:(crivoEratosthenes t') primos::Int->[int] primos n=crivoEratosthenes [2..n] -- Dado um inteiro n devolve -- "Nothing" se não for possível escreve-lo como a soma dedois inteiros -- Just (a,b), com a e b primos e
  23. Heirophant

    [Haskell] Aulas (tutoriais)

    Olá mais uma vez Deixo-vos aqui as mihas aulas práticas de Haskell (cadeira de pp1). Tem exmeplos e exercicios (não resolvidos) http://fansmm.no.sapo.pt/pp1.rar Podem ainda ir ver informação (aulas teóricas e práticas 2004/2005) http://wiki.di.uminho.pt/wiki/bin/view/Education/ParadigmasProgramacaoI0405#Aulas_Te_ricas Espero que sejam uteis!
  24. David Pintassilgo

    Haskell

    Então e afinal o que me dizem disto? Alguns exemplos, trabalhos já feitos,.etc.... Alguem que 'mexa' nisso com regularidade para partilhar alguma informação?
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.