Programação @ Informática Web UC 11095 - Ficha 4 (consolidação) Universidade da Beira Interior, 2016/2017 Exercícios de Programação Sempre que nesta ficha seja pedido para criar/escrever/fazer um programa, significa que queremos que seja implementado um programa em linguagem Java. 1. Escreva um programa que solicite ao utilizador uma determinada data e depois a escreva no formato dd-mm-aa. 2. Crie um programa para verificar se um determinado ano é bissexto. 3. Escreva um programa para calcular os valores da seguinte função real de variável real: f (x)= sin(1/ x) (se x<−1); 2 x x −1 (se −1⩽x <1); ( x−1)⋅e (se 1⩽x<2); 2 e (se x⩾2) x 4. Escreva um programa que pede ao utilizador um valor N e depois dá como resultado a soma de todos os números inteiros múltiplos de 3 e de 5, entre 1 e N. 5. Escreva um programa que atribua a cada elemento de um vector o seu próprio índice. Por exemplo, faz-se a atribuição de 0 a a[0], a atribuição de 1 a a[1], etc. O número de elementos do vector deve ser introduzido pelo utilizador. 6. Crie um programa para escrever a tabuada de um dado digito d {1,2,3,4,5,6,7,8,9}, sendo este introduzido pelo utilizador. Qual a tabuada que quer ver {1,2,...,9} ? 7 1 x 7 = 7 2 x 7 = 14 ... ... ... 10 x 7 = 70 7. Escreva o programa Capicua, o qual testa se uma palavra, introduzida pelo utilizador é ou não uma capicua. Exemplos: “ana”, “ele”, “matam”, “ovo”, “radar”, “e”, “rapar”, “osso”, “reviver”, “socos”. 8. Elabore um programa que imprime o quadrado com n linhas, tal como exemplificado a seguir, para n=6. O valor de n é introduzido pelo utilizador. Escreva cada número inteiro usando um printf, com “%4d”, como marca de formatação. 1 2 3 4 5 9. 2 3 4 5 6 3 4 5 6 7 4 5 6 7 8 5 6 7 8 9 Elabore um programa que imprime o seguinte triângulo de números: 1 121 12321 1234321 ... ... ... 1234...n...4321 o valor de n será indicado pelo utilizador e terá de ser inferior a 10. O programa deve ficar em cíclo a pedir o valor de n, enquanto este for inválido. (Sugestão: para o espaçamento adequado, utilize o caracter espaço ' '. 10. Crie um programa que pede ao utilizador para introduzir os valores de um vector de dimensão n. Deverá começar por pedir o valor de n e depois os valores das coordenadas do vector, um a um, tal como no seguinte exemplo. No final deve escrever o vector introduzido: Leitura de um vector v de números, de dimensão n. Qual o valor de n? 3 v(1) = ? 5 v(2) = ? -4 v(3) = ? 1 v = <5, -4, 1> 11. Altere o programa anterior de modo a que seja também escrita a norma do vector introduzido. A norma é calculada através da raiz quadrada da soma das coordenadas ao quadrado, isto é: para ⃗v=⟨ x1, x2, ... , xn ⟩ temos ‖⃗v‖=√ x1 +x2 +...+x n 12. Queremos um programa que nos diga qual o dia do ano, para uma determinada data. O utilizador introduz o ano o mês e o dia e o programa diz qual é o dia do ano, tendo em conta se o ano é bissexto ou não. (Sugestão: para representar o número de dias de cada mês utilize um vector). 13. Altere o exercício 1 de modo a que a data seja escrita por extenso. Por exemplo para a data [dia=5, mês=11, ano=2014], deveria ser escrito: “5 de Novembro de 2014”. Represente o nome dos meses através de um vector de Strings. 14. Escreva um programa que pede ao utilizador para introduzir um número hexadecimal e depois verifica se é realmente válido. O valor introduzido deve ser armazenado numa String. Os caracteres válidos são: {0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,a,b,c,d,e,f}. 15. Complete o exercício anterior, de modo a que o valor introduzido seja convertido para um número inteiro na base decimal. Por exemplo: 3B7 = 7*10 0 + 11*101 + 3*102 = 7 + 110 + 300 = 417. Neste caso, o programa recebe como input o número 3B7 e produz como output o número 417. 16. Escreva um programa que leia um número binário a partir do teclado e que escreva no ecrã o correspondente número decimal. 17. Escreva um programa que leia um número decimal a partir do teclado e que escreva no ecrã o correspondente número binário. 18. Escreva um programa que calcula a média aritmética de uma serie de valores introduzidos pelo utilizador. Este não diz, à partida quantos valores quer introduzir. A serie de entrada termina assim que seja introduzido o valor zero. (Nota: não deve usar qualquer array, na resolução deste exercício). 19. Escreva um programa que substitua o valor de cada elemento inteiro negativo dum array pelo valor zero. Defina o array a testar estaticamente no seu programa, com pelo menos 5 elementos. Bom Trabalho!