Depuración de algoritmos en Visual Basic. Construir tablas de variables con Labels y TextBoxes (CU00347A)

Resumen: Entrega nº46 del curso Aprender a programar en Visual Basic desde cero.
Codificación aprenderaprogramar.com: CU00347A

 

 

VERIFICACIÓN DE ALGORITMOS USANDO VISUAL BASIC

Cuando hablamos de "Verificación de algoritmos" en el curso "Bases de la programación I" de aprenderaprogramar.com, distinguimos cinco técnicas que eran: verificación mental, verificación por seguimiento escrito, verificación por seguimiento con tablas de variables, verificación por seguimiento con desarrollo en un lenguaje y verificación por seguimiento con un lenguaje y paso a paso.

Visual Basic
 

 

Vamos a abordar cómo usar estas técnicas con Visual Basic. Dado que la verificación mental o por seguimiento escrito son propias del programador y su mente, o a lo sumo, un papel de ayuda, comenzaremos por ver cómo construir tablas de variables con Visual Basic.

 

 

CONSTRUIR TABLAS DE VARIABLES A TRAVÉS DE VISUAL BASIC

Consideremos el siguiente código, correspondiente a una estructura de bucle anidado dentro de otro:

Código (versiones VB menos recientes) Código (versiones VB más recientes)

'Curso VB aprenderaprogramar.com
Option Explicit

Dim i%, j As Integer
Dim A As Integer

Private Sub Form_Load()
Label1 = " "
For i = 1 To 5
    For j = 1 To 5
        A = i * j
        Label1 = Label1 & A & ", "
    Next j
Label1 = Label1 & " // "
Next i
End Sub
REM Curso Visual Basic aprenderaprogramar.com
Option Explicit On
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim i, j As Integer
        Dim A As Integer
        Label1.Text = ""
        For i = 1 To 5
            For j = 1 To 5
                A = i * j
                Label1.Text = Label1.Text & A & ", "
            Next j
            Label1.Text = Label1.Text & " // "
        Next i
    End Sub
End Class

 

 

Supongamos que queremos construir una tabla de variables en Visual Basic con 3 columnas:

Paso bucle 01 (i)

Paso bucle 02 (j)

Valor de A

.

.

.

.

.

.

.

.

.

.

.

.

 

 

Para ello escribimos el siguiente código:

Código (versiones VB menos recientes) Código (versiones VB más recientes)

'Curso VB aprenderaprogramar.com
Option Explicit
Dim i%, j As Integer
Dim A As Integer

Private Sub Form_Load()
Label1 = "": Label2 = "": Label3 = ""
Label1 = "Paso bucle 01" & vbCrLf
Label2 = "Paso bucle 02 (j)" & vbCrLf
Label3 = "Valor de A" & vbCrLf
For i = 1 To 5
    For j = 1 To 5
    A = i * j
    Label1 = Label1 & "     " & i & vbCrLf
    Label2 = Label2 & "     " & j & vbCrLf
    Label3 = Label3 & "     " & A & vbCrLf
    Next j
Next i
End Sub
REM Curso Visual Basic aprenderaprogramar.com
Option Explicit On
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim i, j As Integer
Dim A As Integer
Label1.Text = "" : Label2.Text = "" : Label3.Text = ""
Label1.Text = "Paso bucle 01" & vbCrLf
Label2.Text = "Paso bucle 02 (j)" & vbCrLf
Label3.Text = "Valor de A" & vbCrLf
For i = 1 To 5
    For j = 1 To 5
     A = i * j
     Label1.Text = Label1.Text & "     " & i & vbCrLf
     Label2.Text = Label2.Text & "     " & j & vbCrLf
     Label3.Text = Label3.Text & "     " & A & vbCrLf
    Next j
Next i
End Sub
End Class

 

 

Con un resultado gráfico tal como este:

visual basic depuracion programas

 

 

Hemos utilizado para mostrar un resultado un Label, pero también podríamos haberlo hecho sobre un TextBox. ¿Por qué? No hay motivo por el cual usar un Label sea obligatorio. Cada cual lo hará como lo estime conveniente. Nosotros usamos normalmente Labels para mostrar resultados, pero en algunos casos, por ejemplo si nos interesa poder copiar y pegar un texto, usamos TextBox.

