Ir al contenido principal

Entradas

Diagrama de Transición para números en Notación Científica (1.5e-10)

Si en el anterior post mostraba la expresión regular necesaria para representar patrones correspondientes a números expresados en notación científica, en esta ocasión quiero mostrar como sería el diagrama de transición necesario, para que un autómata sea capaz de analizarlo. En la imagen siguiente podéis ver tanto el diagrama de transición como la expresión regular correspondiente: Podríamos expresarlo con alguna variante, pero para entender el concepto general del diagrama de transición creo que es más que suficiente.

Expresión Regular para números en Notación Científica (1.5e-10)

No cabe duda que las expresiones regulares tienen un potencial de mucho valor a la hora de analizar textos, ya sea para marcado, búsqueda de patrones, o incluso la programación de un compilador, un analizador de frases, de expresiones matemáticas, etc.   En esta ocasión he tenido que echar mano de ellas para el análisis de textos matemáticos en los cuales aparecen números en Notación Científica (con exponentes del tipo 1.5E-10). Pues bien, una expresión regular que me está funcionando bastante bien es la siguiente:   [-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?    Esta expresión regular se puede descomponer en los siguientes bloques, para poder interpretarla con mayor facilidad:  El primer bloque [-+]? está indicando que el número podría estar precedido opcionalmente de un signo - o un signo + El segundo bloque [0-9]* indica que podría aparecer un número de 0 o más dígitos del 0 al 9  El tercer bloque indica que también de manera op...

Captura de la FSK del Caller-ID

Dado que actualmente estoy trabajando en un nuevo proyecto relacionado con la telefonía, quería mostraros como se ve la FSK , o dicho de otro modo, la trama de datos del CallerID o identificación de llamada entrante. Supongo que si has llegado hasta aquí es porque ya sabes de que va esto, pero para aquellos de vosotros que sintáis curiosidad y no sepáis de que va, se trata de la señal que llega a nuestros teléfonos fijos cada vez que recibimos una llamada telefónica, así de sencillo. Dicha señal, contiene los datos que identifican a la llamada entrante, esto es, fecha, hora y número de teléfono entre otras cosas. Ni que decir tiene, que para que dicha señal llegue por la línea de teléfono hasta nuestro terminal, deberemos tener activado dicho servicio con nuestro operador, el cual en algunos casos implica un pequeño coste añadido. Pues bien, esta señal se transmite por la línea telefónica desde la Oficina Central de nuestro operador hasta nuestro terminal, utilizando lo...

C++11 y constexpr

El estándar de C++ desde su versión 11, incluye el nuevo especificador 'constexpr'. En concreto me voy a centrar en la especificación 11 de C++, ya que en la versión 14 hay algunos cambios muy interesantes, pero el compilador que voy a utilizar (que será Visual C++ de Visual Studio 2015), solo incluye hasta la versión 11. A estas alturas me imagino que la mayoría de vosotros ya conocereis la existencia de este nuevo especificador, pero para aquellos que no lo sepan y por tanto, no lo hayan utilizado nunca, decir que se trata de un especificador para variables y funciones, que permitirá que éstas puedan ser utilizadas en expresiones constantes, las cuales en principio, podrán ser evaluadas en tiempo de compilación. Y como una imagen vale más que mil palabras y, para nosostros un pedazo de código vale más que mil párrafos de explicaciones, vamos con un sencillo ejemplo. Imaginad que definimos una plantilla que recibe un parámetro de tipo constante, y queremos que en ...

Circuito Electrónico Equivalente de un Oscilador de Cristal

Si bien no es mi objetivo definir en esta entrada lo que es un cristal, no estará de más que lo haga para todos aquellos que lleguen a este blog buscando información sobre otro tipo de "cristales". En el caso que nos ocupa definiría un cristal simplemente como un material piezoeléctrico vibrante y, al oscilador de cristal como aquel que hace uso de la resonancia mecánica de dicho material, para generar una señal de reloj lo más estable posible o al menos, muy estable. Este tipo de osciladores de cristal, se utilizan por ejemplo en circuitos digitales, basados en microcontroladores, en RF, etc. El porque de utilizar un material piezoeléctrico, es debido a que cuando se le aplica una corriente eléctrica se distorsiona o altera, generando un campo eléctrico en el momento en que vuelve a su forma original. Los cristales los podemos encontrar de diversas formas y tamaños, en función de las características que se busquen o de las especificaciones necesarias. Aunque en rea...

Redes Sociales y perfilado de los usuarios

Una de las ultimísimas noticias relacionadas con las redes sociales no hace más que certificar cual es el verdadero objetivo que hay detrás de todas y cada una de ellas y, por si alguno todavía se muestra escéptico al respecto, aquí está la última perla de Twitter. Pues nada "tuétanos", ahora resulta que los responsables de Twitter han decidido, así por su cara bonita, que van a husmear en nuestros dispositivos (móviles, tablets, etc.), para ver cuales son las aplicaciones que utilizamos, según ellos para ofrecernos una mejor "experiencia de usuario", algo que empieza a tocar un poco las ... "morales" de más de uno, entre los que me incluyo. Obviamente, un servicio que utilizas "gratuitamente", y que mueve tantos millones de euros en el mundo, algo "raro" tiene que esconder detrás. Y es que ésta, como tantas redes sociales, lo único que busca es obtener TANTOS DATOS PERSONALES DE SUS USUARIOS COMO SEA POSIBLE, con el fin de trazar p...

Los termistores

    ¿Qué son? ¿Por qué utilizar un termistor? ¿Cómo funcionan? ¿Qué ecuaciones es preciso conocer para su uso? ¿Cómo utilizar un termistor en un circuito eléctrico? etc.      Los termistores son componentes electrónicos que nos permiten medir la variación de la temperatura y, por lo tanto, poder actuar en consecuencia.      Si bien es cierto que existen varios componentes diseñados para tal fin, como es el caso del circuito integrado LM35, o incluso el uso de diodos, transistores, etc. aquí voy a escribir sobre los termistores, su funcionamiento y cómo podemos utilizarlos en nuestros propios circuitos electrónicos. Por ejemplo, un diodo clásico como el 1N4148 varía su caída de tensión a razón de 2mV por cada grado centígrado y permitiría cubrir un rango desde -30º hasta 120º      Si una resistencia (Resistor) es un componente electrónico que presenta cierta oposición al paso de la corriente...