Você está na página 1de 5

P1 - Gabarito

1. (3,0) A partir de fluxograma ao lado. Preencha com o seu RA.


Pede-se:
a.(1,5) A partir do valor do Num_1 do seu RA. Faça o teste de mesa para: e_num_1 = Num_1.
b. (1,5) Faça o programa em C.

1
RA: 1 6 0 0 5
Num_1
Processo e_num_1 v_tmp s_resultado Saída
1 {5}
3 5 2
7 5 2 =2*5
8 5 2 10 {10}

Processo e_num_1 v_tmp s_resultado Saída


1 {7}
2 7 10
4 7 10 =10*(10+7)=170
8 7 2 170 {170}

#include <stdio.h>

int main()
{
float e_num_1, v_tmp, s_resultado;

printf(“Entre com o numero e_num_1”);


scanf(”%f”, &e_num_1);
if ( e_num_1 > 5)
{
v_tmp = 10;
if ( e_num_1 < 7.5 )
{
s_resultado = 10*( v_tmp + e_num_1);
}else
{
s_resultado = v_tmp * e_num_1;
}
}else
{
v_tmp = 2;
if ( e_num_1 < 2.5 )
{
s_resultado = v_tmp + e_num_1;
}else
{
s_resultado = e_num_1 * v_tmp;
}
}
printf(“%f”, s_resultado);
return 0;
}

2
2. (3,5) Faça a analise e o programa em c, que calcule a resistência equivalente e a corrente da
fonte do circuito abaixo.
Algoritmo:

1.Entre com o valor da fonte.


2.Entre com o valor da resistência R1.
3.Entre com o valor da resistência R2.
4.Entre com o valor da resistência R3.
5.Se o valor de R2 é maior que 0 e R3 também?
Analise
6. Se sim: calcule Requivalente = R1 + (R2 * R3 )/(R2 + R3)
Entrada/Saída 7. Se não: calcule Requivalente = R1
V1 8. Se Requivalente maior que 0?
9. Se sim: Calcule Ifonte = V1/Req.
R1 Req 10. Mostre o valor de Requivalente
R2 I_fonte 11. Mostre o valor da corrente Ifonte
12.Se não: Mostre “Req =0 e erro em Ifonte”
R3

Resolução
Req1 = (R2*R3/(R2 + R3)
Req = R1 + Req1 R2 + R3 = 0 => Erro
I_fonte = V1 / Req Req = 0 => Erro em Ifonte

#include <stdio.h>

int main()
{
float e_resistencia_1, e_resistencia_2, e_resistencia_3, e_fonte_1, s_resistencia_eq, s_corrente_fonte;

printf(“Entre com a resistência 1”);


scanf(”%f”, &e_resistencia_1);
printf(“Entre com a resistência 2”);
scanf(”%f”, &e_resistencia_2);
printf(“Entre com a resistência 3”);
scanf(”%f”, &e_resistencia_3);
printf(“Entre com a fonte 1”);
scanf(”%f”, &e_fonte_1);
if ( (e_resistencia_2 > 0) && ( e_resistencia_3 > 0 ) ) {
s_resistencia_eq = e_resistencia_1 + (e_resistencia_2 * e_resistencia_3) /(e_resistencia_2 + e_resistencia_3);
}else {
s_resistencia_eq = e_resistencia_1;
}
if (s_resistencia_eq >0){
s_corrente_fonte = e_fonte_1 / s_resistencia_eq ;
printf(“%f”, s_resistencia_eq );
printf(“%f”, s_corrente_fonte );
}else{
printf(“ Req =0 e erro em Ifonte.\n”);
}
return 0;
}

3
3. (3,5) Faça a analise, algoritmo e o programa em c, que verifique se os 3 números
inteiros quaisquer pelo usuário. Se os 3 números são consecu?vos. Por exemplo, os
números 4,3,2 e 2,3,4 são números consecu?vos. E os não números consecu?vos
são por exemplo: 5,2,1 ou 3,3,2.
Analise
Entrada/Saída Resolução:
e_num_1
e_num_1 e_num_2 e_num_3 S_resposta
e_num_2 S_resposta
4 3 2 Consecutivos
e_num_3
2 3 4 Consecutivos
5 2 1 Não Consecutivos
3 3 2 Não Consecutivos

Resolução:
e_num_1 e_num_2 e_num_3 S_resposta
4 3 2 Consecutivos
2 3 4 Consecutivos
5 2 1 Não Consecutivos
3 3 2 Não Consecutivos

e_num_1 e_num_2 e_num_3


4 3 2 Consecutivos:
(( e_num_2 == (e_num_1 -1)) e (e_num_3 == (e_num_1 -2))) ou
N N-1 N-2
( ( e_num_2 == (e_num_1 +1)) e (e_num_3 == (e_num_1 +2)))
2 3 4
N N+1 N+2

4 3 2
Consecutivos e decrescente:
Diferença == 1
( ( (e_num_1 - e_num_2 ) == 1) e ( (e_num_2 – enum_3) == 1)) ou
Diferença == 1 (( (e_num_2 - e_num_1 ) == 1) e ( (e_num_3 – enum_2) == 1))
2 3 4
Diferença == 1
Diferença == 1

4
Algoritmo: #include <stdio.h>

1.Entre com o valor da numero1. int main()


2.Entre com o valor da numero2. {
3.Entre com o valor da numero3. int e_num_1, e_num_2, e_num_3;
4.Se o numero2 igual a (numero1 – 1) e
numero3 igual a (numero1 – 2) ou o printf(“Entre com o numero 1”);
numero2 igual a (numero1 +1) e numero3 scanf(”%f”, &e_num_1);
igual a (numero1 + 2) ? printf(“Entre com o numero 2”);
5. Se sim: Mostre “Nros consecutivos.” scanf(”%f”, &e_num_2);
6. Se não: Mostre “Não nros consecutivos.” printf(“Entre com o numero 3”);
scanf(”%f”, &e_num_3);
if ((( e_num_2 == (e_num_1 – 1 )) && (e_num_3 == (e_num_1 - 2 ))) ||
(( e_num_2 == (e_num_1 + 1 )) && (e_num_3 == (e_num_1 + 2 )))) {
printf ( “Nros. Consecutivos.”);
}else
{
printf ( “Nros. Não Consecutivos.”);
}
return 0;
}

Você também pode gostar