Você está na página 1de 14

Gabarito Lista Estruturas de Repetição – Prova 3

6) Apresentar todos os números divisíveis por 4 que sejam menores que 200.
Para verificar se o número é divisível por 4, efetuar dentro da malha a
verificação lógica desta condição com a instrução se, perguntando se o número
é divisível; sendo, mostre-o, não sendo, passe para o próximo passo. A
variável que controlará o contador deverá ser iniciada com valor 1.

/* números divisíveis por 4 que sejam menores que 200 */


#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int X;
for (X = 0; X <= 200; X++)
if (X % 4 == 0)
printf("\n Número divisível por 4 de 0 a 200: %d\n", X);;
system("pause");
return(0);
}

7) Escrever um programa que apresente a série de Fibonacci até o décimo


quinto termo. A série de Fibonacci é formada pela seqüência: 1, 1, 2, 3, 5, 8,
13, 21, 34... Etc. (o primeiro número da série é 1; o segundo, também 1; a partir
daí cada número é igual à soma dos dois números anteriores).

/* a série de Fibonacci até o décimo quinto termo */


#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int ANT = 1, ATU = 0, PRO = 0, CONT = 1;
while (CONT <= 15)
{
PRO = ANT + ATU;
printf("\n %d\n", PRO);;
ANT = ATU;
ATU = PRO;
CONT++;
}
system("pause");
return(0);
}
8) Apresentar as potências de 3, variando de 0 a 15. Deve ser considerado que
qualquer número elevado a zero é 1, e elevado a 1 é ele próprio. Deverá ser
apresentado, observado a seguinte definição:
30 = 1
31 = 3
32 = 9
(...)
315 = 14348907

/* potências de 3 variando de 0 a 15 */
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main(void)
{
int X = 0;
float Y;
for (X = 0; X <= 15; X = X+1)
{
Y = pow(3,X);
printf("\n 3 elevado a %d eh %.0f\n", X, Y);;
}
system("pause");
return(0);
}

9) Elaborar um programa que apresente os valores de conversão de graus


Celsius em Fahrenheit, de 10 em 10 graus, iniciando a contagem em 10 graus
Celsius e finalizando em 100 graus Celsius. O programa deverá apresentar os
valores das duas temperaturas.

/* apresente os valores de conversão de graus Celsius em Fahrenheit, de 10


em 10 graus */
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
float C, F;
for (C = 10; C <= 100; C+=10)
{
F = ((9 * C + 160) / 5);
printf("\n O valor de %.0f Celsius em Farenheit eh %.0f\n", C, F);;
}
system("pause");
return(0);
}
10) Elaborar um programa que efetue o cálculo e no final apresente o
somatório do número de grãos de trigo que se pode obter num tabuleiro de
xadrez, obedecendo à seguinte regra: colocar um grão de trigo no primeiro
quadro e nos quadros seguintes o dobro do quadro anterior. Ou seja, no
primeiro quadro coloca-se 1 grão, no segundo quadro colocam-se 2 grãos
(neste momento têm-se 3 grãos), no terceiro quadro colocam-se 4 grãos (tendo
neste momento 7 grãos), no quarto colocam-se 8 grãos (tendo-se então 15
grãos) até atingir o sexagésimo quarto quadro.

# include <stdio.h>
# include <stdlib.h>
int main(void)
{
double Q = 1, SOM = 0;
int C;
for (C = 1; C <= 64; C++)
{
SOM = SOM + Q;
printf("\n C = %d Soma eh %.0f\n", C, SOM);
Q = Q * 2;
printf("\n Quantidade eh %.0f \n", Q);
}
printf("\n O total de graos eh %.0f\n ", SOM);
system("pause");
return(0);
}

11) Elaborar um programa que efetue a leitura de 15 valores numéricos inteiros


e no final apresente o total do somatório da fatorial de cada valor lido.

