1. O documento apresenta exemplos de códigos em C utilizando estruturas de repetição como for, while, do-while e switch para realizar operações matemáticas e lógicas como cálculo de fatorial, média, maior/menor valor entre outros.
2. São mostrados casos de uso do switch para classificar idades, aumentos salariais e meses do ano.
3. Há exemplos com vetores demonstrando operações como leitura e impressão de valores, comparação com gabarito e cálculo de acertos.
1. Faculdade de Tecnologia de Jales
ANA CRISTINA APARECIDA DIAS DE OLIVEIRA
TRABALHO DE ALGORITMO
Jales, 2015
2. Reposição
1 - int f, n, resposta;
printf("Digite um número: ");
scanf("%d", &n);
resposta=1;
for ( f = n; f >= 1 ; f--) {
resposta *= f;}
printf("O fatorial de seu número é: %d ", resposta);
2 - int nu1, nu2, resulta;
int operacao;
printf("Digite o primeiro número: ");
scanf("%d", &nu1);
printf("Digite 1 - Somar, 2 - Subtrair, 3 - Multiplicação, 4 - Divisão: ");
scanf("%d", &operacao);
printf("Digite o segundo número: ");
scanf("%d", &nu2);
switch(operacao){
case '1' :
resulta = nu1 + nu2;
break;
case '2' :
result = nu1 - nu2;
break;
case '3' :
result = nu1 * nu2;
break;
case '4' :
result = nu1 / nu2;
break;}
printf("O resultado e: %d", resulta);
3. 3 - float razao = 2, volt,conta,inicio;
printf("Digite seu termo inicial: ");
scanf("%f", &inicio);
printf("Digite o termo desejado: ");
scanf("%f", &volt);
for( conta = 0; conta < voltas ; conta++){
inicio += razao;}
printf("%gn", inicio);
SWITCH
1 - int id;
printf("Digite a sua idade:");
scanf("%d", &id);
switch (id) {
case 0 : printf("Bebe");
break;
case 1 : printf("Bebe");
break;
case 3 : printf("Bebe");
break;
case 4 : printf("Criança");
break;
case 5 : printf("Criança");
break;
case 6 : printf("Criança");
break;
case 7 : printf("Criança");
break;
case 8 : printf("Criança");
break;
case 9 : printf("Criança");
break;
case 10 : printf("Criança");
break;
case 11 : printf("Adolescente");
break;
case 12 : printf("Adolescente");
break;
case 13 : printf("Adolescente");
break;
case 14 : printf("Adolescente");
break;
case 15 : printf("Adolescente");
break;
case 16 : printf("Adolescente");
break;
case 17 : printf("Adolescente");
4. break;
case 18 : printf("Adolescente");
break;
default : printf("Adulto");
break; }
2 - float sal, aum, nsal;
int cdg;
printf("Digite seu salário atual: ");
scanf("%f", &sal);
printf("Digite o código de sua categoria: ");
scanf("%d", &cdg);
switch (cdg) {
case 1 : aum=salario*12/100;
nsal= aum+sal;
printf("Seu aumento é: %.2f e seu novo salário é: %.2f", aum, nsal);
break;
case 2 : aum=sal*15/100;
novosal= aum+salario;
printf("Seu aumento é: %.2f e seu novo salário é: %.2f", aum, nsal);
break;
case 3 : aum=salario*20/100;
novosal= aum+sal;
printf("Seu aumento é: %.2f e seu novo salário é: %.2f", aum, nsal);
break;
case 4 : aum=salario*2/100;
novosal= aum+salario;
printf("Seu aumento é: %.2f e seu novo salário é: %.2f", aum, nsal);
break;
default: printf("Código invalido");
break; }
3 - int m;
printf("Digite o mês do ano em número inteiro: ");
scanf("%d", &m);
switch (m) {
case 1 : printf("Janeiro");
break;
case 2 : printf("Fevereiro");
break;
case 3 : printf("Março");
break;
case 4 : printf("Abril");
break;
case 5 : printf("Maio");
break;
case 6 : printf("Junho");
break;
case 7 : printf("Julho");
break;
case 8 : printf("Agosto");
break;
case 9 : printf("Setembro");
break;
case 10 : printf("Outubro");
5. break;
case 11 : printf("Novembro");
break;
case 12 : printf("Dezembro");
break;
default : printf("Número do mês incorreto");
break;}
4 - float b1, b2, m, sub, mult, div;
int x;
printf("Digite seu primeiro número: ");
scanf("%f", &b1);
printf("Digite seu segundo número: ");
scanf("%f", &b2);
printf("Digite o numero de uma das operações: 1 - Média Aritmética entre os números
digitadosn 2 - Diferença do Maior pelo Menorn 3 - Produtos entre os números digitadosn 4 -
Divisão do primeiro pelo segundo n ");
scanf("%d", &x);
switch (x) {
case 1 : m=(b1+b2)/2;
printf("%.2f", m);
break;
case 2 :
if ( b1 > b2){
sub = b1 - b2;
}else if(b2 > b1){
sub = b2 - b1;
}else{
sub = 0;}
printf("%.2f", sub);
break;
case 3 : mult= b1*b2;
printf("%.2f", mult);
break;
case 4 : div = b1 / b2;
printf("%.2f", div);
break;
default : printf("Código de operação incorreto");
break; }
5 - int cdg;
float salario, vaum, novosal;
printf("Digite o código de seu cargo: 1 - Escriturárion 2 - Secretárion 3 - Caixan 4 -
Gerenten 5 - Diretorn");
scanf("%d", &cdg);
printf("Digite seu salário atual: ");
scanf ("%f", &salario);
switch (cdg) {
case 1 :
vaum = salario*0.5;
novosal = salario+ vaum;
6. printf("Seu cargo é Escriturário, e o valor de seu aumento é: %.2f, e seu novo salário é:
%.2f" , vaum, novosal);
break;
case 2 :
vaum = salario*0.35;
novosal = salario+ vaum;
printf("Seu cargo é Secretário, e o valor de seu aumento é: %.2f, e seu novo salário é:
%.2f" , vaum, novosal);
break;
case 3 :
vaum = salario*0.2;
novosal = salario+ vaum;
printf("Seu cargo é Caixa, e o valor de seu aumento é: %.2f, e seu novo salário é: %.2f" ,
vaum, novosal);
break;
case 4 :
vaum = salario*0.1;
novosal = salario+ vaum;
printf("Seu cargo é Gerente, e o valor de seu aumento é: %.2f, e seu novo salário é:
%.2f" , vaum, novosal);
break;
case 5 :
printf("Seu cargo é Diretor, sem direito a aumento, mantendo seu salário de: %.2f",
salario);
break;
default:
printf("Código invalido!");
break; }
6 - char c;
float salario, novosal;
printf("Digite seu salário: ");
scanf("%f", &salario);
printf("Digite a letra de sua categoria em maiúscula: ");
scanf("%s", &c);
switch (c) {
case 'A' :
novosal = (salario*10/100)+salario;
printf("Seu novo salário será é: %.2f ", novosal);
break;
case 'C' :
novosal = (salario*10/100)+salario;
printf("Seu novo salário será é: %.2f ", novosal);
break;
case 'F' :
novosal = (salario*10/100)+salario;
printf("Seu novo salário será é: %.2f ", novosal);
break;
case 'H' :
novosal = (salario*10/100)+salario;
printf("Seu novo salário será: %.2f ", novosal);
break;
case 'B' : novosal = (salario*15/100)+salario;
7. printf("Seu novo salário será: %.2f ", novosal);
break;
case 'D' : novosal = (salario*15/100)+salario;
printf("Seu novo salário será: %.2f ", novosal);
break;
case 'E' : novosal = (salario*15/100)+salario;
printf("Seu novo salário será: %.2f ", novosal);
break;
case 'I' : novosal = (salario*15/100)+salario;
printf("Seu novo salário será: %.2f ", novosal);
break;
case 'J' : novosal = (salario*15/100)+salario;
printf("Seu novo salário será: %.2f ", novosal);
break;
case 'T' : novosal = (salario*15/100)+salario;
printf("Seu novo salário será: %.2f ", novosal);
break;
case 'K' : novosal = (salario*25/100)+salario;
printf("Seu novo salário será: %.2f ",novosal);
break;
case 'R' : novosal = (salario*25/100)+salario;
printf("Seu novo salário será: %.2f ",novosal);
break;
case 'L' : novosal = (salario*35/100)+salario;
printf("Seu novo salário será: %.2f ", novosal);
break;
case 'M' : novosal = (salario*35/100)+salario;
printf("Seu novo salário será: %.2f ", novosal);
break;
case 'N' : novosal = (salario*35/100)+salario;
printf("Seu novo salário será: %.2f ", novosal);
break;
case 'O' : novosal = (salario*35/100)+salario;
printf("Seu novo salário será: %.2f ", novosal);
break;
case 'P' : novosal = (salario*35/100)+salario;
printf("Seu novo salário será: %.2f ", novosal);
break;
case 'Q' : novosal = (salario*35/100)+salario;
printf("Seu novo salário será: %.2f ", novosal);
break;
case 'S' : novosal = (salario*35/100)+salario;
printf("Seu novo salário será: %.2f ", novosal);
break;
case 'U' : novosal = (salario*50/100)+salario;
printf("Seu novo salário será: %.2f", novosal);
break;
case 'V' : novosal = (salario*50/100)+salario;
printf("Seu novo salário será: %.2f", novosal);
break;
case 'X' : novosal = (salario*50/100)+salario;
printf("Seu novo salário será: %.2f", novosal);
break;
case 'Y' : novosal = (salario*50/100)+salario;
printf("Seu novo salário será: %.2f", novosal);
8. break;
case 'W' : novosal = (salario*50/100)+salario;
printf("Seu novo salário será: %.2f", novosal);
break;
case 'Z' : novosal = (salario*50/100)+salario;
printf("Seu novo salário será: %.2f", novosal);
break;
default : printf("Letra Incorreta ou minuscula");
break;
}
Vetor
1 - char gabarito[5];
char g1[1] [4];
char g2[1] [4];
char g3[1] [4];
char g4[1] [4];
char g5[1] [4];
char resposta [2] [5];
int cont,au,ac=0;
for (aux=0;aux<5;aux++) {
printf("Gabarito da prova --> ");
printf("informe a resposta da %d questão : ",aux+1);
scanf(" %c",&gabarito[aux]);}
for (cont=0;cont<3;cont++)
for (aux=0;au<5;au++){
printf("aluno [%d] informe suas respostas: ",cont+1);
printf("n Questão %d",aux+1);
printf("n---> ");
scanf(" %c",&resposta[cont] [aux]);}
printf("Gabarito da prova -->");
for (aux=0;aux<5;aux++) {
printf("%c- ",gabarito[aux]);}
printf("nn");
for (cont=0;cont<3;cont++)
for (aux=0;aux<5;aux++){
9. printf("Questão %d do aluno [%d] = %c n",aux+1, cont+1,resposta[cont] [aux]);}
for (cont=0;cont<3;cont++)
if (resposta==gabarito[aux]){
acertos++;}
for (cont=0;cont<3;cont++) {
printf("o aluno [%d] acertou %d questõesn",cont+1,acertos);}
3 - int V[20], i, maior, menor;
maior = 0;
menor = 1000000;
for ( i = 1 ; i <= 20 ; i ++) {
printf ( " Digite o número [ %d ]= ", i);
scanf ( "%d", &V [ i ]);
if ( maior < V [i] ) {
maior = V [i];}
if ( menor > V [i] ) {
menor = V [i];}
printf("O maior %dn", maior);
printf("O menor %dnn", menor);
for ( i = 1 ; i <= 20 ; i++){
V [1] = menor;
V [20] = maior;
printf ("%dn", V [ i ] ); }
While
1- int a=70;
while (a>=30){
printf ("Números é: %dn", a);
a--;}
2- int a=4;
10. while(a<=200){
printf ("Número será: %dn", a);
a=a+4;}
3- int a=15, n;
while (a<=200){
n= a*a;
printf ("O número é: %dn", n);
a++; }
4 - int a = 15, pot;
while (a <= 200) {
pot = a*a;
printf("%dn", pot);
a++; }
5- int a=1, n, mai=0;
while (a<=10){
printf("Digite o %d número: ", a);
scanf ("%d", &n);
a++;
if (n>mai){
mai=n;}}
printf ("O maior número é: %d", mai);
6- int a=1, n, med=0,a1=0;
while (a<=20){
printf ("Digite o %d número:",a);
scanf ("%d", &n);
a1= a1+n;
a++;}
med= a1/20;
11. printf ("A média dos números digitados será: %d", med);
7- int x, y, auxmai, auxmen, i = auxmen, soma, q;
printf("Digite um número qualquer: ");
scanf("%d", &x);
printf("Digite outro número qualquer: ");
scanf("%d", &y);
if ( x > y ) {
auxmai = x;
auxmen = y; }
else if (y > x) {
auxmai = y;
auxmen= x; }
else {
printf("São iguais, sem contas;");}
while ( i <= auxmai ) {
q = i*i;
soma += q;
i++;}
printf("A soma dos quadrados dos números do intervalo é: %d", soma);
8- float m, n, d, soma1, soma2, result;
m = 37;
n = 38;
d = 1;
while ( m > 1 && n > 2 ) {
soma1 = (m*n)+soma1;
m--;
n--;}
while ( d < 37) {
soma2 += d;
d++;}
result = soma1/soma2;
12. printf(" O valor de S é: %.fn", result);
9 - int a=0,ant=0,prox=1,valor=1;
while (a<15) {
printf("%dn",valor);
valor=ant+prox;
ant = prox;
prox = valor;
a++; }
Do While
1- int a= 30;
do {
printf("%dn", a);
a = a+1;}
while ( a<= 50);
2 - int a = 10;
do {
printf("%dn", a);
a= a+2;}
while( a <= 20);
3 - int a, n, soma;
printf("Digite um número: ");
scanf("%d", &a);
n= a+100;
do {
soma += a;
a++;
} while ( a <= n) ;
printf("A soma dos próximos 100 números é: %d", soma);
13. 4 - int a = 100, soma;
do {
if ( a%2 == 0) {
soma += a;}
a= a+1;
} while ( a <=200);
printf("A soma dos pares do intervalo é: %dn", soma);
5 - int a = 0, soma, soma1, soma2;
do {
if ( a%2 == 0) {
soma += a; }
else if ( a%2 == 1) {
soma1 += a; }
a = a+1;
} while ( a<=200);
soma2 = soma+soma1;
printf("A soma dos pares do intervalo é: %dn", soma);
printf("A soma dos impares do intervalo é: %dn", soma1);
printf("A soma dos pares e impares é: %dn", soma2);
6 - float num, maior, soma, media;
int count = 1;
maior = num;
do {
printf("Digite o %dº número: ", count);
scanf("%f", &num);
media += num;
soma += num;
if ( num > maior ) {
maior = num;}
count++;
14. } while (count <= 15);
media = media/15;
printf("O maior número foi: %.2fn", maior);
printf("A soma dos números é: %.2fn", soma);
printf("A média dos números digitados foi de: %.2fn", media);
For
1-
int i, au1=0, au2;
printf ("Digite um número: ");
scanf("%d", &au1);
for (i=0;i<=10;i++){
au2= au1*i;
printf ("%d x %d = %dn",au1, i, au2);}
2- int a;
for (a=1;a<=50;i++){
printf ("%dn", a);}
3- int a;
for (a=10;a>=1;a--){
printf ("%dn", a); }
4- int a;
for (a=699;a>=500;a=a-2){
printf ("%dn", a);}
5- int a, n1, n2=10;
for(a=1; a<=100;a++){
n1= n2*a;
printf ("%d x %d = %dn", n2, a, n1);}
6- int a;
15. for(a=0;a<=20;a=a+2){
printf ("%dn", a); }
7 - float i, nm, soma=0, soma1=0, resul;
for(i=1; i<=99; i = i+2 ){
soma= soma+i; }
for (nm=1; n<=50; n++) {
soma1= soma1+n; }
resul = soma/soma1;
printf("O valor de S é: %fn", resul);}
8- int a, n1, n2, mai, men, resu=0;
float aux, aux2;
printf ("Digite o primeiro número: ");
scanf ("%d", &n1);
printf ("Digite o segundo número: ");
scanf ("%d", &n2);
if (n1>n2){
mai=n1;
men=n2;}
else{
mai= n2;
men= n1;}
aux= mai%2;
aux2=men%2;
if (aux==0 && aux2==0){
for(a=men;a<=mai; a=a+2){
resu= resu+a; }
}else if (aux==0 && aux2!=0){
for (a=men;a<mai;a=a+2){
resu= resu+a;}}
}else if (aux2==0){
16. for(a=men+1;a<=mai;a=a+2){
resu= resu+a;}
else{
for(a=men+1;a<mai;a=a+2){
resu= resu+a;}}
printf ("Os números pares no intervalo de %d e %d é: %d", men, mai, resu);
9- int a;
float med=0, n;
for (a=1; a<=10;a++){
printf ("Digite o (%d) número: ", a);
scanf ("%f", &n);
med= med+n;}
med= med/10;
printf ("A média entre os dez números será: %g", med);
10- int a, mai=0, n;
for (a=1;a<=20;a++){
printf ("Digite o (%d) número: ", a);
scanf("%d", &n);
if (n>mai){
mai= n; } }
printf ("O maior número é: %d", mai);
11- int a, n;
long fat=1;
printf ("Digite um número inteiro: ");
scanf("%d", &n);
for (a=1; a<=n; a++){
fat *=a;}
printf ("O fatorial do número %d será: %d",n,fat);
17. 12- int a;
float n, mai=-100, men=100, med=0;
for (a=1;a<=30;a++){
printf ("Digite a (%d) temperatura: ", a);
scanf("%f",&n);
if (n>mai){
mai = n;}
if (n<men){
men = n; }
med= med + n;}
printf ("A maior temperatura é: %gn A menor temperatura é: %gn A média será: %gn",
mai, men, med/30);
Extras if
1- int x1, x2, x3, auxMaior, auxMenor;
printf("Digite um número qualquer: ");
scanf("%d", &x1);
printf("Digite outro número qualquer: ");
scanf("%d", &x2);
printf("Digite mais um outro número qualquer: ");
scanf("%d", &x3);
auxMaior=x1;
auxMenor=x1;
if ( auxMaior < x2 )
auxMaior = x2;
if ( auxMenor > x2 )
auxMenor = x2;
if ( auxMaior < x3 )
auxMaior = x3;
if ( auxMenor > x3 )
auxMenor = x3;
printf("Número maior: %d e número menor: %d", auxMaior, auxMenor);
18. 2 - int dia;
printf("Digite um número para obter um dia da semana: n");
scanf("%d", &dia);
if ( dia == 1 ) {
printf("Segunda-Feira");}
else if ( dia == 2 ) {
printf("Terça-Feira"); }
else if ( dia == 3 ) {
printf("Quarta-Feira"); }
else if ( dia == 4 ) {
printf("Quinta-Feira");}
else if ( dia == 5 ) {
printf("Sexta-Feira");}
else if ( dia == 6 ) {
printf("Sabado");}
else if ( dia == 7 ) {
printf("Domingo"); }
else {
printf("Código para dia da semana incorreto");}