UNIVERSIDAD DE CONCEPCIÓN FACULTAD DE INGENIERÍA AGRÍCOLA DEPTO. DE AGROINDUSTRIAS Juan Carlos Sandoval Avendaño Pauta Guía de Práctico Nº 5 (GP5) Lenguaje de Programación (Semana 20 - 24 de Abril de 2009) "Ñ 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 incluyéndolos; además el programa debe mostrar por pantalla la suma de los números múltiplos de 3 que están entre los números ingresados sin considerarlos. Solución: #include <stdio.h> #include <stdlib.h> int main() { int num1, num2, max, min; int k, NumPares=0, SumaMult3=0; do { printf("\nIngrese dos números enteros distintos\n"); printf("\nIngrese el primer número : "); scanf("%i",&num1); printf("\nIngrese el segundo número : "); scanf("%i",&num2); } while (num1==num2); if (num1>num2) { max=num1; min=num2; } else { max=num2; min=num1; 1 } for (k=min; k<=max;k++) if (k%2==0) NumPares=NumPares+1; for (k=min+1;k<max;k++) if (k%3==0) SumaMult3=SumaMult3+k; printf("\nEl total de pares entre %i y %i es %i\n",min,max,NumPares); printf("\nLa suma de los múltiplos de 3 es %i\n\n",SumaMult3); system("PAUSE"); return 0; } ú #Ñ Escriba un programa en C que solicite al usuario el ingreso de un número entero del 1 al 12 y muestre por pantalla el mes asociado a ese número. Por ejemplo, si el usuario ingresa 3 el programa debe mostrar el mensaje MARZO, y si el usuario ingresa 15, por ejemplo, el programa debe solicitarle el ingreso de un nuevo numero que esté en el rango del 1 al 12. Solución: #include <stdio.h> #include <stdlib.h> int main() { int mes; do { printf("Ingrese el número del mes : "); scanf("%i",&mes); } while ((mes<1) || (mes>12)); switch(mes) { case 1: printf("ENERO\n"); break; case 2: printf("FEBRERO\n"); break; 2 case 3: printf("MARZO\n"); break; case 4: printf("ABRIL\n"); break; case 5: printf("MAYO\n"); break; case 6: printf("JUNIO\n"); break; case 7: printf("JULIO\n"); break; case 8: printf("AGOSTO\n"); break; case 9: printf("SEPTIEMBRE\n"); break; case 10: printf("OCTUBRE\n"); break; case 11: printf("NOVIEMBRE\n"); break; case 12: printf("DICIEMBRE\n"); break; default: printf("Ese número de mes no existe\n"); } system("PAUSE"); return 0; } ú $Ñ Escriba un programa en C que solicite al usuario que adivine cuál es el número entero del 1 al 17 que generó el computador. Se deben mostrar los siguientes mensajes de acuerdo al número total de intentos: Intentos Mensaje ------------------------- 3 1, 2 ó 3 4, 5 ó 6 7, 8 ó 9 >9 Muy bien Bien Mal Muy Mal Solución: #include <stdio.h> #include <stdlib.h> int main() { int numero, numeroPensado; int intentos=0; srand(time(NULL)); numeroPensado=rand()%17+1; do { printf("\nPensé un número del 1 al 17. ¿Adivina cuál es? : "); scanf("%i",&numero); intentos++; } while (numeroPensado!=numero); if (intentos<=3) printf("\nMuy bien.\nEl número que pensé era %i\n",numeroPensado); else if (intentos>3 && intentos<=6) printf("\nBien.\nEl número que pensé era %i\n",numeroPensado); else if (intentos>6 && intentos<=9) printf("\nMal.\nEl número que pensé era %i\n",numeroPensado); else printf("\nMuy Mal.\nEl número que pensé era %i\n",numeroPensado); if (intentos==1) printf("\nLo adivinaste en %i intento\n\n",intentos); else printf("\nLo adivinaste en %i intentos\n\n",intentos); system("PAUSE"); return 0; } ú %Ñ Tarea: Escriba un programa en C que simule el lanzamiento de un dado mil veces, mostrando al final del proceso el porcentaje de veces que salió el 1, el porcentaje asociado al 2, y así sucesivamente. 4 Solución: #include <stdio.h> #include <stdlib.h> int main() { int cuenta1=0, cuenta2=0, cuenta3=0, cuenta4=0, cuenta5=0, cuenta6=0; unsigned int dado; int i; srand(time(NULL)); for (i=1;i<=1000;i++) { dado=rand()%6+1; if (dado==1) cuenta1=cuenta1+1; else if (dado==2) cuenta2=cuenta2+1; else if (dado==3) cuenta3=cuenta3+1; else if (dado==4) cuenta4=cuenta4+1; else if (dado==5) cuenta5=cuenta5+1; else if (dado==6) cuenta6=cuenta6+1; } printf("\nEl 1 salio un %0.1f %% de las veces\n",cuenta1*100/1000.); printf("\nEl 2 salio un %0.1f %% de las veces\n",cuenta2*100/1000.); printf("\nEl 3 salio un %0.1f %% de las veces\n",cuenta3*100/1000.); printf("\nEl 4 salio un %0.1f %% de las veces\n",cuenta4*100/1000.); printf("\nEl 5 salio un %0.1f %% de las veces\n",cuenta5*100/1000.); printf("\nEl 6 salio un %0.1f %% de las veces\n",cuenta6*100/1000.); system("PAUSE"); return 0; } ú 5