sábado, 29 de julio de 2017

Curso de C#: control de flujo, estructuras iterativas

Bucles For 


Los bucles for van asignando valores a una variable desde un valor inicial hasta un valor final, y cuando la variable contiene un valor que está fuera del intervalo el bucle termina.

for (var=inicial;condición;siguientevalor)
{
    Instrucciones
}

CURSO DE C#: control de flujo, estructuras iterativas

sábado, 15 de julio de 2017

Listas simplemente enlazadas (Linked List)

Concepto de lista enlazada


Una lista simplemente enlazada pertenece a las estructuras de datos fundamentales. Suele utilizarse para implementar otras estructuras de datos. 
Está estructurada en una secuencia de nodos, en los que se guardan los datos  y un puntero que apunta (contiene la dirección de la ubicación) al siguiente nodo. 
La principal utilidad de la lista enlazada es que el orden de los elementos enlazados puede ser diferente al orden de almacenamiento físico en memoria. De este modo se permite que el orden de lectura de la lista sea diferente al orden de almacenamiento físico. Al contrario de un array, el acceso a cada elemento no se hace a través de un índice sino mediante un puntero. Otra diferencia con los arrays es que estos pueden ser accedidos de forma aleatoria mientras que la lista se recorre de forma ordenada.
La lista también permite añadir o eliminar nodos en cualquier lugar aunque no permite un acceso aleatorio. Cuando es necesario hacer varias operaciones de inserción y eliminación de elementos en un conjunto resulta conveniente utilizar listas enlazadas. El puntero del último nodo contiene un valor vacío Null.

Listas simplemente enlazadas

sábado, 8 de julio de 2017

Acciones sobre muchos archivos en Photoshop

En Photoshop se pueden crear procesos por lotes para actuar en un sólo paso sobre muchas imágenes sin tener que hacerlo una a una. 

Se pueden automatizar muchas funciones. Para ello, primero es necesario crear una Acción (lo que se desea hacer con cada imagen) y luego procesar los archivos por lotes (para ejecutar esa misma acción con todas las imágenes de una carpeta).

Acciones sobre muchos archivos en Photoshop
Puedes descargar esta foto aquí

sábado, 1 de julio de 2017

Curso de C#: Control de flujo, estructuras condicionales


Instrucción IF...ELSE IF...ELSE


Si esta condición se evalúa a true (verdadero) se ejecutan las líneas del bloque, y si se evalúa a false (falso) no se ejecutan. en C#:

if (num==10)
{
    Console.WriteLine("El número es igual a 10");
}

En este pequeño ejemplo, se evalúa como verdadero o falso lo que está dentro de los paréntesis, es decir, num==10. Por lo tanto, el operador == retornará true siempre que num valga 10, y false si vale otra cosa. No confundir el operador de comparación == con el de asignación =. 

La instrucción if ejecuta el código de su bloque siempre que la expresión que se evalúa retorne true. Sin embargo, no es necesario abrir el bloque en el caso de que solamente haya que ejecutar una sentencia. Así, podríamos haber escrito el ejemplo de esta otra forma:

if (num==10)
    Console.WriteLine("El número es igual a 10");

O bien:

if (num==10) Console.WriteLine("El número es igual a 10");

Curso de C#: Control de flujo, estructuras condicionales

sábado, 24 de junio de 2017

Fotos en tres dimensiones con Photoshop

Hacer una foto en tres dimensiones es muy sencillo, y se puede realizar con cualquier cámara, incluso con la del móvil.
Para hacer una foto en tres dimensiones lo primero que hay que tener en cuenta es que en realidad necesitamos dos fotos normales y corrientes tomadas cada una de ellas como vistas por cada ojo diferente. Es decir para tomar una foto en tres dimensiones necesitamos tomar una foto y luego desplazar la cámara ligeramente (unos centímetros) y tomas una segunda foto intentando que el encuadre sea similar. Hecho esto, una vez disponemos de nuestras dos fotos normales y corrientes, con el mismo encuadre pero ligeramente desplazadas (tal y como veríamos la misma escena con el ojo izquierdo y con el derecho) tenemos varias formas de verla en tres dimensiones. Voy a explicar dos de ellas.

fotos en tres dimensiones con photoshop
Más fotos como esta aquí

sábado, 17 de junio de 2017

Curso de C#: campos y propiedades

Campos


Ambas cosas (campos y propiedades) representan a los datos de una clase, aunque cada uno de ellos lo hace de un modo diferente. Los campos de una clase se construyen a base de variables. 

class Circunferencia
    {

        public double Radio;
        public double Perimetro;
        public double Area;
        public const double PI=3.1415926;
    }
  
Los modificadores de acceso de los que se habló al comienzo de este curso  (private, protected, internal y public) son aplicables a las variables y constantes solamente cuando estas representan los campos de una clase, y para ello deben estar declaradas como miembros de la misma dentro de su bloque. Sin embargo, una variable que esté declarada en otro bloque distinto (dentro de un método, por ejemplo) no podrá ser un campo de la clase, pues será siempre privada para el código que esté dentro de ese bloque, de modo que no se podrá acceder a ella desde fuera del mismo. 

Curso de C#: campos y propiedades