CONDICIONAL SWITCH


INTRODUCCIÓN

Los condicionales Switch, son una estructura de control condicional, que permite definir múltiples casos que puede llegar a cumplir una variable cualquiera, y qué acción tomar en cualquiera de estas situaciones, incluso es posible determinar qué acción llevar a cabo en caso de no cumplir ninguna de las condiciones dadas.
En ésta ocasión sera aplicado al tema de energía potencial eléctrica


OBJETIVOS
  • Obtener conocimientos básicos del lenguaje de programación c++ en el temas "switch"
  • Aplicar conocimientos básicos de energía potencial eléctrica al lenguaje de programación


MARCO TEÓRICO

SWITCH CASE
Switch case es una estructura de control empleada en programación. Se utiliza para agilizar la toma de decisiones múltiples; trabaja de la misma manera que lo harían sucesivos if, if else o until anidados, así como combinaciones propias de determinados lenguajes de programación.

El switch no es tan popular como el if, pero se utiliza con regularidad en la programación. En principio la funcionalidad de un switch también se puede implementar con múltiples if anidados. En el caso de que haya muchas acciones dependientes de muchos valores iniciales, es recomendable su uso. El switch favorece la legibilidad y rapidez en la programación.
La sintaxis de un condicional Switch es bastante distinta a la de un condicional típico, sin embargo es bastante intuitiva y fácil de comprender, es solo cuestión de acostumbrarse. Veamos a continuación la estructura general de un condicional Switch y luego unos cuantos ejemplos.
switch(opción) //donde opción es la variable a comparar
{
case valor1: //Bloque de instrucciones 1;
break;
case valor2: //Bloque de instrucciones 2;
break;
case valor3: //Bloque de instrucciones 3;
break;
//Nótese que valor 1 2 y 3 son los valores que puede tomar la opción
//la instrucción break es necesaria, para no ejecutar todos los casos.
default: //Bloque de instrucciones por defecto;
//default, es el bloque que se ejecuta en caso de que no se de ningún caso
}




ENERGÍA POTENCIAL ELÉCTRICA

Si tenernos un campo etéctrico uniformecreado por una carga Q, podemos calcular el trabajo que realzamos para trasladar otra carga Q' de un punto B a otro A. Este trabajo equivaldrá (cambiado de signo) a ta diferencia de energía potencial eléctrica entre estos dos puntos.



A diferencia del campo gravitatorio,  la fueza F no es constante a lo largo de todo el desplazamiento;
por lo tanto, integrando la expresión anterior, obtenemos:

Si definimos la energía potencial eléctrica en un punto como el trabajo cambiado de signo necesario
para llevar la carga desde el exterior det campo (∞) hasta este punto, tenemos:

El potenciat eléctrico (V) en un punto es eL trabajo (cambiado de signo) que hay que hacer
para vencer las fuezas del campo eléctrico, para trasladar la unidad de carga positiva desde el infinito hasta este punto. Caracteriza los distintos puntos del espacio y es independiente de la carga.


Esto equivale al cociente entre la energía potencial eléctrica de una carga Q' colocada en este punto y la carga Q', es decir la energía potencial eléctrica por unidad de carga.





DESARROLLO

A continuacion tendremos un problema modelo para aplicarlo en un programa codificado por c++


Teniendo el problema modelo, pasamos a codificar el programa:

#include <iostream>
#include <stdlib.h>
#include <math.h>
using namespace std;
int main()
{
int o1, o2, o3, o4;
float q1, q2, r1, r2, v1, v2, va;
float const k=9*pow(10,9);
cout<<"constante k = "<<k<<" N(m/c)^2\n";
cout<<"ingrese el valor de la primera carga: ", cin>>q1;
cout<<"opciones:\n1. carga en coulomb\n2. carga en milicoulomb\n3. carga en microcoulomb\nseleccione una opcion: ";
cin>>o1;
switch (o1)
{
case 1:
cout<<q1<<" C";
break;
case 2:
cout<<q1<<" mC\n";
q1=q1*pow(10,-3);
cout<<q1;
break;
case 3:
cout<<q1<<" uC\n";
q1=q1*pow(10,-6);
cout<<q1;
break;
default:
cout<<"no es una opcion, reinicie el programa";
}
cout<<"\ningrese el valor de la segunda carga: ", cin>>q2;
cout<<"opciones:\n1. carga en coulomb\n2. carga en milicoulomb\n3. carga en microcoulomb\nseleccione una opcion: ";
cin>>o2;
switch (o2)
{
case 1:
cout<<q2<<" C";
break;
case 2:
cout<<q2<<" mC\n";
q1=q1*pow(10,-3);
cout<<q2;
break;
case 3:
cout<<q2<<" uC\n";
q2=q2*pow(10,-6);
cout<<q2;
break;
default:
cout<<"no es una opcion, reinicie el programa";
}
cout<<"\ningrese el valor de la primera distancia: ", cin>>r1;
cout<<"opciones:\n1. distancia en kilometros\n2. distancia en metros\n3. distancia en milimetros\nseleccione una opcion: ";
cin>>o3;
switch (o3)
{
case 1:
cout<<r1<<" Km\n";
r1=r1*pow(10,3);
cout<<r1;
break;
case 2:
cout<<r1<<" m";
break;
case 3:
cout<<r1<<" mm\n";
r1=r1*pow(10,-3);
cout<<r1;
break;
default:
cout<<"no es una opcion, reinicie el programa";
}
cout<<"\ningrese el valor de la segunda distancia: ", cin>>r2;
cout<<"opciones:\n1. distancia en kilometros\n2. distancia en metros\n3. distancia en milimetros\nseleccione una opcion: ";
cin>>o4;
switch (o4)
{
case 1:
cout<<r2<<" Km\n";
r2=r2*pow(10,3);
cout<<r2;
break;
case 2:
cout<<r2<<" m";
break;
case 3:
cout<<r2<<" mm\n";
r2=r2*pow(10,-3);
cout<<r2;
break;
default:
cout<<"no es una opcion, reinicie el programa";
}
v1=k*q1/r1;
cout<<"\nel valor del potencial 1 es: "<<v1<<" V";
v2=k*q2/r2;
cout<<"\nel valor del potencial 2 es: "<<v2<<" V";
va=v1+v2;
cout<<"\n\nel potencial en el punto A es: "<<va<<" V"<<endl;
system ("pause");

}








CONCLUSIÓN

Como podemos apreciar, el programa funciona correctamente y es posible desarrollar ejercicios de este tipo.

El condicional switch hace mucho mas fácil la toma de desiciones cuando hay mas de dos opciones


BIBLIOGRAFÍA

  • https://www.programarya.com/Cursos/C++/Condicionales/Condicional-Switch

  • https://es.wikipedia.org/wiki/Switch_case

  • Electrotecnia - Vallcorba, Roncal & Arias - 1ed

  • http://es.stackoverflow.com/questions/14969/c-stdendl-vs-n

  • https://adolfredobelizario.wordpress.com/2012/06/19/tutorial-5-lenguaje-c/

1 comentario: