Repetições - DI PUC-Rio

Propaganda
INF 1004 • Programação I • 2012.1 • turma 3WA • lista 06
Repetições iterativas
1. Escreva um programa que imprima os números inteiros de 1 a 100.
2. Escreva um programa que imprima os números inteiros de 100 a 1, em ordem decrescente.
3. Escreva um programa que imprima os números pares no intervalo de 1 a 300.
4. Escreva um programa que imprima os números ímpares no intervalo de 531 a 750.
5. Escreva um programa que leia dois números e imprima os números inteiros pares entre esses
números, inclusive. Considere que o primeiro número lido será sempre menor que o segundo.
6. Escreva um programa que leia dois números e imprima os números inteiros pares entre esses
números, inclusive. Considere que o primeiro número lido poderá ser maior que o segundo.
7. Escreva um programa que leia um número inteiro não negativo representando um limite, um
incremento inteiro não negativo e imprima os números inteiros de 0 até o limite, com o
incremento lido. Por exemplo:
Digite o limite: 10
Digite o incremento: 3
0 3 6 9
8. Escreva um programa que leia um número inteiro não negativo e imprima os números ímpares
menores do que este número. Por exemplo:
Digite um numero inteiro nao negativo: 7
1 3 5
9. Escreva um programa que leia um número inteiro (num) e imprima os num primeiros números
pares.
Digite um numero inteiro nao negativo: 6
Os 6 primeiros numeros pares sao: 2 4 6 8 10 12
10. Escreva um programa que leia um algorismo e imprima a sua tabuada no seguinte formato
(observe atentamente o alinhamento):
Digite um algarismo de 0 a 9: 5
5 x
1 =
5 x
2 = 10
5
...
5 x 10 = 50
11. Escreva um programa que imprima as tabuadas dos números inteiros de 0 a 9, no formato acima.
12. Escreva um programa que imprima o somatório e o produtório de 1 a 100.
13. Escreva um programa que leia um número inteiro não negativo e imprima o somatório e o
produtório de 1 a esse número.
Simone Diniz Junqueira Barbosa
[email protected]
Departamento de Informática
Rua Marquês de São Vicente, 225 • Gávea • 22451-900
Rio de Janeiro • RJ • Tel. (21) 3527-1500 r.4353 • Fax (21) 3527-1530
INF 1004 • Programação I • 2012.1 • turma 3WA • lista 06 • Repetições iterativas
14. [tarefa 5] Escreva uma função (e um programa para testá-la) que retorne a soma dos n primeiros
números naturais ímpares (onde n é passado como parâmetro para a função). Essa função deve
obedecer o protótipo:
int soma_impares (int n);
15. Escreva um programa que leia dois números inteiros, representando e imprima os múltiplos de 5
entre eles. Por exemplo:
Digite dois numeros inteiros nao negativos: 3 17
5 10 15
Perguntas: o que acontece se fim for menor que início? Seu programa continua funcionando?
16. Escreva um programa que leia um número inteiro positivo e imprima o seu fatorial. Lembre-se
que:
n! = n x (n -1) x (n - 2) x ... x 1
0! = 1! = 1
17. Implemente uma função (e um programa para testá-la) que teste se um número inteiro é primo ou
não. Essa função deve obedecer o seguinte protótipo:
int primo (int n);
Onde o parâmetro n é o número a ser testado e a função retorna 1 se n for primo e 0 caso
contrário. Obs. Por definição, 0 e 1 não são primos.
18. [tarefa 3] Escreva um programa que leia o número de alunos de uma turma, depois leia as notas
de cada aluno, e imprima a média aritmética dos números lidos. Por exemplo:
Digite o numero de alunos: 7
Digite as notas dos alunos: 4 6 5 0 3.2 10 9 -1
A media da turma e’: 5.31
19. [tarefa 84] Escreva um programa que leia várias notas de alunos, até que seja lido um valor
negativo, e imprima a média aritmética dos números lidos (exceto o número negativo). Por
exemplo:
Digite as notas: 4 6 5 0 3.2 10 9 -1
A media das 7 notas e’: 5.31
20. Modifique o programa anterior para imprimir o resultado no seguinte formato:
(4.0 + 6.0 + 5.0 + 0.0 + 3.2 + 10.0 + 9.0)/7 = 5.31
21. Escreva um programa que leia várias notas de alunos, até que seja lido um valor negativo, e
imprima a média aritmética ( ̅ ) e o desvio padrão (√
∑
̅̅̅
) dos n números lidos. Utilize a
função double sqrt(double); da biblioteca math.h para calcular a raiz quadrada de um número.
Por exemplo:
Digite as notas: 4 6 5 0 3.2 10 9 -1
A media e’:
5.31
O desvio padrao e’:
3.429
22. [tarefa 7] Escreva uma função que retorne uma aproximação do valor de , de acordo com a
fórmula de Leibniz:
(
)
Página 2 de 4
INF 1004 • Programação I • 2012.1 • turma 3WA • lista 06 • Repetições iterativas
Isto é:
∑
Essa função deve obedecer o seguinte protótipo:
double pi (int n);
Onde o parâmetro n indica o número de termos da série que devem ser utilizados no cálculo de .
23. Escreva um programa que leia 5 números inteiros positivos e imprima o maior deles.
24. Escreva um programa que leia 5 números inteiros (positivos e/ou negativos) e imprima o maior
deles.
25. Escreva um programa que leia um número inteiro (num), e a seguir leia num números inteiros
positivos e imprima o maior deles.
26. Escreva um programa que leia um número inteiro (num) e a seguir leia num números inteiros
(positivos e/ou negativos) e imprima o maior deles. Pergunta: qual é a diferença para o exercício
anterior?
27. Escreva um programa que leia uma seqüência de números inteiros terminada por -9999 e imprima
o maior, o menor e a média aritmética dos números. O número -9999 não faz parte da seqüência.
Por exemplo:
Digite uma sequencia de numeros inteiros terminada por -9999: 20 -3 4 -7 1-9999
Maior = 20
Menor = -7
Média = 3
28. Escreva um programa que leia dois números inteiros positivos (X e Y) e calcule XY.
29. Escreva um programa que leia um número inteiro não negativo (num) da entrada e imprima os
num primeiros termos da série de Fibonacci.

