Está en la página 1de 5

#include <iostream>

#include <math.h>
#include<stdio.h>
#include<stdlib.h>

using namespace std;


int main()
{
char Resp1;
char Resp2; // Variable de Caracter
char N;
cout<<"Desea Realizar una Operacion?\n";
cout<<"Si Desea Realizar una Operacion Seleccione El Caracter: S\n";
cout<<"De lo Contrario Seleccione Cualquier Caracter Expecto: S\n";
cout<<"\n";
cin>>Resp1;
cout<<"\n";

while (Resp1=='S'){
Resp2=Resp1;
if (Resp2 == 'S'){

cout<< "Digite el Valor correspndiente a la Operacion a Realizar:


\n";
cout<< "A: Se Realizara la Operacion: (./Constante)\n";
cout<< "B: Se Realizara la Operacion: (./Suma)\n";
cout<< "C: Se realizara la Operacion: (./Resta)\n";
cout<< "D: Se realizara la Operacion: (./Producto)\n";
cout<< "E: Se realizara la Operacion: (./Division)\n";
cout<< "F: Se realizara la Operacion: (./Potencia)\n";
cout<< "G: Se realizara la Operacion: (./ln)\n";
cout<< "H: Se realizara la Operacion: (./Exp EN BASE E)\n";
cout<< "I: Se realizara la Operacion: (./Sin)\n";
cout<< "J: Se realizara la Operacion: (./Cos)\n";
cout<< "K: Se realizara la Operacion: (./Porcentaje)\n";
cout<< "L: Se realizara la Operacion: (./Angulo)\n";
cout<< "M: Se realizara la Operacion: (./gaus)\n";
cout<< "N: Se realizara la Operacion: (./Logn)\n";
cout<< "O: Se realizara la Operacion: (./Expn)\n";
cout<< "\n";
cin>>N;

if (N=='A'||N=='B'||N=='C'||N=='D'||N=='E'||N=='F'||N=='G'||N=='H'||
N=='I'||N=='J'||N=='K'||N=='L'||N=='M'||N=='N'||N=='O'){
double
x,dx,a,xy,dxy,y,dy,n,logx,dlogx,Teo,Exp,Error,theta,sum=0,prom,sigma,error,Const,Pr
od,dProd,EProd,dEProd; //Declaracion de Variables
switch (N){
case 'A':
cout<< "\nA: Se Ejecutara la Operacion: (./Constante)\n";
cout<< "Digite los parametros de: a x'\n";
cout<< "a ; x +- dx \n"; // Entrada de Datos
cout<<"\n";
cin>>a>>x>>dx;
cout<<"\n";
xy=a*x; // Mesurando Operacion
dxy=sqrt(a*a)*dx; // Error Operacion
cout<<"a x' = "<<xy<<" +- "<<dxy<<"\n"<<endl;
break;
case 'B':
cout<< "\nB: Se Ejecutara la Operacion: (./Suma)\n";
cout<< "Digite los parametros de: x' + y' \n";
cout<<"x +- dx ; y +- dy \n"; // Entrada de Datos
cout<<"\n";
cin>>x>>dx>>y>>dy;
cout<<"\n";
xy=x+y; // Mesurando Suma
dxy=sqrt((dx)*(dx)+(dy)*(dy)); // Error Suma
cout<<"x'+y' = "<<xy<<" +- "<<dxy<<"\n"<<endl;
break;
case 'C':
cout<< "\nC: Se Ejecutara la Operacion: (./Resta)\n";
cout<< "Digite los parametros de: x' - y' \n";
cout<<"x +- dx ; y +- dy \n"; // Entrada de Datos
cout<<"\n";
cin>>x>>dx>>y>>dy;
cout<<"\n";
xy=x-y; // Mesurando Resta
dxy=sqrt((dx)*(dx)+(dy)*(dy)); // Error Resta
cout<<"x'-y' = "<<xy<<" +- "<<dxy<<"\n"<<endl;
break;
case 'D':
cout<< "\nD: Se Ejecutara la Operacion: (./Producto)\n";
cout<< "Digite los parametros de: x'y' \n";
cout<<"x +- dx ; y +- dy \n"; // Entrada de Datos
cout<<"\n";
cin>>x>>dx>>y>>dy;
cout<<"\n";
xy=x*y; // Mesurando Producto
dxy=fabs(xy)*sqrt((dx/x)*(dx/x)+(dy/y)*(dy/y)); // Error
Producto
cout<<"x'y' = "<<xy<<" +- "<<dxy<<"\n"<<endl;
break;
case 'E':
cout<< "\nE: Se Ejecutara la Operacion: (./Division)\n";
cout<< "Digite los parametros de: x'/y' \n";
cout<<"x +- dx ; y +- dy \n"; // Entrada de Datos
cout<<"\n";
cin>>x>>dx>>y>>dy;
cout<<"\n";
xy=x/y; // Mesurando Division
dxy=fabs(x/y)*sqrt((dx/x)*(dx/x)+(dy/y)*(dy/y)); // Error
Division
cout<<"x'/y' = "<<xy<<" +- "<<dxy<<"\n"<<endl;
break;
case 'F':
cout<< "\nF: Se Ejecutara la Operacion: (./Potencia)\n"; //
Se pide una cantidad con error en x y la potencia a la que esta elevada
cout<< "Digite los parametros de: x'^n \n";
cout<<"x +- dx ; n \n"; // Entrada de Datos
cout<<"\n";
cin>>x>>dx>>n;
cout<<"\n";
xy=pow(x,n); // Mesurando Potencia
dxy=fabs(n*pow(x,n-1))*dx; // Error Potencia
cout<<"x'^n = "<<xy<<" +- "<<dxy<<"\n"<<endl;
break;
case 'G':
cout<< "\nG: Se Ejecutara la Operacion: (./ln)\n"; //
Logaritmo Natural
cout<< "Digite los parametros de: ln(x') \n";
cout<<"x +- dx \n"; // Entrada de Datos
cout<<"\n";
cin>>x>>dx;
cout<<"\n";
logx=log(x); // Mesurando Logaritmo Natural
dlogx=dx/x; // Error Logaritmo Natural
cout<<"ln(x') = "<<logx<<" +- "<<dlogx<<"\n"<<endl;
break;
case 'H':
cout<< "\nH: Se Ejecutara la Operacion: (./Exp EN BASE E)\n";
// Exponencial Base e
cout<< "Digite los parametros de: Exp(x') \n"; // Se
piden cantidades con error en x
cout<<"x +- dx \n"; // Entrada de Datos
cout<<"\n";
cin>>x>>dx;
cout<<"\n";
xy=exp(x); // Mesurando Exponencial
dxy=exp(x)*dx; // Error Logaritmo Natural
cout<<"Exp(x') = "<<xy<<" +- "<<dxy<<"\n"<<endl;
break;
case 'I':
cout<< "\nI: Se Ejecutara la Operacion: (./Sin)\n"; //
Sin(x'): Seno
cout<< "Digite los parametros EN RADIANES de: Sin(x') \n";

cout<<"x +- dx \n"; // Entrada de Datos


cout<<"\n";
cin>>x>>dx;
cout<<"\n";
xy=sin(x); // Mesurando Seno
dxy=fabs(cos(x))*dx; // Error Seno
cout<<"Sin(x') = "<<xy<<" +- "<<dxy<<"\n"<<endl;
break;
case 'J':
cout<< "\nJ: Se Ejecutara la Operacion: (./Cos)\n"; //
Cos(x'): Coseno
cout<< "Digite los parametros EN RADIANES de: Cos(x') \n";

cout<<"x +- dx \n"; // Entrada de Datos


cout<<"\n";
cin>>x>>dx;
cout<<"\n";
xy=cos(x); // Mesurando Coseno
dxy=fabs(sin(x))*dx; // Error Coseno
cout<<"Cos(x') = "<<xy<<" +- "<<dxy<<"\n"<<endl;
break;
case'K':
cout<< "\nK: Se Ejecutara la Operacion: (./Porcentaje) \n";
// Porcentaje
cout<< "Digite los parametros de: |(Teorico-
Experimental)/Teorico|*100 \n";
cout<<"Valor Teorico; Valor Experimental \n"; // Entrada de
Datos
cout<<"\n";
cin>>Teo>>Exp;
cout<<"\n";
Error=fabs((Teo-Exp)/Teo)*100; // Error Relativo Porcentual
cout<<"Er% = "<<Error<<"%"<<"\n"<<endl;
break;
case 'L':
cout<< "\nL: Se Ejecutara la Operacion: (./Angulo)
\n"; // Angulo
cout<< "Digite el parametro x(cm): Angulo= ArcCos(1-
x^2/2380.5) \n";
cout<<"x(cm) \n"; // Entrada de Datos
cout<<"\n";
cin>>x;
cout<<"\n";
theta=acos(1-x*x/2380.5)*180/3.141593; // Angulo
cout<<"Angulo = "<<theta<<" grados"<<"\n"<<endl;
break;
case 'M':
// sum: Suma de Datos
// prom: Promedio
// sigma: Desviacion estandar
// error: Error en la medida
// Z: Numero de Datos
{int Z;
cout<<"\nEl Valor Medio, La Desviacion Estandar y El Error
en la Medida \n";
cout<<"Numero de Datos: \n"; // Entrada de Datos
cout<<"\n";
cin>>Z;
cout<<"\n";
if(Z==1){
cout<<"Se debe introducir mas de un Dato \n";
exit(0);
};
double x[Z]; // Vector con los Datos
cout<<"Introduzca Datos: \n"; // Entrada de Datos
for(int i=0;i<Z;i++){ // Bucle de entrada de datos desde
pantalla
cin>>x[i];
};
cout<<"\n";
for(int i=0;i<Z;i++){ // Bucle para sumar los datos
sum=sum+x[i];
};
prom=sum/Z;
double cua=0; // Variable auxiliar para el calculo de la
desviacion estandar
for(int i=0;i<Z;i++){
cua=cua+(x[i]-prom)*(x[i]-prom);
};
sigma=sqrt(cua/(Z-1));
error=sigma/sqrt(Z);
cout<<"valor Medio (Mesurando) = "<<prom<<endl;
cout<<"Desviacion Estandar = "<<sigma<<endl;
cout<<"Error en la Medida = "<<error<<"\n"<<endl;
}
break;
case 'N':
cout<< "\nN: Se Ejecutara la Operacion: (./logn)\n";
cout<< "Digite los parametros de: logn x'\n";
cout<< "n ; x +- dx \n"; // Entrada de Datos
cout<<"\n";
cin>>n>>x>>dx;
cout<<"\n";
Const=1/log(n);
xy=log(x); // Mesurando Logaritmo Natural
dxy=dx/x; //Incertidumbre Logaritmo Natural
cout<<"logn x' = "<<Const*xy<<" +-
"<<Const*dxy<<"\n"<<endl;
break;
case 'O':
cout<< "\nO: Se Ejecutara la Operacion: (./Expn)\n";
cout<< "Digite los parametros de: Expn x'\n";
cout<< "n ; x +- dx \n"; // Entrada de Datos
cout<<"\n";
cin>>n>>x>>dx;
cout<<"\n";
Const=log(n);
Prod=Const*x;
dProd=fabs(Const)*dx;
EProd=exp(Prod);
dEProd=EProd*dProd;
xy=EProd; // Mesurando Exponencial Base e
dxy=Const*dx*EProd; // Incertidumbre Exponencial Base e
cout<<"Expn x' = "<<xy<<" +- "<<dxy<<"\n"<<endl;
break;
}
cout<<"Desea Realizar una Operacion?\n";
cout<<"\n";
cin>>Resp1;
cout<<"\n";
} else {
cout<<"\nEl Valor Ingresado no se Encuentra Definido \n";
cout<<"Seleccione un Valor Definido?\n";
cout<<"\n";
}
}
}
cout<<"\nNo se Realizara Ninguna Operacion \n";
cout<<"\n";
cout<<"ATENCION: Al Siguiente Enter el Programa se Cerrara Automaticamente \n";
cout<<"\n";
system("pause");
}

También podría gustarte