Sei sulla pagina 1di 13

Disciplina: LPG-I

Prof. Flavio Marcello Strelow

LISTA 2: Exerccios sobre Repetio


1- Substituir for por while:
(a)
for (i=0; i <= 20; i++)
{ x = j/3;
printf("%d", x);
}
(b)
for (abc=2, semente= 0; semente <= 100; semente+=2)
{ sem1 = semente *2;
sem2 = semente + 1.5 * abc;
media = (sem1 + sem2) /2;
printf("%f", media);
}
2- Reescreva os trechos de cdigo abaixo, utilizando os comandos indicados:
(a) for
do
{
printf( "%d", x );
x--;
}
while( x > 3 );
(b) if e for
k = 0;
while ( k <10)
{ printf( " Digite i: ");
scanf("%d", &i);
switch( i )
{ case 1: x = i;
case 2: x = j; break;
case 0: x = i + j;
default: x = i * j;
}
printf( "%d \n", x);
k+=2;
}
(c ) do-while
while( i < n )
{ i += 2;
n--;
}

3- Troque os comandos while por for. Faa teste de mesa para os trechos nas duas verses.
(a)
a = 0;
while ( a != 3)
{
a = a + 1;
printf("%d", a);
}
(b)
z = 10;
while( z > 0)
{
z = z - 3;
printf("%d", z);
}
(c )
k = 5;
while( k < 10)
{
k = k + 1.5;
printf("%d", k);
}
4- Transforme do-while em while e em for. Faa teste de mesa para o do-while.
(a)
a = 9;
do
a = a + 1;
while (a <= 10)
(b )
gh = 5; a = 8
do { a+= gh;
printf("%d", a);
}
while (gh != 5);
(c )
t = 0;
do
{ t = t + 1;
printf("%d", t*2);
}
while (t<8);
5- O que ser impresso pelos programas a seguir?
(a)
main()
{

int a, b, c, cont;
cont = a = b = 1;
printf("\n%d\n%d",a ,b);
while (cont <= 8)
{
c = a + b;
printf("\n%d", c);
a = b;
b = c;
cont++;
}
}
(b)
main()
{
int x = 8531, s = 0;
while (x > 0)
{
s = s*10 + x % 10;
x = x / 10;
}
printf("\n%d", s);
}
(c )
main()
{
int cont = x = 1;
while (cont <= 8)
{
printf("\n%d",x);
x += cont;
cont++;
}
}
(d)
void main()
{
int x = 0, y = 1;
for( ; y < 100; y += 2 )
x = x + y;
printf( "\ny = %d\nx = %d\n", y, x );
}
(e)
void main()
{
int x = 9, y = 0;
do{

y = (x % 2) + 10 * y;
x = x / 2;
printf( "x = %d, y = %d\n", x, y );
} while( x );
while( y )
{
x = y % 100;
y = y / 10;
printf( "x = %d, y = %d\n", x, y );
};
}
(f)
for (i = 4 ; i+4<10 ; i++) printf ("\n%d",i);
(g)
void main()
{
int i, j, n;
n = 4;
for (i = 1; i <= n; i++)
{
for (j = 1; j <= i; j++)
printf("%5d", j * i);
printf("\n");
}
}
6- Escrever um programa que l uma seqncia de n valores, um de cada vez, e
imprime a quantidade de valores negativos.
7- Escrever um programa que l um conjunto de valores, imprimindo, para cada valor:
seu quadrado, seu cubo e sua raiz quadrada. O conjunto finalizado com o valor zero.
8- Escreva um programa que leia um nmero inteiro e mostre a tabuada da
multiplicao conforme o formato abaixo. Por exemplo, se n = 2, dever ser impresso:
2x0=0
2x1=2
2x2=4
2x3=6
....
2 x 10 = 20
9- Escreva um programa para ler um nmero n (nmero de termos de uma progresso
aritmtica), a1 ( o primeiro termo da progresso) e r (a razo da progresso). Calcular e
imprimir os n termos desta progresso, bem como a soma dos elementos.
10- Escrever um programa que leia 20 valores para uma varivel n e, para cada um
deles, calcule a tabuada de 1 at n. Mostre a tabuada na forma:
1xn=n
2 x n = 2n
3 x n = 3n
.......
n x n = n2

