ago 16 2010
Tipos de programadores [casi una infografía]
(Aviso: la imagen está incompleta, dele a “Continuar leyendo” para ver más)

ago 16 2010
(Aviso: la imagen está incompleta, dele a “Continuar leyendo” para ver más)

By William Medina • Geek, Humor, Programación, WTF • 0 • Tags: codigo, Programación, programador, tipos
jul 20 2010
Hace tiempo, cuando recién empezaba a programar en Java, ví el nombre de esta clase Robot. A mi me pareció un nombre bastante atractivo, por lo que decidí ver en la documentación del API de Java para saber como usarla.
Yo tenía las sospechas de que seria algo bastante dificultoso de hacer, pero no fue así; solo sabiendo lo básico de la programación orientada a objetos fue necesario para poder hacer unos ejemplos.
Esta clase nos permite manejar mediante metodos las pulsaciones del teclado y del mouse e incluso añadirles un cierto delay(retardo), por lo que se me ocurrio jugarle una broma a mis amigos.
El código lo adjunto aquí en archivo rar que contiene el fuente .java, está un poco desordenado ya que no es un trabajo o algo por estilo, sino un programa que se me ocurrio hacer en mis tiempos de ocio para probar el funcionamiento de esta clase(^^’).
El fuente es un applet, por lo que no podran ejecutarlo así como así, ya que al acceder a metodos nativos del sistema(pulsaciones de teclado), necesito primero firmarlo, lo cual si les interesa lo pueden buscar en google o simplemente me lo hacen saber para responderles.
Además les dejo la url del applet ya subido a un hosting gratuito, en donde podran ver en funcionamiento la broma, la cual no hace mas que escribir algo en el bloc de notas y luego te reinicia la pc.
http://claydergc.webs.com/applet.htm
Como decía es necesario firmar el applet, por lo que por ser una broma les aparecerá que acepten que se ejecute el applet en su browser el cual esta con un nombre que no es mio, si mal no recuerdo el nombre que le puse fue “Juan”, para que mis amigos no sepan que fui yo.
Por lo demás no se preocupen, solo es una prueba del funcionamiento de la clase java.awt.Robot, lo unico si les recomiendo que guarden todo lo que esten haciendo porq les reiniará la pc; en todo caso eso pueden verlo en el codigo que adjunté si es que no deseean ejecutar el applet.
http://seccperu.org/files/PruebaRobot.rar
Bueno, espero les haya servido de algo este post.
Saludos.
By Clayder • Ciencia, Clayder, Geek, General, Internet, Java, Programación • 2 • Tags: awt, Java, Programación, robot
may 2 2010
Un anagrama es una palabra que resulta de la transposición de las letras de otra palabra. Por ejemplo con ifx podemos obtener ifx,ixf,fix,fxi,xif,xfi (saber cuales de estas son palabras reales es un asunto totalmente distinto …). Hacer un programa en java para obtener todas estas posibles conjugaciones no es difícil, pero es interesante porque se requiere usar un método recursivo y esta clase de métodos tiende a seguir el patrón pocas líneas de código bastante dolor de cabeza. Esta es sólo una manera de solucionar un anagrama, debe de haber varias más.
import java.util.ArrayList;
public class Anagrama {
private ArrayList<String> soluciones=new ArrayList<String>();
public Anagrama(){ }
public static void main(String args[]){
Anagrama a=new Anagrama();
String palabra="ifx";
a.resolver(palabra);
System.out.println(a.getSoluciones());
}
public void resolver(String palabra){
palabra=palabra.toLowerCase();
char[] letras=palabra.toCharArray();
int tamanioPalabra=letras.length;
int numeroIteraciones=0;
char[] cadenaActual=new char[letras.length];
resolver(letras,cadenaActual,tamanioPalabra,numeroIteraciones);
}
private void resolver(char[] letras,char[] cadenaActual,
int tamanioPalabra,int numeroIteraciones){
if (numeroIteraciones==tamanioPalabra){
getSoluciones().add(new String(cadenaActual));
}
numeroIteraciones++;
for(int i=0;i<tamanioPalabra;i++){
if (letras[i]=='A'){
//Como se paso todas las letras a minúscula, se usa "A"
//para indicar que la letra en esa posición ya se utilizó,
//de ser así sólo paso a la siguiente letra
}else{
char valorEliminado=letras[i];
//valorEliminado es la letra que ya use y no
//se debe seguir usando
cadenaActual[numeroIteraciones-1]=valorEliminado;
letras[i]='A';
//Un valor q le doy para mostrar que ya lo elimine
resolver(letras,cadenaActual,tamanioPalabra,numeroIteraciones);
letras[i]=valorEliminado;
}
}
}
public ArrayList<String> getSoluciones() {
return soluciones;
}
public void setSoluciones(ArrayList<String> soluciones) {
this.soluciones = soluciones;
}
}
By Diego • Java, Programación • 7 • Tags: anagrama, Java, metodo recursivo, Programación
abr 26 2010
Para los más veteranos en esto de la computación, sentir hablar de Logo o Cobol, nos retrotrae a varias décadas hacia atrás.
Quién no recuerda la tortuguita que dibujaba curiosas figuras tras su rastro?
Las pestañas que nos quemamos programando sus “pasos” en un monitor Hércules monocromático?
Muchas veces definidos como verdaderos iconos dentro de la historia de la informática, fueron una invalorable base de aprendizaje, y probablemente la primera experiencia frente a un ordenador para muchos de nosotros.
Seguir leyendo en WiFiClub
By Carlos Cruz A. • Internet, Programación, Software • 0 • Tags: COBOL, computación, historia, lenguajes, LOGO, Programación
abr 17 2010
A ver, primero necesitamos tener una cuenta en: SourceForge.net posteriormente descargar el cliente de SVN, en este caso será Tortoise Tortoise SVN
Quienes conocen, saben de su gran utilidad, desde mi punto de vista, es un software que funciona al mismo estilo de un puente, conectando y compartiendo un proyecto de desarrollo de software para trabajar en equipo [valga la redundancia], si andas en la universidad, esta es una gran alternativa para solucionar el principal problema que tenemos trabajando por separado el mismo proyecto…
Bueno, sin más que agregar, vamos por el tutorial!
Seguir leyendo …
By Fredy • Geek, General, Informatrix, Software, Trucos, UPAO • 4 • Tags: Informatrix, Programación, proyectos
abr 7 2010
Si hablamos de programación orientada a objetos, pues tambien tenemos que hablar de polimorfismo. El polimorfismo se podría dividir concretamente en dos sustantivos: sobreescritura (overwriting) y sobrecarga (overriding) de métodos, los cuales forman parte importante en la implementación del api del j2se.
Estos dos conceptos no son muy dificiles de entender, sin embargo, el ver la puesta en escena de estos conceptos se da casi siempre en nuestras propias clases, lo cual es sencillo ya que para nosotros nuestra clase es una caja blanca la cual podemos ver claramente. Lo que voy a mostrar ahora, es como aplicar la sobreescritura de métodos en la API del J2SE y para hacerlo aun mas grafico, lo aplicaré sobre la clase JFrame, la cual es una ventana de las normales que todos podemos ver.
A continuación pondré el código del programa:
By Clayder • Java, Programación • 0 • Tags: codigo fuente, Java, Programación
ene 24 2010
Hola!!! como van estimados lectores? todo bien? pues yo ando con las ganas de programar en C#, motivos? mmm… mejorar y compartir
En esta ocasión vamos con la selección múltiple, para qué sirve? pues para evitar escribir tantos IFs como sean necesarios, es decir una manera óptima de reducir código fuente, veamos:
namespace Estaciones
{
class Estaciones
{
static void Main(string[] args)
{
Console.WriteLine("Determinando la estación del año");
Console.WriteLine("--------------------------------");
Console.Write("Ingrese número de día: ");
byte dia = byte.Parse(Console.ReadLine());
// byte representa a un número de tamaño relavitamente
// pequeño como se requiere[0-255], que sea hábito el tener en cuenta
// los tipos de datos para trabajar pensando en la memoria...
y continuando con el ejemplo: Seguir leyendo …
By Fredy • Programación • 1 • Tags: C#, codigo fuente, Informatrix, Programación
ene 10 2010
Buenos días!!! regreso de unas vacaciones otorgadas por la directiva de iFX, y continuando con el curso de programación en C#, vamos viendo estructuras condicionales simples, y sin más que agregar, aqui está el código:
using System;
namespace RendimientoEscolar
{
class Promedio
{
//Método principal
static void Main(string[] args)
{
Console.WriteLine("Determinando el rendimiento de alumno");
Console.WriteLine("-----------------------------");
Console.Write("Ingrese promedio: ");
// Declaramos la variable: double promedio
double promedio;
promedio = double.Parse(Console.ReadLine());
// La cual es asignada mediante un Console.ReadLine()
// pero! tiene que ser "parseada" porque ReadLine lee los valores
// del tipo string, asi que al momento de "parsear" va del siguiente modo:
// tipo.Parse(Console.ReadLine());
// tipo -> Int32, Int64, double, long, entre otros
// cuidado con los valores tipo bool.
if (promedio < 0 || promedio > 20)
// Las barras significan "o" lógico.
Console.WriteLine("Dato erróneo");
else if (promedio <= 5)
Console.WriteLine("Échale más ganas, tu puedes!");
else if (promedio <= 10)
Console.WriteLine("Venga vamos! puedes ser mejor, fala poco!");
else if (promedio <= 15)
Console.WriteLine("Vas por buen camino! ");
// En el siguiente caso, van las llaves porque se emplea 2 lineas
// de código y el IF sin llaves solo permite una.
else if (promedio <= 20)
{
Console.WriteLine("Bien, seguid adelante!");
Console.WriteLine("Ahora, comparte lo que sabes");
}
// Finalmente el clásico .ReadLine() para detener la aplicación
// y apreciar sus resultados.
Console.ReadLine();
}
}
}
Saludos!
By Fredy • Programación • 2 • Tags: C#, codigo fuente, Informatrix, Programación
ene 6 2010
Mucha gente cuando empieza a programar, no entiende del todo este concepto de las funciones y el concepto de método, tanto porque o los profesores no son demasiado explícitos, o porque las funciones no son legibles al instante y pues en este post voy a intentar clarificar un poco eso un poco.
Primero que nada, una función no es un método, y viceversa, mucha gente confunde los términos porque en teoría tienen una aplicación parecida, pero hemos de diferenciar a la función del método con lo siguiente:
Función: Es una “acción” que se ejecuta al llamarse, y opcionalmente (y si es que ha sido definido así) con los parámetros que se le pasen (eso en ejecución) y pues por consiguiente, el trabajo que haga depende de esos parámetros o de cómo es que se llame. Por ejemplo:
Si definimos una función “Imprimir”
public void Imprimir(String cadena){
System.out.println(cadena);
}
Deberíamos ponerlo en donde lo necesitamos, de la siguiente forma:
Imprimir("Hola! a todos");
Para que imprima lo que le hemos pasado por parámetro haciendo el trabajo dependiente de eso que le pasemos!
Método: En cambio, un método siempre tiene una asociación con alguna clase, lo que muy aparte de la función de la función (valgan redundancias) va a depender tanto de los parámetros que se le pasen, como del objeto que esté operando en ese momento, osea prácticamente podríamos definir a un método, como la función dentro de un objeto, dejando en claro que todo método es una función, pero no toda función es un método. Por ejemplo:
En una clase definimos el método “Suma” de la siguiente manera:
public int suma(int y){
//la variable x es una variable declarada en el objeto supongamos,
int x = this.x;
int suma = x + y;
return suma;
}
En el main deberiamos definir el funcionamiento de esta manera:
//objetoOperacion o = new objetoOperacion()
//o.setX(10);
int suma = o.suma(20);
//Suponiendo que lo comentado arriba es correcto, deberíamos sumar un 20 al 10, osea daría un 30!
//System.out.println("La suma es: "+suma); //debe dar 30!
By William Medina • Programación • 2 • Tags: codigo fuente, funciones, metodos, Programación
dic 17 2009
Y como dijo Jack, vamos por partes. Ahora comienza la programación en C#,
el IDE que utilizaremos es Visual Studio 2008, pueden descargar una versión
Express [de preferencia el instalador OffLine], espero que este curso sea de su agrado
using System;
// "System" es la libreria que usaremos(using) para el programa.
namespace IntercambioValores
// Es una forma de agrupar lógicamente.
// Podemos llevar un ordenamiento jerárquico, que
// permite buscar y utilizar de manera sencilla las clases.
{
class Program
// Nombre de la clase
{
static void Main(string[] args)
// Método principal del programa
{
// Declaración de variables
int a, b, c;
// .WriteLine: escribe valores y da un salto de linea.
Console.WriteLine("Comenzando a programar en C#");
Console.WriteLine("----------------------------");
// .Write: comienza a recibir valores en la misma linea
Console.Write("Ingrese un valor a: ");
// Convertimos tipo de dato: string -> int
a = Int32.Parse(Console.ReadLine());
Console.WriteLine("Ingrese un valor b: ");
b = Int32.Parse(Console.ReadLine());
Console.WriteLine("----------------------------");
// se utiliza una variable c para poder almacenar
// temporalmente el cambio a->b, de lo contrario
// las variables se reemplazan y caos total >.<
c = a;
a = b;
b = c;
Console.WriteLine("Los valores de a y b fueron intercambiados");
Console.WriteLine("Ahora los nuevos valores son: ");
Console.WriteLine("a: " +a);
Console.WriteLine("b: " +b);
Console.ReadLine();
}
}
}
Ahora bien, si lo que deseamos es desarrollar alguna fórmula matemática como la suma de los N primeros números naturales… En el main, estaría el siguiente código:
int CantidadNumeros;
double Resultado;
Console.WriteLine("Programando matemáticamente");
Console.WriteLine("---------------------------");
Console.Write("Ingrese la cantidad de numeros: ");
CantidadNumeros = Int32.Parse(Console.ReadLine());
//Determinamos la fórmula:
Resultado = CantidadNumeros * (CantidadNumeros + 1)/2;
Console.WriteLine("El resultado es: "+Resultado);
Console.ReadLine();
Saludos!
By Fredy • Programación • 3 • Tags: C#, codigo fuente, Informatrix, Programación

Últimos comentarios