Mostrar Mensajes

Esta sección te permite ver todos los mensajes hechos por este usuario, recuerda que solo puedes ver los mensajes en áreas en donde tu tienes acceso.


Temas - [D-m-K]

Páginas: [1] 2 3
1
Criptografia / Atacando por Fuerza Bruta (BruteForce) 1
« : noviembre 03, 2010, 11:58:01 pm »
Para comenzar a explicar en que consiste un ataque de fuerza bruta primero voy a definir que es esa vaina.

Un Ataque de fuerza bruta dentro del campo de la criptografia es una t

2
Maratones de Programación / Solucionando Test de Velocidad :: Yashira
« : octubre 24, 2010, 08:51:15 pm »
Bueno este reto fue algo chistoso, aunque en esta ocasi

3
Maratones de Programación / Solucionando Reto Applet :: Yashira
« : octubre 24, 2010, 12:40:21 pm »
Bueno parceros, este fin de semana me dedique a echarle cabeza a algunos reticos de yashira y pues en esas me surgio una duda y una solucion para solucionar un reto de Fuerza Bruta (BruteForce). En esta ocasi

4
Maratones de Programación / Warmup :: The Birthday Paradox
« : octubre 18, 2010, 11:14:01 pm »
Este ejercicio si me saco canas jajajajaja, primero porque no entendia la formula correcta que se tenia que aplicar; Luego porque al aplicar el DecimalFormat (para el formateo de la salida de acuerdo al ejercicio) no me arrojaba el punto, entonces investigando un poco mas a fondo se necesitaba usar el DecimalFormatSymbols para definir el caracter usado como separador. Bueno menos charla y mas code ;).

Cita
The Birthday Paradox

Source le name: birthday.c, birthday.cpp or birthday.java

Given n, the number of participants in a birthday party, you have to estimate the probability
that at least one pair of them do have the same birthday (month and day), assuming that a
year has 365 days.
To estimate that probability you may think that the birthday distribution is uniform along
the year, i.e. one person may has been born at any of the 365 days of the year with the same
probability.

Input

Each line of the input contains an integer n (0n365) specifying the number of participants
in the party.
The input must be read from the le birthday.in.

Output

For each case in the input, print one line with the probability that at least one pair of the n
participants do have the same birthday. Round the results to six decimal places. The
oating

