0% acharam este documento útil (1 voto)
2K visualizações5 páginas

Lista de Exercicios Haskell

1. A lista descreve 50 exercícios de programação em Haskell que envolvem operações com listas, números, strings e árvores; 2. Os exercícios incluem funções para soma, mínimo, área de círculo, lógicas AND e OR, fatorial, fibonacci, ordenação, rodagem, compactação e outras operações com estruturas de dados; 3. As questões propõem implementar as funções utilizando recursividade, compreensão de lista e tipos de dados como lista, tupla e árvore.

Enviado por

Thata Silva
Direitos autorais
© Attribution Non-Commercial (BY-NC)
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (1 voto)
2K visualizações5 páginas

Lista de Exercicios Haskell

1. A lista descreve 50 exercícios de programação em Haskell que envolvem operações com listas, números, strings e árvores; 2. Os exercícios incluem funções para soma, mínimo, área de círculo, lógicas AND e OR, fatorial, fibonacci, ordenação, rodagem, compactação e outras operações com estruturas de dados; 3. As questões propõem implementar as funções utilizando recursividade, compreensão de lista e tipos de dados como lista, tupla e árvore.

Enviado por

Thata Silva
Direitos autorais
© Attribution Non-Commercial (BY-NC)
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
Lista de Exercicios 1. soma: recebe uma dupla de inteiros ¢ retoma a sua soma Ex.: soma (1,2) ==> 3 2. menorDeDois recebe dois valores inteiros e retoma o menor. 3. menorDeTres recebe trés valores inteiros ¢ retoma o menor. 4, areaCircunf recebe um float representando o raio de uma circunferéncia e retoma sua area 5. andTres recebe trés booleanos e retomna a operagao AND aplicada aos trés 6. Defina o operador # que concatena duas strings caso elas sejam diferentes. Se forem iguais retoma uma das duas 7. Primo: recebe um nimero natural ¢ verifica se ele é primo 8. fatorial: recebe um numero natural ¢ retoma o seu fatorial. 9. fibonaceé: recebe um mimero inteiro positive e retomna o n-ésimo elemento da sequéncia de Fibonacci 10. elemento: recebe uma lista qualquer e um ntimero inteiro positivo para retomar 0 n- ésimo elemento da lista Ex.: elemento [3,5,7] | 11. pertence recebe um elemento ¢ uma lista e verifica se o elemento pertence alista Ex.: pertence 1 [3,7,4,2] => False 12, nroElementos: recebe uma lista qualquer e retorna o mimero de elementos na lista Obs.: nao usar a fun;ao length 13, maior: recebe uma lista de inteiros e retorna o maior Obs.: no usar a funggo max 14, contaOcorrencias recebe um elemento e uma lista e retorma o mimero de ocorréncias do elemento na lista 15. unicaOcorrencia: recebe um elemento ¢ uma lista e verifica se existe uma tinica ocorréncia do elemento na lista Ex unicaOcorrencia 2 [1,2,3,2] => False unicaOcorrencia 2 [3,1] => False unicaOcorrencia 2 [2] ==> True 16. maioresQue: recebe um ntimero inteiro ¢ uma lista de inteiros ¢ retoma uma lista com os mimeros que séo maiores que o fornecido Ex maioresQue 10 [2,12,4,7,8, 30,15] => [12,30,15] 17, concatena: recebe duas listas quaisquer e retorna uma terceira lista com os elementos da primeira no inicio e os elementos da segundano fim concatena [1,2] [3,4] ==> [1,2,3,4] 18, remover: recebe um elemento ¢ uma lista e retoma a lista sem a primeira ocorréncia do elemento 19. remover Ultimo: recebe uma lista e remove o tltimo elemento da lista 20. removerRepetidos: recebe uma lista qualquer e retoma outra lista sem repetigao de elementos Ex removerRepetidos [7,4,3,5,7,4.4.6,4, 1,2 => [7,4,3,5.6,1,2] 21. maiores recebe um numero natural n e uma lista de inteiros e retoma uma lista com os n maiores mimeros sem alterar a ordem entre os elementos Ex maiores 4 [9,3,5,7,8,4,4,7] => [9,7,8,7] 22. geraSequencia: recebe um mimero inteiro n positivo e retoma alista[1, -1, 2, “3,2, -a] 23. inverte recebe uma lista e retoma outra, que contém os mesmos elementos da primeira, em ordem invertida 24. divide recebe um ntmero natural n e uma lista e retorna um par onde o primeiro elemento ¢ uma lista com os n primeiros nuimeros da lista original eo segundo elemento é uma lista com o resto dos elementos da lista original. Ex. divide 0 [1,2,3,4] => (, [1.2,3.4)) divide 2 [1.2.3.4] => (1,21, (3.4) 25. intercala: recebe duas listas e retorna outra lista com os elementos das listas originais intercalados Ex. intercala [1,2,3] [8,9] ==> [1,8,2,9,3] intercala {] [1,2,6] ==> [1,2,6] 26, uniao, recebe duas listas quaisquer que no contenham elementos repetidos ¢ retomna uma nova com todos os elementos das duas listas originais (sem repetigo). Ex. uniao [3,6,5,7] [2,9,7,5,1] > [3,6,5,7,2,9,1] 27. interseccao: recebe duas listas quaisquer sem elementos repetidos e retoma uma lista com os elementos que so comuns as duas Ex. interseccao [3,6,5,7] [9.7.5,1,3] => [35,7] 28. sequencia: recebe dois numeros naturais ne m, ¢ retorna uma lista com n elementos, onde o primeiro é m, o segundo é m+l, ete. Ex. sequencia 0 2 ==> (] sequencia 3 4 ==> [4,5,6] 29. insereOrdenado: recebe uma lista de nimeros em ordem crescente ¢ um numero qualquer, retora uma lista de mimeros em ordem crescente com os elementos da lista inicial mais o mimero passado 30. ordenado: recebe uma lista de ntimeros inteiros e verifica se eles estdo ordenados ou no 31. ordena: recebe uma lista com ntimeros e retomna outra lista com os ntimeros ordenados Ex ordena[7, 3, 5, 7, 8, 4, 4] => [3, 4, 4,5, 7, 7, 8] 32. redarEsquerda: recebe um ntimero natural, uma lista e retora uma nova lista onde a posica0 dos elementos mudou como se eles tivessem sido "rodados* Ex. rodarEsquerda 0 [* rodarEsquerda | [* rodarEsquerda 3 [* rodaresquerda 4 [‘a’, a a al a 33. redarDireita: recebe um numero natural, uma lista e retoma uma nova lista onde a posizao dos elementos mudou como se eles tivessem sido "rodados" Ex. rodarDireita 0 rodarDireita 1 rodarDireita 3 rodarDireita 4 [ta [ta ['a [ra 34, todasMaiusculas: recebe uma string qualquer e retorna outra string onde todas as letras séo maitisculas. Pode ser util saber os seguintes codigos ASCII: a=97, 2=1 A=65, Z=90, 0=48, 9=57, espago=32 Ex. todasMaiusculas "abe 123" = "ABC 123" 35. primeirasMaiusculas: recebe uma string qualquer e retoma outra string onde somente as iniciais so maitisculas. Ex primeirasMaiusculas "FuLaNo bEITrAnO silva" > "Fulano Beltrano Silva" 36, seleciona: recebe uma lista qualquer ¢ uma lista de posigdes, retoma uma lista com os elementos da primeira que estavam nas posigdes indicadas Ex. seleciona[‘a’,’b’, ef] [0.3.2.3] => [2

Você também pode gostar