Escolar Documentos
Profissional Documentos
Cultura Documentos
Disciplina : Microcontroladores
Professor : Edmar Alves Cosme
Aluno: Daniel Santana de Souza Matricula: 212954
Instruções:
a) Desenvolver os algoritmos abaixo diretamente na linguagem de programação C, usando
preferencialmente o DEV C++.
b) As soluções devem estar em um arquivo do tipo .TXT, DOC, DOCX, C.
c) A data de entrega é 11/09/2015 até 23:59.
Enviar para o e-mail "edmaralvescosme@hotmail.com". Só será considerado entregue o
que receber resposta atestando o envio, portanto, guardem o e-mail enviado para caso de
reenvio pois deverá ser o mesmo e-mail.
int main () {
float n1, n2, soma;
soma=n1+n2;
printf ("\n\n A soma dos dois números é igual a: %f", soma);
printf("\n\n\n\n");
system ("PAUSE");
return (0);
}
2. Faça um algoritmo que receba dois números e ao final mostre a soma, subtração,
multiplicação e divisão dos números lidos.
int main () {
float n1, n2,soma, subt, div, mult;
printf ("\n\n Entre com o primeiro numero: ");
scanf ("%f",&n1);
printf ("\n\n Entre com o segundo numero: ");
scanf ("%f",&n2);
soma=n1+n2;
subt=n1-n2;
mult=n1*n2;
div=n1/n2;
printf ("\n\n A soma dos dois numero e igual a: %0.2f", soma);
printf ("\n\n A subtração do primeiro numero pelo segundo e igual a: %f", subt);
printf ("\n\n A multiplicação dos dois numeros e igual a: %f", mult);
printf ("\n\n A divisão do primeiro numero pelo segundo e igual a: %f", div);
printf("\n\n\n\n");
system ("PAUSE");
return (0);
}
int main () {
float distancia, consumomedio,combustivel;
printf("\n\n\n\n");
system ("PAUSE");
return (0);
}
4. Escrever um algoritmo que leia o nome de um vendedor, o seu salário fixo e o total de
vendas efetuadas por ele no mês (em dinheiro). Sabendo que esse vendedor ganha 15%
de comissão sobre as vendas efetuadas, informar seu nome, seu salário fixo e seu
salário no final do mês.
int main () {
printf("\n\n\n\n");
system ("PAUSE");
return (0);
}
5. Escrever um algoritmo que leia o nome de um aluno e as notas das 3 provas que ele
obteve no semestre. No final, informar o nome do aluno e sua média (aritmética).
int main () {
printf("\n\n\n\n");
system ("PAUSE");
return (0);
}
6. Ler dois valores para as variáveis A e B, e efetuar as trocas dos valores de forma que a
variável A passe a possuir o valor da variável B e a variável B passe a possuir o valor da
variável A. Apresentar os valores trocados.
int main () {
float A, B;
printf("\n\n\n\n");
system ("PAUSE");
return (0);
}
int main () {
float celsius, fahrenheit;
printf("\n\n\n\n");
system ("PAUSE");
return (0);
}
int main () {
float dolar,cotacao, real;
9. Faça um algoritmo que receba um valor que foi depositado e exiba o valor com
rendimento após um mês. Considere fixo o juro da poupança em 0,70% a. m.
int main () {
float deposito, novovalor;
printf("\n\n\n\n");
system ("PAUSE");
return (0);
}
10. A Loja Mamão com Açúcar está vendendo seus produtos em 5 (cinco) prestações sem
juros. Faça um algoritmo que receba um valor de uma compra e mostre o valor das
prestações.
int main () {
float valorcompra, vaalorprest;
printf ("\n\n Digite o valor da compra: R$ ");
scanf ("%f",&valorcompra);
valorprest=valorcompra/5;
printf ("\n\n 5 parcelas de R$ %0.2f", valorprest);
printf("\n\n\n\n");
system ("PAUSE");
return (0);
}
11. Faça um algoritmo que receba o preço de custo de um produto e mostre o valor de
venda. Sabe-se que o preço de custo receberá um acréscimo de acordo com um
percentual informado pelo usuário.
int main () {
float custo, percentual;
printf ("\n\n Digite o preço de custo: R$ ");
scanf ("%f",&custo);
printf("\n\n\n\n");
system ("PAUSE");
return (0);
}
int main () {
float custo,custo1,custo2;
custo1=((custo*45/100)+custo);
custo2=(custo1*28/100)+custo1;
printf("\n\n\n\n");
system ("PAUSE");
return (0);
}
13. Faça um algoritmo que receba um número e mostre uma mensagem caso este número
seja maior que 10.
#include<stdio.h>
#include<conio.h>
#include<math.h>
return 0;
}
14. Escrever um algoritmo que leia dois valores inteiro distintos e informe qual é o maior.
#include<stdio.h>
#include<conio.h>
#include<math.h>
15. Faça um algoritmo que receba um número e diga se este número está no intervalo entre
100 e 200.
#include<stdio.h>
#include<conio.h>
#include<math.h>
int main (void)
{
float numero;
printf("Informe Numero: ");
scanf("%f",&numero);
if ((numero>100)&&(numero<200))
printf( "Numero entre 100 e 200");
else
printf( "Numero não está entre 100 e 200");
return 0;
}
16. Escrever um algoritmo que leia o nome e as três notas obtidas por um aluno durante o
semestre. Calcular a sua média (aritmética), informar o nome e sua menção aprovado
(media >= 7), Reprovado (media <= 5) e Recuperação (media entre 5.1 a 6.9).
int main () {
float nota1,nota2,nota3,media;
media=(nota1+nota2+nota3)/3;
if((media>5)&&(media<7)){
}if(media>=7){
}if(media<=5){
printf("\n\n\n\n");
system ("PAUSE");
return (0);
17. Faça um algoritmo que leia dois números e identifique se são iguais ou diferentes. Caso
eles sejam iguais imprima uma mensagem dizendo que eles são iguais. Caso sejam
diferentes, informe qual número é o maior, e uma mensagem que são diferentes.
int main () {
float A,B;
if(A==B){
printf ("\n\n Numeros digitados IGUAIS.");
}if(A>B){
printf ("\n\n Numeros digitados DIFERENTES. Maior numero digitado: %f", A);
}if(A<B){
printf ("\n\n Numeros digitados DIFERENTES. Maior numero digitado: %f", B);}
printf("\n\n\n\n");
system ("PAUSE");
return (0);
}
18. Faça um algoritmo que leia um número de 1 a 5 e escreva por extenso. Caso o usuário
digite um número que não esteja neste intervalo, exibir mensagem: número inválido.
int main () {
int numero;
if((numero<1)||(numero>5)){
}elseif(numero==1){
printf ("\n\n 1=UM");
}elseif(numero==2){
}elseif(numero==3){
}elseif(numero==4){
}else{
printf("\n\n\n\n");
system ("PAUSE");
return (0);
19. A concessionária de veículos “CARANGO” está vendendo os seus veículos com desconto.
Faça um algoritmo que calcule e exiba o valor do desconto e o valor a ser pago pelo
cliente. O desconto deverá ser calculado sobre o valor do veículo de acordo com o
combustível (álcool – 25%, gasolina – 21% ou diesel –14%). Com valor do veículo zero
encerra entrada de dados. Informe total de desconto e total pago pelos clientes.
int main () {
scanf ("%f",&Vveic);
Vdesca=(Vveic*25/100);
Vdescg=(Vveic*21/100);
Vdescd=(Vveic*14/100);
printf("\n\n");
printf ("\n\n Total pago pelo cliente veiculo a gasolina: R$ %0.2f", Vveic-Vdescg);
printf("\n\n");
printf ("\n\n Total pago pelo cliente veiculo a diesel: R$ %0.2f", Vveic-Vdescd);
printf("\n\n");
printf("\n\n\n\n");
system ("PAUSE");
return (0);
20. Faça um algoritmo que receba o nome a idade, o sexo e salário fixo de um funcionário.
Mostre o nome e o salário líquido:
int main () {
float salariofixo,salarioabono;
char nome[100],sexo;
int idade;
}elseif((sexo=='M'))&&(idade<30)){
printf ("\n\n FUNCIONARIO: %s SALARIO LIQUIDO: R$ %.2f",nome,salariofixo+50);
}elseif ((sexo=='F'))&&(idade>=30)){
printf ("\n\n FUNCIONARIO: %s SALARIO LIQUIDO: R$ %.2f",nome,salariofixo+200);
}elseif ((sexo=='F'))&&(idade<30)){
printf ("\n\n FUNCIONARIO: %s SALARIO LIQUIDO: R$ %.2f",nome,salariofixo+80);}
else {
printf ("\n\n SEXO INVALIDO");}
printf("\n\n\n\n");
system ("PAUSE");
return (0);
}
21. Ler 80 números e ao final informar quantos número(s) est(á)ão no intervalo entre 10
(inclusive) e 150 (inclusive).
#include<stdio.h>
#include<conio.h>
#include<math.h>
#include<stdlib.h>
system("pause");
return 0;
}
22. Faça um algoritmo que receba a idade de 75 pessoas e mostre mensagem informando
“maior de idade” e “menor de idade” para cada pessoa. Considere a idade a partir de 18
anos como maior de idade.
int main () {
int i,idade;
for (i=0;i<75;i++){
scanf("%d",&idade);
if (idade>=18){
}else{
printf("\n\n\n\n");
system("pause");
return 0;
23. Escrever um algoritmo que leia o nome e o sexo de 56 pessoas e informe o nome e se
ela é homem ou mulher. No final informe total de homens e de mulheres.
int main () {
for (i=0;i<56;i++){
printf("\n Digite o NOME: ");
scanf("%s",&nome);
if ((sexo=='H') {
printf("\n %s é HOMEM\n\n",nome);
H++;
}else{
printf("\n %s é MULHER\n\n",nome);
M++;
}
}
printf("\n\n Total de HOMENS: %d \n Total de MULHERES: %d",H,M);
printf("\n\n\n\n");
system("pause");
return 0;
}
24. A concessionária de veículos “CARANGO VELHO” está vendendo os seus veículos com
desconto. Faça um algoritmo que calcule e exiba o valor do desconto e o valor a ser
pago pelo cliente de vários carros. O desconto deverá ser calculado de acordo com o
ano do veículo. Até 2000 - 12% e acima de 2000 - 7%. O sistema deverá perguntar se
deseja continuar calculando desconto até que a resposta seja: “(N) Não” . Informar total
de carros com ano até 2000 e total geral.
int main () {
char continuar;
do{
scanf("%f",& valorveic);
scanf("%d",&ano);
if (ano<=2000){
ate2000++;
}else{
maior2000++;
scanf("%s",& continuar);
}while ((continuar=='S';
printf("\n\n\n\n");
system("pause");
return 0;
25. Escrever um algoritmo que leia os dados de “N” pessoas (nome, sexo, idade e saúde) e
informe se está apta ou não para cumprir o serviço militar obrigatório. Informe os
totais.
int main () {
char nome[100],sexo,saude,cadastro;
int idade,inapto=0,apto=0;
if ((idade>18)&&((sexo=='M')&&((saude=='B')){
printf("APTO");
apto++;
}else{
printf("INAPTO");
inapto++;
}
printf("\n CADASTRAR NOVO CANDIDATO?[S-SIM ou N- Nao]:");
scanf("%s",&cadastro);
}while (cadastro=='S');
printf("\n Foram analisadas %d pessoas",apto+inapto);
printf("\n APTOS: %d",apto);
printf("\n\n\n\n");
system("pause");
return 0;
}
26. Faça um algoritmo que receba o preço de custo e o preço de venda de 40 produtos.
Mostre como resultado se houve lucro, prejuízo ou empate para cada produto. Informe
media de preço de custo e do preço de venda.
int main () {
int i;
float precocusto,precovenda,lucro,custo=0,venda=0;
for (i=0;i<3;i++){
printf("\n DIGITE PRECO CUSTO: R$ ");
scanf("%f",&precocusto);
custo=custo+precocusto;
lucro=precovenda-precocusto;
if (lucro>0){
printf("\n OBTEVE LUCRO.\n\n");
}elseif (lucro<0){
printf("\n OBTEVE PREJUIZO.\n\n");
}else{
printf("\n EMPATE.\n\n");
}
}
printf("\n\n\n\n");
system("pause");
return 0;
}
27. Faça um algoritmo que receba “N” números e mostre positivo, negativo ou zero para
cada número.
int main () {
float numero;
char continuar;
do{
if (numero>0){
printf("\n POSITIVO.\n\n");
}elseif (numero<0){
printf("\n NEGATIVO.\n\n");
}else{
printf("\n ZERO.\n\n");
}
}while ((continuar=='S');
printf("\n\n\n\n");
system("pause");
return 0;
}
28. Escrever um algoritmo para uma empresa que decide dar um reajuste a seus 584
funcionários de acordo com os seguintes critérios:
a) 50% para aqueles que ganham menos do que três salários mínimos;
b) 20% para aqueles que ganham entre três até dez salários mínimos;
c) 15% para aqueles que ganham acima de dez até vinte salários mínimos;
d) 10% para os demais funcionários.
int main () {
float salario,salariominimo,folhapagatual=0,folhapagnova=0,percentual,reajuste;
char nome[12];
int i=0;
do{
printf("\n\n NOME DO FUNCIONARIO: ");
scanf("%s",&nome);
if (salario<(3*salariominimo)){
percentual=(0.5*salario);
reajuste=percentual+salario;
printf("\n FUNCIONARIO: %s REAJUSTE: R$ %.2f NOVO SALARIO: R$ %.2f\n\
n",nome,percentual,reajuste);
}elseif ((salario>(3*salariominimo))&&(salario<=(10*salariominimo))){
percentual=(0.2*salario);
reajuste=percentual+salario;
printf("\n FUNCIONARIO: %s REAJUSTE: R$ %.2f NOVO SALARIO: R$ %.2f\n\
n",nome,percentual,reajuste);
}elseif ((salario>(10*salariominimo))&&(salario<=(20*salariominimo))){
percentual=(0.15*salario);
reajuste=percentual+salario;
printf("\n FUNCIONARIO: %s REAJUSTE: R$ %.2f NOVO SALARIO: R$ %.2f\n\
n",nome,percentual,reajuste);
}else{
percentual=(0.1*salario);
reajuste=percentual+salario;
printf("\n FUNCIONARIO: %s REAJUSTE: R$ %.2f NOVO SALARIO: R$ %.2f\n\
n",nome,percentual,reajuste);
}
folhapagnova=folhapagnova+reajuste;
i++;
}while (i<584);
printf("\n\n\n\n");
system("pause");
return 0;
}
29. Leia o nome do funcionário, seu salário e o valor do salário mínimo. Calcule o seu novo
salário reajustado. Escrever o nome do funcionário, o reajuste e seu novo salário.
Calcule quanto à empresa vai aumentar sua folha de pagamento.
VIDE QUESTÃO 28
30. Escrever um algoritmo que leia três valores inteiros distintos e os escreva em ordem
crescente.
int main () {
int A, B, C;
if ((A<B)&&(B<C)) {
printf("\n\n ORDEM CRESCENTE: %d %d %d ", A, B, C);
}else if ((A<C)&&(C<B)){
printf("\n\n ORDEM CRESCENTE: %d %d %d ", A, C, B);
}else if ((B<A)&&(A<C)){
printf("\n\n ORDEM CRESCENTE: %d %d %d ", B, A, C);
}else if ((B<C)&&(C<A)){
printf("\n\n ORDEM CRESCENTE: %d %d %d ", B, C, A);
}else if ((C<A)&&(A<B)){
printf("\n\n ORDEM CRESCENTE: %d %d %d ", C, A, B);
}else{
printf("\n\n ORDEM CRESCENTE: %d %d %d ",C, B, A);
}
printf("\n\n\n\n");
system("pause");
return 0;
31. Dados três valores A, B e C, em que A e B são números reais e C é um caractere, pede-se
para imprimir o resultado da operação de A por B se C for um símbolo de operador
aritmético; caso contrário deve ser impressa uma mensagem de operador não definido.
Tratar erro de divisão por zero.
int main () {
float A, B,RESULTADO;
charC,continuar;
do{
printf("\n\n DIGITE O PRIMEIRO NUMERO: ");
scanf("%f",&A);
printf("\n\n DIGITE O SEGUNDO NUMERO: ");
scanf("%f",&B);
printf("\n\n DIGITE O OPERADOR ARITMETICO: ");
scanf("%s",&C);
if((C=='*')||(C=='+')||(C=='-')||(C=='/')){
if ((C=='/')&&(B==0)){
printf("\n\n ERRO. DIVISAO POR ZERO.");
}elseif ((C=='/')&&(B!=0)){
RESULTADO=A/B;
printf("\n\n RESULTADO: %f",RESULTADO);
}else if (C=='*'){
RESULTADO=A*B;
printf("\n\n RESULTADO: %f",RESULTADO);
}else if (C=='+'){
RESULTADO=A+B;
printf("\n\n RESULTADO: %f",RESULTADO);
}else if (C=='-'){
RESULTADO=A-B;
printf("\n\n RESULTADO: %f",RESULTADO);}
}else{
printf("\n\n OPERADOR ARITMETICO INVALIDO." );}
printf("\n\n\n\n");
system("pause");
return 0;
32. Escrever um algoritmo que leia três valores inteiros e verifique se eles podem ser os
lados de um triângulo. Se forem informar qual o tipo de triângulo que eles formam:
equilátero, isóscele ou escaleno.
int main () {
int A, B, C;
char continuar;
do{
scanf("%d",&A);
scanf("%d",&B);
scanf("%d",&C);
}else
if (((A+B)<=C)||((A+C)<=B)||((C+B)<=A)){
}else{
if((A==B)&&(B==C))
if((A!=B)&&(B!=C)&&(A!=C))
if(((A==B)&&(B!=C))||((A==C)&&(B!=C))||((C==B)&&(B!=A)))
scanf("%s",&continuar);
}while ((continuar=='S')||(continuar=='s'));
printf("\n\n\n\n");
system("pause");
return 0;
}
33. Propriedade: o comprimento de cada lado de um triângulo é menor do que a soma dos
comprimentos dos outros dois lados.
Vide questão 32
34. Triângulo Equilátero: aquele que tem os comprimentos dos três lados iguais;
Vide questão 32
35. Triângulo Isóscele: aquele que tem os comprimentos de dois lados iguais. Portanto,
todo triângulo equilátero é também isóscele;
Vide questão 32
36. Triângulo Escaleno: aquele que tem os comprimentos de seus três lados diferentes.
Vide questão 32
37. Elabore um algoritmo que, dada a idade de um nadador. Classifique-o em uma das
seguintes categorias:
Infantil A = 5 - 7 anos
Infantil B = 8 - 10 anos
Juvenil A = 11 - 13 anos
Juvenil B = 14 - 17 anos
Sênior = 18 - 25 anos
int main () {
int idade;
char continuar;
do{
printf("\n DIGITE A IDADE: ");
scanf("%d",&idade);
if((idade>=5)&&(idade<=7)){
printf("\n\n CATEGARIA INFANTIL A.\n\n");
}elseif ((idade>=8)&&(idade<=10)){
printf("\n\n CATEGORIA INFANTIL B.\n\n");
}elseif ((idade>=11)&&(idade<=13)){
printf("\n\n CATEGORIA JUVENIL A.\n\n");
}elseif ((idade>=14)&&(idade<=17)){
printf("\n\n CATEGORIA JUVENIL B.\n\n");
}elseif ((idade>=18)&&(idade<=25)){
printf("\n\n CATEGORIA SENIOR.\n\n");
}else{
printf("\n\n IDADE FORA DA FAIXA ETARIA.\n\n");}
printf("\n\n\n\n");
system("pause");
return 0;
38. Apresentar mensagem “idade fora da faixa etária” quando for outro ano não
contemplado.
Vide questão 37
39. Faça um algoritmo que calcule o valor da conta de luz de uma pessoa. Sabe-se que o
cálculo da conta de luz segue a tabela abaixo:
int main () {
float kwh,custo;
int tipocliente;
char continuar;
do{
if(tipocliente==1){
custo=0.6*kwh;
printf("\n\nTOTAL A PAGAR: R$%.2f ",custo);
}elseif(tipocliente==2){
custo=0.48* kwh;
printf("\n\nTOTAL A PAGAR: R$%.2f ",custo);
}elseif(tipocliente==3){
custo=1.29* kwh;
printf("\n\nTOTAL A PAGAR: R$%.2f ",custo);
}else{
printf("\n\nCATEGORIA INCORRETA.");}
}while ((continuar=='S');
printf("\n\n\n\n");
system("pause");
return 0;
1 (Residência) 0,60
2 (Comércio) 0,48
3 (Indústria) 1,29
VIDE QUESTÃO 39
41. Uma Companhia de Seguros possui nove categorias de seguro baseadas na idade e
ocupação do segurado. Somente pessoas com pelo menos 17 anos e não mais de 70
anos podem adquirir apólices de seguro. Quanto às classes de ocupações, foram
definidos três grupos de risco. A tabela abaixo fornece as categorias em função da faixa
etária e do grupo de risco. Dados nome, idade e grupo de risco, determinar a categoria
do pretendente à aquisição de tal seguro. Imprimir o nome a idade e a categoria do
pretendente, e , caso a idade não esteja na faixa necessária, imprimir uma mensagem.
#include <stdio.h>
#include <stdlib.h>
int main(){
int idade;
char grupo;
system("pause");
42. Faça um algoritmo que leia o nome, o sexo, a altura e a idade de uma pessoa. Calcule e
mostre nome e o seu peso ideal de acordo com as seguintes características da pessoa:
int main () {
int idade;
char nome[20],sexo,continuar;
float altura,pesoideal;
do{
printf("\n\n DIGITE O NOME: ");
scanf("%s",&nome);
printf("\n DIGITE A IDADE: ");
scanf("%d",&idade);
printf("\n DIGITE O SEXO [M/F]: ");
scanf("%s",&sexo);
printf("\n DIGITE A ALTURA: ");
scanf("%f",&altura);
printf("\n\n\n\n");
system("pause");
return 0;
43. Sabendo que um caixa eletrônico terá notas de R$50 e R$10, faça um programa que,
fornecido um valor para saque (inteiro), calcule quantas notas de 50, quantas notas de
10 o cliente deve receber em um caixa eletrônico, além de indicar a parte do valor cujo
saque é impossível (resto entre 0 e 9, inclusive).
DICAS:
int main () {
int valor,resto;
intcinquenta,dez;
char continuar;
do{
printf("\n\n DIGITE VALOR DE SAQUE: R$ ");
scanf("%d",&valor);
cinquenta=valor/50;
resto=valor%50;
dez=resto/10;
resto=resto%10;
}while ((continuar=='S')||(continuar=='s'));
printf("\n\n\n\n");
system("pause");
return 0;