domingo, 19 de junio de 2011

Ventanas en Javascript

Javascript nos proporciona 3 tipos de ventanas para interactuar con el usuario.
  • alert( mensaje ) : Una simple ventana para mostrar un mensaje al usuario.
  • prompt ( mensaje, valor ) : Una ventana que nos permite capturar datos por teclado. Recibe dos parámetros, el primero es el mensaje a mostrar; el segundo,  es un valor por defecto. La ventana devuelve el valor que haya tecleado el usuario o bien el valor por defecto en caso de que no se haya tecleado nada.
  • confirm ( mensaje ): Una ventana que nos devuelve un valor booleano (true o false) según la opción que escojamos (Aceptar ó Cancelar).
Ejemplo de la función alert( ):

< script language="Javascript" >
< !--
alert ("Mostrando un mensaje de prueba" );

// Mostrar el contenido de una variable.
var nombre="Daniel";
alert("Valor de la variable cad: "+nombre+" .\nTipo de la variable: "+typeof( nombre ) );

//-- >
< /script >
  El Resultado:

   Ejemplo de la función prompt ( ):
< script language="Javascript" >
     < !--
       //Pediremos por teclado el nombre y edad de una persona y mostraremos los datos en la pantalla.
       var nombre=prompt("Porfavor, teclee su nombre"  "anonimo"); //La palabra 'anonimo' es el valor por defecto
       var edad=prompt("Porfavor, teclee su edad",0); // Cero es el valor por defecto
       alert("Nombre: "+nombre+"\n Edad:"+edad);
    //-- >
 < /script >


Si el usuario tecleó sus datos el resultado sería:



Si el usuario no escribe nada, los valores que habíamos colocado por defecto se almacenarán en las variables; observe que los valores asignados por defecto, aparecen seleccionados en el cuadro de texto:

Ejemplo de la función confirm( )
 < script language="Javascript" >
     < !--
     /*Recuerde que esta ventana devuelve un valor booleano (true ó false) según
       la opción que nosotros seleccionemos: aceptar o cancelar respectivamente.*/
       
     //Declaramos una variable para almacenar
       var opc;
       opc=confirm ("Escoja un botón");
       var boton=(opc==true)?"Aceptar":"Cancelar"; //Operador ternario. Equivalente a un if
          alert("Presionó el boton: "+boton);
    //-- >
 < /script >
El resultado sería alguna de las ventanas inferiores según el botón seleccionado:
Por si se han perdido algo de estos tutoriales de Javascript, aquí les dejo los enlaces hacia mis publicaciones anteriores:
Saludos.

jueves, 16 de junio de 2011

Las variables en Javascript

Javascript es un lenguaje muy flexible al momento de declarar variables, una variable se declara precediendo la palabra "var" antes del nombre de la variable:
var variable;

¿Y donde queda el tipo de dato?
Pues bien, en Javascript una variable puede almacenar tanto enteros, como cadenas, caracteres, flotantes, booleanos, etc. Todos estos se centran en 4 tipos:
  • Number- Para número (reales, flotantes, negativos,etc.).
  • String- Cadenas y caracteres
  • Boolean-Para condicionales true o false
  • Undefined- Para variables que se les ha asignado un valor

Aunque para una variable no importa el tipo de dato al momento de asignarle un valor, por ejemplo:

 < script language="Javascript" >
     < !--
var x="La variable almacena una cadena";
alert( x ); //Mostramos el valor de x
x=12;
alert(x); //Nuevamente lo volvemos a mostrar
     //-->
 < /script >
El resultado sería:


Aunque esto incluye algunas excepciones. Por ejemplo, el resultado de sumar un valor de tipo String y un Number no puede ser lo que esperaríamos.

var x="10";
x=x+10;
alert (x);// Aquí podriamos esperar el número 20 como resultado.


Como vemos lo que ha sucedido fue una concatenación del valor de x y el número 10.
Si nosotros no queremos eso, basta con llamar a la función parseInt( variable).
var x="10";
x=parseInt( ) +10;

alert (x);// El resultado será 20

 ¿Cómo saber el tipo de dato que mi variable tiene?
La función typeof( variable ) nos devuelve el tipo de dato que tiene nuestra variable:

var x="10";
alert ( typeof( x ) );
x=10;
alert ( typeof( x ) );
x=true; //booleano
alert ( typeof( x ) );
Y el resultado sería:


 Así pues es como uno puede declarar una variable y mediante la función typeof( ) uno puede saber qué tipo de dato está almacenando la variable.

sábado, 11 de junio de 2011

Javascript Estructura Básica

Javascript es un lenguaje interpretado y orientado a html; por tanto, no necesitamos ningún compilador, nos basta y sobra con que nuestro navegador sea compatible con javascript (Hoy en día la mayoría de los navegadores de internet admiten Javascript, aunque en unos casos el navegador tiene deshabilitado por defecto la ejecución de scripts).

