Mostrando entradas con la etiqueta programacion. Mostrar todas las entradas
Mostrando entradas con la etiqueta programacion. Mostrar todas las entradas

martes, 1 de noviembre de 2016

Un vistazo a Node.js

Node.js es un entorno de ejecución para aplicaciones hechas con Javascript. Posee un ecosistema de paquetes (npm) que nos provee una manera más fácil para el desarrollo de nuestras aplicaciones.

Existen diversas maneras de instalar Node.js. Una de ellas es mediante nvm.

Para ello podemos teclear la siguiente orden en la terminal de comandos (si usas Linux, debo aclarar):

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.32.1/install.sh | bash


Para que surja efecto hay que teclear:
source ~/.bashrc

Listo, tenemos instalado nvm:
nvm --version

Para instalar node tecleamos: 
nvm install node

Para instalar el gestor de paquetes npm:
nvm install npm

Comprobamos su instalación:
node -v
npm -v 

Ahora a crear el primer ejemplo.
1. Creamos un archivo llamado hola.js
2. Ejecutamos el script mediante node


hola.js
console.log("Hola, Codemonkeys");


En terminal tecleamos:
node hola.js
 

Ya tenemos nuestro primer ejemplo en Node.js

Links
https://github.com/creationix/nvm
https://nodejs.org/es/

domingo, 2 de marzo de 2014

Programando en Ruby ... no. 4

Herencia en Ruby

En esta ocasión crearemos una clase base llamada Persona y dos clases hijas:

  • Alumno y
  • Profesor
Empezamos creando la clase Persona, con dos propiedades:
  • nombre y
  • edad

class Persona
  attr_accessor :nombre , :edad


  def initialize(nombre,edad)
    @nombre, @edad=nombre, edad
  end

#setters y getters

#setter
  def nombre=(nombre)
    @nombre=nombre
  end

#getter
  def nombre
    @nombre
  end

#setter
  def edad=(edad)
    @edad=edad
  end

#getter
  def edad
    @edad
  end

end

¿Cómo se puede heredar en Ruby?
Se debe seguir esta síntaxis:
claseBase < claseHija
      ...
      ...
end

Ahora las clases hijas:Alumno y Profesor:

class Alumno < Persona
  attr_accessor  :no_cta

  def initialize(no_cta)
    @no_cta=no_cta
  end

 #setter
  def no_cta=(no_cta)
    @no_cta=no_cta
  end

#getter
  def no_cta
    @no_cta
  end

end

class Profesor < Persona
  attr_accessor :materias

  def initialize(materias)
    @materias=materias
  end

#setter
  def materias=(materias)
    @materias=materias
  end

#getter
  def materias
    @materias
  end

end

#main
begin
  alumno=Alumno.new(2132)
  alumno.nombre=("Andrea Landa")
  alumno.edad=(18)

  profesor=Profesor.new(["matematicas","fisica"])
  profesor.nombre=("Mario Pedrosa")
  profesor.edad=(45)

  puts "Alumno:"
  puts "\tno. cta: #{alumno.no_cta}"
  puts "\tnombre: #{alumno.nombre}"
  puts "\tedad: #{alumno.edad}"

  puts "Profesor:"
  puts "\tmaterias: #{profesor.materias}"
  puts "\tnombre: #{profesor.nombre}"
  puts "\tedad: #{profesor.edad}"

  
rescue Exception => e
  puts "Error: #{e}"
end

Puedes guardar el archivo como diamante.rb



Links
http://www.cristalab.com/blog/por-que-aprender-ruby-on-rails-c109181l/


domingo, 5 de enero de 2014

Programando en Ruby ... no. 2


Crear una clase en Ruby

ejemplos.rb
 
class Manguera

    def initialize(longitud,color)
        @longitud=longitud
        @color=color
    end

    attr_reader :longitud, :color
end

#'main' del programa
begin
#instanciamos la clase 'Manguera'
    manguera=Manguera.new('50 mts','negra')
rescue
    @error_message="#{$!}"
ensure
#imprimimos los datos
    puts "color: #{manguera.color} , longitud: #{manguera.longitud}"
end