# include <stdio.h>
# include <stdlib.h>
int main(void)
{
int CONT, FAT = 0, N, I, S = 0;
for (I = 1; I <= 15; I++)
{
FAT = 1;
printf ("\nDigite o numero: ");
scanf ("%d", &N);
for (CONT = 1; CONT <= N; CONT++)
FAT *= CONT;
S = S + FAT;
}
printf ("\n O somatorio do fatorial dos numeros eh %d\n\n", S);
system("pause");
return(0);
}

12) Elaborar um programa que efetue a leitura de 10 valores numéricos e


apresente no final o total do somatório e a média dos valores lidos.

# include <stdio.h>
# include <stdlib.h>
int main(void)
{
int CONT, N, S = 0;
float M;
for (CONT = 1; CONT <= 10; CONT++)
{
printf ("\n Digite o numero: ");
scanf ("%d", &N);
S = S + N;
}
printf ("\n A soma dos numeros eh %d\n\n", S);
M = S / 10;
printf ("\n A media dos numeros eh %.2f\n\n", M);
system("pause");
return(0);
}

13) Elaborar um programa que efetue a leitura sucessiva de valores numéricos


e apresente no final o total do somatório, a média e o total de valores lidos. O
programa deverá fazer as leituras dos valores enquanto o usuário estiver
fornecendo valores positivos. Ou seja, o programa deverá parar quando o
usuário fornecer um valor negativo (menor que zero).

# include <stdio.h>
# include <stdlib.h>
int main(void)
{
float M, N, S = 0, T = 0;
printf("\nCalcula a media, o somatorio e o total de numeros lidos ate ser
digitado um numero negativo \n\n");
printf("\nDigite um numero: ");
scanf("%f",&N);
while (N >= 0)
{
S = S + N;
T = T + 1;
printf("\nDigite um numero: ");
scanf("%f",&N);
}
if (T == 0)
printf ("\n Nenhum numero foi positivo\n");
else
{
M = S / T;
printf ("\n A media dos numeros eh %.2f\n\n", M);
printf ("\n O somatorio dos numeros eh %.2f\n\n", S);
printf ("\n O total de numeros lidos eh %.2f\n\n", T);
}
system("pause");
return(0);
}

14) Elaborar um programa que apresente como resultado o valor fatorial dos
valores ímpares situados na faixa numérica de 1 a 10.

# include <stdio.h>
# include <stdlib.h>
int main(void)
{
int CONT, FAT = 0, I, S = 0;
printf("\n Programa que calcula o somatorio do fatorial dos numeros impares
de 1 a 10 \n");
for (I = 1; I <= 10; I++)
{
if (I % 2 != 0)
{
FAT = 1;
for (CONT = 1; CONT <= I; CONT++)
FAT *= CONT;
S = S + FAT;
}
}
printf ("\n O somatorio do fatorial dos numeros eh %d\n\n", S);
system("pause");
return(0);
}

15) Elaborar um programa que apresente os resultados da soma e da média


aritmética dos valores pares situados na faixa numérica de 50 a 70.

# include <stdio.h>
# include <stdlib.h>
int main(void)
{
int I;
float M=0, S = 0, T = 0;
for (I=50; I<= 70; I++)
if (I % 2 == 0)
{
S = S + I;
T = T + 1;
}
M = S / T;
printf ("\n A media dos numeros eh %.2f\n\n", M);
printf ("\n O somatorio dos numeros eh %.2f\n\n", S);
system("pause");
return(0);
}

16) Elaborar um programa que possibilite calcular a área total de uma


residência (sala, cozinha, banheiro, quartos, área de serviço, quintal, garagem,
etc). O programa deverá solicitar a entrada do nome, da largura e o
comprimento de um determinado cômodo. Em seguida, deverá apresentar a
área do cômodo lido e também uma mensagem solicitando do usuário a
confirmação de continuar calculando novos cômodos. Caso o usuário responda
“NÃO”, o programa deverá apresentar o valor total acumulado da área
residencial.

