Download Certamen1-2SEM-2007
Document related concepts
Transcript
Certamen 1 – Programación en C II semestre 2007 1.- Realice un programa que calcule la siguiente expresión: En donde el límite de la sumatoria debe ser ingresado por el usuario. Usted debe validar que los datos ingresados sean correctos. (40 ptos). Hint: -1n = 1 si n es par y -1n = -1 si n es impar. 2.- Realice el ruteo del siguiente programa, considerando como datos de entradas los siguientes valores, en el mismo orden dado: 12343, -5, 18. (30 ptos.) int main(){ int i, j, total, a, b, r, n, flag; total= 0; for (j=2;j>=1;j--){ do{ do{ printf("Ingrese un número"); scanf("%d",&n); }while(n<=0); a= n % 10; b= n / 10 % 10; r= a + b; flag= 1; i= 2; while ((i<= r / 2) && flag) if (r % i == 0) flag= 0 else i++; if (flag) n= n / 10; }while (( n > 9) && flag); if (flag) printf("El número es válido"); else printf ("El número no es válido"); total += n; } switch (total % 2){ case 0: printf ("La suma de los números ingresados es par"); break; case 1: printf ("La suma de los números ingresados es impar"); break; } } 3.- Dado el siguiente código de un programa, escriba un programa equivalente reemplazando las estructuras For por While (1), la estructura IF por SWITCH-CASE (2), la estructura While por Do While (3) y la estructura IF por SWITCH-CASE (4). (30 Ptos.) int main(){ int n, i, c, p, es; for( i= 10 ; i>= 1;i--){ do{ printf("Ingrese un número:"); scanf("%d",&n); }while(n<=1); if (n==2) printf("El número cumple"); else{ c= 2; es= 1; while ((n / 2) >= c && es){ p= n; while (p > 0) p-=c; if (p == 0) es= 0; c++; } } if (es) printf("El número cumple"); else printf("El numero no cumple"); } } /****1****/ /****2****/ /****3****/ /****4****/