Ruby es un lenguaje muy parecido a Python ,si tienes tiempo programando en el te parecerá bastante familiar.


¿Cómo quedaría la clase en Python?

ejemplos.py

class Manguera:
    def __init__(self,longitud,color):
        self.color=color
        self.longitud=longitud


try:
    manguera=Manguera('35 mts','naranja')
except Exception, e:
    print e
finally:
    print "color: %s, longitud: %s"%(manguera.color,manguera.longitud)

Modificando el código de la clase (en Ruby), podemos introducir valores:

class Manguera
    def initialize(longitud,color)
        @longitud=longitud
        @color=color
    end

    attr_reader :longitud, :color
end


color=''
longitud=''
begin
   #pedimos el color 
    puts "Color: "
    STDOUT.flush
    color=gets.chomp
   #pedimos la longitud
    puts "Longitud: "
    STDOUT.flush
    longitud=gets.chomp

    if color!='' and longitud!=''
        manguera=Manguera.new(longitud,color)
    end
   
rescue
    @error_message="#{$!}"
ensure
    puts "color: #{manguera.color} , longitud: #{manguera.longitud}"
end


También podriamos crear un método para visualizar los datos:

class Manguera
    def initialize(longitud,color)
        @longitud=longitud
        @color=color
    end

   #creamos  el método para visualizar los datos
   def verDatos
         puts "color:  #{color} , longitud: #{longitud}"
   end

    attr_reader :longitud, :color
end


color=''
longitud=''

=begin
     nota: esto es un comentario
=end

begin
   #pedimos el color 
    puts "Color: "
    STDOUT.flush
    color=gets.chomp
   #pedimos la longitud
    puts "Longitud: "
    STDOUT.flush
    longitud=gets.chomp

    if color!='' and longitud!=''
        manguera=Manguera.new(longitud,color)
    end
   
rescue
    @error_message="#{$!}"
ensure
    manguera.verDatos
end


Links:
http://codemonkeyjunior.blogspot.mx/2013/05/un-vistazo-ruby.html
http://codemonkeyjunior.blogspot.mx/2013/06/programando-en-ruby-no-1.html
http://www.elclubdelprogramador.com/category/programacion/ruby/

lunes, 18 de marzo de 2013

¿Elegir un lenguaje de programación?

Elegir una carrera, un auto, una mascota, a tu mejor amigo, etc. no es nada fácil de realizar. Siempre va surgir los pros y contras en tu decisión.

¿Me equivoque de carrera? ... ¿ Debí ser contador? 


Si decidiste estudiar ISC o una carrera afín tendrás que lidiar con constantes dudas ¿qué lenguaje debo elegir?, ¿cuál es el más usado?...

Muchas alternativas

Lenguajes como Java, PHP, y C siguen siendo de los más usados. Tal vez no sean los mejores, pero como muchos sistemas están hechos en esos lenguajes no se elijen otros "nuevos" como Scala, Groovy, etc.

Lo que esta de "moda" son las aplicaciones web, sin embargo a estas alturas no escogería  lenguajes como PHP, preferiría Groovy o Python para el desarrollo. Es cuestión de gustos cabe aclarar.


¿Cómo elegir?


Es algo subjetivo, se deben tomar en cuenta los pros y contras de cada lenguaje. Lo más recomendable es si existe una documentación adecuada y soporte del lenguaje.

String resultado=adecuado()==false ? "Arriesgate" : "Factible";

if(resultado.equals("Factible")){
    adelante();
}  else{
    otro();
}

Tal vez ya elegiste uno y se ve muy "bonito", pero cuando tienes un problema no hay nadie quien te ayude, y muchas veces la documentación no esta completa o no se entiende.


Factores importantes a la hora de elegir

No basta querer o tener la intención aprender, lo importante es ponerse a leer y practicar. Conseguir ayuda, consultar foros, etc. cualquier cosa que te ayude.

miércoles, 29 de febrero de 2012

Programación Batch


La programación en Batch no es muy popular realmente. Los desarrolladores web (backend o frontend) se enfocan más en otros lenguajes y herramientas. Sin embargo, existe una sección de éstos quienes deben crear scripts para automatizar tareas y crear algunas otras soluciones. Ya sea CMD (o BAT), Bash Linux o PowerShell. 