#include <stdio.h>
#include <stdlib.h>
int main(void)
{
char COND, NOME [40];
float L, C, AREA = 0, AREA_TOTAL = 0;
printf ("\n Programa que calcula a area dos comodos de uma casa e depois
mostra o total das areas\n");
do
{
printf ("\nDigite o nome do comodo: ");
fflush(stdin); scanf ("%s", NOME);
/* fgets(NOME, 40, stdin); */
printf ("\nDigite a Largura: ");
scanf ("%f", &L);
printf ("\nDigite o Comprimento: ");
scanf ("%f", &C);
AREA = (L * C);
printf ("\n A area do comodo eh %.2f\n", AREA);
AREA_TOTAL+= AREA;
printf ("\n Deseja continuar:? (S/N) \n");
fflush(stdin); scanf("%c",&COND);
}
while (COND == 'S');
printf ("\n A area total dos comodos eh %.2f\n", AREA_TOTAL);
system(“pause”);
return(0);
17) Elaborar um programa que efetue a leitura de valores positivos inteiros até
que um valor negativo seja informado. Ao final deverão ser apresentados o
maior e o menor valores informados pelo usuário.

#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int I = 0, MENOR, MAIOR;
printf ("\n Programa que le valores inteiros ate um valor negativo ser digitado,
depois mostra o menor e o maior lidos\n");
printf ("\nDigite um valor: ");
scanf ("%d", &I);
MENOR = I;
MAIOR = I;
while (I >= 0)
{
if (I <= MENOR)
MENOR = I;
if (I >= MAIOR)
MAIOR = I;
printf ("\nDigite um valor: ");
scanf ("%d", &I);
}
printf ("\n O menor valor eh %d e o maior eh %d \n", MENOR, MAIOR);
system("pause");
return(0);
}

18) Elaborar um programa que efetue a leitura de 10 números inteiros que


sejam múltiplos de 3. Caso o número não seja múltiplo, avisar com mensagem
e ler novamente o número. Ao final deverão ser apresentados o maior e o
menor número digitado.

#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int I = 0, MENOR, MAIOR, X = 0, T=0;
X = 1;
printf ("\nDigite um valor multiplo de 3: ");
scanf ("%d", &I);
MENOR = I;
MAIOR = I;
while (X <= 10)
{

if (I % 3 != 0)
printf("\n O numero nao eh multiplo de 3. Favor digitar novamente");
else
{
T = T + 1;
printf ("\n Este eh o %d multiplo de 3", T);
if (I <= MENOR)
MENOR = I;
if (I >= MAIOR)
MAIOR = I;
X=X+1;
}

if (X <=10)
{
printf ("\nDigite um valor multiplo de 3: ");
scanf ("%d", &I);
}

printf ("\n O menor valor eh %d e o maior eh %d \n", MENOR, MAIOR);


system("pause");
return(0);
}

19) A avaliação de um aluno nas disciplinas de uma faculdade segue os


seguintes critérios: em toda disciplina são aplicadas três provas; a média final é
obtida com a média aritmética das três notas; e para que o aluno seja
aprovado, a sua média deve ser igual ou superior a 7,0, e tenha no máximo 12
faltas. Faça um algoritmo que:
Leia os números de matrícula dos 50 alunos do curso de Ciência da
Computação, na disciplina Banco de Dados , as três notas de cada um e o
número de faltas que eles tiveram nesta disciplina. Calcule a sua média e o
resultado (se aprovado ou não na disciplina). Apresente a matrícula, a média e
o resultado de cada aluno. No final apresente o total de alunos aprovados na
disciplina. Apresente ainda o número de alunos reprovados apenas por falta, o
número de alunos reprovados apenas por média e o total de alunos
reprovados tanto por média quanto por falta.

