PONTIFÍCIA
UNIVERSIDADE CATÓLICA DO RIO GRANDE DO SUL
FACULDADE
DE INFORMÁTICA
DEPARTAMENTO
DE FUNDAMENTOS DA COMPUTAÇÃO
PROGRAMAÇÃO
PARA ENGENHARIA I - TURMA 340
PROF.
EDUARDO AUGUSTO BEZERRA
16/10/2002 PROVA P2
NOME
DO ALUNO : _________________________________________________________
1. Fazer um programa em C que calcula e escreve a média
ponderada com peso 1,0 para os valores ímpares e peso 2,0 para os valores pares
situados no intervalo [13 .. 77]. (4,0
pontos)
2. Qual o valor das variáveis “idade”, “salario” e
“peso” após a execução do programa abaixo. (2,0 pontos)
int main(){
int i,
idade, matricula;
float
peso, salario;
char sexo;
printf("Idade:");
scanf("%d", &idade);
printf("\nSalario:");
scanf("%f", &salario);
printf("\nEntre com o ultimo digito de sua matricula:");
scanf("%d", &matricula);
while
(matricula < 100){
sexo =
'1';
idade =
matricula + 10;
if
(idade > 9)
matricula = matricula + idade + 70;
peso =
idade * 2.0;
peso =
idade * 2.0 + peso;
salario
= idade + peso;
}
printf("\nIdade = %d", idade);
printf("\nSalario = %f", salario);
printf("\nPeso = %f", peso);
}
3. Escrever um programa em C que informe se um valor
fornecido pelo usuário é trimo. Um número trimo possui três divisores: ele
mesmo; um (1); e um terceiro valor (menor que o número). O programa deverá
ficar em laço solicitando a entrada de valores, e informando para cada número
se o mesmo é trimo. O programa deverá encerrar quando o usuário entrar com o
valor zero (0). ATENÇÃO!! A única saída (mensagem) do programa deverá
ser É TRIMO. Nenhuma outra saída é permitida. (4,0 pontos)
Boa
prova!
1. Versao 1.0
int main(){
int ini = 13, acum = 0, acumd = 0;
while (ini < 76){
acum = acum + ini + 2 * (ini + 1);
acumd = acumd + ini + ini + 1;
ini = ini + 2;
}
acum = acum + ini;
acumd = acumd + 77;
printf ("\nMedia ponderada = %f\n", (float)acum/(float)acumd);
return (0);
}
1. Versao 2.0
int main(){
int ini = 13, acum = 0, acumd = 0;
while (ini <= 77){
if (ini % 2 == 0)
acum = acum + 2 * ini;
else
acum = acum + ini;
acumd = acumd + ini;
ini = ini + 1;
}
printf ("\nMedia ponderada = %f\n",
(float)acum/(float)acumd);
return (0);
}
2. WHILE
Matricula |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
Idade |
90 |
92 |
94 |
96 |
98 |
100 |
102 |
104 |
106 |
108 |
Salario |
450.0 |
460.0 |
470.0 |
480.0 |
490.0 |
500.0 |
510.0 |
520.0 |
530.0 |
540.0 |
Peso |
360.0 |
368.0 |
376.0 |
384.0 |
392.0 |
400.0 |
408.0 |
416.0 |
424.0 |
432.0 |
3. TRIMO
int main(){
int c, m, i;
printf("\nEntre com um valor inteiro: ");
scanf("%d", &m);
while (m > 0){
c = 2;
for (i = 2; i <= (m / 2); i++)
if (m/i == (float)m/(float)i)
c++;
if (c == 3)
printf("\n %d eh trimo.", m, c);
printf("\nEntre com um valor inteiro: ");
scanf("%d", &m);
}
return (0);
}