domingo, 27 de octubre de 2013

Solución de ecuaciones cuadráticas atreves de la formula general (chicharronera).

 

Primero hay que saber de que se trata esta formula , donde el discriminante juega un rol importante ,  para esto me apoyare en Wikipedia .
 
 

x = \frac{-b \pm \sqrt {b^2-4ac}}{2a}

 
 
En la fórmula anterior, la expresión dentro de la raíz cuadrada recibe el nombre de discriminante de la ecuación cuadrática. Suele representarse con la letra D o bien con el símbolo Δ (delta):
\Delta = b^2 - 4ac.\,
Una ecuación cuadrática con coeficientes reales tiene o bien dos soluciones reales distintas o una sola solución real de multiplicidad 2, o bien dos raíces complejas. El discriminante determina la índole y la cantidad de raíces.
  • Dos soluciones reales y diferentes si el discriminante es positivo (la parábola cruza dos veces el eje de las abscisas: X):
\frac{-b + \sqrt {\Delta}}{2a} \quad\text{y}\quad \frac{-b - \sqrt {\Delta}}{2a}.
  • Una solución real doble si el discriminante es cero (la parábola sólo toca en un punto al eje de las abscisas: X):
-\frac{b}{2a} . \,\!
  • Dos números complejos conjugados si el discriminante es negativo (la parábola no corta al eje de las abscisas: X):
 \frac{-b}{2a} + i \frac{\sqrt {-\Delta}}{2a}, \quad\text{y}\quad \frac{-b}{2a} - i \frac{\sqrt {-\Delta}}{2a},
donde i es la unidad imaginaria.
En conclusión, las raíces son distintas si el discriminante es no nulo, y son números reales si –sólo si– el discriminante es no negativo.


 
Ejemplo del signo del discriminante:
< 0: no posee soluciones reales;
= 0: posee una solución real (multiplicidad 2);
> 0: posee dos soluciones reales
distintas.
 
 
 
 


domingo, 22 de septiembre de 2013

Matriz Inversa C++ y puedes correjir si te equivocas.

  


                   Aqui les dejo el codigo para resolver un sistema de ecuaciones atravez de la matriz inversa , es practicamente lo mismo que gauss de hecho solo le cambie unas cosillas al de Gauss Jordan y agrege otras , como crear una matriz del doble de tamaño que la que se captura , para poner la que se captura del lado derecho y hacer el mismo proceso de   Gauss ya en el codigo lo veran ...
                   Nota una de las funciones se llama determinante realmente no calcula la determinante , si no que solo realiza la primer suma del primer renglon mas los demas , y si el resultado es cero , pues te dice que su determinante es cero....







         Sialgo falla comenten.

 
 











Newton Raphson Analisis Numerico


 
 
 
 
NEWTON - RAPHSON
 
 
 
 
           Esta es una practica para análisis numérico acá en el IPN , realiza las iteraciones para el método de Newton Raphson. Son 3 ecuaciones ya definidas y tienen un bosquejo de su grafica , espero sirva para pasar laboratorio , igualmente esta validado .



                                                          Asi se debe de ver Click Aqui



 
 
 



 

jueves, 6 de junio de 2013

Hacer un menu C++ , usando switch , do while



Aqui apliqueremos el bucle do while , y switch para poder generar nuestro menu de 4 opciones , siendo la opcion 4 salir .

la estructura del do while es la siguiente

do{                                                          /// donde se encuentre el do es a donde nos va a regresar el bucle
.                                                              /// hasta que se cumpla la condicion.
.
instrucciones
.
.
} while(condicion) ;                                /// dentro del parentesis va la condicion .



El switch funsiona de la sig manera , tomemos nuestro ejemplo para explicar .


switch (opc)                      /// el switch recibe opc , que viene siendo la opcion elejida por el usuario
{
       case 1:                       /// dependiendo de lo que se le asigne a opc , es decir la opcion elejida
            acuadro();             // se va a ejecutar el caso .
            break;                   // el break lo unico que hace es romper el ciclo para que no se indetermine.
       case 2:
            arectangulo();
            break;
       case 3:
            atriangulo();          
            break;
}




ASI SE ESTARIA VIENDO EL EXE --> 





sábado, 1 de junio de 2013

Gauss Jordan C++ , nxn sin errores y "validado"


   El detalle de ayer del 0 ya lo correji , y lo de las validaciones igual ya quedo , al decrir validaciones , me refiero a que si presionas un caracter que no sea un numero , no se cierre el programa o se ejecute "infinitamente" .




