Programação - Departamento de Informática Folha Prática 2 C. Instruções/acções de repetição Resolva as questões que se seguem, usando apenas as instruções/acções tipo anteriores e as seguintes: Instrução/acção Linguagem algoritmica Repetição 1 Enquanto 'C' é verdadeira Fazer ? Repetição 2 Fazer ? Enquanto 'C' é verdadeira Repetição 3 Para k com valores desde a até b Fazer ? 1. Construa um algoritmo para mostrar 20 vezes o seu nome no écran. 2. Construa um algoritmo para mostrar os 100 primeiros números naturais (1, 2,..., 100). 3. Construa um algoritmo para mostrar os números naturais impares até 100. 4. Construa um algoritmo para mostrar os 100 primeiros números naturais impares. 5. Construa um algoritmo para calcular a soma dos N primeiros números naturais. 6. Construa um algoritmo para calcular a soma dos N primeiros números naturais pares. 7. Construa um algoritmo para calcular o produto dos números naturais ímpares e o produto dos números naturais pares até 1000. 8. Construa um algoritmo para determinar a soma de N números reais, em que N ≥ 2. Se N < 2 será mostrada uma mensagem de ERRO e pedido um novo valor para N. 9. Construa um algoritmo para determinar a soma de uma sequência de inteiros positivos (a sequência termina quanto for inserido um valor negativo, que não é somado). 10. Construa um algoritmo para determinar a média de N números reais, dados um de cada vez. O valor de N deverá ser lido antes dos N reais (primeiro valor a ser inserido). 11. Construa um algoritmo para determinar o produto dos números inteiros entre N1 e N2, com N1 < N2. 12. Construa um algoritmo para calcular o produto e a soma dos números inteiros pares entre N1 e N2, com N1 < N2. 13. Construa um algoritmo para determinar o maior e o menor números de uma sequência de N números reais, com N > 1. 14. Construa um algoritmo para determinar a média aritmética de uma sequência de N números reais, com N > 1. Autores: Carlos Barrico, Frutuoso Silva, Sara Madeira e Abel Gomes 7 Programação - Departamento de Informática Folha Prática 2 15. Construa um algoritmo para determinar o maior e o menor números de uma sequência (com pelo menos 1 elemento) de números inteiros dados pelo utilizador. A introdução de números deverá terminar quando for inserido o valor zero. 16. Construa um algoritmo para calcular a soma dos dígitos de um número inteiro positivo. 17. Construa um algoritmo para determinar o maior, em valor absoluto, entre N números reais, fornecidos um de cada vez. 18. Construa um algoritmo para determinar o maior e o menor, em valor absoluto, entre N números reais, fornecidos um de cada vez. 19. Construa um algoritmo para determinar o maior e o menor, em valor relativo, entre N números reais, fornecidos um de cada vez. 20. Construa um algoritmo para calcular o factorial de um número inteiro positivo. (Nota: caso seja introduzido um número negativo, este deverá ser rejeitado e introduzido um outro; este procedimento deverá ser repetido até ser introduzido um número positivo). 21. Construa um algoritmo para calcular o valor da seguinte expressão (com N > 0) : N soma= 1 . k k =1 ∑ 22. Construa um algoritmo para calcular o valor da seguinte expressão (com N > 0): 10 soma= ∑ 1 k=1 k N . 23. Sabendo que o valor de ex pode ser calculado através da fórmula que se segue ex = ∞ ∑ n= 0 n 2 3 x = 1 x x ... , n! 2! 3! em que , k x k! k−1 x = x . k −1 ! k construa um algoritmo para calcular ex para um dado valor x, com erro inferior a 105, e mostrar o resultado e o número de iterações necessário. 24. Construa um algoritmo para escrever uma tabela de senos e de cosenos de valores de x ∈ [ 0, / 2 ] com intervalos de 0.001. 25. Construa um algoritmo para determinar o máximo divisor comum entre 2 números inteiros positivos, usando o algoritmo de Euclides ― m.d.c. (a, b) = m.d.c. (b, a % b). 26. Construa um algoritmo para mostrar os primeiros N números da sequência de Fibonacci. A sequência de Fibonacci é a seguinte: 1, 1, 2, 3, 5, 8, 13, 21, … (a seguir ao primeiro 1 cada número na sequência é a soma dos dois números anteriores). Autores: Carlos Barrico, Frutuoso Silva, Sara Madeira e Abel Gomes 8 Programação - Departamento de Informática Folha Prática 2 27. O dono de um hotel resolveu organizar os seus preços de uma forma bastante original: – no 1º andar cobrava 500€ (euros) , – no 2º andar cobrava 125€, – de uma maneira geral, no n-ésimo andar cobrava (500/n2) €. Construa um algoritmo para determinar quantos andares deverá ter o hotel para que no último andar o preço seja 5 €. 28. Construa um algoritmo para converter um número binário em número decimal. Por exemplo, 100102 = 1 x 24 + 0 x 23 + 0 x 22 + 1 x 21 + 0 x 20 = 1810 . 29. Construa um algoritmo para converter um número decimal num número binário. 30. Construa um algoritmo para determinar se um dado número inteiro positivo é primo. Um número é primo se for divisível apenas por ele próprio e pela unidade (por ex: 13). 31. Construa um algoritmo para determinar se um número inteiro positivo é capicua. Um número é capicua se for o mesmo quando lido em ambos os sentidos (por ex: 232). 32. Construa um algoritmo que, dado um número inteiro k e um número real x, calcule e mostre o valor de xk (se k ≠ 0) e 1 (se k=0), sem usar a função predefinida para xk. 33. No séc. I D.C. os números naturais classificavam-se em 3 categorias, dependendo se a soma dos seus dividores, com excepção dele próprio, é igual (perfeitos), maior (abundantes) ou menor (reduzidos) do que si próprio. Ex: perfeitos (1+2+3 = 6), abundantes (1+2+3+4+6 > 12) e reduzidos (1+3 < 9). Construa um algoritmo que mostre a lista de todos os número inteiros de 1 até 500 classificando-os de acordo com as 3 categorias e calcule o número de elementos de cada categoria. 34. Num armazém a caixa regista o preço dos produtos acompanhado de um número de código que designa o tipo do produto. Cada produto está sujeito a uma taxa adicional assim distribuída (código - taxa) : electrodomésticos (10 - 6%) roupas (20 - 0%) móveis (30 - 5%) ferramentas (40 - 8%) perfumes (50 - 10%) Construa um algoritmo que receba os códigos dos produtos e os respectivos preços sem taxa, e calcule o preço total a pagar pela totalidade dos produtos. Autores: Carlos Barrico, Frutuoso Silva, Sara Madeira e Abel Gomes 9