martes, 13 de febrero de 2007

Programación

INTRODUCCIÓN

Esta es una nueva seccion donde escribiré mis aventuras en la clase de progra 2 (métodos númericos) que algunos de mis amigos poco les interesara (los que saben programar) y si dejan un comentario sera para regañarme jajajaja por eso esta sección esta dedicada a todas las personas que como yo comienzan a aprender "C".

Raíces de una ecuación cuadrática.

La forma estándar de una ecuación cuadrática o de segundo grado en "x" es:

ax^2+bx+c=0

y se nos pide obtener las raíces mediante la formula general:


Naturaleza de las raíces.

Esta depende del valor del discriminante (b^2-4ac)

Discriminante Naturaleza de las raices

  1. b^2 - 4ac = 0 Hay una raíz real -b/2a
  2. b^2 - 4ac > 0 Hay dos raíces reales distintas
  3. b^2 - 4ac <>
El tercer caso sucede por que la raíz cuadrada de un numero negativo recibe el numero de complejo o imaginario, ie, si se tiene la raíz cuadrada de -4 es igual a 2i donde la "i" es la raíz cuadrada de "-1".

Consejos de programación.

Lo primero que se debe de hacer después de declarar las variables que necesitas (a, b, c, discriminante, x1 y x2) y pedir los valores de a, b y c es sacar el valor del discriminante para obtener la naturaleza de las raíces.

discriminante = b*b - 4*a*c;

Después hacer un caso para cada opción que resolví con ayuda de la sentencia "if".

if (discriminante==0)
{
Aquí ya que el discriminante es cero solo tienes que obtener el resultado de -b/2a por que solo se obtiene una raíz
} else
if (discriminante>0)
{
En este caso se obtienen dos raíces x1 = (-b+sqrt(discriminante))/2*a; y
x2 = (-b-sqrt(discriminante))/2*a;

} else
{

Aquí opte por sacar cada raíz en dos partes su parte real +/- su parte imaginaria, donde la parte real es "-b/(2*a)" y la parte imaginaria es la raíz cuadrada del número negativo.
x1 = la parte real + la parte imaginaria x2 = la parte real - la parte imaginaria

}

Ayuda al momento de compilar

En este programa se usa la librería "math.h" y ya que los programas se hacen en Linux es necesario poner -lm ej. $ gcc nombredelprograma.c -o nombredelprograma.exe -lm

Si colocas:

...
void main (void)
{
//código
}

te aparecerá nombredelprograma.c:numero de linea: warning: return type of 'main' is not 'int'
esto es por que la función "main" debe devolver un entero, esto se soluciona con:

...
int main (void)
{
//codigo
return 0; //antes del final de la función main
}

Nota1: Si no me explique bien o te quedaron dudas sobre la formula general consulta este sitio.

Nota2: Por si no te has dado cuenta aquí no obtendrás el código de los programas solo una sugerencia de tantas con la que puedes resolverlos, pero si quieres puedes preguntar dejando un comentario y si puedo te ayudare con gusto, también puedes opinar o dar otras soluciones a estos problemas.

Nota3: El signo de "$" no se escribe en la terminal.

No hay comentarios.:

Publicar un comentario