Asi se deberia visualizar el ejecutable :







jueves, 2 de mayo de 2013

Convertir una cadena de caracteres a entero ,flotante o double.


Para convertir de una cadena de caracteres "char" a un entero se usa "atoi" , para convertir a "flota" o a "double" se usa "atof".

El "cout.precision" es el numero de cifras que nos va arrojar el ejecutable contando enteros y decimales.



CODIGO COMPLETO.


#include<iostream.h>
#include<conio.h>

using namespace std;

int main ()
{
double a1,b1,d, c;
char a[50],b[50];
long r;

cout<<"\n\n    Convertir una cadena de caracteres a int ,float o double, sumarlos y utilizar cout.precision";
cout<<"\n\n  Captura numero a sumar :";
cin>>a;
a1=atof(a);
cout<<"\n\n  Captura numero a sumar :";
cin>>b;
b1=atof(b);
cout<<"Numero de cifras :";
cin>>d;
c=a1+b1;
cout.precision(d);
cout<<"\n\n    La suma es : "<<c;
getch();
}




Descarga Dev completo con grficos





Aqui les dejo el link para que descarguen el dev si es que no lo tienen , me lo paso un profesor , y es el que utilizo , funciona de maravilla en en windows 7 

 Solo hay que descargar , descomprimir , abrir la carpeta Dev Cpp , install y ejecutar el set up
 
Descarga Dev completo en español




miércoles, 1 de mayo de 2013

Hacer Tu Propia Biblioteca en c++



Vamos a generar nuestra propia bibioteca. Es demasiado sencillo y se ilustrara con imagenes . Para nuestra biliioteca meteremos las funciondes de suma() de n numeros y la funcion portada().




1.- Creamos un archivo nuevo y ponemos nuestras funciones


#include <iostream.h>
#include <conio.h>

using namespace std;

void portada ()
{
cout<<"\n\n                    INSTITUTO POLITECNICO NACIONAL ";
cout<<"\n\n           Escuela Siperior de Ingenieria Mecanica y electrica";
cout<<"\n\n                            ESIME Zacatenco";
cout<<"\n\n              Ingenieria en Comunicaciones y Electronica";
cout<<"\n\n                       Academia de Computacion";
cout<<"\n\n                       Sistemas de Ecuaciones";
cout<<"\n\n                           GAUSS JORDAN";
cout<<"\n\n                   M. en C.  XXXXXXXXXXXXXXXXXX";
cout<<"\n\n                             Gpo : 4CV7";
cout<<"\n\n   Elaboracion : Tovar Perez Juan      Bol. 1989302159";
getch ();    
}



int suma(int *a,int n)
{
int r=0,i;

for(i=0;i<n;i++)
{
cout<<"\n Teclee el "<<i+1<<"o entero a sumar : ";
cin>>a[i];
r=r+a[i];
}
return (r);   
}







2.- Guardamos el archivo en la carpeta include del compilador dev, para esto hay que saber donde rayos se guardo el dev , por lo general se instala en C:/Archivos de Programa ,

  Archivo >> Guardar >>Equipo>>(C:)>>Dev-Cpp>>Include


     - Le damos click en tipo : y seleccionamos Header Files (*h;*hpp;*rh;*hh)
     - Ponemos el nombre y guaradar.











3.-por ejemplo para llamar a nuestra portada portada solo seria el sig codigo


#include<biblio.h>
using namespace std;

int main ()
{
portada();

}

Funcion Suma de "n" elementos en C++







     Esta funcion de n sumas , es muy util porque aqui ya aplicas los apuntadores que ahhh como pasan a fastidiar a un principio cuando no tienes ni idea de como funcionan , y pues cuando usas apuntadores es el paso por referencia , asi que pues en esta funcion si voy a tratar de explicar como funciona el codigo .




#include <iostream.h>
#include <conio.h>

using namespace std;


