Folha Prática - Instruções de repetição.

Propaganda
Folha Prática – Instruções de repetição
1
Instruções de repetição
Repetição (e componentes associadas a qualquer repetição: inicialização, teste da condição
de paragem e actualização)
➔ Repetição com teste à cabeça
/* Inicialização */
while (condição) {
/* Teste de paragem */
conjunto de instruções/acções a executar enquanto a condicão é verdadeira
Actualização
}
➔ Repetição com teste à cauda
/* Inicialização */
do {
Conjunto de instruções/acções a executar enquanto a condição é verdadeira
Actualização
}
while (condição);
/* Teste de paragem */
➔ Repetição com número pré-definido de ciclos
/* for (Inicialização; Teste de paragem; Actualização) */
for (inicialização; condição; pós-instrução) {
conjunto de instruções/acções a executar enquanto a condição é verdadeira
}
Construir programas em linguagem C para resolver os problemas que se seguem.
1. Mostrar 20 vezes o seu nome no écran.
2. Mostrar os 100 primeiros números naturais (1, 2, ..., 100).
3. Mostrar os números naturais ímpares até 100.
4. Mostrar os 100 primeiros números naturais ímpares.
5. Calcular a soma dos N primeiros números naturais.
6. Calcular a soma dos N primeiros números naturais pares.
7. Calcular o produto dos números naturais ímpares e o produto dos números naturais
pares até 1000.
8. Determinar a soma de N números reais, com N ≥ 2. Se N < 2 será mostrada uma
mensagem de ERRO e pedido um novo valor para N.
Programação/Introdução à Programação
Folha Prática – Instruções de repetição
2
9. Determinar a soma de uma sequência de inteiros positivos (a sequência termina
quanto for inserido um número negativo, que não é somado).
10. 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. Determinar o produto dos números inteiros entre N1 e N2, com N1 < N2.
12. Calcular o produto e a soma dos números inteiros pares entre N1 e N2, com N1 < N2.
13. Determinar o maior e o menor números de uma sequência de N números reais, com
N > 1.
14. Determinar a média aritmética de uma sequência de N números reais, com N > 1.
15. 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. Calcular a soma dos dígitos de um número inteiro positivo.
17. Determinar o maior, em valor absoluto, entre N números reais fornecidos um de cada
vez.
18. Determinar o maior e o menor, em valor absoluto, entre N números reais, fornecidos
um de cada vez.
19. Determinar o maior e o menor, em valor relativo, entre N números reais, fornecidos um
de cada vez.
20. 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. Calcular o valor da seguinte expressão (com N > 0):
N
soma=
1 .
k
k =1
∑
22. 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
calcular ex para um dado valor x, com erro inferior a 10-5, e mostrar o resultado e o
número de iterações necessário.
Programação/Introdução à Programação
Folha Prática – Instruções de repetição
3
24. Escrever uma tabela de senos e de cosenos de valores de x ∈ [ 0, π/ 2 ] com intervalos de
variação de 0.001.
25. Determinar o máximo divisor comum entre 2 números inteiros positivos, usando o
algoritmo de Euclides, que se enuncia da seguinte forma: m.d.c.(a, b) = a, se b = 0,
ou m.d.c.(a, b) = m.d.c.(b, a%b), caso contrário.
26. 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).
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)€.
Determinar quantos andares tem o hotel para que no último andar o preço seja 5€.
28. 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. Converter um número decimal num número binário.
30. 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 exemplo: 13).
31. Verificar se um número inteiro positivo é capicua. Um número é capicua se for o
mesmo quando lido da esquerda para a direita e vice-versa (por ex: 232).
32. 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) — não 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).
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.
Programação/Introdução à Programação
Folha Prática – Instruções de repetição
4
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%)
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.
35. Mostre a tabuada de N. Para isso deverá pedir ao utilizador o valor de N que deverá ser
obrigatoriamente maior ou igual 1 e menor ou igual a 10.
A tabuada apresentada é o exemplo para N = 2.
2
2
2
2
2
2
2
2
2
2
x
x
x
x
x
x
x
x
x
x
1
2
3
4
5
6
7
8
9
10
=
=
=
=
=
=
=
=
=
=
2
4
6
8
10
12
14
16
18
20
36. Apresente no ecrã um quadrado de números como o que se segue. Para isso deverá
pedir ao utilizador o valor de N que deverá ser obrigatoriamente maior ou igual 2.
O quadrado apresentado é o exemplo para N = 5.
1
2
3
4
5
2
3
4
5
6
3
4
5
6
7
4
5
6
7
8
5
6
7
8
9
37.
Programação/Introdução à Programação
Folha Prática – Instruções de repetição
5
38. Mostre uma árvore de Natal como a que se segue. Para isso deverá pedir ao utilizador
o valor de B que representa o número de asteriscos (*) na base da árvore. O valor de
B deverá ser obrigatoriamente ímpar e maior ou igual 3. Deverá pedir também o valor
de L e A que representam, respectivamente a largura e a altura do tronco da árvore. A
largura do tronco L deverá ser pelo menos 1 asterisco, deverá ser obrigatoriamente
ímpar e não poderá ultrapassar metade de B, isto é metade do número de asteriscos
da base. A altura do tronco A deverá ser pelo menos 2 asteriscos e também não
deverá ultrapassar metade de B. Em caso de valores inválidos o programa deverá
apresentar um erro e voltar a pedi-los.
O exemplo da árvore em baixo tem uma base com B = 13 asteriscos, um tronco com
largura L = 3 asteriscos e altura A = 4 asteriscos.
*
***
*****
*******
*********
***********
*************
***
***
***
***
39. Apresente num ecrã uma pirâmide de números como a que se segue. Para isso deverá
pedir ao utilizador o valor de N que deverá ser obrigatoriamente maior ou igual 2.
A pirâmide apresentada é o exemplo para N = 5.
1
1
2
1
2
3
1
2
3
4
1
2
3
4
5
1
2
3
4
1
2
3
1
2
Programação/Introdução à Programação
1
Download