He aquí unos ejemplos  en bash MS-DOS:

Colocar variables
@echo off
set Nombre=Horacio Gomez
echo %Nombre%
pause


Imprimir por pantalla
echo algo

Cambiar el prompt
prompt mister_negativo:
mister_negativo:  


menu.bat
@echo off
Title Menu del sistema
color f0
cls
:miMenu
echo Menu
echo 1. Comprobar conexion a Internet
echo 2. Conectarse al servidor GlassFish
echo 3. Abrir administrador GlassFish
echo 4. Salir
echo Tu opcion es:
set /p opc=

if %opc%==1 goto :miConexion
if %opc%==2 goto :GlassFish
if %opc%==3 goto :conectarAGlassF
if %opc%==4 goto :salida

:miConexion
ping www.google.com.mx
goto miMenu


:GlassFish
cd C:\Users\alguien\glassfish3
cd C:\Users\alguien\glassfish3\bin
start asadmin


:conectarAGlassF
start firefox http://localhost:4848
goto miMenu

:salida
exit

Espero hacer más ejemplos.

Enlaces:

miércoles, 28 de diciembre de 2011

Python, ejemplos prácticos no. 2


1. Programa que acepte un año escrito en cifras arábigas y visualice el año en números romanos, dentro del rango 1000-1999
'''
autor: yo
fecha: 24 de diciembre de 2011
'''

anyo,anyo_desglosado,aux=0,0,0
romano=""

while anyo<=0 and anyo<=1999:
    anyo=int(raw_input('Introduce año:'))
    print "Año en arábigo [",anyo,"]"
    print "\nAño desglosado: "

if (anyo>=1000):
    anyo_desglosado=anyo%1000
    romano=romano+"M"
    aux=1000
    print "arábigo:",aux
   
if (anyo_desglosado>=900):
    anyo_desglosado=anyo_desglosado%900
    romano=romano+"CM"
    aux=900
    print "arábigo:",aux

if (anyo_desglosado>=800):
    anyo_desglosado=anyo_desglosado%800
    romano=romano+"DCCC"     
    aux=800
    print "arábigo:",aux

if (anyo_desglosado>=700):
    anyo_desglosado=anyo_desglosado%700
    romano=romano+"DCC"         
    aux=700
    print "arábigo:",aux

if (anyo_desglosado>=600):
    anyo_desglosado=anyo_desglosado%600
    romano=romano+"DC"            
    aux=600
    print "arábigo:",aux

if (anyo_desglosado>=500):
    anyo_desglosado=anyo_desglosado%500
    romano=romano+"D"               
    aux=500
    print "arábigo:",aux


if (anyo_desglosado>=400):
    anyo_desglosado=anyo_desglosado%400
    romano=romano+"CD"                 
    aux=400
    print "arábigo:",aux

if (anyo_desglosado>=300):
    anyo_desglosado=anyo_desglosado%300
    romano=romano+"CCC"                          
    aux=300
    print "arábigo:",aux

if (anyo_desglosado>=200):
    anyo_desglosado=anyo_desglosado%200
    romano=romano+"CC"                               
    aux=200
    print "arábigo:",aux

if (anyo_desglosado>=100):
    anyo_desglosado=anyo_desglosado%100
    romano=romano+"C"                                 
    aux=100
    print "arábigo:",aux


if (anyo_desglosado>=90):
    anyo_desglosado=anyo_desglosado%90
    romano=romano+"XC"                                 
    aux=90
    print "arábigo:",aux

if (anyo_desglosado>=80):
    anyo_desglosado=anyo_desglosado%80
    romano=romano+"LXXX"                                          
    aux=80
    print "arábigo:",aux

if (anyo_desglosado>=70):
    anyo_desglosado=anyo_desglosado%70
    romano=romano+"LXX"                                              
    aux=70
    print "arábigo:",aux

if (anyo_desglosado>=60):
    anyo_desglosado=anyo_desglosado%60
    romano=romano+"LX"                                                    
    aux=60
    print "arábigo:",aux


