P. 1
Ejercicios do-while

Ejercicios do-while

|Views: 7.349|Likes:

More info:

Published by: Jair Reinaldo Jr Camacho Serrano on Sep 12, 2010
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as DOC, PDF, TXT or read online from Scribd
See more
See less

07/10/2013

pdf

text

original

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 la “corrida en frio” y diga cual es el resultado del programa Respuesta: suma = 10 b) escriba un programa equivalentes usando 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) escriba un programa equivalentes 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 ciclo sea ejecutado al menos una vez Respuesta: x, y diferentes, por ejemplo x=3,y=4, o x=5, y=2 b) El programa termine Respuesta: x = 5, y=5 (ambos iguales) termina porque no entra al ciclo. x=-3, y=3 termina en la primera vuelta pues x cambia de signo. c) El programa caiga en ciclo infinito. 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<y. Si x=5, y=2, en cada vuelta x =y+M =2+3=5. Si x=-5, y=-2, en la primera vuelta x cambia de signo, y luego se queda en x=-2+1=-1

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<n; i++) serie+=(1/i); printf(“serie=%f”,serie); } 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<total) { scanf(“%d”,&num); if (num%2==0) /* Es par */ ptotal++; else itotal++; suma+=num; i++; } printf(“total de pares=%d”,ptotal); printf(“total de impares=%d”,itotal); printf(“promedio=%f”,suma/total); } 6.- La función ln x (logaritmo neperiano) puede aproximarse por Series de Taylor como sigue:

ln(x + 1) = ∑ ((− 1) k −1 x k / k )
k =1

n

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<n; k++) { lnep+=potx/k ; potx*=(-1)*x; } printf(“ln(x+1)=%f”,lnep); }

You're Reading a Free Preview

Descarga
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->