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

viernes, 4 de julio de 2014

Una herramienta para aprender a programar: PSeInt

PSeInt
Se trata de una herramienta enfocada a la enseñanza y aprendizaje de programación, se emplea un lenguaje algorítmico muy sencillo de utilizar.  Lo puedes instalar en Linux, Windows, y Mac.

 Al inicio te pedirá que lenguaje algorítmico usarás (te muestra una lista). A mi parecer es bastante sencillo e intuitivo.  Ideal para quienes están o quieren aprender a programar.

Link
http://pseint.sourceforge.net/slide/pseint.html
http://pseint.sourceforge.net/

lunes, 2 de septiembre de 2013

Programando en C++ ... no.2

1. Clases, crear una clase llamada "Fecha" y mostrar sus propiedades.
#include "iostream.h"
#include "stdio.h"
#include "time.h"
#include "stdlib.h"

class Fecha{
      private:
              int dia;
              int mes;
              int anyo;
   
      public:
             Fecha();
             virtual ~Fecha();
           
             Fecha(int dia,int mes, int anyo){
                       this->dia=dia;
                       this->mes=mes;
                       this->anyo=anyo;
             }
           
             void setDia(int dia){this->dia=dia;}
             void setMes(int mes){this->mes=mes;}
             void setAnyo(int anyo){this->anyo=anyo;}
           
             int getDia(){return this->dia;}
             int getMes(){return this->mes;}
             int getAnyo(){return this->anyo;}
             
};

Fecha::Fecha(){
             cout<<"Se ha creado objeto Fecha"<<endl;
}

Fecha::~Fecha(){cout<<"Se ha destruido objeto Fecha"<<endl;}


int main(){
    Fecha fecha(18,12,1981);
    cout<<"dia: "<<fecha.getDia()<<"  mes: "<<fecha.getMes()<<"  anyo: "<<fecha.getAnyo()<<endl;
    system("PAUSE");
    return 0;
}

Links:
Libro C/C++/Java

domingo, 9 de junio de 2013

Programando en Java ... no. 1

1. Recorrer un directorio, si existe recorre y cuenta el número de archivos y directorios.
import java.io.File;
import java.io.IOException;
import static java.lang.System.out;

public class Ejemplos{
    public static final String DIRECTORIO="/home/usuario/ejemplos";
 
    public static void main(String[] args)throws IOException {
        File directorio=new File(DIRECTORIO);
        int cont=0;
        if(directorio.exists()){
            out.println("existe directorio");
            if(directorio.isDirectory()){
                out.println("estamos en: "+directorio.getAbsolutePath());
                File subDir=new File(directorio.getAbsolutePath());
                File[] archivos=subDir.listFiles();
                out.println("\tArchivos:");
                for(int i=0;i<archivos.length;i++){
                    out.println(archivos[i].getName());
                    cont++;
                }//fin for
            }//fin if
        }//fin if
        out.println("no. total: "+cont);
    }

}

2. Unir dos vectores (Ay B) en una lista
import java.util.Scanner;
import java.util.ArrayList;
import java.util.List;
import java.util.Arrays;
import java.util.Collections;

public class Ejemplos{
    public static void main(String[] args) {
    Scanner in=new Scanner(System.in);
    int tam=0;
    int[] vectorA=null;
    int[] vectorB=null;
    List<Integer> listaC=new ArrayList<Integer>();
    System.out.println("tamanyo del vector: ");
    tam=in.nextInt();
    vectorA=new int[tam];
    vectorB=new int[tam];
    int valorA=0,valorB=0;

System.out.println("llenamos vector A");
    for(int i=0;i<vectorA.length;i++){
      System.out.println("valor no. "+(i+1)+" :");
      valorA=in.nextInt();
      vectorA[i]=valorA;
    }
    Arrays.sort(vectorA);
System.out.println("llenamos vector B");
    for(int j=0;j<vectorB.length;j++){
      System.out.println("valor no. "+(j+1)+" :");
      valorB=in.nextInt();
      vectorB[j]=valorB;
    }
    Arrays.sort(vectorB);
System.out.println("llenamos lista C");
    for(int a:vectorA){
        listaC.add(a);
    }
    for(int b:vectorB){
        listaC.add(b);
    }
       Collections.sort(listaC);
       System.out.println(listaC);    
    }
}

3. Uso de enumeraciones
import java.util.List;
import java.util.ArrayList;
import static java.lang.System.out;

public class Ejemplos{
    public static void main(String[] args) {
     Soldado steve=new Soldado();
     Soldado john=new Soldado();

     RangoSoldado rango1, rango2;

     steve.setNombre("Steve Rogers");
     steve.setEdad(28);
     steve.setRango(RangoSoldado.CAPITAN);

     john.setNombre("John Walker");
     john.setEdad(30);
     john.setRango(RangoSoldado.TENIENTE);

     rango1=steve.getRango();
     rango2=john.getRango();

     out.println("Steve: "+rango1.getTitulo());
     out.println("John: "+rango2.getTitulo());

     List<Soldado> listaS=new ArrayList<Soldado>();
     listaS.add(steve);listaS.add(john);

     for(Soldado soldado: listaS){
        out.println("nombre: "+soldado.getNombre()+"  ,edad: "+soldado.getEdad()+"  ,rango: "+soldado.getRango());
     }




    }
}

class Soldado{
    public Soldado(){}

    public Soldado(String _nombre,int _edad, RangoSoldado _rango){
        nombre=_nombre;
        edad=_edad;
        rango=_rango;
    }

    private String nombre;
    private int edad;
    private RangoSoldado rango;


    public void setNombre(String _nombre){
        nombre=_nombre;
    }