11- Escreva um programa que leia um nmero inteiro positivo N. Calcule e mostre o
maior quadrado menor ou igual a N. Por exemplo, se N for igual a 38, o menor
quadrado 36 (quadrado de 6).
12- Escreva um programa que leia um nmero inteiro positivo e mostre o seu fatorial.
13- Escrever um programa que leia um nmero n que indica quantos valores devem ser
lidos a seguir. Para cada nmero lido, mostre uma tabela contendo o valor lido e o
fatorial deste valor.
14- Escreva um programa que leia um nmero inteiro e indique se o mesmo primo ou
no.
15- Escreva um programa que mostre os 20 primeiros nmeros primos.
16- Escrever um programa que calcula e escreve o produto dos nmeros primos
entre 92 e 1478.
17- Faa um programa que imprime todos os nmeros primos entre 1 e um certo valor
m
18- Faa um programa que leia 2 valores: x( real ) e y (inteiro). O programa deve
calcular e escrever o valor de x elevado a y.
19- Imprimir os nmeros entre 1 e 2000 que divididos por 11 do resto igual a 5.
20- Escrever um programa que leia uma seqncia de nmeros, calcule e imprima a
mdia aritmtica. A seqncia termina quando for digitado o valor zero.
21- Dada uma seqncia com dois ou mais inteiros, contar quantas duplas de nmeros
adjacentes so iguais.
Exemplo: A seqncia 4 2 9 9 3 7 7 7 0 ( 0 indica fim) tem 3 pares.
22- Escreva um programa que leia 500 valores inteiros e positivos e encontre o maior
valor; o menor valor; calcule a mdia dos nmeros lidos. Imprimir os resultados.
23- Escrever um programa que leia um nmero no determinado de valores e calcule a
mdia aritmtica dos valores lidos, a quantidade de valores positivos, a quantidade de
valores negativos e o percentual de valores negativos e positivos. Mostre os resultados.
24- Faa um programa que leia uma quantidade no determinada de nmeros
positivos. Calcule e imprima a quantidade de nmeros pares e mpares, a mdia dos
valores pares e a mdia dos valores impares. O nmero que encerrar a leitura ser
zero.
25- Faca um programa que apresente na tela a tabela de converso de graus Celsius
para Fahrenheit, de -100 a 100 C. Use um incremento de 20 C.

26- Suponha que voc esteja trabalhando com uma mquina que s executa operaes
de soma e subtrao. Escreva um programa para calcular o produto de dois nmeros
inteiros positivos.
27- Supondo a mesma mquina do exerccio anterior, escreva um programa para
calcular o quociente e o resto da diviso de dois nmeros inteiros positivos.
28- Escrever um programa que l 20 valores, um de cada vez, e conta quantos deles
esto no intervalo [20,40] e quantos deles esto fora do intervalo, imprimindo essa
informao.
29- Escrever um programa que leia uma quantidade desconhecida de nmeros e conte
quantos deles esto nos seguintes intervalos: [0.25], [26,50], [51,75] e [76,100]. A
entrada de dados deve terminar quando for lido um nmero negativo.
30- Escrever um programa que l n duplas de valores a, b (a <=b), todos inteiros e
positivos. Para cada dupla, imprimir os elementos pares de a at b.
31- Definir um programa que receba uma srie de pares de nmeros, e para cada par
calcule a mdia aritmtica, imprimindo o resultado. A srie termina quando for lido o
par 0,0.
32- Escrever um programa que l uma seqncia de de pares de valores m,n, todos
inteiros e positivos, um par de cada vez, e calcula e imprime a soma de n inteiros
consecutivos a partir de m inclusive.
Exemplo: se for digitado o par 4, 3 : o programa calcula o valor de 4 + 5 + 6 que 15.
33- Calcular a soma dos n primeiros mltiplos de um nmero inteiro x.
34- Faa um programa que leia um nmero N inteiro positivo imprima todos os seus
divisores (positivos).
Exemplo: Supor N: 24. Os divisores so: 1 2 3 4 6 8 12 24
35- Escreva um programa que mostre os 5 primeiros nmeros perfeitos. Um nmero
dito perfeito quando a soma dos seus divisores, exceto ele prprio, igual ao nmero.
Exemplo: 6 = 1+2+3. ; 28= 1+2+4+7+14 etc
36- O nmero 3025 possui a seguinte caracterstica:
30 + 25 = 55
55 * 55 = 3025
Escreva um programa que pesquise e mostre todos os nmeros de quatro algarismos
que apresentam tal caracterstica.
37- Um nmero de Amstrong um nmero de n dgitos que igual a soma de cada um
dos seus dgitos elevado n-sima potncia. Por exemplo, 153 (que tem 3 dgitos)
igual 13 + 53 + 33. Faa um programa para escrever todos os nmeros de Armstrong
entre 10 e 999.

