Pantalla de Diseño

Pantalla de Diseño
Pantalla en Tiempo de Diseño

Pantalla en Tiempo de Ejecución

Pantalla en Tiempo de Ejecución
Programa en Ejecución

viernes, 11 de mayo de 2007

Evaluador de Números Primos en Visual Basic 2005

Este programa permite determinar si un número es primo o no. Está creado en Visual Basic 2005. El código y las pantallas de ejecución se muestran a continuación:

Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'Recuérdese que el textBox1 es para introducir el número que se quiere saber si es primo o no y que el textBox2 es donde se imprime el resultado dando a conocer si el número es primo o no luego de hacer las evaluaciones respectivas.
Dim residuo As Double 'Para almacenar los residuos.
Dim contador As Integer 'Contador para saber cuántas veces se dan residuos de cero.
For i As Integer = 1 To Val(TextBox1.Text) 'Ciclo desde 1 hasta el número a evaluar.
residuo = Val(TextBox1.Text) Mod i 'Saca el residuo que resulta de dividir el número a evaluar con la iteración en la que va el For, de modo que si el número a evaluar fuera el 5, entonces saca el resuduo de 5 con 1 en la iteración 1, 5 con 2 en la iteración 2, 5 con 3 en la iteración 3, 5 con 4 en la iteración 4 y 5 con 5 en la iteración 5. En ese caso residuos exactos de cero solamente van a salir 2, que es 5 Mod 1 y 5 Mod 5. Por lo tanto el número 5 es primo porque el contador llegaría a valer 2. En el caso del 4, sacaría el resuduo de 4 con 1 en la iteración 1, 4 con 2 en la iteración 2, 4 con 3 en la iteración 3 y 4 con 4 en la iteración 4. En este caso residuos exactos de cero van a salir 3, que es 4 Mod 1, 4 Mod 2 y 4 Mod 4. Por lo tanto el contador llegaría a valer 3, siendo entonces mayor que 2, por lo cual se concluye que el 4 no es un número primo.
If residuo = 0 Then
contador += 1 'Equivale a escribir "contador = contador + 1"
End If
Next
If contador <= 2 Then 'Si el contador vale 1 o 2, el número a evaluar es primo. Si el contador vale 3 o más, el número a evaluar no es primo.
TextBox2.Text = "El número introducido es primo."
Else 'Este "else" se da en el caso que el contador valga 3 o más.
TextBox2.Text = "El número introducido no es primo."
End If
End Sub

End Class

Jaime Montoya
jaimemontoya@jaimemontoya.com
www.jaimemontoya.com