Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - 43H4FH44H45H4CH49H56H45H

#351
Algo asi?
Código (csharp) [Seleccionar]
lista.Add("1.- uno");
            lista.Add("2.- dos");
            lista.Add("3.- tres");
            lista.Add("4.- cuatro");

Código (csharp) [Seleccionar]
foreach (string verif in lista.ToArray())
            {
                if (verif.Contains("4.-"))this.Text = "esta";               
                else lista.Add("4.- valor nuevo");               
            }


Se puede hacer igualmente con "substring"...
#352
.NET (C#, VB.NET, ASP) / Re: Duda codigo.
11 Diciembre 2008, 05:48 AM
Si colocara int yo = 255 mostraria ff
Si fuese int yo = 500 mostraria 1f4, es decir mostraría el resultado completo y no  solamente 2 cifras, para mejor comprensión conversiones a hexadecimal.
#353
.NET (C#, VB.NET, ASP) / Re: Duda codigo.
10 Diciembre 2008, 15:19 PM
Es la cadena de formato numerico por ejemplo si:
Código (csharp) [Seleccionar]
int yo = 5;
this.Text = yo.ToString("x3");

mostrara como resultado:
005

si fuera "x2" mostrara:
05
#354
Java / Re: Program java numeros primos
5 Diciembre 2008, 13:43 PM
Cita de: -Ramc- en  4 Diciembre 2008, 17:37 PM
Código (java) [Seleccionar]
public static boolean esPrimo(int numero) {
            double raiz = Math.sqrt(numero);
            boolean is = true;
            for(int i = 2; i <= raiz && is; i++) {
                     if(numero % i == 0)
                                is = false;
            }
            return is;
}


PD: El código claro que es mio, sino ni me hubiera molestado en contestarte.

Lo justo es darle los créditos al autor del código en este caso Hearts   >:(

Cita de: Hearts en 29 Noviembre 2008, 01:46 AM
Código (java) [Seleccionar]
public static boolean buscaPrimo(long n){
if (n<=0)
throw new IllegalArgumentException("Número no natural");
int i=2;
boolean primo=true;
while (i<=n/2 && primo){
if (n%i==0)
primo=false;
i=i+1;
}
return primo;
}

#355
Java / Re: Program java numeros primos
4 Diciembre 2008, 14:36 PM
Cita de: ^TiFa^ en  3 Diciembre 2008, 17:01 PM
Un programador eficiente, siempre conoce la forma o via de obviar las sentencias debiles que producen inestabilidad al codigo tipo los break, goto, continue, etc....

Era entendible utilizar estas sentencias cuando existian  ENIAC, BRLESC, Edvac y las tarjetas perforadas.. vamos, ahi era obligatorio, pero a estas alturas con estos modelos de PC y estos SO con capacidad de hacer variadas cosas a la vez, y estos lenguajes de alto nivel orientado a objetos como Java en este caso, que se supone que manejan y limpian la carga de memoria, las excepciones, y un sinumero de cosas.... creo que para un programador eficiente (Que es lo que tu quieres dejar notado aqui sobre tu persona 43H4FH44H45H4CH49H56H45H) EL uso de break es inadmisible...) No es valido para la optimizacion, ni lectura limpia del codigo fuente en si. Solo eso.

Me pregunto porque no revisas las cosas que escribes antes de publicarlas, es molestoso estar corrigiendo de cada comentario tuyo por lo menos 1 error.

Cita de: -Ramc- en  3 Diciembre 2008, 16:45 PM
Yo retorno un valor que mi método debe devolver sino de que otra forma

uso return para devolver.

Si le añadimos System.out.print(i + " "); a esPrimo cualquiera puede darse cuenta que ademas rompe las iteraciones del mismo modo que se haria con break o similar, por tanto no conoces el comportamiento de return, no conoces como funciona tu propio algoritmo? ya parece un copy - paste. Pero no tomemos conclusiones apresuradas, pues de seguro si es tuyo no tendrás problema en corregir semejante error que tanto criticas y si no puedes colocas al verdadero autor y asunto olvidado.

Si no tienes la capacidad de entender algo tan simple investiga que tal es considerado el uso de break, continue, return y otros dentro de bucles.
Y si todavia no puedes asimilar eso con gusto saco los titeres para mostrartelo.

Cita de: -Ramc- en  3 Diciembre 2008, 16:45 PM
Lo vez ^TiFa^ solo se ha dedicado a criticar sin tan siquiera probar los códigos y comprobar que lo que el dice es cierto.   :laugh:

Claro  :rolleyes: vamos a aclarar este punto y con gusto continuamos.
#356
Java / Re: Program java numeros primos
1 Diciembre 2008, 14:54 PM
^TiFa^  si no entiendes, no entiendes no tiene caso insistir...

-Ramc-

Lee bien, un entero no puede ser igual a un double (con decimales), la comparación de igualdad solo te sirve cuando sacas la raiz a un numero como 25, lo mejor seria hacer una conversion o un redondeo antes de la comparación.

Criticas el uso de break, pero que uso le das al return en tu bucle?

Solo con for e if:

Código (java) [Seleccionar]
for(i = 2; num % i != 0 && i < (num-1); i++){};               
if(num % i != 0 || num ==2) System.out.print(num + "es primo \n");


Usandolo:

Código (java) [Seleccionar]
public static void main(String[] args) {
       
               int i;               
               for(int num=2; num <= 1000; num++)
               {
               for(i = 2; num % i != 0 && i < (num-1); i++){};               
               if(num % i != 0 || num ==2) System.out.print(num + "es primo \n");                                     
               }
    }


Haber que tal funciona.
#357
Java / Re: Program java numeros primos
28 Noviembre 2008, 06:45 AM
Cita de: ^TiFa^ en 27 Noviembre 2008, 15:13 PM
43H4FH44H45H4CH49H56H45H  yo creo que deberias hablar menos y aportar mas  ;)

No creo que seas tu la persona mas adecuada para comentar aca como deberia y como no alguien programar un codigo, sobretodo porque observando tu pequeno 'ejemplo' lo mismo que criticas en mi lo estas aplicando en tu codigo.... yo esperaba al menos, ya que te tomas la molestia de criticar algo redundante que tu tambien estas aplicando, yo espera al menos ver que tu creases tu propia funcion independiente que funcionase como un bucle y una sentencia de control de flujo a la vez... al menos si criticas algo, ten con que respaldarlo, sino tienes con que respaldarlo mejor no digas nada.

Yo se perfectamente como funciona una sentencia de control de flujo y es totalmente valido usarlo dentro de un bucle for como lo idealize en mi codigo (aunque imprima numero pares/impares y no primos).

En lo unico que te doy la razon es en lo de numero primo. Pero no en el concepto de la forma como hice el codigo.

Un saludo.
No esperaba que entiendas el código y menos el algoritmo, pero no creí que pudieses confundir cosas tan distintas, ni modo, intentaré con las plastilinas.
*******************************************************************
En tu código indicas que inserte un número, sea para saber si es par o primo ok?
En cada iteración imprimirá si es primo o par, o si no es alguno de ellos ok?
Si introduce 1000 cuantas líneas imprimirá en pantalla hasta llegar al número deseado.

Cita de: ^TiFa^ en 27 Noviembre 2008, 15:13 PMtu propia funcion independiente que funcionase como un bucle y una sentencia de control de flujo a la vez...

Investiga que son las Sentencias de Control de Flujo en Java y te darás cuenta de la tontería que escribiste.

Cita de: ^TiFa^ en 27 Noviembre 2008, 15:13 PMYo se perfectamente como funciona una sentencia de control de flujo y es totalmente valido usarlo dentro de un bucle for como lo idealize en mi codigo (aunque imprima numero pares/impares y no primos).

Se nota perfectamente.  :rolleyes:

Acerca del código:
Citando la Frikipedia

El conjunto de los números primos es un subconjunto propio de los números naturales que engloba a
todos los elementos de este conjunto mayores que 1 que son divisibles únicamente por sí mismos y por
la unidad.

Por ejemplo, el número 7 tiene sólo dos divisores que son el 1 y el mismo 7 por lo que 7 es número primo.


Hasta aquí ok?

Si tenemos  1, 2, 3,..., n  para mostrar el ejemplo descartamos el 1 y el mismo número que sería n para hacer la comprobación con módulo "%" puesto que si existe algún número superior a 1 e inferior a n que sea divisor de n, entonces NO SERA PRIMO, por lo tanto es inútil recorrer todos los números hasta n si encontramos algún divisor antes. Y remarcar que es una tontería comprobar con módulo "%" si n es divisible entre n eso por el "<=".
Expresado en java:
Código (java) [Seleccionar]
if(num > 1)
            {
            cont = 0;
            for(int nu = 2; nu < num; nu++){               
                if(num % nu == 0)
                {
                System.out.print("NO ES PRIMO\n");
                cont = 1;
                break;
                }
            }
            if (cont == 0)  System.out.print("ES PRIMO\n");
}


Espero que hayas captado algo de lo dicho puesto que no sabría como explicarlo de forma más sencilla.


Cita de: -Ramc- en 27 Noviembre 2008, 15:43 PM
43H4FH44H45H4CH49H56H45H tu algoritmo no es muy bueno, ademas de que el break en muchos casos quiere decir que la condición de parada de tu bucle no es la correcta, otra cosa, te recomiendo usar Scanner en vez del InputStreamReader, yo propongo este algoritmo para comprobar si un numero es primo:

Código (java) [Seleccionar]
public boolean esPrimo(int numero) {
            double raiz = Math.sqrt(numero);
            for(int i = 2; i <= raiz; i++) {
                     if/numero % i == 0)
                                return false;
            }
            return true;
}