#include <stdio.h>
#include <stdlib.h>
int main()
{
int F, MAT, W=1, TA=0, TRF=0, TRM=0, TR=0;
float N1, N2, N3, MED;
while (W <= 50)
{
printf("\n Digite a matricula do aluno: ");
scanf("%d", &MAT);
printf("\n Digite as tres notas: ");
scanf("%f%f%f", &N1, &N2, &N3);
printf("\n Digite n numero de faltas: ");
scanf("%d", &F);
MED = (N1+N2+N3) / 3;
if (MED >= 7)
if (F <= 12)
{
TA = TA + 1;
printf("\n O aluno de matricula %d esta aprovado, com media %.2f",
MAT, MED);
}
else
{
TRF = TRF + 1;
printf("\n O aluno de matricula %d esta reprovado apenas por falta, com
media %.2f", MAT, MED);
}
else
if (F <= 12)
{
TRM = TRM + 1;
printf("\n O aluno de matricula %d esta reprovado apenas por media
%.2f", MAT, MED);
}
else
{
TR = TR + 1;
printf("\n O aluno de matricula %d esta reprovado por media %.2f e
falta", MAT, MED);
}
W = W + 1;
}
printf("\n\n O Total de alunos aprovados eh %d ", TA);
printf("\n O Total de alunos reprovados apenas por falta eh %d", TRF);
printf("\n O Total de alunos reprovados apenas por media eh %d", TRM);
printf("\n O Total de alunos reprovados por media e falta eh %d \n", TR);
system("pause");
return(0);
}

20) Uma empresa decidiu fazer um recrutamento para preencher algumas


vagas. Faça um algoritmo que leia os dados dos 100 candidatos que
compareceram - número, nome, sexo, idade, experiência profissional (sim ou
não). O algoritmo deverá mostrar a idade média dos candidatos; o número total
de candidatos do sexo feminino e do sexo masculino; e o total de candidatos
que sejam maiores de idade (18 anos) e que tenham experiência no serviço,
por sexo.
# include <stdio.h>
# include <stdlib.h>
int main(void)
{
char NOME[40], S, E;
int CONT, IDADE, TF=0, TM=0, TEM=0, TEF=0;
float MED = 0;

for (CONT = 1; CONT <= 100; CONT++)


{
printf ("\n Digite o nome: ");
fflush(stdin);
fgets(NOME, 40, stdin);

printf ("\n Digite o sexo: (F/M) ");


fflush(stdin);
scanf ("%c", &S);

printf ("\n Digite a idade: ");


scanf ("%d", &IDADE);

printf ("\n Digite a experiencia: (S/N) ");


fflush(stdin);
scanf ("%c", &E);

MED = MED + IDADE;

if (S == 'F' || S == 'f')
{
TF = TF + 1;
if ((IDADE <= 18) && (E == 'S' || E == 's'))
TEF++;
}
else
{
TM = TM + 1;
if ((IDADE <= 18) && (E == 'S' || E == 's'))
TEM++;
}
}
MED = MED/100;
printf ("\n A media da idade eh %.2f\n", MED);
printf ("\n O total de feminino eh %d\n", TF);
printf ("\n O total de masculino eh %d\n", TM);
printf ("\n O total feminino maior que 18 anos e com experiencia eh %d",
TEF);
printf ("\n O total masculino maior que 18 anos e com experiencia eh %d\n",
TEM);
system("pause");
return(0);
}

21) Ler os dados de 80 professores de uma faculdade, nome, sexo e tempo de


profissão em anos (esse dado é do tipo inteiro e todos os professores possuem
mais de 1 ano de serviço). No final mostre o tempo médio de profissão dos
professores, e o total de professores que possuem até 10 (dez) anos de serviço
e os que possuem mais de 10 (dez) anos de serviço, por sexo.

# include <stdio.h>
# include <stdlib.h>
int main(void)
{
int CONT, F10 = 0 , F = 0, M10 = 0, M = 0;
float T, TOT = 0, MT;
char NOME[40], S;
for (CONT = 1; CONT <= 80; CONT++)
{
printf ("\n Digite o nome: ");
fflush(stdin);
fgets(NOME, 40, stdin);

printf ("\n Digite o sexo: (F/M) ");


fflush(stdin);
scanf ("%c", &S);

printf ("\n Digite o tempo de profissao: ");


fflush(stdin);
scanf ("%f", &T);

TOT = TOT + T;

if (S == 'F' || S == 'f')
if (T <= 10)
F10++;
else
F++;
else
if (T <= 10)
M10++;
else
M++;
}
MT = TOT/3;
printf ("\n A media do tempo de experiencia profissionaleh %.2f\n", MT);
printf ("\n O total feminino ate 10 anos eh %d e mais de 10 anos eh %d",
F10, F);
printf ("\n O total masculino ate 10 anos eh %d e mais de 10 anos eh %d\n",
M10, M);
system("pause");
return(0);
}

22) Faça um programa que calcule o valor de S, sendo que ele é determinado
pela série:

