jueves, 9 de octubre de 2014

Sentencias alternativas y ciclos en PHP

Una sentencia alternativa es la que ejecuta una instrucción si se cumple determinada condición. Un ejemplo de una sentencia simple con if:
 <?php
      $n = 1;
      $r = 2;
      if ($n < $r) {
            echo "$n es menor que $r.";
      }
?>

If lo que hace es comprobar una condición y si se cumple, ejecuta la instrucción que hay dentro. Si no, el programa seguirá ejecutando las instrucciones sin modificar nada.

Una sentencia alternativa doble es aquella que utiliza dos condiciones. Si la primera es verdadera, no se ejecuta la segunda y viceversa. Ejemplo:
<?php
     $n = 2;
     $r = 5;
     if ($n > $r) {
           echo "$n es mayor que $r.";
     } else {
           echo "$n es menor o igual que $r.";
     }
?>

El programa comprueba si un número es mayor que otro. Si n es mayor que r, ejecuta la primera instrucción. Si n es menor que r, ejecuta la segunda. Else es lo mismo que decir "Si la condición anterior es falsa, ejecutar lo siguiente."

Una sentencia alternativa múltiple es la que utiliza más de dos condiciones. En este caso, el programa va buscando una condición que se cumpla. Un ejemplo con switch:

<?php
     $anyo = 2014;
     $mes = 10;
     switch ($mes) {
          case 1:
          case 3:
          case 5:
          case 7:
          case 8:
          case 10:
          case 12:
                $dias = 31;
                break;
          case 4:
          case 6:
          case 9:
          case 11:
                $dias = 30;
                break;
          default:
                $dias = 28;
     }
     if ($mes = 2 && ((($anyo%4)==0) && (($anyo%100)!=0)) || (($anyo%400)==0))) {
          $dias = 29;
     }

     printf("El mes $mes del año $anyo tiene $dias dias");
?>


El programa comprueba cuántos días tiene el mes indicado del año indicado. Si el mes tiene uno de los valores antes del primer break (fin de la condición), tiene 31 días. Si su valor es uno de los siguientes, tendrá 30 y si no tiene ninguno de esos valores, se le pondrá el del default (por defecto), 28 días. La sentencia if comprueba si es año bisiesto. Si $mes tiene el valor 2 y además es año bisiesto, tendrá 29 días.

Un bucle o ciclo es una sentencia que se realiza repetidas veces a un trozo aislado de código, hasta que la condición asignada a dicho bucle deje de cumplirse. Se usa para hacer una acción repetida sin tener que escribir varias veces el mismo código, lo que ahorra tiempo, deja el código más claro y facilita su modificación en el futuro.

Hay cuatro tipos de bucles en PHP:
  • While: Primero evalua que la condición sea verdadera y luego se ejecuta (precondición), hasta que la condición pase a ser falsa. Puede que no se ejecute ninguna vez si su condición es inicialmente falsa. Ejemplo:
    <?php
    $i = 1;
    while ($i <= 10) {
    echo "$i";
    $i++;
    }
    ?>

    Este ejemplo inicializa una variable a 1 y luego pone la condición de que si la variable $i es menor o igual que 10, escribe el valor actual de la variable y luego le suma 1. La instrucción se repite hasta que $i pase de 10. Cuando pasa de 10, se termina el programa. Es "Mientras $i sea menor o igual que 10, escribir su valor actual y sumarle 1".
  • Do... While: Su uso es similar a while, pero aquí, las sentencias que siguen al do se ejecutan por lo menos una vez y se comprueba la condición después de la primera iteración. Así, si es verdadera la condición se repite por segunda vez, si es falsa se continúa con las sentencias inmediatamente después de la instrucción while. Ejemplo:
    <?php
    $i = 1;
    do {
    echo "$i";
    $i++;
    } while ($i <= 10);
    ?>

    Este ejemplo hace lo mismo que el anterior, solo que ahora primero se pone la instrucción a ejecutar y luego la condición. Es "escribir el valor de $i y sumarle 1 mientras que $i sea menor o igual que 10" (postcondición).
  • For: Los bucles for son los más complejos en PHP. Tienen la siguiente estructura:
    1. Inicialización: Es una expresión que se ejecuta sólo una vez al inicio y predetermina el primer valor inicial.
    2. Condición: Es una expresión que se evalúa como falsa o verdadera, si es falsa el bucle finaliza, en caso contrario el bucle ejecuta la sentencia.
    3. Actualización: Es una expresión que modifica la expresión de inicialización comúnmente en incremento o decremento.
    Ejemplo:
    <?php
    $i = 1;
    for ($i = 10) {
    echo "$i";
    $i++;
    }
    ?>

    Este bucle es similar al bucle while.
  • Foreach: Funciona sólo en arrays y presenta un error al utilizar una variable con diferente tipo o no inicializada. Es un buen método de iteración de objetos y arrays. Ejemplo:
    <?php
    $array = array(1, 2, 3, 4);
    foreach ($array as &$valor) {
        $valor = $valor * 2;
    }
    // $array ahora es array(2, 4, 6, 8)
    unset($valor); // rompe la referencia con el último elemento
    ?>
  • Ciclo iterar: En este ciclo la condición va en medio del bucle, si es verdadera sale del bucle. Ejemplo:
    <?php
        $n = 3;
        while ($n <= 10) {
            if ($n == 10) {
                 break;
            }
            echo "n es igual a $n";
            $n++;
        }
    ?>

    En este ciclo hay una segunda condición en medio del while. El programa ejecutará lo que hay dentro del while si n es menor o igual que 10. El if comprueba si n es igual a 10. Si es cierto, rompe con la ejecución del ciclo (break). Si no lo es, sigue el bucle while, escribe su valor actual y le suma 1 y vuelta a empezar. Esto se hará hasta que n valga 10, en ese caso se ejecutará lo que hay dentro del if.
     