38- Capicuas so nmeros que tm o mesmo valor, se lidos da esquerda para a direita
ou da direita para a esquerda. Ex.; 44, 232, etc. Fazer um programa para determinar se
um valor lido capicua.
39- Fazer um programa para determinar e escrever todos os nmeros inteiros positivos
menores que 10.000 que so capicuas e quadrados perfeitos ao mesmo tempo.
40- Fazer um programa para ler vrios nmeros inteiros positivo de 3 dgitos e para
cada um fazer o seguinte: subtrair dele o prprio nmero invertido e imprimir o
resultado. Exemplo: se n = 734, ento 734 - 437 = 297
41- Fazer um programa para ler uma seqncia de nmeros de at 5 dgitos. O nmero
deve ser transformado para a base 2 e esse valor deve ser impresso na tela. A
seqncia finalizada quando for digitado o valor 0.
42- Escrever um programa que l um nmero no determinado de valores para m,
todos inteiros e positivos, um de cada vez. Se m for par, verificar quantos divisores
possui e escrever esta informao. Se m for mpar e menor do que 10 calcular e
escrever o fatorial de m. Se m for mpar e maior ou igual a 10 calcular e escrever a
soma dos inteiros de 1 at m.
43- Melancias custam R$ 4,50 cada, se compradas at 5 unidades inclusive. R$ 4,20 se
compradas at 20 unidades inclusive e R$ 4,00 se compradas at 100 unidades. Alm
deste valor, deve ser dado um desconto de 10% no valor total da compra. Escrever um
programa que receba o nmero de melancias compradas e devolva a quantidade de
reais a pagar. O programa deve rodar at receber o nmero zero melancias, que indica
fim.
44- Escreva um programa que leia a matricula de um aluno e suas trs notas. Calcule a
mdia ponderada do aluno, considerando que o peso para a maior nota seja 4 e para
as duas restantes, 3. Imprimir, para cada aluno, a mdia calculada e uma mensagem:
"APROVADO" se a mdia for maior ou igual a 7.0, "Exame", se media entre 4. 0 e 6.9 e
"REPROVADO" se a mdia for menor que 4. Matricula igual a zero, indica final de
leitura.
45- Faa um programa que leia vrios conjuntos de coeficientes a, b e c e para cada
conjunto calcular as razes de uma equao do segundo grau, atravs da frmula de
Bscara. Devem ser impressas mensagens para os casos em que a equao no tem
razes reais ou tem razes mltiplas. Aps o clculo de cada conjunto, deve ser
perguntado ao usurio se ele deseja continuar.
46- Dado um nmero representando um certo intervalo de tempo (<= 24 horas) em
segundos, fazer um programa que leia vrios nmeros e imprima o imprima na forma:
x horas, y minutos, z segundos.
Exemplo: 4230 segundos = 1 hora, 10 minutos , 30 segundos. A seqncia termina
quando for digitado o nmero zero.
47- Ler m e n e escrever m linhas de n asteriscos na tela. Exemplo: Para m=6 e n=10 a
sada do programa deve ser
**********
**********
**********

