calculadora para el metodo de simpson

Páginas: 11 (2669 palabras) Publicado: 11 de junio de 2014
//calculadora
#include
#include
#include
#include
#include
#include
#include
#include
#define tamano 50

# define N

100

# define error

-99

#define aceptacion 110
#define FDC '\0'

/* clases que seran las pilas necesarias para la transformacion a forma
polaca y la cola que contendra la forma polaca */
class Pila_val
{
private:
double *valores;
int tope;public:
Pila_val(int n){ valores = (double*)calloc(n,sizeof(double));
tope = -1;}

~Pila_val(){ free(valores);}
void push(double val)
{ valores[++tope] = val;}
double pop()
{ return valores[tope--];}
int vacia()
{return tope == -1;}
void clean()
{ tope = -1;}
};
struct pila_cola {
char token[30]; // Tendra el operando de la formula o el numero
int prioridad; // tendra la prioridaddel operando
char tipo[10]; // sera el tipo: unario o binario
};

class Pila_opers
{
private:
pila_cola *opers;

int tope;
public:
Pila_opers(int n){ opers = (struct pila_cola*)calloc(n,sizeof(pila_cola));
tope = -1;}
~Pila_opers(){ free(opers);}

void push(struct pila_cola val)
{ opers[++tope] = val;}
struct pila_cola pop()
{return opers[tope--];}
struct pila_cola cima(){return opers[tope];}
int vacia()
{

return tope == -1; }

void clean()
{ tope = -1; }
};

// La clase Cola contendra la forma polaca, y la formula ya separada ademas de colas
// auxiliares de la grafica , la integral y la de newton.

class Cola
{
private:
pila_cola *oper;

public:

int frente,fin;
Cola(int n){ oper = (struct pila_cola*)calloc(n,sizeof(struct pila_cola));
frente =0; fin = 0;}

~Cola(){ free(oper);}
void meter(char *opera,char *prioridad,char *tipo)
{
strcpy(oper[fin].token,opera);
oper[fin].prioridad = atoi(prioridad);
strcpy(oper[fin++].tipo,tipo);
}
void meter(struct pila_cola operad)
{oper[fin++] = operad;}
struct pila_cola sacar()
{ return oper[frente++];}
void back()
{ frente = 0;}
int vacia()
{ return frente == fin;}
void clean()
{frente = fin = 0x00;}
};
typedef Cola

*COLA;

typedef Pila_val

*Pila_Val;

typedef Pila_opers

enum entradas{
punto, //0
signos, //1
digito, //2

*Pila_Opers;

opers, //3
fact, //4
a,

//5

c,

//6

e,

//7

f,

//8

g,

//9

i,

//10

l,

//11

n,

//12

o,

//13

p,

//14

r,

//15

s,

//16

t,

//17

w,

//18

x,//19

z,

//20

coma, //21
apertura,//22
cierre, //23
fdc,

//24

otro, //25
};

// estas banderas se utilizaran solo para las funciones trigonometricas

int esIntegral = 0,esNewton = 0,Variable_x = 0;
int esGrafica = 0, radianes = 1, grados = 0; // radianes por default
// la bandera esGrafica indicara que si se utiliza el comando 'grafica('
// y se estan utilizandofunciones trigonometricas, aumente el zoom
// multiplicado por 100, dado que estas funciones sus valores oscilan
// entre 1 y 0; y el zoom por default es el mismo que la pantalla
// una coordenadoa por pixel de la pantalla.
int errorc = 0,puntos = 0;
char form[100];
char *tokens [][50] =
{
// lenguaje para introducir las formulas
","
"ans"

, "-1" , "util",
, "-1" , "util",

"pi"

,"-1" , "util",

"x"

, "-1" , "util", // variable x para calcular

"integral(" , "-1" , "util",
"newton(" , "-1" , "util",
"grafica(" , "-1" , "util",
"("

, "-1" , "util",

")"

, "-1" , "util",

"ñ"

,

"^"
"ý"

,
, "6"

"5"

, "unario",

"5" , "binario",

/* signo menos [Alt-241] */

/* potencia [Alt-94] */

, "unariopos", /* cuadrado [Alt-252] */

//unariopos; tiene mayor priorodad que le unario normal
"!"

,

"6"

, "unariopos",

"©"

,

"4"

, "binario",

"ln"

,

"4"

, "unario",

"log"

,

"e"

"4" , "unario",
,

"4"

// unario antes del numero

/* logaritmo base 10 */

, "unario",

"sen"

, "4" , "unario",

"cos"

,

"4"

, "unario",

"tan"

,

"4"

, "unario",

"asen"

,

"4"...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Métodos para calcular el pib
  • METODOS PARA CALCULAR AREAS
  • metodos para calcular pib
  • Método para Calcular Subredes
  • Calculo Del Error Para Métodos
  • metodos para calcular el pib
  • metodo para calculo de metas
  • Metodos para calcular poblacion

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS