Universidade Tecnológica Federal do Paraná (UTFPR) Linguagem de Programação Professor: Alex Kutzke ([email protected]) 3a lista de exercı́cios - Estruturas de repetição Problemas elementares 1) Fazer um algoritmo capaz de ler um inteiro positivo N e imprimir a soma da sequência de números inteiros de 1 até N . O algoritmo deve imprimir, também, os elementos da sequência separados pelo caracter ‘+’. Exemplo de entrada e saı́da são: Entrada: 5 <ENTER> Saı́da: 1+2+3+4+5 = 15 Entrada: 10 <ENTER> Saı́da: 1+2+3+4+5+6+7+8+9+10 = 55 2) Fazer um algoritmo capaz de ler uma sequência de números inteiro positivos terminada por zero. Ao final, o algoritmo deve imprimir o menor e o maior valor da sequência, bem como a sua média aritmética. O zero deve ser desconsiderado do cálculo. Exemplo de entrada e saı́da são: Entrada: 10 9 8 6 4 0 <ENTER> Saı́da: Menor: 4 Maior: 10 1 Media: 7.4 Entrada: 100 20 45 10 8 3 500 0 <ENTER> Saı́da: Menor: 3 Maior: 500 Media: 98.0 3) Repita o exercı́cio anterior, porém, faça com que o algoritmo seja capaz de considerar apenas os números pares digitados (todos os ı́mpares devem ser ignorados). Exemplo de entrada e saı́da são: Entrada: 10 9 8 6 4 1 0 <ENTER> Saı́da: Menor: 4 Maior: 10 Media: 7 Entrada: 100 20 45 10 8 3 500 0 <ENTER> Saı́da: Menor: 8 Maior: 500 Media: 127.6 4) Considere a progressão geométrica 1, 2, 4, 8, 16, 32, . . . e um inteiro positivo N . Imprimir os N primeiros termos desta PG e a soma deles. Exemplos de entrada e saı́da são: Entrada: 3 Saı́da: 1, 2, 4, 2 Soma: 7 Entrada: 4 Saı́da: 1, 2, 4, 8, Soma: 15 5) Fazer um algoritmo capaz de ler apenas um número inteiro positivo N do teclado, e imprimir o valor de N ! (fatorial de N ). Exemplo de entrada e saı́da são: Entrada: 4 <ENTER> Saı́da: 24 Entrada: 6 <ENTER> Saı́da: 720 Para pensar um pouco mais 6) Um inteiro positivo N é perfeito se for igual a soma de seus divisores positivos diferentes de N . Exemplo: 6 é perfeito pois 1 + 2 + 3 = 6 e 1, 2, 3 são todos os divisores positivos de 6 e que são diferentes de 6. Faça um algoritmo que recebe como entrada um número positivo K e mostre os K primeiros números perfeitos. 7) Fazer um algoritmo capaz de ler apenas um número inteiro positivo do teclado, de calcular a decomposição em fatores primos desse número e de imprimir os fatores calculados. Exemplos de entrada e saı́da são: 3 Entrada: 12 <ENTER> Saı́da: 2 2 3 Entrada: 150 <ENTER> Saı́da: 2 3 5 5 8) Considere a soma S dos termos da série infinita apresentada abaixo, a qual é responsável pelo cálculo do valor do co-seno de 1 (um) radiano: 1 1 1 1 1 1 + − + − + − ... (1) 2! 4! 6! 8! 10! 12! Fazer um algoritmo que seja capaz de calcular o valor aproximado da soma (S) dos termos da série até o momento em que a diferença das normas (módulo) de 2 termos consecutivos for menor que 0.000001 (i.e., norma da diferença das normas de dois termos consecutivos). Este programa não possui nenhuma entrada. S =1− 9) Fazer um algoritmo capaz de ler apenas um número inteiro positivo do teclado e de verificar se a sua sequência de dı́gitos é exatamente a mesma, tanto se for visto da esquerda para a direita quanto da direita para a esquerda. Caso seja, imprimir “Sim eh palindromo”. Caso não seja, imprimir “Nao eh palindromo” (sem acento). Dica: aplique divisões sucessivas por 10. Exemplos de entrada e saı́da são: Entrada: 12321 <ENTER> Saı́da: Sim eh palindromo Entrada: 31527 <ENTER> Saı́da: 4 Nao eh palindromo 10) Dizemos que uma sequência de inteiros é k-alternante se for composta alternadamente por segmentos de números pares de tamanho k e segmentos de números ı́mpares de tamanho k. Exemplos: • A sequência 1 3 6 8 9 11 2 4 1 7 6 8 é 2-alternante; • A sequência 2 1 4 7 8 9 é 1-alternante; • A sequência 4 2 3 1 6 4 2 9 não é alternante; • A sequência 1 3 5 é 3-alternante. Fazer um algoritmo capaz de ler os seguintes valores de entrada: a) um número inteiro k positivo que representa o tamanho do segmento alternante que será usado para testar a sequência; b) uma sequência de números inteiros positivos terminada por zero (o zero não faz parte da sequência). O programa deve determinar se a sequência de números lidos é k-alternante. Se for, o programa deve imprimir “Sim eh k-alternante”. Caso contrário, deve ser impressa a mensagem “Nao eh kalternante” (sem acento). Exemplos de entrada e saı́da são: Entrada: 2 <ENTER> 1 3 6 8 9 11 2 4 1 7 6 8 0 <ENTER> Saı́da: Sim eh k-alternante Entrada: 3 <ENTER> 4 2 8 3 1 7 6 4 6 2 9 7 0 <ENTER> Saı́da: Nao eh k-alternante 11) Fazer um algoritmo que seja capaz de calcular e imprimir o vigésimo terceiro número primo. 5