if (anyo_desglosado>=50):
    anyo_desglosado=anyo_desglosado%50
    romano=romano+"L"                                                       
    aux=50
    print "arábigo:",aux

if (anyo_desglosado>=40):
    anyo_desglosado=anyo_desglosado%40
    romano=romano+"XL"                                                            
    aux=40
    print "arábigo:",aux

if (anyo_desglosado>=30):
    anyo_desglosado=anyo_desglosado%30
    romano=romano+"XXX"                                                                
    aux=30
    print "arábigo:",aux

if (anyo_desglosado>=20):
    anyo_desglosado=anyo_desglosado%20
    romano=romano+"XX"                                                                
    aux=20
    print "arábigo:",aux

if (anyo_desglosado>=10):
    anyo_desglosado=anyo_desglosado%10
    romano=romano+"X"                                                                       
    aux=10
    print "arábigo:",aux

if (anyo_desglosado==9):
    anyo_desglosado=anyo_desglosado%9
    romano=romano+"IX"                                                                           
    aux=9
    print "arábigo:",aux

if (anyo_desglosado==8):
    anyo_desglosado=anyo_desglosado%8
    romano=romano+"VIII"                                                                                
    aux=8
    print "arábigo:",aux

if (anyo_desglosado==7):
    anyo_desglosado=anyo_desglosado%7
    romano=romano+"VII"                                                                                    
    aux=7
    print "arábigo:",aux

if (anyo_desglosado==6):
    anyo_desglosado=anyo_desglosado%6
    romano=romano+"VI"                                                                                        
    aux=6
    print "arábigo:",aux

if (anyo_desglosado==5):
    anyo_desglosado=anyo_desglosado%5
    romano=romano+"V"                                                                                            
    aux=5
    print "arábigo:",aux

if (anyo_desglosado==4):
    anyo_desglosado=anyo_desglosado%4
    romano=romano+"IV"                                                                                                
    aux=4
    print "arábigo:",aux

if (anyo_desglosado==3):
    anyo_desglosado=anyo_desglosado%3
    romano=romano+"III"                                                                                                   
    aux=3
    print "arábigo:",aux

if (anyo_desglosado==2):
    anyo_desglosado=anyo_desglosado%2
    romano=romano+"II"                                                                                                        
    aux=2
    print "arábigo:",aux

if (anyo_desglosado==1):
    anyo_desglosado=anyo_desglosado%1
    romano=romano+"I"                                                                                                            
    aux=1
    print "arábigo:",aux


print "\nAño en romano: ",romano


2. Obtener salario nuevo
#código Python
'''

autor: yo
fecha : viernes 9 de diciembre del 2011

'''
#función que calcula el nuevo salario --> ganancia
def obtenerGanancia(m,p):
    return m+(m*(p/100))

#función que calcula el nuevo salario --> perdida
def obtenerPerdida(m,p):
    return m-(p*(p/100))

#variables
salir="s"
monto,porcentaje=0,0
opc=0

while salir == "s":
   
    print "***************************************"
    print "[Programa que calcula el salario nuevo]"
    print "***************************************"
    print ""

    #menú
    print "1. Obtener ganancia"
    print "2. Obtener pérdida"
   
    opc=int(raw_input('Introduce opción: '))

    #obtener ganancia
    if opc==1:
        print "[Obtener ganancia]"
        monto=float(raw_input('Monto: '))
        print "$",monto,"\n"
        porcentaje=float(raw_input('Porcentaje:'))
        print porcentaje,"% \n"
        print "Ganancia: $",obtenerGanancia(monto,porcentaje)
        print ""

    #obtener pérdida
    if opc==2:
        print "[Obtener pérdida]"
        monto=float(raw_input('Monto: '))
        print "$",monto,"\n"
        porcentaje=float(raw_input('Porcentaje:'))
        print porcentaje,"% \n"
        print "Ganancia: $",obtenerPerdida(monto,porcentaje)
        print ""

    else:
        print "opción inválida"

   
    salir=raw_input('Desea hacer otra operación? (s/n):')
    print ""

    if salir=="n":
        print "adios"

domingo, 2 de octubre de 2011

Java, ejemplos prácticos