Contadores y acumuladores
Un acumulador es un registro donde se almacenan los resultados lógicos y aritméticos intermedios. Sin un registro acumulador, sería necesario escribir el resultado de cada operación en la memoria primaria. Acceder a la memoria primaria es más lento que acceder a un registro acumulador.

Un contador es una variable cuyo valor se incrementa o decrementa en una cantidad constante cada vez que se produce un determinado suceso o acción. Se usan con la finalidad de contar sucesos o acciones internas de un bucle; deben realizar una operación de inicialización y posteriormente las sucesivas de incremento o decremento del mismo. La inicialización consiste en asignarle al contador un valor inicial. Se situará antes y fuera del bucle.

viernes, 7 de marzo de 2014

Google Cloud Print

Google Cloud Print es una nueva tecnología que conecta las impresoras a la Web. Mediante Google Cloud Print, puedes utilizar la impresora que quieras desde las aplicaciones que utilizas a diario. Google Cloud Print funciona en el teléfono, tablet, Chromebook, ordenador y cualquier otro dispositivo conectado a Internet desde el que se quiera imprimir.


¿Cómo funciona Google Cloud Print?

Cuando alguien imprime a través de Google Cloud Print, el archivo se envía de forma segura a la impresora a través de Internet. Al estar basado en la Web, no importa lo lejos que esté la impresora. Tampoco importa si estamos conectados a través de un teléfono, ordenador u otro dispositivo.


Prueba de impresión

En la página http://www.google.com/landing/cloudprint/index.html le damos a Añadir impresorsa clásica oen la nube, según si nuestra impresora esta preparada para ello o no. La mía es clásica, así que es necesario conectarla al ordenador. Para poder añadirla necesitamos tener Google Chrome.
Una vez que se haya instalado Google Chrome, hay que seguir estos pasos para habilitar el conector de Google Cloud Print en el navegador.
  1. Iniciar sesión en la cuenta de usuario en el ordenador Windows, Mac o Linux.
  2. Abrir Google Chrome.
  3. Hacer clic en el menú de Chrome Chrome menu en la barra de herramientas del navegador.
  4. Seleccionar Configuración.
  5. Hacer clic en el enlace Mostrar opciones avanzadas....
  6. Desplazarse hasta la sección “Google Cloud Print”. Hacer clic en Iniciar sesión en Google Cloud Print.Iniciar sesión en Google Cloud Print 
  7. En la ventana que aparece, iniciar sesión en la cuenta de Google para habilitar el conector de Google Cloud Print.
  8. Seleccionar las impresoras que se van a conectar y hacer clic en Añadir impresoras.
  9. Aparecerá un mensaje para confirmar que se ha habilitado Google Cloud Print. Hacer clic en la opción para administrar las impresoras para obtener más información. 
Una vez que se haya completado este proceso, la impresora estará asociada a la cuenta de Google y conectada a Google Cloud Print. Habrá que iniciar sesión con la misma cuenta de Google para poder imprimir.


Otras alternativas a Google Cloud Print

  • Cloud Print para Android: Permite imprimir documentos de texto, imágenes, SMS, correos electrónicos o imágenes escaneadas. Simplemente navega hasta el documento que necesites, selecciona la impresora e imprime. Además de impresoras, Cloud Print es capaz de seleccionar impresión como documento de Google Docs o PDF.
  • EPrint de HP: La solución HP asocia a las nuevas impresoras una dirección e-mail personalizada. Gracias a este sistema, será posible controlar las impresoras HP de manera remota, con el simple envío de un email. Podrán ser imprimidos cualquier tipo de documentos: archivos Microsoft Office, documentos PDF, imágenes en JPEG.
  • Pogoplug: Es especializado en la fabricación de equipos que permiten transformar cualquier disco duro externo USB 2.0 en NAS (Network Attached Storage). El usuario puede compartir con sus colaboradores cualquier tipo de contenido desde un simple navegador web.
    En el mismo sentido, la empresa americana ofrece integrar a su dispositivo Pogoplug un sistema de impresión desde la nube, compatible con todas las impresoras y terminales (Windows, Linux, Mac OSX, iOS, Android, Blackberry, Palm WebOS).

Fuentes: http://www.google.es/cloudprint/learn/
http://es.kioskea.net/faq/4834-las-soluciones-de-impresion-desde-la-nube