primeiro termo  a0 = 1

segundo termo  a1 = 1
n-ésimo termo  an = an - 1 + an – 2
(o n-ésimo termo é formado pela soma dos 2 termos anteriores)
30. [tarefa 4] Escreva uma função que retorna o n-ésimo termo da série de Fibonacci (e um programa
para testá-la):
int n_fibonacci (int n);
Onde:
fibonacci(0) = 1
fibonacci(1) = 1
fibonacci(n) = fibonacci(n-1) + fibonacci(n-2)
31. Escreva um programa que leia um número da entrada e imprima os termos da série de Fibonacci
menores que esse valor.
32. [tarefa 47] Você tem um automóvel bicombustível e sabe que é financeiramente mais vantajoso
abastecê-lo com álcool, mas que com gasolina sua autonomia é maior. Na prática, você já meidu o
Página 3 de 4
INF 1004 • Programação I • 2012.1 • turma 3WA • lista 06 • Repetições iterativas
consumo do seu carro e sabe que ele faz 13 km por litro de gasolina e 9 km por litro de álcool.
Sua autonomia então pode ser calculada pela fórmula a seguir, onde G é a quantidade (em litros)
de gasolina e A de álcool no tanque.
Autonomia = 13*G + 9*A
Implemente um programa que calcule e imprima a autonomia e custo em função dos combustíveis
utilizados, considerando um tanque cheio de 50 litros, com variação de 10 em 10 litros na
proporção de gasolina e álcool. Por exemplo:
Digite o preço do litro de gasolina: 2.50
Digite o preço do litro de álcool: 1.60
Gasolina
Alcool
Custo
Autonomia
50
0
R$
125,00
650 km
40
10
R$
116,00
610 km
30
20
R$
107,00
570 km
...
33. [tarefa 88 modificada] Uma empresa de transporte de objetos valiosos possui 4 tipos de
embalagens básicas com as seguintes dimensões internas (altura, largura e comprimento,
respectivamente):

caixa 1: 180mm X 135mm X 90mm – para pequenos objetos;

caixa 2: 270mm X 225mm X 135mm – para objetos médios;

caixa 3: 540mm X 360mm X 270mm – para objetos grandes cujo peso é menor que 10kg;

caixa 4: 540mm X 360mm X 270mm – para objetos grandes cujo peso é igual ou superior a 10kg.
A embalagem escolhida para um determinado objeto é sempre a mais próxima de suas medidas.
Caso nenhuma das embalagens básicas envolva o objeto, este é separado e uma embalagem
especial é construída.
a) Implemente e teste uma função que receba como parâmetros as medidas de um objeto e
retorne o número da embalagem escolhida, ou 0 quando for uma embalagem especial. Esta
função deve capturar o peso quando necessário. O protótipo da função deve ser:
int tamanho_da_caixa (int alt, int larg, int compr);
b) Implemente e teste um programa que leia as medidas de diversos objetos a serem
transportados. Para os objetos que podem ser transportados em uma das embalagens básicas,
o seu programa deve exibir o número correspondente desta embalagem. Quando o usuário
digitar uma altura negativa, o programa deve imprimir a quantidade de embalagens especiais
que deverão ser construídas e as dimensões do objeto com maior volume transportado em
embalagem especial. Observação: o seu programa deve, obrigatoriamente, utilizar a função do
item a).
Página 4 de 4
Download