**********
**********
**********
48- Ler m e escrever m linhas com i asteriscos alinhadas pela esquerda, onde i
corresponde ao nmero da linha corrente. Exemplo: Para m=6 a sada do programa
deve ser
*
**
***
****
*****
******
49- Escrever um programa que leia um nmero e converta cada dgito para a sua
representao em cdigo Morse. A representao em cdigo Morse dos dgitos :
1.____
2..___
3...__
4...._
5.....
6_....
7_ _ . . .
8_ _ _ . .
9_ _ _ _ .
0_ _ _ _ _
50- Um capito dispe seus soldados na forma de um tringulo:
........i........ 1a. fila
......i...i...... 2a. fila
....i...i...i.... 3a. fila
..i...i...i...i.. 4a. fila
......
Faa um programa que, a partir de um nmero n representando a quantidade de
soldados, determina quantas filas iro se formar. O programa deve imprimir tambm
quantos soldados ficaro na ltima fila.
51- Chico tem 1,50 metro e cresce 2 centmetros por ano, enquanto Z tem 1,10 metro
e cresce 3 centmetros por ano. Construa um programa que calcule e imprima quantos
anos sero necessrios para que Z seja maior que Chico.
52- Numa repartio de 3000 funcionrios chega uma notcia trazida por um deles s 8
horas. Nos 15 minutos seguintes a notcia contada para mais 3 funcionrios que nos
prximos 15 minutos relatam para mais 3 que ainda no conhecem a notcia e assim
sucessivamente. Faa um programa que determine em quantas horas todos os
funcionrios da repartio tero conhecimento da notcia.
53- Um jardineiro tem que regar 60 roseiras plantadas ao longo de um caminho
retilneo e distando 1 metro uma da outra. Ele enche seu regador numa fonte situada
no mesmo caminho 15 metros antes da primeira roseira e a cada viagem rega trs

roseiras. Comeando e terminando na fonte, faa um programa que calcula o percurso


total que ele tem que percorrer para regar todas as roseiras.
54- Uma bolinha solta de uma altura de x metros. Aps cada batida no solo ela
consegue atingir apenas 70% da altura anteriormente alcanada. Faa um programa
que calcula quantos metros a bolinha percorreu desde o instante em que foi solta at o
instante da n-sima batida no solo. Considere apenas o percurso vertical.
55- Um certo organismo se reproduz ( duplicado) a cada 20 minutos. Nesse tempo o
mesmo produz 1/10000 litros de uma substncia X til para o tratamento de uma
determinada doena. Fazer um programa para calcular quantas geraes sero
necessrias para produzir 1 litro da substncia X, o nmero de organismos produtores
em cada gerao, o tempo, a quantidade produzida em cada gerao e a quantidade
total. O resultado deve ser mostrado para cada gerao, na tela, em uma tabela da
seguinte maneira:
gerao
1
2
. .............

no de organismos
1
2

tempo (min) quant. de X (l) quant. total de X (l)


20
40

0.0001
0.0002

0.0001
0.0003

56- Faa um programa que leia vrios nmeros inteiros e calcule o somatrio dos
nmeros negativos. O fim da leitura ser indicado pelo nmero 0.
57- Faa um programa que leia vrios nmeros inteiros e positivos e calcule o
produtrio dos nmeros pares. O fim da leitura ser indicado pelo nmero 0.
58- Escreva um programa que mostre os 20 primeiros termos da seqncia: 1, 3, 7, 13,
21,...
59- Escreva um programa que mostre os 20 primeiros termos da seqncia: 0, 1, 5, 14,
30, 55,...
60- Escreva um programa que mostre os 20 primeiros termos da seqncia: 0, 3, 8, 15,
24,...
61- Escreva um programa que mostre os 20 primeiros termos da seqncia: 2, 3, 6, 18,
108,...
62- Escreva um programa que mostre os 20 primeiros termos da seqncia: 1, 2, 4, 8,
16,...
63- Escreva um programa que mostre os 20 primeiros termos da seqncia: 2, 7, 14,
23, 34,...
64- Escrever um programa que calcule a somatria de i*(i+1) onde 1<=i<=n para um
dado n>0.
65- Escrever um programa que calcule a produtria de i*(i+1), onde i varia de 1 a n.

