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 - juanlulete

#21
Hola os quería pedir ayuda para un programa de números primos.
Estoy haciendo un programa que comprueba si un número es primo o no y he intentado hacerlo lo mejor posible para que funcione mas rápido.
Al código también le añadí una formula que sirve para que si el número es divisible por 3 excepto el tres ya me diga que no es primo y se ahorre tener que hacer lo demás.

Código (vbnet) [Seleccionar]
Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        If Not IsNumeric(TextBox1.Text) Then Exit Sub

        Dim i As Integer
        Dim Total As Integer

        For i = 1 To Len(TextBox1.Text)
            Total = Total + Val(Mid(TextBox1.Text, i, 1))
        Next

        If TextBox1.Text = 3 Then
            Label1.Text = ("El número es Primo")
        Else
            If Total Mod 3 = 0 Or TextBox1.Text = 1 Then
                Label1.Text = ("El número no es Primo")

            Else
                Dim resultado As Integer = -1
                Dim n As Double = TextBox1.Text

                For i = 2 To Math.Sqrt(n)
                    If n Mod i = 0 Then
                        resultado = 0
                        Exit For
                    End If
                Next
                If resultado = 0 Then Label1.Text = ("El número no es Primo")
                If resultado = -1 Then Label1.Text = ("El número es Primo")
            End If
        End If
    End Sub
End Class


El programa va muy bien ya que utiliza el método de la raíz cuadrada.
Bueno pues lo que quiero hacer es modificar este código para que en vez de comprobar si un número es primo o no te haga una lista en un listbox de todos los números primos desde un mínimo (textbox(min)) hasta un máximo (textbox(max)) pero sin cambiar el método.

Y también quería ver si hay alguna función para que coja el último dígito o la ultima letra de un textbox y como se utiliza.

Gracias de antemano
#22
Vale, ahora sí.
Muchísimas gracias noele1995
#23
Tienes razón en lo que dices pero me refiero a que el 1 salga un nº de veces seguidas = al textbox y lo que tu me estas poniendo no son seguidas me entiendes.
#24
Si te digo la verdad soy un principiante autodidacta. No se lo que es VisualBasic.net
Yo estoy utilizando Microsoft Visual Basic 2010 Express y estoy hacien el programa en una Aplicación de Windows Forms.

Conozco la función para redondear pero en este caso da igual y lo de cint funciona bien.
#25
Una cosa que acabo de ver es que el código fuente que me diste esta mal: Imaginemos que en el textbox pongo un 3 y tu programa programa hace cint(rnd) y en ese cint(rnd) sale 1,0,1,1 si no me he equivocado en el label tendría que poner 4 pero en este ejemplo no a salido 3 veces seguidas el número 1 que es lo que quiero.

Ejemplo bueno
Textbox = 5
cint(rnd) --> 1,0,1,0,0,0,1,1,1,1,1.
En este caso si se ha repetido el 1 cinco veces y en el label pondría 11 que es el nº de veces que el bucle se ha tenido que ejecutar.

Espero que me hayas entendido.
Gracias de antemano.
#26
Muchas gracias y perdón por no poner el código donde debía pero para que sirve "CInt"

Gracias.
#27
Hola, miren tengo un problema y es que en un programa que quiero hacer para estudiar juegos de azar, lo que pasa es que tengo que hacer un bucle dentro de otro y yo no lo se hacer.

El programa tiene un Botón(3), un Label(6) y un Textbox(2).

El programa funciona de la siguiente forma:
Tu ingresas un nº en un Textbox y al darle a al Botón lo que hace el programa es, imaginaos que tira un dado de dos caras (imaginaos aunque sea imposible) pues el nº que ingreses en el Textbox es el nº de veces que se repite la misma cara y en el Label quiero que me aparezca el nº de veces que el programa a necesitado tirarlo para sacar tal nº.

Pensé que el programa debería tener esta apariencia:

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        Label6.Text = 0
        If TextBox2.Text = ("") Then TextBox2.Text = 0

        Dim a As Integer
        Dim b As Integer = TextBox2.Text
        Dim c As Integer = TextBox2.Text
        For b = 1 To b
            a = Rnd(1)
            If a < 0.5 Then Label6.Text = Label6.Text + 1
            If a < 0.5 Then
                For c = 1 To c
                    If a < 0.5 Then Label6.Text = Label6.Text + 1

                    Aquí es donde irían los infinitos bucles

                    If a > 0.5 Then Label6.Text = Label6.Text + 1
                Next c

            End If

            If a > 0.5 Then Label6.Text = Label6.Text + 1
        Next b
    End Sub

Y dentro del segundo bucle otro con otra variable y otro con otra variable... Pero no tendría fin porque para hacer el programa bien tendría que hacer infinitos bucles con infinitas variables.

Espero que lo hayan entendido y que me ayuden.
Gracias.
#28
Programación Visual Basic / Pregunta muy simple
7 Noviembre 2011, 23:35 PM
¿Se puede contar cuantas veces se presiona un botón?
#29
Dudas Generales / Calculadora infinita
31 Octubre 2011, 22:28 PM
Me pueden decir donde puedo encontrar una calculadora que no me ponga math error ni me eleve a 10 sino que me ponga el resultado exacto por muy grande que sea.
Ej: 10^10^10^10 = 10+1000 ceros.
#30
Quiero hacer un programa para que en un textbox yo le pongo un nº (100) por ejemplo y me genere 100 nºs aleatorios entre el 1 y el 2 y que en otros dos textbox me diga cuantas veces se el nº 1 y cuantas el 2.
Mas o menos así:

Muchas gracias.