Baixe o app para aproveitar ainda mais
Prévia do material em texto
Curso: Engenharia de Computação Disciplina: Programação I Professor: Rodolfo da Silva Villaça Oitava Aula de Laboratório 1. Escreva recursivamente uma função de argumentos m e n (n<=n) que retorna o valor de m*(m+1)*...*(n-1)*n 2. Faça um arquivo com o seguinte formato: chuva 1 = 110 chuva 2 = 0 chuva 3 = 78 ... chuva 12 = 210 Agora, implemente a função maxchuva m1 m2, tal que retorne uma tupla-2 contendo o mês e a quantidade de chuva do mês que mais choveu no intervalo entre m1 e m2. 3. Escreva, recursivamente, uma função multnat :: Int -> Float -> Float que multiplique dois números sem usar a multiplicação. 4. Construa uma função que receba uma lista de números e transforma todas as repeticoes em sub-listas de dois elementos: sendo que o primeiro elemento o número de repetições encontradas e o segundo elemento é o número na lista original. Números que não se repetem não deverão ser modificados. Ex.: Hugs> compactar [2, 2, 2, 3, 4, 4, 2, 9, 5, 2, 4, 5, 5, 5] [[3,2], [3], [2,4], [2], [9], [5], [2], [4], [3,5]] 5. Espetáculos Teatrais - Vários espetáculos estão sendo apresentados em um grande teatro da cidade. Para cada um dos espetáculos, registra-se o mapa de ocupação da platéia, conforme as vendas dos ingressos. A platéia está representada por m filas numeradas de 1 a m, sendo que cada fila contém n cadeiras também numeradas de 1 a n. Considere a seguinte representação para os dados: lugar - tupla-2 (fila, cadeira), onde fila é representada por um inteiro de 1 a m e cadeira, por um inteiro de 1 a n. platéia - lista de tuplas-2 [lugar, situação] sendo que a situação é : 1 para indicar lugar ocupado e 0 para indicar lugar vago. Faça funções em Haskell que resolvam os problemas abaixo. Nomes para cada uma das funções são sugeridos ao final do enunciado de cada problema. a) (1,0) Dada uma platéia pls, descreva a quantidade total de lugares vagos (totalVagos). b) (1,0) Dado um lugar lg e uma platéia pls, verifique se o lugar lg está ocupado (estaOcupado). c) (2,0) Dada uma fila fl e uma platéia pls, descreva a lista de cadeiras ocupadas da fila fl (cadeirasOcupadasFila).
Compartilhar