UNIVERSIDADE FEDERAL DO ESPÍRITO SANTO CENTRO TECNOLÓGICO DEPARTAMENTO DE INFORMÁTICA 6. Processamento de Dados I e Programação I - 2006/1 1a. Lista de Exercícios Entrega: 17/04/2006 (a) A região R1 (região cinza), do retângulo dado pelas coordenadas do canto superior esquerdo e do canto inferior direito, como mostrado na figura abaixo: Faça um script que contenha o conjunto de funções necessárias para a resolução de cada uma das questões da parte II desta lista. Não esqueça de fazer comentários no script sobre as soluções de cada questão. No início do script, coloque um comentário com o seu nome, disciplina, curso, data e o número da lista de exercícios. Construa suas funções utilizando os conceitos de abstração, generalização, instanciação, modularização e reutilização de funções. E D Parte I – Avalie as expressões abaixo. Para cada uma das expressões corretas, indique através de parentesis, a sequência de reduções que satisfazem a hierarquia de operadores. Justifique os erros de avaliação das expressões, quando for o caso. Teste essas expressões no HUGS. (b) A região R2 do losango (região cinza), sendo dados os pontos E e D do retângulo e sabendo-se que o círculo é tangente aos lados do losango. E a) 3>5 || 4+1 < 8 b) not(3>1) && not(4-2>6) c) not(3>1 || 4-2 > 6) d) -5 < 7 && 2 >=2 && 10+4>8 e) 8>8 || True f) False && 7 == 7 g) not (7=7) h) False && 7 = 7 i) (-5>-3 || 2-1<0) && (3>1) j) -5 > -3 || 2 -1 < 0 && 3>1 k) 5 == 0 || not 5 == 0 l) div 5 2 + 3 m) mod 18 5 + 3.5 n) sqrt abs -4 D (c) Sejam r o raio do círculo maior, r/2 o raio dos círculos que definem as faixas brancas e r/4 o raio dos círculos menores. Cada círculo que define uma faixa branca e um círculo menor são concêntricos. O ponto C (x1, y1) é o centro do círculo maior. O círculo maior e o miolo, de raio r/4, são concêntricos. Parte II: Descreva funções que: 1. Dado um ponto P(x,y) do plano cartesiano, defina funções que descrevam a sua pertinência nas regiões cinzas das figuras abaixo: Considere a figura abaixo, onde está representada a região R correspondente a interseção de dois círculos de mesmo raio r. Escreva uma função para calcular a área dessa região, sabendo-se que é dado o ângulo do setor do círculo definido pelos pontos de interseção dos círculos. Quais são os argumentos necessários para resolver este problema? r R 2. 3. 4. 5. Forneça uma temperatura em graus Farenheit, dada como parâmetro a temperatura em graus Celsius. Determine o número mínimo de cédulas para se pagar uma quantia em reais assumindo que existem disponíveis cédulas de 1, 2, 5, 10, 20, 50 e 100 reais. Admita um caracter como argumento e verifique se esse caracter é uma vogal. Admita um caracter como argumento e o converta em uma letra maiúscula, se for uma letra minúscula. Caso contrário, o caracter dado como argumento deve ser repetido pela função. 7. Dado um ponto P(x,y) do plano cartesiano, defina funções que descrevam a qual das regiões (numeradas de 1 a 6) das figuras abaixo o ponto pertence: (a) 6 y2 2 D 1 5 y1 3 E x1 4 x2 (b) Considere a figura abaixo composta por um triângulo equilátero de lados a, um círculo de raio a/2 e um quadrado de lados a. a 1 2 4 a/2 3 5 6 a 8. Faça uma função que verifique se um ponto de coordenadas x e y pertence ao primeiro ou ao terceiro quadrante do plano cartesiano. 9. Dados quatro números p1, p2, p3 e p4, mapeie-os na sua soma se a divisão desta soma por 5 é exata e em zero caso contrário. 10. Dados três números inteiros distintos, calcule o quadrado do sucessor do maior número. Obs: Use a primitiva succ para calcular o sucessor de um número. 11. Dado um número inteiro, verifique se ele pertence ao intervalo (0,100) e é divisível por 3 e por 5. 12. O operador || (OU inclusivo), mapeia dois valores booleanos a e b em True quando pelo menos um deles é True e em False caso contrário. Escreva uma função que denominaremos de oux (OU exclusivo) que se assemelha ao OU inclusivo mas que mapeia em False quando ambos valores são True. 13. Dados 3 valores a, b e c determine a média aritmética dos valores extremos. 14. A empresa Lucro Certo decidiu dar a seus funcionários um abono de natal. A gratificação será baseada em dois critérios: o número de horas extras trabalhadas e o número de horas que o empregado faltou ao trabalho. O critério estabelecido para calcular o prêmio é: subtrair dois terços das horas que empregado faltou de suas horas extras, obtendo um valor que determina o número de pontos do funcionário. Faça uma função para calcular o abono de natal para cada funcionário. A distribuição do prêmio é feita de acordo com a tabela abaixo: Pontos Obtidos 1 a 10 11 a 20 21 a 30 31 a 40 A partir de 41 Prêmio em R$ 100,00 200,00 300,00 400,00 500,00 15. Considere que o preço de uma passagem de avião em um trecho pode variar dependendo da idade do passageiro. Pessoas com 60 anos ou mais pagam apenas 60% do preço total. Crianças até 10 anos pagam 50% e bebês (abaixo de 2 anos) pagam apenas 10%. Faça uma função que tenha como entrada o valor total da passagem e a idade do passageiro e produz o valor a ser pago.