    public void setEdad(int _edad){
        edad=_edad;
    }

    public void setRango(RangoSoldado _rango){
        rango=_rango;
    }

    public String getNombre(){
        return nombre;
    }

    public int getEdad(){
        return edad;
    }

    public RangoSoldado getRango(){
        return rango;
    }
}

enum RangoSoldado{
    RASO("raso"),CABO("cabo"),TENIENTE("teniente"),CAPITAN("capitan");

  
    public  String titulo;

    RangoSoldado(String _titulo){
        titulo=_titulo;
    }

    RangoSoldado(){
    }

    public String getTitulo(){
        return titulo;
    }
}

4. Recorrer directorio
import java.io.IOException;
import java.io.File;
import java.util.Date;

public class Ejemplos{

    public static final String DIRECTORIO="C:\\Programas\\Ejemplos";
    
public static void main(String[] args)throws IOException {
        File directorio=new File(DIRECTORIO);
        if(directorio.exists()){
            System.out.println("existe el directorio: "+directorio.getAbsolutePath());
            File subDir=new File(directorio.getAbsolutePath());
            File[] archivos=subDir.listFiles();
            for(int i=0;i<archivos.length;i++){
                if(archivos[i].canRead() || archivos[i].canWrite() || archivos[i].canExecute()){
                    System.out.println("se tienen todos los permisos: "+archivos[i].getName());
                    if(new File(archivos[i].getName()).isFile()){
                        System.out.println("es archivo: "+archivos[i].getName()+"  ultima modificacion: "+new Date(archivos[i].lastModified()));
                    }
                    if(new File(archivos[i].getName()).isDirectory()){
                        System.out.println("es directorio: "+archivos[i].getName()+" ultima modificacion: "+new Date(archivos[i].lastModified()));
                    }

                    //ver solo archivos txt
                    if(archivos[i].getName().endsWith("txt")){
                        System.out.println("es archivo txt: "+archivos[i].getName()+" ultima modificacion: "+new Date(archivos[i].lastModified()));;
                    }

                }else{
                    System.out.println("no se tienen los  permisos necesarios: "+archivos[i].getName());
                }

            }//fin for
        }//fin if
    }//fin main

}


viernes, 10 de mayo de 2013

Un vistazo a ... Ruby

Update:

Ruby es: Un lenguaje de programación dinámico y de código abierto centrado en la simplicidad y la productividad. Tiene una sintaxis elegante que es natural de leer y fácil de escribir.

Instalamos:

sudo apt-get install ruby-full

Una vez instalado abrimos una terminal y tecleamos:

ruby -v 
¿Cómo guardo un programa en Ruby?
nombrePrograma.rb

¿Cómo ejecuto un programa (desde terminal)?
ruby nombrePrograma.rb

Si usas Windows puedes descargar e instalar http://rubyinstaller.org/


1. Introducir datos desde teclado

introduceDatos.rb
puts "Teclea un nombre: "
STDOUT.flush
nombre=gets.chomp
puts "Hola #{nombre}"

2. Tabla de multiplicar del 1 al 10

tabla.rb
for n in 1..9
   puts "tabla de multiplicar del no. #{n}\n"
   for n2 in 1..10
        puts "#{n} x #{n2} = #{n*n2}\n"
   end
end

3.  Crear una clase
Persona.rb

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

  def verDatos()
    puts "Hola #{@nombre} tienes #{@edad} años"
  end

end

persona=Persona.new("Horacio",35)
persona.verDatos()


4. Ejecutar un bat o un sh
ejecuta.rb
=begin
comentariops 
multilínea en 
Ruby
=end
#si es Linux
system("sh archivo.sh")
#si es Windows
system("archivo.bat")


comprehensiones.rb
arreglo=[1,4,5,3,2,9,54,33,90,210,0,21]
puts arreglo.map {|x| x!= 0 ? x * 3 : nil}.compact



REPL Ruby
 http://tryruby.org/levels/3/challenges/2 este sitio  es para probar e iniciar en Ruby.



domingo, 13 de noviembre de 2011

¿Cómo aprender a programar?

  • Conoce gente que sepa de programación 
  • Busca información, libros, apuntes, blogs, sitios especializados,etc.
  • Comparte tus conocimientos (aunque sean limitados) siempre alguien te podrá corregir si te equivocas
  • Siempre es bueno tener tu propio "banco de datos" donde almacenar tus apuntes, tus notas, etc.
  • Leer ayuda de mucho, también la lógica y las matemáticas
  • Haz notas de lo que no entiendas, busca términos que te confundan o que no entiendas claramente
  • Preguntar es bueno, aunque no siempre esperes que te contesten y resuelvan tus problemas
  • El Face y Twitter no son solo para ver mensajes sin contenido ni sustancia, también pueden servir para encontrar buena información y conocer gente
  • Si encuentras código no es bueno tan solo copiar y pegar,estudialo no todo el código que encuentras en  internet sirve
  • Y lo más importante, el programador se hace con la práctica no en las aulas

Un ejemplo muy sencillo. Sumar todos los valores de un arreglo
//defino un arreglo con números
int[] numeros={3,4,5,6,7,8,9};
int i,suma=0;
//bucle que va sumando todos los valores del arreglo
for(i=0;i<numeros.length;i++){
   suma+=numeros[i];
}
//muestro la suma de todos los valores
System.out.println("Suma de todos los números: "+suma);

    Jai un lenguaje de programación inspirado en C++

    Hoy hablaremos de un nuevo lenguaje de programación llamado Jai . Se trata de un lenguaje de programación que está desarrolland...

    Etiquetas

    Archivo del blog