int suma(int *a,int n) 
{                       
indicaciones
                              
          







Primero tenemos que definir el tipo de funcion que vamos a generar o recibir, eneste caso creamos una funcion de tipo entero "int" ya que va a retornar el valor de la suma en tipo entero, despues el nombre de la funcion ,"suma" ,y entre los parentesis "()" , los tipos de valores que recibe la funcion , un apuntador(o vector) , y el numero de elementos a sumar . 

Para entender un poco mejor la similitud de vectores y apuntadores , recordemos que estos pueden ser de diferentes tipos , int , double , float , char ......
Ej
*a    =    a[?]
**a  =    a[?][?]
***a=    a[?][?][?] 

 
****** tipo de valor  Nombre de la Funcion (tipo a ,tipo b ,tipo  c,......)
{
indicaciones







Ahora pasaremos al contenido de la funcion , esto es mas sencillo de entender


int suma(int *a,int n)
{
int r=0,i;               //  'i' va ser el controlador del for , incializamos r con 0 , porque sera un contador

for(i=0;i<n;i++)   // Aqui dice : 'i' empieza en 0 ,  menor que n , incrementara de 1 en 1
{
cout<<"\n Teclee el "<<i+1<<"o entero a sumar : ";  
cin>>a[i];
r=r+a[i];                // Estes es el contador , 'i'=0 seria : 0= 0 + a[0] , suponiendo que a[0] es 2 , r =0+2 ,
}                           //                           para 'i'=1 seria:  2=2 + a[1] , suponiendo que a[1] es 4 , r = 2+4
return (r);             // y como la suma se guardo en el contador 'r' , entonces regresamos el valor de r
}




El main es todavia mas sencillo

int main ()
{
int a[50],c,n;     // Realmente No hay funciones de n numeros ya que nosotros limitamos en este caso a 50   
system("cls");
cout<<"\n\n\n                   SUMA DE 'n' NUMEROS ENTEROS";
cout<<"\n\n Cantidad de numeros a sumar : ";
cin>>n;
cout<<"\n\n";
c=suma(a,n);                               // a 'c' se le va asignar el valor que retorne 'r' de nuestra funcion 'suma'
cout<<"\n\n\n  SUMA : "<<c;      /// que recibe el vector para generar la suma y el numero de elementos
getch();
return 0;
}


Descargar Cpp de la Funcion suma de n elementos

CODIGO COMPLETO



#include <iostream.h>
#include <conio.h>

using namespace std;

int suma(int *a,int n)
{
int r=0,i;

for(i=0;i<n;i++)
{
cout<<"\n Teclee el "<<i+1<<"o entero a sumar : ";
cin>>a[i];
r=r+a[i];
}

return (r);   
}

int main ()
{
int a[50],c,n;
system("cls");
cout<<"\n\n\n                   SUMA DE 'n' NUMEROS ENTEROS";
cout<<"\n\n Cantidad de numeros a sumar : ";
cin>>n;
cout<<"\n\n";
c=suma(a,n);
cout<<"\n\n\n  SUMA : "<<c;
getch();
return 0;
}

Funcion Suma C++




 La funcion suma , resta , multiplicacion y division son de las practicas mas solicitadas en laboratorio haciendo un paso por valor . 

#include <iostream.h>
#include <conio.h>

using namespace std;

int suma(int a, int b)
{
int r;
r=a+b;
return (r);   
}

int main ()
{
int a,b,c;
system("cls");
cout<<"\n\n\n         SUMA DE 2 NUMEROS ENTEROS";
cout<<"\n\n Teclee un Numero entero : ";
cin>>a;
cout<<"\n\n Teclee otro Numero entero : ";
cin>>b;
c=suma(a,b);
cout<<"\n\n\n  SUMA:\n\n   "<<a<<"\n + "<<b<<"\n  ------\n   "<<c;
getch();
return 0;
}






Funcion Portada en c++

      
 



          Es la funcion mas basica que se nos pide en Fundamentos de Programacion , y por lo general es con lo que nos piden todos los profs. que inicie cada practica .
          El codigo esta en dev c++






#include <iostream.h>
#include <conio.h>

using namespace std;



void portada ()
{
cout<<"\n\n                    INSTITUTO POLITECNICO NACIONAL ";
cout<<"\n\n           Escuela Siperior de Ingenieria Mecanica y electrica";
cout<<"\n\n                            ESIME Zacatenco";
cout<<"\n\n              Ingenieria en Comunicaciones y Electronica";
cout<<"\n\n                       Academia de Computacion";
cout<<"\n\n                       Sistemas de Ecuaciones";
cout<<"\n\n                           GAUSS JORDAN";
cout<<"\n\n                   M. en C.  XXXXXXXXXXXXXXXXXX";
cout<<"\n\n                             Gpo : 4CV7";
cout<<"\n\n   Elaboracion : Tovar Perez Juan      Bol. 1989302159";
getch ();    
}


int main ()
{
portada();
return 0;
}