Si a alguien le sirve, simplemente lo envias en un for y listo, guardas en un arreglo los que te devuelvan true.


- if/numero % i == 0) en que planeta funciona semejante linea?  :-\
- i <= raiz  en que momento un entero puede ser igual a un double??? por ejemplo Math.sqrt(10);  :-X

- Así que hay que crear un arreglo para guardar los true  :o
- Prueba tu algoritmo con 900 o similares y veras que buen funcionamiento tiene  :rolleyes:

Citarte recomiendo usar Scanner en vez del InputStreamReader
- Excelente recomendación de alguien que no sabe ni como funciona su propio algoritmo  :rolleyes:
- No voy a comentar matemáticas de primaria para hacerte ver lo ineficiente de tu algoritmo con ciertos tipos de números.
#358
Java / Re: Program java numeros primos
27 Noviembre 2008, 15:05 PM
Cita de: ^TiFa^ en 26 Noviembre 2008, 20:29 PM
Yo no se Java (Apenas aprendiendo)

Pero creo que igual esto te serviria :


class aplicacion {

public static void main(String[] args) {

Scanner x = new Scanner(System.in);

int numero;

System.out.println("Inserte un numero!");
numero = x.nextInt();

int contador;

for ( contador = 0; contador <= numero; ++contador ) {
if ((contador%2) == 0) {
System.out.println("Es un numero primo "+contador);
} else {
System.out.println("No es un numero primo "+contador);
}
}
}
}



