canal visual basic .net

Recursos Visual Basic.NET, VB.NET, Manuales de programación, Tutoriales, Foros de programación, Comunidad de programadores

Usuarios activos:  31

Foros de programación, recursos, tutoriales, sistemas operativos...

Bienvenido a la zona de foros. Participa en alguno de nuestros foros: Foros de visual basic, foros de visual basic.net foros de Crystal reports, programas gratis, foros de C++ - C# , foros de Java, foros de PHP, foros de ASP.net. Seguro que hay un foro que te servirá de gran utilidad y si no lo encuentras avísanos y crearemos uno nuevo.
Resultados 1 al 7 de 7

Tema: Numero Primo

  1. #1
    player1 está desconectado Member Iniciad@
    Fecha de ingreso
    05 abr, 08
    Mensajes
    48

    Predeterminado


    Bueno, espero me puedan ayudar acerca de un algoritmo matematico para saber si un numero de entrada es primo o no?

    Lo trate de hacer con funciones pero aun no me sale.
    Soy novato en esto de la programacion y espero tengan tolerancia.
    mi codigo es el siguiente:

    Public Class Form1
    Public num As Integer
    Public contador As Integer

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

    'Public num As Integer
    num = Val(TextBox1.Text)

    If Primo(num) > 2 Then
    'If contador > 2 Then
    MsgBox("no es primo")
    Else
    MsgBox("si es primo")
    End If
    End Sub
    Function Primo(ByVal p As Integer) As Integer
    'Dim contador As Integer
    contador = 1
    Dim i As Integer
    'Dim nump As Integer
    'Dim num As Integer


    For i = 2 To (p / 2) Step 1 ' el ciclo for con incremento
    'contador = contador + 1
    'Exit For

    If (i Mod p) = 0 Then
    contador = contador + 1
    'Return contador
    'resultado = Primo(num)

    End If
    'Exit For
    Next i
    End Function
    End Class



    Ahh y en mi formulario solo tengo un textbox1, y un boton button1
    Espero me puedan orientar y ayudar con mi codigo!!!
    Hasta pronto




    "Matematicas mas alla de la frontera"

  2. #2
    Avatar de seba123neo
    seba123neo está desconectado Moderador Guru
    Fecha de ingreso
    19 oct, 06
    Ubicación
    Argentina
    Mensajes
    2,766

    Predeterminado

    Hola,el titulo que pusiste es invalido segun las reglas del foro por eso lo corregi y posteaste una duda de vb net en el foro de visual basic clasico..aviso nomas.

    sobre tu duda,probate este codigo:

    Código:
    Public Class Form1
    
     Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
     MsgBox(Primo(97))
     End Sub
    
     Function Primo(ByVal Numero As Integer) As Boolean
     Dim i As Integer
     Dim m As Boolean
     m = True
     For i = 2 To Numero - 1
     If Numero Mod i = 0 Then
     m = False
     Exit For
     End If
     Next
    
     If m Then
     Return True
     Else
     Return False
     End If
     End Function
    End Class

    saludos.



    Todos somos ignorantes;lo que pasa es que no todos ignoramos las mismas cosas - Albert Einstein

  3. #3
    player1 está desconectado Member Iniciad@
    Fecha de ingreso
    05 abr, 08
    Mensajes
    48

    Predeterminado

    Gracias por todo, Seba123neo pero aun no se resuelva mi problema.
    Al compilar el programa y ejecutarlo antes de que me deje meter un valor numerico; solo me manda un MsgBox con "True".
    Y al presionar el boton ya no sale absolutamente nada.
    Y creo que falta el codigo en el boton o no?
    por que al introducir el codigo me deja en blanco la seccion del button1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

    End Sub
    End Class

    Y no lo se pero me parece que desde esta seccion hay que hacer la llamada de la funcion.
    "Matematicas mas alla de la frontera"

  4. #4
    player1 está desconectado Member Iniciad@
    Fecha de ingreso
    05 abr, 08
    Mensajes
    48

    Predeterminado

    No se si me di a antender, pero el programa espera un valor numerico desde el teclado, por medio de un textbox y ya de esto entra en accion la Funcion Primo, donde se supone debe de contar los numeros que son divisibles con este numero.

    Si el contador de los divisores es igual a 2 entonces el numero Es Primo; y si el contador es mayor de 2 entonces No es Primo.

    Haciendo alarde de su definicion: "Un numero es Primo si y solo si, este numero se divide entre si mismo y la unidad".

    Saludos!!!!

    "Matematicas mas alla de la frontera"

  5. #5
    Avatar de seba123neo
    seba123neo está desconectado Moderador Guru
    Fecha de ingreso
    19 oct, 06
    Ubicación
    Argentina
    Mensajes
    2,766

    Predeterminado

    pues como era tan facil adaptar ese codigo a lo que vos qeurias ni siquiera lo puse...si lo queres hacer con un textbox y un boton pues es lo mismo ,cambias solo el valor que le pasas a la funcion y listo...

    Código:
    Public Class Form1
     Function Primo(ByVal Numero As Integer) As Boolean
     Dim i As Integer
     Dim m As Boolean
     m = True
     For i = 2 To Numero - 1
     If Numero Mod i = 0 Then
     m = False
     Exit For
     End If
     Next
    
     If m Then
     Return True
     Else
     Return False
     End If
     End Function
    
     Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
     If TextBox1.Text = "" Then Exit Sub
     If Primo(TextBox1.Text) = True Then MsgBox("El Numero " & TextBox1.Text & " es PRIMO")
     If Primo(TextBox1.Text) = False Then MsgBox("El Numero " & TextBox1.Text & " NO es PRIMO")
     End Sub
    End Class
    saludos.



    Todos somos ignorantes;lo que pasa es que no todos ignoramos las mismas cosas - Albert Einstein

  6. #6
    telu está desconectado Senior Member Avanzad@
    Fecha de ingreso
    13 jul, 07
    Mensajes
    161

    Predeterminado

    Hola. Al codigo de Seba se le puede hacer unas pequeñas modificacion por si el numero es muy grande (ya que no es necesario verificar los pares, ni tampoco intentar dividir por los i > numero/3).

    Public Class Form1
    Function Primo(ByVal Numero As Long) As Boolean
    Dim i As Long
    Dim Hasta As Long
    Dim m As Boolean
    m = True
    Hasta = Numero/3

    For i = 3 To Hasta step 2
    If Numero Mod i = 0 Then
    m = False
    Exit For
    End If
    Next

    If m Then
    Return True
    Else
    Return False
    End If
    End Function

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    If TextBox1.Text = "" Then Exit Sub
    if clng(TextBox1.Text) mod 2 =0 then MsgBox("El Numero " & TextBox1.Text & " No es PRIMO"): Exit Sub
    If Primo(TextBox1.Text) = True Then MsgBox("El Numero " & TextBox1.Text & " es PRIMO")
    If Primo(TextBox1.Text) = False Then MsgBox("El Numero " & TextBox1.Text & " NO es PRIMO")
    End SubAunque me parece que la funcion "mod" no admite numeros Long. Si es así, habra que buscar otra estrategia para para determinar si la división por "i" es exacta.

    saludos


  7. #7
    player1 está desconectado Member Iniciad@
    Fecha de ingreso
    05 abr, 08
    Mensajes
    48

    Predeterminado

    Muchas Gracias a todos los del foro, los felicito por su actitud tan desinteresada y amigable para ayudar a los colegas!!!!

    Muchas gracias!!!!

    De verdad estoy muy agradecido por su ayuda, y que estos dos ejemplos sirven bastante en mi aprendizaje con esta area de la Programacion!!!

    Saludos programadores.

    "Matematicas mas alla de la frontera"

Temas similares

  1. Numero de Pagina
    Por Calito en el foro Crystal Reports
    Respuestas: 0
    Último mensaje: 12/02/2008, 12:48
  2. Numero entero
    Por Fabriccio en el foro Visual Basic 6.0
    Respuestas: 2
    Último mensaje: 31/08/2007, 20:41
  3. calculo de factorial y numero primo
    Por luisgilabzueta en el foro Visual Basic .NET
    Respuestas: 2
    Último mensaje: 13/07/2007, 21:32
  4. Numero de registros
    Por battusai en el foro Bases de datos, ADO , ADO.NET
    Respuestas: 3
    Último mensaje: 30/09/2006, 05:47
  5. cambiar un numero a numero letra
    Por miK3 en el foro Visual Basic 6.0
    Respuestas: 1
    Último mensaje: 25/04/2006, 20:38

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •  
Visual Studio .VisualBasic.net .ADO.NET .ASP.NET .Framework .Crystal report
[Visual Basic .NET · Información legal · Condiciones de uso · Publicidad · Contacto · RSS novedades Foro · Inicio]
Un sitio web de Internelia (Ontecnia) © Copyright 2013 canalvisualbasic.net. Todos los derechos reservados