Pauta Prueba N° 2 Lenguaje C (Ma 17 / 05 / 2016)

Anuncio
UNIVERSIDAD DE CONCEPCIÓN
FACULTAD DE INGENIERÍA AGRÍCOLA
DEPTO. DE AGROINDUSTRIAS
Juan Carlos Sandoval Avendaño
PAUTA PRUEBA Nº 2 LENGUAJE DE PROGRAMACIÓN
INGENIERÍA AGROINDUSTRIAL  INGENIERÍA AMBIENTAL  INGENIERÍA
CIVIL AGRÍCOLA  INGENIERÍA EN ALIMENTOS
NOMBRE :__________________________________________ CARRERA :________
TIEMPO MÁXIMO : 1 HORA
FECHA : Ma 17/05/16
(1) Escriba un programa en C que genere y muestre por pantalla R puntos del
plano pertenecientes a la curva de ecuación B#  C# œ %, donde R es un
número aleatorio natural menor o igual que #!.
Además, el programa debe mostrar por pantalla, con # decimales, el promedio
de las segundas coordenadas de los puntos generados.
Finalmente, se debe exhibir por pantalla el número total de coordenadas
mayores que È/ Þ
Obs.: Si el punto generado es ÐBß CÑ, la primera coordenada es B y la segunda es
C
(30 puntos).
Solución:
De la ecuación B#  C# œ % se tiene que C œ „ ÈB#  %
Dado que C − ‘ß debemos considerar la restricción B#  % !ß es decirß B # ó
B Ÿ  #Þ
Podemos, por ejemplo, considerar valores de B que sean mayores o iguales a #,
específicamente en la codificaciónß se consideró que B − Ò#ß "!!Ó y que además
es aleatorio, y que C œ ÈB#  %
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <time.h>
int main()
{
1
srand(time(NULL));
int N, i, Total=0, x;
float y, suma=0.0, promedio;
N=rand()%20+1;
for(i=1;i<=N;i++)
{
x=rand()%99+2;
y=sqrt(x*x-4);
printf("\n(%i,%0.2f)",x,y);
suma+=y;
if(x>sqrt(exp(1))) Total++;
if(y>sqrt(exp(1))) Total++;
}
promedio=suma/N;
printf("\n\nEl promedio es %0.2f\n\n",promedio);
printf("\nEl total de coordenadas mayores que ra%cz(e) es %i\n\n",161,Total);
system("PAUSE");
return 0;
}
ú
(2) Escriba un programa en C que solicite al usuario el ingreso de dos números
enteros distintos, y exhiba en la consola el número total de pares entre los
números ingresados sin considerarlos; además el programa debe mostrar por
pantalla la suma de los números impares múltiplos de $ que están entre los
números ingresados incluyéndolos.
Repita el proceso anterior completo hasta que el primer número ingresado sea
múltiplo de "& y el segundo sea múltiplo de "*.
(30 puntos).
Solución:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int num1, num2, num, menor, mayor;
int pares, sumaImpares;
do
{
pares=0; sumaImpares=0;
do
2
{
printf("\nIngrese un n%cmero entero : ",163);
scanf("%i",&num1);
printf("\nIngrese otro n%cmero entero : ",163);
scanf("%i",&num2);
}
while(num1==num2);
if(num1>num2)
{
mayor=num1; menor=num2;
}
else
{
mayor=num2;
menor=num1;
}
if(menor%2==0 && mayor%2==0)
{
for(num=menor+1;num<=mayor-1;num++)
if(num%2==0) pares++;
else if(num%3==0) sumaImpares+=num;
}
if(menor%2==0 && mayor%2==1)
{
for(num=menor+1;num<=mayor;num++)
if(num%2==0) pares++;
else if(num%3==0) sumaImpares+=num;
}
if(menor%2==1 && mayor%2==0)
{
for(num=menor;num<=mayor-1;num++)
if(num%2==0) pares++;
else if(num%3==0) sumaImpares+=num;
}
if(menor%2==1 && mayor%2==1)
{
for(num=menor;num<=mayor;num++)
if(num%2==0) pares++;
else if(num%3==0) sumaImpares+=num;
}
3
printf("\nEl total de pares entre %i y %i , sin considerarlos",menor,mayor);
printf(" es %i\n",pares);
printf("\nLa suma de los impares m%cltiplos de 3 entre ",163);
printf("%i y %i es %i\n\n",menor,mayor,sumaImpares);
}
while(num1%15!=0 || num2%19!=0);
system("PAUSE");
return 0;
} ú
4
Descargar