point delimiter must be `.' (i.e. the dot). The rounding applies towards the nearest neighbor
unless both neighbors are equidistant, in which case the result is rounded up (e.g. 0:1234562
is rounded to 0:123456; 0:1234566 is rounded to 0:123457; 0:1234565 is rounded to 0:1234567,
etc.).

The output must be written to standard output.

Sample inputOutput for the sample input
365 1.000000
0 0.000000
230.507297

Aqui esta el code ;)

[code=java]
/**
 * Solucion de la paradoja de los cumplea

5
J2SE / J2EE / J2ME / Recorrido matricial
« : octubre 18, 2010, 09:19:11 pm »
Bueno estaba por ahi repasando los recorridos de matrices (2 dimensiones) y el desparche me sirvio para hacer esto:

Código: (java) [Seleccionar]
/**
 * Ejemplo para el recorrido de matrices en todos los sentidos
 * @author [D-m-K], Red Informatica Colombiana
 */
public class Matriz {
    public static String[][] matriz;
    public static String letras = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    public static final int d = 5;

    public static void main(String[] args) {
        //Dimensiono la matriz con n
        matriz = new String[d][d];
        llenarMatriz();
        verMatriz();
        filas();
        filasInversas();
        columnas();
        columnasInversas();
        diagonalDerecha();
        diagonalDerechaInversa();
        diagonalIzquierda();
        diagonalIzquierdaInversa();
    }

    public static void llenarMatriz() {
        //Lleno la matriz con letras aleatorias segun las letras disponibles
        for (int i = 0, n = 0; i < d; i++) {
            for (int j = 0; j < d; j++) {
                n = (int)(Math.random() * letras.length());
                matriz[i][j] = "" + letras.charAt(n);
            }
        }
    }

    public static void verMatriz(){
        for (int i = 0; i < d; i++) {
            for (int j = 0; j < d; j++) {
                System.out.print(" " + matriz[i][j]);
            }
            System.out.println("");
        }
    }

    public static void filas(){
        System.out.println(" :: Filas de la matriz :: ");
        for (int i = 0; i < d; i++) {
            System.out.print("Fila " + i + " >>");
            for (int j = 0; j < d; j++) {
                System.out.print(" " + matriz[i][j]);
            }
            System.out.println("");
        }
    }

    public static void filasInversas(){
        System.out.println(" :: Filas Inversas de la matriz :: ");
        for (int i = 0; i < d; i++) {
            System.out.print("Fila " + i + " >>");
            for (int j = d - 1; j >= 0; j--) {
                System.out.print(" " + matriz[i][j]);
            }
            System.out.println("");
        }
    }

    public static void columnas(){
        System.out.println(" :: Columnas de la matriz :: ");
        for (int i = 0; i < d; i++) {
            System.out.print("Columna " + i + " >>");
            for (int j = 0; j < d; j++) {
                System.out.print(" " + matriz[j][i]);
            }
            System.out.println("");
        }
    }

    public static void columnasInversas(){
        System.out.println(" :: Columnas inversas de la matriz :: ");
        for (int i = 0; i < d; i++) {
            System.out.print("Columna " + i + " >>");
            for (int j = d - 1; j >= 0; j--) {
                System.out.print(" " + matriz[j][i]);
            }
            System.out.println("");
        }
    }

    public static void diagonalDerecha(){
        System.out.println(" :: Diagonal principal derecha de la matriz :: ");
        System.out.print("Diagonal >>");
        for (int i = 0; i < d; i++) {
            System.out.print(" " + matriz[i][i]);
        }
        System.out.println("");
    }

     public static void diagonalDerechaInversa(){
        System.out.println(" :: Diagonal principal derecha de la matriz (Inversa) :: ");
        System.out.print("Diagonal >>");
        for (int i = d - 1; i >= 0; i--) {
            System.out.print(" " + matriz[i][i]);
        }
        System.out.println("");
    }

     public static void diagonalIzquierda(){
        System.out.println(" :: Diagonal principal izquierda de la matriz :: ");
        System.out.print("Diagonal >>");
        for (int i = d - 1; i >= 0; i--) {
                System.out.print(" " + matriz[i][(d - i - 1)]);
        }
        System.out.println("");
    }

     public static void diagonalIzquierdaInversa(){
        System.out.println(" :: Diagonal principal izquierda de la matriz (Inversa):: ");
        System.out.print("Diagonal >>");
        for (int i = 0; i < d; i++) {
                System.out.print(" " + matriz[i][(d - i - 1)]);
        }
        System.out.println("");
    }
    
}

Un ejemplo de la visualizaci

6
Maratones de Programación / Ejercicio :: The 3n + 1 Problem
« : octubre 18, 2010, 01:52:32 pm »
Ok. por ahi en la pagina de programming challenges y uva esta este ejercicio. jejejeje lo chistoso fue que tenia la soluci

7
Maratones de Programación / Material para las maratones de programaci
« : octubre 18, 2010, 11:21:04 am »
Navegando por ah

8
J2SE / J2EE / J2ME / Jugando con los primos :: BigInteger
« : octubre 18, 2010, 10:22:57 am »
Estaba leyendo un poquito sobre el manejo de la clase BigInteger y BigDecimal, pero hubo un metodo que me parecio bastante interesante (Me recordo aquellos tiempos cuando comence a jugar en project-euler y a phicar xDDD).

Bueno este es un ejemplo del metodo nextProbablePrime(), el cual a partir del numero almacenado en el objeto BigInteger, obtiene el probable proximo n

9
Maratones de Programación / Ejercicio de maraton :: Uncle Jack
« : octubre 16, 2010, 12:23:50 pm »
Bueno aqui traigo otro ejercicio, esta vez el tio Jack con sus CD's y sos sobrinos mojigatos.

Cita
Problem F
Uncle Jack


Source file name: uj.c, uj.cpp or uj.java

Dear Uncle Jack is willing to give away some of his collectable CDs to his nephews. Among the
titles you can find very rare albums of Hard Rock, Classical Music, Reggae and much more;
each title is considered to be unique. Last week he was listening to one of his favorite songs,
Nobody

10
Maratones de Programación / Warmup :: Base Comparator ::
« : octubre 14, 2010, 10:08:27 pm »
Bueno aqui traigo otro ejercicio pa cacharrearle un poquito.

Cita
Problem B
Base Comparator


Source file name: bcomp.c, bcomp.cpp or bcomp.java

DigiCircuits Inc. is a software company that develops software simulators for digital circuits. A
very frequently used component of its software, named the comparator, is a simulated circuit
that compares numbers expressed in different numerical bases. More exactly, this component
receives two numbers, each one in a possible different base, and decides if the first number is
less than, equal to or greater than the second number.

The numerical bases that may appear vary from 1 to 9. Remember that a number expressed
in base b uses only digits less than b. Your task is to develop a program that simulates the function of the comparator component.

Input

The input file contains several test cases, each one of them in a separate line. Each test case
has four numerical strings, each two of them separated by a blank character, say
s b t c
Strings b and c are one-character strings. They represent the bases for the first and third
strings s and t, respectively.
The end of the input is denoted by the end of the input file.
The input must be read from the file bcomp.in.

Output

Output text for each input case is presented in the same order that input is read. For each
test case the answer must be a left aligned answer-character corresponding to the input. This
character must be < , = or > , accordingly to the fact that the first string represents a numerical
value less than, equal to or greater that the represented by the third string.
The output must be written to standard output.

<< Esta es la salida que se puede obtener >>


Sample input  Output for the sample input
54 6 71 8  <
110 2 6 7  =
3 4 3 9   =
14 7 1000 2  >



Archivo bcomp.in
Cita
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 1 888 9
888 9 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 1
000 1 10 2
14 7 8 9
777777777777777777 8 8888888888888888 9
000000000000000000 1 21 8
00000012345678 9 12345678 9
0 1 000000000000000001 5
11111111111111111111111111111 2 2222222222222222222222222222 3
8888888888888888888 9 1111111111111111111111111111111111111111111111111111111111111111111 2
444 5 147 9
000000000 1 10 8


Archivo bcomp.out
Cita
<
>
=
>
>
=
=
<
<
>
=
=

Nota :  Estos ejercicios estan basados en el calentamiento de ACM ICPC / 2006

Pdta : Ahorita pongo el cronometro en marcha y calculo el tiempo ;).


11
Maratones de Programación / Warmup :: Hello Kitty ::
« : octubre 14, 2010, 07:35:25 pm »
Bueno gente, como toca comenzar a entrenar para la maraton de programaci

12
Bueno aqui os traigo la calculadora propuesta en la tercera actividad del sena para el manejo de archivos y excepciones. Realmente la calidad y la cantidad de las funciones de la calculadora no es algo que sorprenda, pues es un prototipo muy basico pero funcional en Swing.

Perdonaran que no esta muy documentada, pero por razones de tiempo solo se pudo codificar. ;)

Calculadora.java
Código: (java) [Seleccionar]
import java.awt.event.*;
import javax.swing.*;
import java.awt.*;

/**
 * Calculadora de la tercera semana de archivos y excepciones SENA
 * @author Edwin Torres
 */
public class Calculadora extends JFrame implements ActionListener {

    //Miembros de clase
    private JButton b1, b2, b3, b4, b5, b6, b7, b8, b9, b0;
    private JButton bsuma, bresta, bmultiplica, bdivide, braiz, bxtoy, bclear, bclear_empty, bigual;
    private JTextField entrada;
    private JPanel panelSuperior, panelInferior;
    private JLabel mensajes;
    private String memoria, operador;
    private double num1, num2, resultado;

    public Calculadora() {
        //Variables de memoria
        memoria = "";
        operador = "";

        //Botones numericos de la calculadora
        b1 = new JButton("1");
        b2 = new JButton("2");
        b3 = new JButton("3");
        b4 = new JButton("4");
        b5 = new JButton("5");
        b6 = new JButton("6");
        b7 = new JButton("7");
        b8 = new JButton("8");
        b9 = new JButton("9");
        b0 = new JButton("0");

        //Botones de operadores de la calculadora
        bsuma = new JButton("+");
        bresta = new JButton("-");
        bmultiplica = new JButton("x");
        bdivide = new JButton("/");

        //Botones de funciones de la calculadora
        bxtoy = new JButton("x^y");
        bclear = new JButton("C");
        bclear_empty = new JButton("CE");
        braiz = new JButton("√");
        bigual = new JButton("=");

        //Display de la calculadora
        panelSuperior = new JPanel(new GridLayout(2, 1, 10, 10));
        entrada = new JTextField(20);
        mensajes = new JLabel("", JLabel.RIGHT);

        entrada.setHorizontalAlignment(JTextField.RIGHT);
        panelSuperior.add(entrada, BorderLayout.CENTER);
        panelSuperior.add(mensajes);

        panelInferior = new JPanel(new GridLayout(5, 4, 1, 1));
        panelInferior.setBackground(Color.WHITE);
        panelInferior.add(b7);
        panelInferior.add(b8);
        panelInferior.add(b9);
        panelInferior.add(bclear);
        panelInferior.add(b4);
        panelInferior.add(b5);
        panelInferior.add(b6);
        panelInferior.add(bclear_empty);
        panelInferior.add(b1);
        panelInferior.add(b2);
        panelInferior.add(b3);
        panelInferior.add(bsuma);
        panelInferior.add(b0);
        panelInferior.add(bresta);
        panelInferior.add(bmultiplica);
        panelInferior.add(bdivide);
        panelInferior.add(braiz);
        panelInferior.add(bxtoy);
        panelInferior.add(bigual);

        //Adicion de listeners
        b1.addActionListener(this);
        b2.addActionListener(this);
        b3.addActionListener(this);
        b4.addActionListener(this);
        b5.addActionListener(this);
        b6.addActionListener(this);
        b7.addActionListener(this);
        b8.addActionListener(this);
        b9.addActionListener(this);
        b0.addActionListener(this);
        bsuma.addActionListener(this);
        bresta.addActionListener(this);
        bmultiplica.addActionListener(this);
        bdivide.addActionListener(this);
        braiz.addActionListener(this);
        bxtoy.addActionListener(this);
        bclear.addActionListener(this);
        bclear_empty.addActionListener(this);
        bigual.addActionListener(this);

        //Adicion de los paneles a la calculadora
        getContentPane().add(panelSuperior, BorderLayout.NORTH);
        getContentPane().add(panelInferior, BorderLayout.CENTER);

        //Adicion de botones
        setSize(240, 250);
        setBackground(Color.WHITE);
        setVisible(true);


        //Adicion de eventos
        addWindowListener(new WindowAdapter() {

            @Override
            public void windowClosing(WindowEvent e) {
                System.out.println("Cerrando ventana");
                JOptionPane.showMessageDialog(null, " : Calcauladora V1.0 | Edwin Torres: ");
                System.exit(0);
            }
        });
    }

    public static void main(String[] args) {
        Calculadora app = new Calculadora();
    }

    public void actionPerformed(ActionEvent e) {
        if (e.getSource() == b1) {
            memoria += b1.getText();
            entrada.setText(memoria);
            mensajes.setText("");
        }
        if (e.getSource() == b2) {
            memoria += b2.getText();
            entrada.setText(memoria);
            mensajes.setText("");
        }
        if (e.getSource() == b3) {
            memoria += b3.getText();
            entrada.setText(memoria);
            mensajes.setText("");
        }
        if (e.getSource() == b4) {
            memoria += b4.getText();
            entrada.setText(memoria);
            mensajes.setText("");
        }
        if (e.getSource() == b5) {
            memoria += b5.getText();
            entrada.setText(memoria);
            mensajes.setText("");
        }
        if (e.getSource() == b6) {
            memoria += b6.getText();
            entrada.setText(memoria);
            mensajes.setText("");
        }
        if (e.getSource() == b7) {
            memoria += b7.getText();
            entrada.setText(memoria);
            mensajes.setText("");
        }
        if (e.getSource() == b8) {
            memoria += b8.getText();
            entrada.setText(memoria);
            mensajes.setText("");
        }
        if (e.getSource() == b9) {
            memoria += b9.getText();
            entrada.setText(memoria);
            mensajes.setText("");
        }
        if (e.getSource() == b0) {
            memoria += b0.getText();
            entrada.setText(memoria);
            mensajes.setText("");
        }
        if (e.getSource() == bclear_empty) {
            if (memoria.length() > 0) {
                memoria = memoria.substring(0, (memoria.length() - 1));
            }
            entrada.setText(memoria);
            mensajes.setText("Limpiar Caracter");
            temporizador(3000, "");
        }
        if (e.getSource() == bclear) {
            memoria = "";
            entrada.setText(memoria);
            mensajes.setText("Limpiar Memoria");
            resultado = 0.0;
            num1 = 0.0;
            num2 = 0.0;
            temporizador(3000, "");
        }
        if (e.getSource() == bsuma) {
            setNum1();
            operador = "+";
            mensajes.setText("Suma");
        }
        if (e.getSource() == bresta) {
            setNum1();
            operador = "-";
            mensajes.setText("Resta");
        }
        if (e.getSource() == bmultiplica) {
            setNum1();
            operador = "x";
            mensajes.setText("Multiplicacion");
        }
        if (e.getSource() == bdivide) {
            setNum1();
            operador = "/";
            mensajes.setText("Division");
        }
        if (e.getSource() == braiz) {
            setNum1();
            operador = "√";
            mensajes.setText("Raiz cuadrada");
            getResultado();
        }
        if (e.getSource() == bxtoy) {
            setNum1();
            operador = "^";
            mensajes.setText("Potencia");
        }
        if (e.getSource() == bigual) {
            getResultado();
        }
    }

    public void temporizador(int delay, final String msg) {
        ActionListener taskPerformer = new ActionListener() {

            public void actionPerformed(ActionEvent evt) {
                mensajes.setText("" + msg);
            }
        };
        new Timer(delay, taskPerformer).start();
    }

    public void getResultado() {
        System.out.println("operador" + operador);
        setNum2();
        try {
            if (operador.equals("+")) {
                resultado = num1 + num2;
            }
            if (operador.equals("-")) {
                resultado = num1 + num2;
            }
            if (operador.equals("x")) {
                resultado = num1 * num2;
            }
            if (operador.equals("/")) {
                if (num2 == 0) {
                    mensajes.setText("No se puede dividir por cero");
                    temporizador(3000, "");
                } else {
                    resultado = num1 / num2;
                }
            }
            if (operador.equals("√")) {
                try{
                    resultado = Math.sqrt(num1);
                } catch(NumberFormatException ex){
                    mensajes.setText("Error en estructura para el numero");
                    temporizador(3000, "");
                }
            }
            if (operador.equals("^")) {
                try{
                    resultado = Math.pow(num1, num2);
                }catch(NumberFormatException ex){
                    mensajes.setText("Error hallando potencia");
                    temporizador(3000, "");
                }
            }


            //Mensajes de consola
            System.out.println("num1 = " + num1);
            System.out.println("num2 = " + num2);
            System.out.println("resultado = " + resultado);
            entrada.setText("" + resultado);
            memoria = "" + resultado;
        } catch (NumberFormatException ex) {
            mensajes.setText("Formato invalido");
        }

    }

    public void setNum1() {
        try {
            num1 = Double.parseDouble(memoria);
            memoria = "";
            entrada.setText(memoria);
        } catch (NumberFormatException ex) {
        }
    }

    public void setNum2() {
        if (memoria != "") {
            num2 = Double.parseDouble(memoria);
            entrada.setText(memoria);
        }
    }
}


Hakuna Matata & Happy Bandwith.

13
Programación en general / Actividad 2b SENA (Archivos y Excepciones)
« : octubre 09, 2010, 11:56:14 am »
Weno otra vez.... Aqui traigo otra actividad del sena del manejo de archivos y excepciones.  La actividad consiste en lo siguiente.

Cita
   1.  Hacer la lectura definida de StringTokenizer.
   2. Utilizar los ejemplos descritos en la lectura para compilarlos y ejecutarlos y entender mejor la definici

14
Programación en general / Actividad 2a SENA (Archivos y Excepciones)
« : octubre 09, 2010, 11:46:00 am »
Quetal muchachos, ya toy haciendo el otro curso del SENA en el manejo de archivos y excepciones. aqui les traigo una de las actividades que consiste en lo siguiente.

Cita
  1.  Hacer la lectura definida de Introducci

15
Programación en general / Actividad 1a SENA (Archivos y Excepciones)
« : octubre 03, 2010, 10:15:43 pm »
Bueno por ahi me meti a hacer otro cursillo del SENA, asi que aqui traigo la priimera actividad.

Actividad1a_Excepciones.java

[code=java]
/**
 *  1.  Hacer la lectura definida de Introducci

Páginas: [1] 2 3