Pues bien, la incrustación de un código de Javascript puede ser de dos formas:

1. Desde la misma página HTML.

2. Llamar el código desde un archivo externo

1.  Desde la página HTML
Se toman en cuenta los siguientes puntos:
  • El script se coloca dentro de las etiquetas < head > y < / head > .
  • Las etiquetas para ejecutar este script son  < script > y < / script >
  • Dentro de estas etiquetas se incluye el atributo language="javascript" el cual indica que nuestro script se basa bajo este lenguaje ( Hay otros lenguajes, por ejemplo vbscript, JScript, etc.).
  • Una buena costumbre es colocar el código dentro de las etiquetas de comentario del lenguaje HTML, esto es en casos en que el navegador de internet no soporte scripts y evite visualizar el código del script. Las etiquetas de comentarios inician con < ! --   y terminan con // -- >
Veamos un ejemplo:

< html >
< head >
< script language= "javascript" >
< !--
alert ("Mi primer programa en Javascript");  //alert es una función para mostrar en pantalla un mensaje
//-- >
< / script >
< / head >

< body >
< / body >
< / html >

2. Desde un archivo externo

Puntos a Tomar en cuenta:

  • Para llamar un archivo con el código en Javascript basta con colocar las mismas etiquetas de < script > y < / script > dentro de la cabecera (head) y  colocar dos atributos que son type="text/javascript" y src="ruta del archivo" .
  • El código se guarda en un archivo con extensión .js ;que es la extensión de los archivos Javascript y el código ya no se encierra entre los comentarios de HTML.

Veamos el siguiente ejemplo:

En un archivo llamado codigo.js usaremos la función alert("Mi Primer programa en Java" ); como en el ejemplo anterior para mostrar en pantalla un mensaje. El archivo se ubica en la misma carpeta que nuestra página web.

< html >
< head >
< script type="text/javascript" src="codigo.js" > < / script >
< / head >
< body >
< / body >
< / html >

 El resultado, en cualquiera de las dos formas es:
 Dependiendo de las necesidades o facilidades del programador, uno decidirá cuál es la mejor opción para sus aplicaciones web, ya sea desde un archivo externo o desde la misma página.

jueves, 9 de junio de 2011

Pila En Ruby

Les dejo un pequeño programa en Ruby para el algoritmo de la Pila

#Clase para implementar el algoritmo de una pila en Ruby
#El algoritmo de una pila se basa en LIFO (Last in First Out o lo que es: El ultimo en entrar es el primero en salir)
#Acentos y otra la letra enie nos las acepta Ruby, o en mi caso marca error

class Pila

  def initialize      #Metodo para inicializar variables de tipo instancia
    @pos=0        #Una variable de tipo instancia se precede con un @
    @tam=0        #Variable Pos me ubicará el puntero de mi matriz y variable tam me indicara el tamanio de esta
  end  #Fin de initialize

 def mat            #Metodo para obtener el tamaño de la matriz
  print "Define tamanio de la matriz: "
  @tam=gets.chomp  
  @tam=@tam.to_i
  @matriz=Array.new(@tam)  #Creo la matriz con el tamaño obtenido
  menu        #Llamo al metodo menú
 end          #Fin del método mat

 def menu    #Metodo que muestra y llama a las opciones disponibles
   opc=1   
  while opc.to_i!=0   # Convertir el valor pedido por teclado a entero con la funcion .to_i  
   puts "*************"
   puts "*0 Salir    *"
   puts "*1 Insertar *"
   puts "*2 Liberar  *"
   puts "*3 Mostrar  *"
   puts "*************"
   print "Opcion: "
  STDIN.flush
  opc=gets.chomp
  opc=opc.to_i
   case opc
    when 1
       meter
    when 2
       sacar
    when 3
       mostrar
   end     #Fin del Case
  end    #Fin del ciclo while
 end     #Fin del metodo menu

 def meter
  if @pos < @tam
    print "Dame un valor numerico: "
    STDIN.flush
    val=gets.chomp
    @matriz[@pos.to_i]=val
    @pos += 1
  else
    print "=========>Error, la matriz esta llena\n"
  end    #Fin del if
 end    #fin del metodo meter
 
 def sacar
   if @matriz[0]==nil or @pos==0
    print "=========>Error: matriz vacia!!!! \n"
   else
     @pos -=1
     @matriz[@pos]=nil     #Adjunto valor nil o nulo
    print "Eliminado \n"
   end    #Fin del if
 end    #Fin del metodo sacar

 def mostrar
  for i in 0..(@matriz.length-1)
   print "Posicion #{i}---> "
   print @matriz[i]
   print "\n"
  end    #Fin del ciclo for
 end    #Fin del metodo mostrar
end    #Fin de la clase Pila

#Crearemos un objeto.
pil=Pila.new    #Con la palabra new, automaticamente llama al metodo initialize
pil.mat      #Llamamos al metodo mat