66- Fazer um programa para ler um inteiro N > 0, calcular e imprimir o seguinte
somatrio:
S = 1 + 22 + 32 + .... + N2.
67- Fazer um programa para ler um inteiro N>0, calcular e imprimir o resultado do
seguinte somatrio:
1
1
1
1
S = 1 + ---- + ---- + ----+... --2
3
4
N
68- Fazer um programa para ler um inteiro N>0, calcular e imprimir o resultado do seguinte somatrio:
1
1
1
1
1
S = ---- - ---- + ---- - ---- +... + ---2
4
6
8
2N
O programa deve imprimir tambm o valor de cada termo.
69- Fazer um programa para ler um inteiro N > 0, calcular e imprimir o seguinte
somatrio:
S = N + N-1 + N-2 + N-3 + ... + 0.
70- Escreva um programa que calcule a soma dos 20 primeiros termos da seqncia:
470 460 450
S = --- + --- + --- + ....
7
8
9
71- Escreva um programa que calcule a soma dos 20 primeiros termos da seqncia:
1
2
3
4
S = --- - --- + --- - ---- + ....
1
3
5
7
72- Fazer um programa que calcule e imprima a seguinte soma:
1
3
5
7
99
S = --- + --- + --- + --- + ... + ---1
2
3
4
50
73- Defina um programa que calcule e imprima o somatrio expresso pela seguinte
srie:
500
480
460
200
S = ----- + ----- + ------ + ... + ---2
3
4
26
74- Escrever um programa que l um valor N inteiro e positivo, calcula e escreve o
valor aproximado de e, onde:
1
1
1
1
e = 1 + ---- + ---- + ----+... + ---1!
2!
3!
N!
75- O valor aproximado de pode ser calculado usando-se a srie
1
1
1
1
1
S = ----- - ---- + ---- - ---- + ---- - ....
13 33
53
73 93

sendo = S * 32 . Fazer um programa para calcular e imprimir o valor de com 40


termos.
76- Escrever um programa que, dado x real, calcule uma aproximao para ex na
seguinte srie:
x0
x1
x2
xi
x
e = ---- + ---- + ---- + ..... + ---- + ...
O nmero de termos digitado pelo usurio.
0!

1!

2!

i!

77- Fazer um programa que calcule e imprima a seguinte soma:


21 22
23
250
S = ----- + ---- + ----- + ..... + -----50
49
48
1
78- Fazer um programa (programa) para calcular e escrever a soma dos 20 primeiros
termos da srie:
480 475 470 465
S = --- - ---- + ---- - ----- + ....
10 11
12
13
79- O clculo do seno de um nmero x, pode ser obtido a partir da seguinte srie:
x
x3
x5
sen(x) = 1 - ---- + ---- - ---- + ....
1
3!
5!
Ler o valor de x e calcular sen (x) somando os 30 primeiros termos da srie acima.
80- Fazer um programa que calcule o valor do co-seno de x atravs de 20 termos da
srie abaixo;
x2
x4 x 6 x8
cosen(x) = 1 - ---- + ---- - ---- + ---- - ....
2!
4!
6!
8!
81- Fazer um programa para calcular e escrever a seguinte soma:
37 * 38
36 * 37
35 * 36
1*2
S = ---------- + --------- + ---------- + ..... + -----1
2
3
37
82- A sequencia de Fibonacci definida da seguinte maneira:
Termo da posio 0 (F0) = 0
Termo da posio 1 (F1) = 1
Para os outros termos: Termo da posio i (Fi) = Fi-1 + Fi-2, para i > 2 .
Fazer um programa para ler o valor de i de imprimir todos os termos da sequencia de
Fibonacci, da posio 0 at a posio i.

Curiosidade: O coeficiente Fn dividido por Fn-1 converge para o nmero ureo : 1.618.... O nmero ureo usado
muito em arquitetura e outras reas, pois as pessoas consideram "esteticamente agradveis" os objetos (como uma
porta) que apresentam uma relao urea nas suas dimenses .

83- Uma empresa deseja aumentar seus preos em 20%. Faa um programa que leia o
cdigo e o preo de custo de cada produto e calcule o preo novo. Calcule tambm, a
mdia dos preos com e sem aumento. Mostre o cdigo e o preo novo de cada
produto e, no final, as mdias. A entrada de dados deve terminar quando for lido um
cdigo negativo.

84- Faa um programa que mostre os conceitos finais dos alunos de uma classe de 75
alunos. Para cada aluno, sero fornecidos os nmeros de matrcula e a mdia. A tabela
de conceitos a seguinte:
Mdia
de 0,0
de 5,0
de 7,0
de 9,0

a
a
a
a

Conceito
4,9 D
6,9 C
8,9 B
10,0 A

