1.- Dado el siguiente programa que calcula la suma de una secuencia de enteros hasta encontrar el cero, realice uno equivalente pero utilizando un do-while. main() { int num, suma; suma=0; scanf(“%d”,&num); while (num<> 0) { suma += num; scanf(“%d”,&num); } printf(“suma=%d”,suma); }
Respuesta: main(){ int num, suma; suma=0; do { scanf(“%d\n”,&num); suma += num; } while (num<> 0) printf(“suma=%d”,suma); }
2.- Dado el siguiente programa que calcula la suma de los primeros N naturales #define N 4 main() { int cont,sum; sum=0; for (cont=N; cont>0; cont--) sum+=cont; printf(“suma=%d”,sum); }
a) Realice Realice la “corrid “corridaa en frio” frio” y diga cual es el resultado resultado del del programa programa Respuesta: suma = 10
b) escrib escribaa un programa programa equiv equivale alentes ntes usand usando o un while Respuesta:
#define N 4 main() { int cont,sum; sum=0; cont=N;
while (cont>0) { sum+=cont; cont--; } printf(“suma=%d”,sum); }
c) escrib escribaa un program programaa equival equivalent entes es usando usando un for y el operador ++ Respuesta: #define N 4 main() { int cont,sum;
sum=0; for (cont=1; cont<=N; cont++) sum+=cont; printf(“suma=%d”,sum); }
3.- Dado el siguiente programa #define M 3 main() { int x,y; scanf(“%d %d”,&x,&y); while (x!=y) { if (x< y) x*=(-1) else x=y+M; } }
indique valores para x e y tal que: a) El cicl ciclo o sea ejecut ejecutado ado al al menos menos una vez vez Respuesta: x, y diferentes, por ejemplo x=3,y=4, o x=5, y=2 b) El prog progra rama ma ter termi mine ne po rque no entra al ciclo. x=-3, y=3 Respuesta: x = 5, y=5 (ambos iguales) termina porque termina en la primera vuelta pues x cambia de signo. c) El prog program ramaa caiga caiga en cicl ciclo o infini infinito. to. Respuesta: En todos los demás casos cae en ciclo infinito, pues x nunca llega a ser igual a y. Ejemplos: x < y, x=3,y=4, x cambia de signo pero mantiene la condición x
4.- Hacer un programa que dado el valor de n, calcule la suma de la serie: (1/1)+(1/2)+(1/3)+...+(1/n) Respuesta: main() { int n,i; float serie; serie=0.0; printf(“introduzca el valor de n : ”); scanf(“%d”,&n); sum=0; for (i=1; i
5.- Hacer un programa que lea una lista de números enteros, precedida del número total de enteros a leer. El programa debe calcular el total de números pares, el total de números impares, y el promedio de todos los números. Respuesta: main() { int num,suma,ptotal,itotal,total,i; printf(“cantidad de números a procesar? ”); scanf(“%d”,&total); suma=0; ptotal=0; itotal=0; i=0; while (i
6.- La función ln x (logaritmo neperiano) puede aproximarse por Series de Taylor como sigue:
n
l n ( x+ 1) = ∑ ( (− 1)
k −1
k
x/
)k
k = 1
donde X es un número real entre -1 y 1, y n es un valor entero que indica el número de términos a considerar en Serie. Elabore un programa en C que tome como entrada el valor de X y de n, y produzca como salida la aproximación para la función ln (X+1). Utilice para ello un ciclo for. Respuesta: main() { int n,k; float x,potx,lnep ; printf(“x? ”); scanf(“%f”,&x); printf(“n? ”); scanf(“%d”,&n); lnep=0.0; potx=x; for (k=1; k