sábado, 25 de octubre de 2014

Programación de robots

Generalidades.
Programación Gestual.
Modos de Programación.
Programación textual.
Nivel robot.
Nivel tarea.
Nivel objetivo.
Programación de robots.

Generalidades



Con la programación es como los humanos nos comunicamos con los robots. Existen dos niveles de programación: gestual y textual. En la primera el robot se programa guiando el brazo según la secuencia de operaciones para la aplicación que se repetirá cíclicamente. En la textual existen varios niveles según las operaciones especificadas al robot. Puede ser a nivel de robot o a nivel de tarea.

robot Curiosity en Marte
Imagen de Wikipedia-NASA

sábado, 11 de octubre de 2014

IBAN y BIC, validación con SQL Server y .NET

Recientemente en la zona SEPA (Single Euro Payments Area)  se han establecido nuevos formatos para las cuentas bancarias. El antiguo código  de cuenta corriente CCC ha sido sustituido por el nuevo International Bank Account Number, IBAN. Además se ha creado un nuevo código Bank Identification Code BIC.

Voy  a describir cómo implementar dos funciones de SQL Server para que validen ambos códigos y luego estas funciones se puedan utilizar desde .Net, para los ejemplos de .Net voy  a utilizar Visual Basic.

Validador de IBAN y BIC
Imagen de gophoto.

sábado, 4 de octubre de 2014

C++, punteros, templates (plantillas)

Operaciones con punteros.
Tipos genéricos. Plantillas. ( Templates ).
Typedef.
El operador sizeof.
Constructores. Objetos de la clase.

Operaciones con punteros


El lenguaje C++ ofrece cinco operaciones básicas con punteros.
1- Asignación: Consiste en asignar una dirección a un puntero. Normalmente se empleará el nombre de un array o con el operador dirección (&). En el siguiente ejemplo, se asigna a punt1 la dirección del inicio de un array llamado arr. En la variable punt2 colocamos la dirección del tercer y último elemento, arr[2].
static int arr[] = { 10,20,30};
int *punt1, *punt2;
punt1 = arr// asigna una dirección al puntero

punt2 = & arr[2];


sábado, 27 de septiembre de 2014

SQL Server, tablas temporales

Algunas veces puede ser interesante, sobre todo para un programa informático, crear una tabla temporal en SQL Server  utilizarla para un propósito determinado y eliminarla.
Las tablas  temporales son como las tablas normales y corrientes de SQL Server pero al apagar el equipo desaparecen pues sólo existen en la memoria RAM.
Estas tablas se nombran con el símbolo # delante del nombre.


Para crear una tabla temporal basta con hacer una select o una vista de la tabla o tablas de la que queramos manejar los datos y tomar sólo los campos que nos interesan. Los ejemplos que voy a mostrar son muy sencillos pero se pueden complicar todo lo que queramos.

SQL Server, tablas temporales

sábado, 20 de septiembre de 2014

SQL Query analycer. Depurar un procedimiento almacenado (SP)

Introducción

En esta ocasión voy a explicar como ver lo que hace exactamente un sp utilizando el Query analycer de SQL SERVER. En vez de seguir la ejecución del sp paso a paso como si fuera un programa, lo que hacemos es convertirla en una consulta de SQL SERVER y ejecutarla para que devuelva el mismo resultado que si fuera una consulta más simple.

En muchas ocasiones los procedimientos almacenados (sp) contienen variables que comienzan por @ y no permiten su ejecución directa desde el analizador de consultas. Pero el método de depuración paso a paso con VS2005 puede ser demasiado tedioso o incluso no darnos la información que necesitamos.
Una forma más sencilla de ejecutar un sp rápidamente consiste el convertir en código ejecutable por SQL SERVER el sp a analizar y ejecutarlo directamente para ver el resultado.

Este ejemplo es tan sencillo que parecerá una perogrullada por que la salida será igual que la entrada. Pero en procedimientos muy complejos puede ser imposible su ejecución directa y tendremos que retraducir el procedimiento de este modo que se explicará a continuación. Por motivos didácticos no he considerado poner un sp más complejo.

Análisis del Procedimiento Almacenado



Para empezar abrimos en una nueva ventana el código del sp que deseamos depurar. Para ello, situados sobre el explorador de objetos de SQL SERVER desplegamos la lista de procedimientos almacenados y con el botón derecho del ratón elegimos la opción  Incluir procedimiento almacenado como-> CREATE To -> Nueva Ventana del editor de consultas.

Analizar un procedimiento almacenado complejo

sábado, 13 de septiembre de 2014

C++, Puntero implícitoTHIS, friend

El puntero implícito this
Saltar el sistema de protección. ( Friend )
Miembros static de una clase
Funciones virtuales

El puntero implícito this


Cada objeto de una determinada clase mantiene su propia copia de los datos miembro de la clase, pero no de las funciones miembro, de estas sólo existe una copia para todos los objetos de la clase; es decir, cada objeto tiene su propia estructura de datos, pero todos comparten el mismo código para cada función miembro. De este modo si necesitamos que una función miembro conozca la identidad de cada objeto para el que ha sido llamada, en C++ debemos invocar un puntero al objeto denominado this. Así por ejemplo, si declaramos un objeto.


Empleado.set_empleado( );

Puntero This, C++