1.-Realizar un programa que resuelva una ecuacin de segundo grado.
Pseudocdigo INICIO a0 b0 c0 x10 x20 real0 imaginaria0 IMPRIMIR 'Programa que resuelve una ecuacin de segundo grado' IMPRIMIR 'Escribe el valor del coeficiente A' LEER a IMPRIMIR 'Escribe el valor del coeficiente B' LEER b IMPRIMIR 'Escribe el valor del coeficiente C' LEER c d=b*b-4*a*c SI d>0 entonces x1=(-b+sqrt d) / 2a x2=(-b-sqrt d) / 2a IMPRIMIR 'Existen dos raices reales: x1,x2 SI d<0 entonces real=-b/2a imaginaria=sqrt -d / 2a IMPRIMIR 'Existen dos raices complejas:' IMPRIMIR 'x1=real+imaginaria x2=real-imaginaria SI NO x1=-b / 2a IMPRIMIR 'Las dos races son iguales x1=x2 FIN SI FIN SI FIN SI FIN Cdigo fuente #include<stdio.h> //Librera de entrada y salida estndar #include<math.h> //Librera que contiene operaciones matematicas #include<conio.h> //Libreria que incluye getch main(void){ float a,b,c,d; //Indica que las variables utilizadas son fraccionarias float x1,x2,real,imaginaria; printf("Programa que resuelve una ecuacion de segundo grado\n\n"); //Ttulo del programa printf("Escribe el valor del coeficiente A\n"); //Indica al usuario lo que debe realizar scanf("%f",&a); //Lee el valor escrito printf("Escribe el valor del coeficiente B\n"); scanf("%f",&b); printf("Escribe el valor del coeficiente C\n");
scanf("%f",&c); d=b*b-4*a*c; //Se calcula el discriminante b^2-4ac if(d>0.0){ //Si el discriminante es positivo x1=((-b+(sqrt(d)))/(2*a)); //Se calculan las dos races,x1 y x2 x2=((-b-(sqrt(d)))/(2*a)); printf("\nExisten dos raices reales: \nx1=%f\nx2=%f\n",x1,x2); } else if(d<0){ //Si el discriminante es negativo real=-b/(2*a); imaginaria=sqrt(-d)/(2*a); printf("\nExisten dos raices complejas:\n"); printf("x1=%f+%fi\n x2=%f-%fi\n",real,imaginaria,real,imaginaria); } else{ //Si el discriminante es cero x1=-b/(2*a); printf("\nLas dos raices son iguales\n x1=x2=%f\n",x1); } getch(); //Para que la pantalla permanezca esttica }
/*Este programa resuelve ecuaciones de segundo grado usando una funcin denominada ecuacionator*/ #include <stdio.h> #include <math.h> float discrim; /*El discriminante es el nmero que queda dentro de la raz*/ /*La funcin ecuacionator devuelve 0 si la ecuacin no tiene solucin*/ float ecuacionator(float a, float b, float c) { discrim=((b*b)-(4*a*c)); if (discrim<=0) return 0; else return discrim; } int main () { float a=0, b=0, c=0; printf("Vamos a resolver una ecuacin del tipo ax+bx+c=0n"); printf("nIntroduce el valor de a: "); scanf("%f", &a); printf("nIntroduce el valor de b: "); scanf("%f", &b); printf("nIntroduce el valor de c: "); scanf("%f", &c); if (ecuacionator(a, b, c)==0) printf("La ecuacin no tiene solucin"); if (ecuacionator(a, b, c)!=0) { float num1, num2; /*Los dos numeradores*/ float den; /*El denominador*/ float solucion1, solucion2; /*Las 2 soluciones*/ num1= (-b + sqrt(discrim)); num2= (-b - sqrt(discrim)); den=2*a; solucion1=num1/den; solucion2=num2/den; printf("nLa primera solucin es %f", solucion1); printf("nLa segunda solucion es %f", solucion2); printf("n"); } return 0; }