ESCOLA ESTADUAL DOUTOR AGOSTINHO DA SILVA SILVEIRA
CURSO TÉCNICO EM INFORMÁTICA
–
PRONATEC
DISCIPLINA: LÓGICA DE PROGRAMAÇÃO
Exercícios de fixação - Estruturas de Repetição
Obs.:
A correção será postada no site na quarta-feira (08/06).
1.
Faça um algoritmo que mostre todos os números pares entre 1 e 50. (estrutura FOR)
int main(int argc, char *argv[]) {
int i;
for(i=1; i<=50; i++) {
if(i%2==0)
printf("\n %d", i); }
return 0; }
2.
Faça um algoritmo que leia um número N, some todos os números inteiros de 1 a N, e
mostre o resultado. (estrutura FOR)
int main(int argc, char *argv[]) {
int i, num, soma_num=0;
printf("Digite um numero: "); scanf("%d", &num);
for(i=1; i<=num; i++) {
printf(" %d", i);
soma_num = soma_num + i; //ou soma_num += i; }
printf("\n\nO resultado da soma dos numeros e: %d", soma_num); return 0;
}
3.
Faça um programa que receba a idade de dez pessoas e calcule e mostre a quantidade
de pessoas com idade maior ou igual a 18 anos. (estrutura FOR)
int main(int argc, char *argv[]) {
int i, idade, soma_idade = 0;
for(i=1; i<=10; i++) {
printf("Digite a idade da pessoa %d: ", i); scanf("%d", &idade);
}
printf("\n\nA quantidade de pessoas com idade igual ou superior a 18 anos e: %d", soma_idade);
return 0; }
4.
Foi feita uma pesquisa entre os habitantes de uma região. Foram coletados os dados de
idade, sexo (M/F) e salário. Faça um programa que calcule e mostre:
A média dos salários;
A maior e menor idade;
A quantidade de mulheres com salário até R$ 200,00;
Finalize a entrada de dados ao ser digitada uma idade negativa. (WHILE)
int main(int argc, char *argv[]) {
int idade = 1, contador = 0, maior_idade = 0, menor_idade=9999, soma_quant_mulheres=0;
float salario, soma_salario = 0, media_salario=0; char sexo;
while(idade > 0) {
contador++;
printf("%d- Informe a idade: ", contador); scanf(" %d", &idade);
if(idade < 0)
break;
printf(" Informe o sexo (M/F): "); scanf("%s", &sexo);
printf(" Informe o salario: "); scanf("%f", &salario);
printf("\n");
soma_salario += salario; // ou soma_salario = soma_salario + salario;
if(idade > maior_idade) maior_idade = idade;
if(idade < menor_idade) menor_idade = idade;
if((sexo=='F' || sexo=='f') && salario <= 200.00) soma_quant_mulheres++;
}
media_salario = soma_salario / contador;
printf("\n\n A media dos salarios informados e: %.2f", media_salario); printf("\nA maior idade informada e: %d", maior_idade);
printf("\nA menor idade informada e: %d", menor_idade);
printf("\nA quantidade de mulheres que recebem ate R$ 200.00 e: %d.\n", soma_quant_mulheres);
5.
Escreva um algoritmo para ler 2 valores e
se o segundo valor informado for ZERO,
deve ser lido um novo valor, ou seja, para o segundo valor não pode ser aceito o
valor zero
e imprimir o resultado da divisão do primeiro valor lido pelo segundo valor
lido. (utilizar a estrutura WHILE).
int main(int argc, char *argv[]) {
float valor1, valor2; float divisao;
printf("\nInforme o primeiro valor: "); scanf("%f", &valor1);
printf("\nInforme o segundo valor: "); scanf("%f", &valor2);
if(valor2 == 0) {
while (valor2 == 0 )
{
printf("O valor digitado nao pode ser 0. Informe outro valor.\n
");
printf("Informe o segundo valor: ");
scanf("%f", &valor2);
}
}
divisao = valor1/valor2;
printf("\nResultado da divisao do valor 1 pelo valor 2: %.2f", divisao);
return 0; }
6.
Escreva um algoritmo para ler as notas da 1ª e 2ª avaliações de um aluno, calcule e
imprima a média (simples) desse aluno.
Só devem ser aceitos valores válidos
durante a
leitura (0 a 10) para cada nota. Acrescente uma mensagem 'NOVO CÁLCULO
(S/N)?' ao final do exercício. Se for respondido 'S' deve retornar e executar um novo
cálculo, caso contrário deverá encerrar o algoritmo. (ESTRUTURA DO/WHILE)
int main(int argc, char *argv[]) {float nota1, nota2; char repetir;
do{
printf("\nInforme a 1a. nota do aluno (0 - 10): "); scanf("%f", ¬a1);
while (nota1<0 || nota1>11) {
printf("O valor digitado e invalido, informe novamente. "); printf("\nInforme a 1a. nota do aluno: ");
scanf("%f", ¬a1); }
while (nota2<0 || nota2>11) {
printf("\nO valor digitado e invalido, informe novamente."); printf("\nInforme a 2a. nota do aluno: ");
scanf("%f", ¬a2); }
printf("\nMedia de notas do aluno: %.1f\n", (nota1+nota2) / 2);
printf("\n\nNovo calculo (s/n)? "); scanf("%s", &repetir);
}while (repetir=='s' || repetir=='S');
return 0; }
7.
Escreva um algoritmo para imprimir os 10 primeiros números inteiros
maiores
que
100. (FOR)
int main(int argc, char *argv[]) {
int i;
printf("\nOs 10 primeiros numeros inteiros maiores que 100 sao: \n\n");
for(i=101; i<=110; i++) {
printf(" %d", i); }
return 0; }
8.
Ler 10 valores e escrever quantos desses valores lidos são NEGATIVOS. (FOR)
int main(int argc, char *argv[]) {int i, quant_negativos = 0, num;
for(i=1; i<=10; i++) {
printf("Digite o numero %d: ", i); scanf("%d", &num);
if(num < 0)
quant_negativos++; }
printf("\nQuantidade de numeros negativos: %d", quant_negativos);