Sei sulla pagina 1di 3

Programa para resolver una ecuacin de segundo grado Especificacin del programa.

Se necesita desarrollar un programa con el cual se pueda calcular de manera sencilla y rpida las ecuaciones de una ecuacin de segundo grado con lo que el usuario no tendr que tardarse varios minutos para encontrar los valores de las incgnitas.

Pruebas de escritorio Si en este programa algun elemento claro escrito en este diagrama de flujo llegase a presentar problemas podemos encontrar que si alguno de los tres valores que se le an asignado auna de nuestras variables es incorrecto o en su defecto algun algoritmo dentro de este programa pueda fallar podemos encontrar que la principal fuente del problema es en la planeacin de la ecuacin como tal cualquier otro problema o error que presente el programa puede deberse a fallas dentro de las variables asignadas o valores absolutos Programa #include<stdio.h> #include<math.h> main () { int a,b,c; float disc,x,x1,x2,x1r,x1i,x2r,x2i; char resp; do { printf("inroduce los valores de los coeficientes \n"); printf("a=");scanf("%d",&a); printf("b=");scanf("%d",&b); printf("c=");scanf("%d",&c);

if(a==0) { if(b==0) { if(c==0)printf("no existe ecuacion a=b=c=0\n"); else printf("ecuacion mal planteada a=b=0\n",b,c); } else { if(c==0) printf("ecuacion de primer grado %dx=0 solucion x=0\n",b); else { printf("ecuacion de primer grado %dx+%d=0\n",b,c); x=-c/b; printf("solucion x=%.2f\n",x); } } } else { if(b==0) { if(c==0)printf("ecuacion incompleta %dx^2 solucion x1=x2=0\n",a); else { disc=-c/a; if (disc<0) { disc=-disc; x=sqrt(disc); printf("ecuacion incompleta %dx^2+%d=0\n",a,c); printf("soluciones imaginarias x1=%.2fi,x2=%.2fi\n",x,-x); } else { x=sqrt(disc); printf("ecuacion incompleta %dx^2+%d=0\n",a,c); printf("soluciones reales x1=%.2f,x2=%.2f\n",x,-x); } } } else { if(c==0) printf("ecuacion %dx^2+%dx=0\tsoluciones x1=0 y x2=%.2f\n",a,b,x); else { disc=b*b-4.0*a*c; if(disc<=0)

incompleta

{ if(disc==0) printf("ecuacion %dx^2+%dx+%d=0\tsoluciones reales e iguales x1=x2=%.2\n"); else { disc=-disc; x1r=b/(2*a);x1i=sqrt(disc)/(2.0*a);x2r=-b/(2*a);x2i=sqrt(disc)/(2.0*a); printf("ecuacion %dx^2+%dx+%d=0\tsoluciones complejas",a,b,c); printf("x1=%.2f+%.2fi y x2=%.2f-%.2fi",x1r,x1i,x2r,x2i); } } else { x1=(-b+sqrt(disc))/(2*a);x2=(b-sqrt(disc))/(2.0*a); printf("ecuacion %dx^2+%dx+%d=0\tsoluciones reales",a,b,c); printf("x1=%.2f y x2=%.2f",x1,x2); } } } } printf("si quieres continuar teclea s"); resp=getch(); }while(resp=='s'); }

Potrebbero piacerti anche