Supongamos un programa que contiene el doble bucle que hemos visto. Hemos querido verificarlo y lo hemos hecho con esta visualización. Una vez estamos satisfechos del resultado del bucle, borramos la verificación que hemos utilizado para visualizar y seguimos trabajando tranquilos, sabemos que el bucle no va a producir efectos indeseados.

En ocasiones nos interesa obtener un resultado en forma de tabla de variables que podamos exportar por ejemplo a un procesador de textos. Una forma de hacerlo sería programándolo, pero también podemos hacer que los resultados se presenten sobre un TextBox como hemos indicado antes y a partir de ahí lo único que tenemos que hacer es copiar (Ctrl + C) y pegar (Ctrl + V). Vamos a ver este caso en código. Primeramente crearemos un TextBox y en la ventana de propiedades establecemos Multiline = True y Scrollbars = 3 (Both).

 

Código (versiones VB menos recientes) Código (versiones VB más recientes)

'Curso VB aprenderaprogramar.com
Option Explicit
Dim i%, j As Integer
Dim A As Integer
Dim Espacios As String

Private Sub Form_Load()
Espacios = "                         "
Text1 = "Paso bucle 01 " & " Paso bucle 02 (j) " & " Valor de A" & vbCrLf
For i = 1 To 5
    For j = 1 To 5
        A = i * j
        Text1 = Text1 & "           " & i & Espacios & j & Espacios & A & vbCrLf
    Next j
Next i
End Sub
REM Curso Visual Basic aprenderaprogramar.com
Option Explicit On
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim i, j As Integer
        Dim A As Integer
        Dim Espacios As String
        Espacios = "                         "
        TextBox1.Text = "Paso bucle 01 " & " Paso bucle 02 (j) " & " Valor de A" & vbCrLf
        For i = 1 To 5
         For j = 1 To 5
         A = i * j
         TextBox1.Text = TextBox1.Text & "           " & i & Espacios & j & Espacios & A & vbCrLf
            Next j
        Next i
    End Sub
End Class

 

 

Si Multiline no está establecido en True nos saldrá el resultado en una sola línea. El resultado es la ya conocida tabla, pero con este código en formato "capturable" en el portapapeles, de modo que podemos por ejemplo pasarlo a una hoja de cálculo.

 

 

 

 

 

 

Para acceder a la información general sobre este curso y al listado completo de entregas pulsa en este link:  Ver curso completo.
 
Para  hacer un comentario o consulta utiliza los foros aprenderaprogramar.com, abiertos a cualquier persona independientemente de su nivel de conocimiento.

¿Puedo yo aprender?

Seas o no del área informática, si quieres aprender a programar te ofrecemos una solución guiada y personalizada: realizar un curso tutorizado on-line. Con este tipo de curso, podrás aprender a programar de forma ágil y amena.

Acceder a detalles y precios de los cursos tutorizados on-line

Política sobre cookies

Utilizamos cookies propias y de terceros para ofrecerte una mejor experiencia y servicio, de acuerdo a tus hábitos de navegación.

Si continúas navegando, consideramos que aceptas su uso. Puedes obtener más información en nuestra Política de Cookies.

En Facebook!

Ahora puedes seguirnos en Facebook. Noticias, novedades y mucho más ¡Te esperamos!

RANKING APR2+

Ranking de lenguajes y entornos de programación aprenderaprogramar.com
 

MARZO - ABRIL 2017

1. Java / J2EE
2. Entornos Oracle
3. JavaScript, jQuery
4. .NET, C#
5. Entornos SQL Server
6. HTML, CSS
7. Php, MySql
8. Android, iOS


Acceder a detalles sobre el ranking de programación aprenderaprogramar.com

FOROS APR2+

Pregunta, responde, consulta, lee, intercambia...

Participa!!! Entra en los foros aprenderaprogramar.com.

             Copyright 2006-2017 aprenderaprogramar.com                La web abierta a cualquier persona interesada en la programación