Professional Documents
Culture Documents
Nome: _________________________________________
IMPORTANTE:
• Duração: 1h 40min
• A prova poderá ser resolvida a lápis ou caneta.
“O homem é mortal por seus temores e imortal por seus dizeres.” (Pitágoras)
1. (2,0 ponto) Explique de forma sucinta como funciona o programa a seguir no Arduino, considerando
que no pino A0 esteja ligado um potenciômetro (formando um divisor de tensão) e no pino 6 um
LED. Utilize a numeração das linhas como referência para a explicação.
1 #define POT A0
2 #define LED 6
3
4 int int_valor;
5
6 void setup()
7 {
8 pinMode(LED, OUTPUT);
9 }
10
11 void loop()
12 {
13 int_valor=analogRead(POT);
14
15
16 if (int_valor>=512)
17 digitalWrite(LED, HIGH);
18 else
19 digitalWrite(LED, LOW);
20 }
4. (2,0 ponto) Faça um programa em DevC++ que apresente na tela um contador de 0 a 100 incrementado
de 1,5 em 1,5. Declare as variáveis necessárias e obedeça a sintaxe da linguagem C. Cada valor
apresentado deverá ficar em uma linha na tela e deverão ser exibidos com duas casas decimais.
5. (1,0 ponto) Explique o que são as funções setup() e loop() de um programa para Arduino.
7. (2,0 ponto) Considerando que o código abaixo foi feito no DevC++, mostre o que será exibido na tela do
computador.
#include <stdio.h>
#include <conio.h>
do
{
printf("Peso: ");
scanf("%f", &peso);
printf("Preço por Kg (R$): ");
scanf("%f", &preco_por_quilo);
total_pagar = peso * preco_por_quilo;
printf("Total a pagar: %.2f\n", total_pagar);
ICMS = total_pagar * 0.17;
printf("ICMS: %.2f\n", ICMS);
lucro_liquido = total_pagar - ICMS;
printf("Lucro líquido do açougue (R$): %.2f\n", lucro_liquido);
printf("Sair [S/N]?");
tecla = getche();
}
while (tecla=='N');
}
Simule a entrada de valores pelo usuário e mostre o que será apresentado na tela pelo algoritmo desenvolvido.
Apresente o resultado na tela de acordo com o layout (espaços, número de casas decimais, quebras de linha,
etc.) determinado pelo algoritmo. Os valores simulando a entrada de dados pelo usuário devem estar circulados,
como no exemplo apresentado abaixo. Não esqueça de indicar quando for necessário que o usuário pressione a
tecla ENTER.
BOA PROVA!