85- A prefeitura de uma cidade fez uma pesquisa entre seus habitantes, coletando
dados sobre o salrio e nmero de filhos. A prefeitura deseja saber:
a) mdia do salrio da populao;
b) mdia do nmero de filhos;
c) maior salrio;
d) percentual de pessoas com salrio at R$200,00.
O final da leitura de dados se dar com a entrada de um salrio negativo.
86- O departamento pessoal de uma empresa solicitou o desenvolvimento de um
programa de computador capaz de calcular o desconto devido para o INSS. Assim,
escreva um programa capaz de calcular este desconto. Inicialmente deve ser lido o
valor do salrio de referencia, depois deve-se ler uma srie de dados compostos de: RG
e salrio bruto. A srie termina quando for lido valor 0 para o RG. A tabela de desconto
a seguinte:
Salrio bruto
% desconto
at 10 SR
8
de 10,01 a 20 SR
9
acima de 20 SR
10
Imprimir para cada funcionrio o RG, salrio bruto e desconto.
87- Uma empresa decidiu fazer um levantamento em relao aos candidatos que se
apresentaram para preenchimento de vagas no seu quadro de funcionrios. Fazer um
programa que leia um conjunto de dados contendo: nmero de inscrio do candidato,
idade, sexo (F/M), experincia no servio (S/N). O conjunto finalizado com o ltimo o
nmero de inscrio = 0. O programa deve calcular e imprimir:
o nmero de candidatos femininos;
o nmero de candidatos masculinos;
idade mdia dos homens que j tem experincia no servio;
porcentagem dos homens com mais de 45 anos entre total de homens;
nmero de mulheres que tem idade inferior a 35 anos e com experincia no servio.
88- Em uma eleio presidencial existem quatro candidatos. Os votos so informados
atravs de cdigos. Os dados utilizados para a contagem dos votos obedecem
seguinte codificao:
- 1,2,3,4 = voto para os respectivos candidatos;
- 5 = voto nulo;
- 6 = voto em branco;
Elabore um programa que leia o cdigo do candidato em um voto. Calcule e escreva:
- total de votos para cada candidato;
- total de votos nulos;
- total de votos em branco;
Como finalizador do conjunto de votos, tem-se o valor 0.

89- Numa fbrica trabalham homens e mulheres divididos em 3 classes:


A - os que fazem at 30 peas por ms;
B - os que fazem de 31 a 35 peas por ms;
C - os que fazem mais de 35 peas por ms.
A classe A recebe salrio mnimo. A classe B recebe salrio mnimo e mais 3% do
salrio mnimo por pea acima das 30 iniciais. A classe recebe salrio mnimo e mais
5% do salrio mnimo por pea acima das 30 iniciais. Fazer um programa que leia um
conjunto de dados contendo cada um: nmero do operrio, nmero de peas
fabricadas no ms e sexo. O programa deve calcular e imprimir:
salrio de cada operrio;
total da folha mensal de pagamento;
nmero total de peas fabricadas no ms;
mdia das peas fabricadas pelos homens em cada classe;
mdia de pecas fabricadas pelas mulheres em cada classe;
nmero do operrio ou operria de maior salrio ( no existe empate).
O ltimo dado a ser lido ter nmero de operrio = 0.
90- Foi feita uma pesquisa entre os 1000 habitantes de uma regio para coletar os
seguintes dados: sexo (0-feminino, 1-masculino), idade e altura. Faa um programa que
leia as informaes coletadas e mostre as seguintes informaes:
mdia da idade do grupo;
mdia da altura das mulheres;
mdia da idade dos homens;
percentual de pessoas com idade entre 18 e 35 anos (inclusive).
91- Foi realizada uma pesquisa de algumas caractersticas fsicas da populao de um
certa regio. Foram entrevistadas 500 pessoas e coletados os seguintes dados:
sexo: M (masculino) e F (feminino)
cor dos olhos: A (azuis), V (verdes) e C(castanhos)
cor dos cabelos: L (louros), C(castanhos) e P (pretos)
idade
O programa deve calcular e imprimir:
a maior idade do grupo
a quantidade de indivduos do sexo feminino, cuja idade est entre 18 e 35 anos e que
tenham olhos verdes e cabelos louros.

BOM TRABALHO

Potrebbero piacerti anche