Skip to content

Alguns programas simples e intermediários com programação puramente funcional em Haskell.

License

Notifications You must be signed in to change notification settings

anabxms/haskell

Repository files navigation

Banner 📎 Códigos desenvolvidos para a cadeira de Programação Imperativa e Funcional da Cesar School.

Badge Badge Badge Badge

Como utilizar

Antes de iniciar, instale a plataforma do Haskell em seu computador. Se você estiver no linux, basta copiar a seguinte linha no seu terminal:

$ sudo apt-get install haskell-platform

Caso você esteja em outro sistema operacional, tenha dúvidas, ou dificuldades, basta acessar a página oficial do Haskell.

Clone este repositório:

$ git clone <https://github.com/anabxms/haskell>

Abra o GHCI, que é o modo interativo do Haskell

$ ghci

Agora, você poderá carregar as funções digitando :l nomedoarquivo, desde que o arquivo esteja na mesma pasta na qual o ghci foi invocado. Se você editar o script, basta executar :l nomedoarquivo novamente ou fazer :r , que é o equivalente a recarregar o script atual. Por exemplo, caso você queira executar o programa odd_times.hs, você fará o seguinte:

Prelude> :l odd_times.hs
[1 of 1] Compiling Main             ( odd_times.hs, interpreted )
Ok, one module loaded.
*Main> oddTimes [1,2,2,4,5,5]
[4,1]

Programas

Programa Descrição Input Output
aplly-funcs Recebe uma lista de funçoes e um parâmetro e retorna uma lista das funções parcialmente aplicadas aplicador [(+),(-),(*),(/)] 8 2 [10.0,6.0,16.0,4.0]
check-sudoku Checa se o sudoku inserido está correto, ou não checkSudoku [[6,2,4,5,3,9,1,8,7], [5,1,9,7,2,8,6,3,4], [8,3,7,6,1,4,2,9,5], [1,4,3,8,6,5,7,2,9], [9,5,8,2,4,7,3,6,1], [7,6,2,3,9,1,4,5,8], [3,7,1,9,5,6,8,4,2], [4,9,6,1,8,2,5,7,3], [2,8,5,4,7,3,9,1,6]] True
concat-lists Concatena duas listas sem duplicar elementos iguais [abcd], [abg] [abcdg]
join_and_map Realiza a operação com cada elemento correspondente das listas e aplicar a função a partir do mymap em toda a lista resultante joinAndMap (+) (abs) [1..10] [-10..(-1)] [9,7,5,3,1,1,3,5,7,9]
odd_times Recebe uma lista e retorna outra apenas com os elementos que repetem em uma quantidade ímpar de vezes oddTimes [1,2,3,6,1,3,6,6] [6,2]
permute Retorna todas as permutações da lista permute "aba" ["aab","aba","baa"]
remove_larger_n Remove o enésimo maior elemento de uma lista removeLargeN 2 [1,2,5,4,3] [1,2,5,3]

Autora Linkedin Badge Gmail Badge

About

Alguns programas simples e intermediários com programação puramente funcional em Haskell.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published