Una serie de programas hechos en Java. Trataré de explicar algunos programas más o menos complejos, otros son muy claros como dar una explicación larga y detallada. Te recomiendo estudiarlos y revisarlos. 


1. Promedio.java

import java.util.Scanner;
import java.io.*;
import java.lang.*;

public class Promedio{

  public static void main(String[] args)throws IOException{
  int n=0,contador=0;double suma=0,promedio=0,valor=0;
  Scanner teclado=new Scanner(System.in);
  System.out.println("******************");
  System.out.println("[Promedio en Java]");
  System.out.println("******************");
  do{
  System.out.println("Introduce numero de materias: ");
  n=teclado.nextInt();
  }while(n<0); 

System.out.println("\nNumero de materias:  ["+n+"]");
 
  while (contador<n){
 
  System.out.println("\nCalificacion no.  "+(contador+1));
  valor=teclado.nextDouble();

   contador++;
  suma+=valor;
  //System.out.println("\nSuma parcial: "+suma+" para no. "+contador);
 
  }
  promedio=suma/n;
  System.out.println("\nSuma total ["+suma+"]");
  System.out.println("\nPromedio ["+promedio+"] redondeado:["+Math.round(promedio)+"]");
  System.exit(0);

  }
}//fin clase 

2. Burbuja.java

import java.io.*;

public class Burbuja{


 public static void main(String[]args){

  int[] arreglo={100,54,0,43,56,12,4,95,32,5};
  System.out.println("\tArreglo sin ordenar");
  verArreglo(arreglo);
 
  System.out.println("\tArreglo ordenado");
/*
esto se pudo hacer con 
Arrays.sort(arreglo);

en vez de usar está función
*/
  burbuja(arreglo);
  verArreglo(arreglo);
}


 static int verArreglo(int[] vector){
  int i=0;
  for(i=0;i<vector.length;i++)
    System.out.println("Posicion no. "+i+" Valor= "+vector[i]);
  return i;
 }


 static int burbuja(int[] arreglo){
      int i,j;
      int aux;
      for(i=0;i<arreglo.length-1;i++)
            for(j=0;j<arreglo.length-1;j++)
                  if(arreglo[j]>arreglo[j+1]){
                        aux=arreglo[j];
                        arreglo[j]=arreglo[j+1];
                        arreglo[j+1]=aux;

                  }
      return i;
}

}


3. Calcular el IMC de una persona: IMC.java
import java.io.*;
import java.util.Scanner;

public class IMC{

   //miembros
   private double Peso;
   private double Talla;

   

   public IMC(double miPeso,double miTalla){
       this.Peso=miPeso;
       this.Talla=miTalla;
  }

  //métodos Set y Get
 
 
  
 //otros métodos

 public void verDatos(){
   System.out.println("\nPeso ["+Peso+"] Talla ["+Talla+"]");
 }

 public double obtenerIMC(){
   return Peso/(Talla*Talla);
 }


//main

 public static void main(String[] args)throws IOException{

  IMC miPrograma3=new prog4(0,0);
  double peso=0,talla=0;
 Scanner teclado=new Scanner(System.in);
 Mensaje1();
  do{
   System.out.println("\nIntroduce peso: ");
    peso=teclado.nextDouble();
  }while(peso<=0);

 do{
   System.out.println("\nIntroduce talla: ");
    talla=teclado.nextDouble();
  }while(talla<=0);

  miPrograma3=new IMC(peso,talla);
  miPrograma3.verDatos();
  System.out.println("\nIMC generado ["+miPrograma3.obtenerIMC()+"] ");
   Mensaje2();System.exit(0);

 }

   static void Mensaje2(){

    System.out.println("\t**************************************************");
    System.out.println("\t*********** codemonkey *************");
    System.out.println("\t**************************************************");
    }


   static void Mensaje1(){

    System.out.println("\t*******************************************************");
    System.out.println("\t*********** [Calculo del IMC en Java] *************");
    System.out.println("\t*******************************************************");
    }


}//fin clase 

Próximamente más ejemplos.

El lenguaje de programación C

El mítico lenguaje de programación C sigue siendo el lenguaje que definió todo. Y con todo nos referimos a todo lo referente a la inf...

Etiquetas

Archivo del blog