1 2 3 4 50
S      
1 3 1 3 3

# include <stdio.h>
# include <stdlib.h>
int main(void)
{
float S = 0;
int CONT;
for (CONT=1; CONT<=50; CONT++)
if (CONT % 2 != 0)
S+=float(CONT);
else
S+=float(CONT)/3;

printf ("\n O valor de S eh %.2f \n", S);


system("pause");
return(0);
}

23) Faça um programa que calcule e imprima o valor da série S, até o 15º
termo :

2 3 4 5 6 7
S      
5 4 5 4 5 4

# include <stdio.h>
# include <stdlib.h>
int main(void)
{
float S = 0;
int CONT;
for (CONT=2; CONT<=16; CONT++)
{
if (CONT % 2 == 0)
S+=float(CONT)/5;
else
S-=float(CONT)/4;
}
printf ("\n O valor de S eh %.2f \n", S);
system("pause");
return(0);
}

24 - Leia a velocidade máxima permitida em uma avenida e a velocidade com que 50


motoristas estavam dirigindo nela e calcule e mostre o número de motoristas que
ultrapassaram a velocidade permitida e o valor total de multa a receber, sabendo-se que
serão pagos:
a. 50 reais se o motorista estiver ultrapassar em até 10km/h a velocidade
permitida;
b. 100 reais, se o motorista ultrapassar de 11 a 30 km/h a velocidade
permitida.
c. 200 reais, se estiver acima de 31km/h da velocidade permitida.

#include <stdio.h>
#include <stdlib.h>
int main(void)
{
system("color f0");
float vm, v, d=0, t=0, vl=0;
int I;
printf ("\n Digite a velocidade permitida: \n");
scanf ("%f", &vm);
for (I=1; I<=5; I++)
{
printf ("\n Digite a velocidade dirigida: \n");
scanf ("%f", &v);
d = (v - vm);
if (d > 0)
t = t+1;
if (d <= 10)
vl = vl + 50;
else
if (d <= 30)
vl = vl + 100;
else
vl = vl + 200;
}

if (t==0)
printf ("\n Todos estão na lei \n");
else
printf ("\n %.0f motoristas ultrapassaram a velocidade e o valor a receber em multa
é %.2f\n", t, vl);

system("pause");
return(0);
}

25 - Escreva um algoritmo para ler dois números N e M, N o número inicial e M o


número final, e calcule e imprima a soma de todos os números pares e a multiplicação e
todos os números ímpares dentro deste intervalo.

# include <stdio.h>
# include <stdlib.h>
int main(void)
{
int N, M, S=0, P=1, I;

printf("\nDigite numero inicial: ");


scanf("%d",&N);

printf("\nDigite numero final: ");


scanf("%d",&M);

if (N >= M)
printf ("\n Intervalo invalido\n");
else
{ for (I=N; I<= M; I++)
if (I % 2 == 0)
S = S + I;
else
P = P * I;
printf ("\n A Soma dos numeros eh %d\n\n", S);
printf ("\n A multiplicação dos numeros eh %d\n\n", P);
}

system("pause");
return(0);
}
26 - Escreva um algoritmo para ler dois números N e M, N o número inicial e M o
número final, e determine os múltiplos de 5, mas que não sejam múltiplos de 3, entre
100 e 10000.

Você também pode gostar