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
Download

5. Lista de Exercícios 3