Gabaritop2
1) Escreva o programa em C que lê 3 valores inteiros e imprime na tela qual o maior valor e qual o menor valor (3 pontos).
#include <stdio.h>
#include <stdlib.h>
int main()
{ int a, b, c, menor, maior;
printf("Entre com 3 valores inteiros\n");
scanf("%d %d %d", &a, &b, &c);
if(a>b)
{
if(b<c)
menor = b;
else
menor = c;
if(a>c)
maior = a;
else
maior = c;
}else
{
if(a<c)
menor = a;
else
menor = c;
if(b>c)
maior = b;
else
maior = c;
}
printf("\n\nO maior numero digitado foi: %d e o menor foi: %d!!\n\n\n", maior, menor);
return 0;
}
2) Escreva o programa em C que lê o valor real do salário bruto de um funcionário e o número inteiro de dependentes do mesmo. Em seguida, o programa aplica o desconto do imposto de renda, conforme tabela abaixo, soma um adicional de R$ 350,00 por dependente, ao salário base, e imprime o valor final líquido do salário a receber (3,5 pontos). Base de cálculo (R$) Alíquota(%)
até 1.999,18 -
de 1.999,19 até 2.967,98 7,5%
de 2.967,99 até 3.938,60 15%
de 3.938,61 até 4.897,91 22,5%
#include <stdio.h>
#include <stdlib.h>
int main()
{ float salbruto, salliq, adicdep, aliqir, descir;
int ndep;
printf("\nEntre com o valor do salario bruto, em reais: ");
scanf("%f", &salbruto);
printf("\nEntre com o numero de dependentes: ");
scanf("%d", &ndep);
if(salbruto <= 1999.18)
aliqir = 0;
else
if(salbruto > 1999.19 && salbruto <=2967.98)
aliqir = 0.075;
else
if(salbruto > 2967.98 && salbruto <=3938.60)
aliqir = 0.15;
else
if(salbruto > 3938.60 && salbruto <=4897.91)
aliqir = 0.225;
else
{printf("\nFaixa salarial invalida!!\n");
aliqir = 0.275;
}
descir = salbruto*aliqir;
salliq = salbruto - descir + 350*ndep;
printf("\n\n**** FOLHA DO MES: *****\n");
printf("\n\tSalario bruto:\t\t\tR$%.2f", salbruto);
printf("\n\tDesconto do imposto de renda (aliquota de %.2f):\tR$%.2f", aliqir*100, descir);
printf("\n\tAcrescimo por dependentes:\t\t\tR$%d", 350*ndep);
printf("\n\tTOTAL LIQUIDO:\t\t\tR$%.2f\n\n", salliq);
return 0;
}
3) Crie o programa para ARDUINO que lê um valor inteiro de 2 a 4, digitado no Monitor Serial e acende o LED correspondente, na porta digital. Detalhe: o programa fornece uma mensagem de erro, se qualquer coisa diferente de 2, 3 ou 4 for digitado (3,5 pontos).
void setup() {
Serial.begin(9600);
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
}
void loop() {
int i;
for(i=2;i<=4;i++)
digitalWrite(i,LOW);
Serial.println("\nEntre com um valor entre 2 e 4 ");
if (Serial.available()>0)
{ i = Serial.read() - '0';
Serial.flush();
switch(i)
{ case 2:
case 3:
case 4:
digitalWrite(i,HIGH);
Serial.println("\nAcendendo porta !!");
Serial.write(i);
break;
default: Serial.println("\nPorta invalida!!");
}
}
delay(5000);
}