Primero deberias tomar un curso de algoritmos, entender como se comporta una sentencia de control de flujo (en este caso el bucle con for), en este y en la mayoria de los lenguajes.
- Me quedo la duda al ver este codigo
que entiendes por numero primo?

Sp1D3rXxX while(d<=N); no está bien aplicado fijate en el concepto de número primo y verás que tienes cosas demás.

Y el resto de códigos  :laugh:

Código (java) [Seleccionar]
// NetBeans 5.5
package primo;
import java.io.*;
public class Main {
   
    public Main() {
    }
   

    public static void main(String[] args) {
       
            BufferedReader tec;
            String leer;
            int num;
            int cont;
            tec = new BufferedReader( new InputStreamReader(System.in) );   
            try
            {           
            System.out.print("Ingrese numero: \n");                                 
            leer = tec.readLine();
            num = Integer.parseInt(leer);           
            if(num > 1)
            {
            cont = 0;
            for(int nu = 2; nu < num; nu++){               
                if(num % nu == 0)
                {
                System.out.print("NO ES PRIMO\n");
                cont = 1;
                break;
                }
            }
            if (cont == 0)  System.out.print("ES PRIMO\n");           
            }
            else if (num == 1) System.out.print("ES NUMERO UNITARIO\n");
            else System.out.print("NUMERO INVALIDO\n");
            }           
           
            catch(Exception e)
            {
                System.out.print("error: " + e.toString());
            }

    }
   
}


Bueno esto lo hice de a la rapida, falta agregar varias cosas y mejorar el algoritmo, pero para darse idea de lo que menciono sirve de ejemplo.
#359
Lo siento me equivoque al escribir  ;D
En mi caso lo haria asi:
Imports System
Imports System.IO

Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim yo As String() = File.ReadAllLines("C:\1.txt")
        For Each ver As String In yo
            ListView1.Items.Add(ver)
        Next

    End Sub
End Class


Igualmente se puede implementar AddRange para acortar el código.
#360
Viendo el código fuente de pasadita se nota la ineficiencia del diseño por varias cosas:
- Utilización de firmas en el mismo código necesitando líneas similares para cada una, por lo cual se hace difícil el mantenimiento del programa e ineficiente cuando se trata de nuevos tipos de código o alguno que no tenga implementado.
- Falta de control de los errores posibles.
- Poca o nula utilización de las ventajas de la .NET por lo cual no existe prácticamente la reutilización de código y posibilidad de modificación sencilla desde una base para todo el programa, lo que igualmente causa un difícil mantenimiento del mismo y otros problemas.
- El "escaneo" de un autorun.inf no tiene ninguna ventaja pues no diferencia entre uno normal o uno malicioso, lo cual se podría mejorar con un ReadAllText, verificar si contiene líneas maliciosas, sacar un substring para obtener el nombre del ejecutable dentro de las líneas del autorun.inf y añadirlo como peligroso.

Hay varias cosas más que se podría mencionar, pero ya me da sueño.

Lo recomendable para hacer este tipo de software es basarse en la heurística, porque basado en firmas lo hace demasiado ineficiente.

De haber alguien que quiera continuar este "proyecto" tendría hacerlo desde 0 para lograr una eficiencia aceptable.

Sentí curiosidad por el "mxone" que mencionaron, puesto que no encontré el código fuente tuve que ejecutarlo y es similar al que muestran en este post, las mismas fallas, muestra un poco mas de eficiencia pero es por las firmas que tiene (más actualizado) pero en caso de tratarse de nuevos "virus, troyanos o similares" es igual de ineficiente. Una de las diferencias es que reemplaza el autorun.inf (sea o no malicioso) por uno propio del programa, y de igual manera no lo utiliza para obtener el nombre del ejecutable o diagnosticar si es malicioso. Algo que cabe mencionar es que lleva bastantes adornos a simple vista diría que está hecho en visual basic 6, bueno no le veo importancia a saber en qué se hizo.