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