You are on page 1of 4

aprenderaprogramar.

com

Ejercicios con Rnd y Randomize.


Ordenacin del cdigo. Dividir
lneas en Visual Basic. Ejemplos.
(CU00316A)
Seccin: Cursos
Categora: Curso Visual Basic Nivel I

Fecha revisin: 2029

Autor: Mario R. Rancel

Resumen: Entrega n15 del Curso Visual Basic Nivel I

29

2006-2029 aprenderaprogramar.com
Ejercicios con RND. Ordenacin del cdigo.

EJERCICIO CON RND Y RANDOMIZE

Vamos a generar un programa en Visual Basic donde utilizaremos el comando Rnd para generacin de
nmeros aleatorios. El ejercicio es el siguiente: crear el cdigo de un programa en el que se declaran
tres variables tipo Single A, B y C cuyo valor se muestra en pantalla y debe estar comprendido entre
cero y 10, excluido el diez.

Solucin (versionesVB menos recientes): Solucin (versiones VB ms recientes):

Rem Curso Visual Basic aprenderaprogramar.com REM Curso Visual Basic aprenderaprogramar.com
Option Explicit Option Explicit On
Dim A!, B!, C As Single Public Class Form1
Dim A, B, C As Single
Private Sub Form_Load()
Randomize Private Sub Form1_Load(ByVal sender As
A = Rnd * 10 System.Object, ByVal e As System.EventArgs)
B = Rnd * 10 Handles MyBase.Load
C = Rnd * 10 Randomize()
MsgBox ("A vale " & A & " ;B vale " & B & " ; C vale A = Rnd() * 10
B = Rnd() * 10
" & C)
C = Rnd() * 10
End Sub
MsgBox("A vale " & A & " ;B vale " & B &
" ; C vale " & C)
End Sub
End Class

EJERCICIO NMEROS ALEATORIOS

Crear el cdigo de un programa que genera tres nmeros enteros aleatorios A, B, C comprendidos entre
65 y 90, ambos inclusive, y los muestra en pantalla.

Solucin (versionesVB menos recientes): Solucin (versiones VB ms recientes):

Rem Curso Visual Basic aprenderaprogramar.com REM Curso Visual Basic aprenderaprogramar.com
Option Explicit Option Explicit On
Dim A%, B%, C As Integer Public Class Form1
Dim A, B, C As Integer
Private Sub Form_Load()
Randomize Private Sub Form1_Load(ByVal sender As
A = Int(Rnd * 26) + 65 System.Object, ByVal e As System.EventArgs)
B = Int(Rnd * 26) + 65 Handles MyBase.Load
C = Int(Rnd * 26) + 65 Randomize()
MsgBox ("A vale " & A & " ;B vale " & B & " ; C vale A = Int(Rnd() * 26) + 65
B = Int(Rnd() * 26) + 65
" & C)
C = Int(Rnd() * 26) + 65
End Sub
MsgBox("A vale " & A & " ;B vale " & B &
" ; C vale " & C)
End Sub
End Class

2006-2029 aprenderaprogramar.com
Ejercicios con RND. Ordenacin del cdigo.

Comentarios: Si quieres respetar la literalidad de la frmula que expusimos en apartados anteriores del
curso puedes escribir con igual resultado lo siguiente:

A = Int((90 - 65 + 1) * Rnd + 65); B = Int((90 - 65 + 1) * Rnd + 65); C = Int((90 - 65 + 1) * Rnd + 65)

CONCATENACIN DE RDENES Y ORDENACIN SIMBLICA DEL CDIGO

La escritura de rdenes con Visual Basic se realiza con los criterios que ya hemos visto: las instrucciones
pueden escribirse una debajo de otra en lneas independientes o bien en una misma lnea separadas
por dos puntos. As estos dos cdigos resultan equivalentes:

Cdigo V1 (versionesVB menos recientes): Cdigo V1 (versiones VB ms recientes):

Rem Curso Visual Basic aprenderaprogramar.com REM Curso Visual Basic aprenderaprogramar.com
Option Explicit Option Explicit On
Dim A%, B%, C%, D% Public Class Form1
Dim A, B, C, D%
Private Sub Form_Load()
A = 3: B = 2: C = A * B: D = C ^ 2 Private Sub Form1_Load(ByVal sender As
MsgBox ("D vale " & D) System.Object, ByVal e As System.EventArgs)
End Sub Handles MyBase.Load
A = 3 : B = 2 : C = A * B : D = C ^ 2
MsgBox("D vale " & D)
End Sub
End Class

Cdigo V2 (versionesVB menos recientes): Cdigo V2 (versiones VB ms recientes):

Rem Curso Visual Basic aprenderaprogramar.com REM Curso Visual Basic aprenderaprogramar.com
Option Explicit Option Explicit On
Dim A%, B%, C%, D% Public Class Form1
Dim A, B, C, D%
Private Sub Form_Load()
A=3 Private Sub Form1_Load(ByVal sender As
B=2 System.Object, ByVal e As System.EventArgs)
C=A*B Handles MyBase.Load
D=C^2 A = 3
MsgBox ("D vale " & D) B = 2
C = A * B
End Sub
D = C ^ 2
MsgBox("D vale " & D)
End Sub
End Class

La sangra al escribir cdigo la estableceremos normalmente a travs del tabulador, aunque para
algunas instrucciones puede ser el propio editor de Visual Basic quien establezca la sangra automtica.
Si introducimos sangras manualmente, el primer nivel de sangrado corresponder a una primera
pulsacin del tabulador, el segundo nivel a dos pulsaciones y as sucesivamente...

2006-2029 aprenderaprogramar.com
Ejercicios con RND. Ordenacin del cdigo.

A travs del men Opciones, Herramientas... (en algunas versiones hay que entrar adems en Editor de
texto, Basic, Tabulaciones) Visual Basic nos da la posibilidad de configurar el sangrado que deseamos a
travs de dos opciones:

1. Sangra automtica: cuando incluyamos una tabulacin en la primera lnea de cdigo todas las
lneas siguientes comenzarn en esa posicin de tabulacin.

2. Ancho de tabulacin (tamao de tabulacin): establece el ancho de la tabulacin, ancho que puede
oscilar entre 1 y 32 espacios, con un valor predeterminado de 4 espacios. Podemos establecer el
valor que mejor se adapte a nuestras necesidades o gustos estticos.

Una posibilidad que puede resultar interesante es la de usar un smbolo de prolongacin de lnea
cuando tenemos una lnea muy larga que no queremos separar a travs de un smbolo de dos puntos.
Para ello usamos el smbolo de concatenacin de lnea, que es un guin bajo ( _ ). Dicho smbolo
indicar que el texto que aparece en dos lneas, a efectos de ejecucin del programa ser tratado como
si de una lnea se tratara. Veamos el siguiente ejemplo:

Cdigo (versionesVB menos recientes): Cdigo (versiones VB ms recientes):

Rem Curso Visual Basic aprenderaprogramar.com REM Curso Visual Basic aprenderaprogramar.com
Option Explicit Option Explicit On
Dim A%, B%, C%, D% Public Class Form1
Dim A, B, C, D%
Private Sub Form_Load()
A=3 Private Sub Form1_Load(ByVal sender As
B=2 System.Object, ByVal e As System.EventArgs)
C=A*B Handles MyBase.Load
D=C^2 A = 3
MsgBox ("Los valores de las variables que intervienen en B = 2
C = A * B
el proceso, tal y como " _
D = C ^ 2
& "han sido definidas en el manual del programa son " _
MsgBox("Los valores de las variables
& " A =" & A & " B =" & B & " C =" & C & " D =" & D)
que intervienen en el proceso, tal y como " _
End Sub & "han sido definidas en el manual
del programa son " _
& " A =" & A & " B =" & B & " C =" &
C & " D =" & D)
End Sub
End Class

Introducimos un smbolo de guin bajo cada vez que queramos continuar una lnea. Hemos dividido
una lnea larga en tres renglones de longitud media. Los motivos para ello pueden ser varios, como
estimarlo mejor para la ejecucin del programa, o simplemente evitar que en el visor del editor nos
quede la lnea cortada y que podamos verla en toda su longitud. Prueba a escribir la lnea dividindola
en cuatro a travs del guin bajo o dejndola completa sin divisiones. No te parece que "el efecto"
visual es muy distinto?

Prxima entrega: CU00317A

Acceso al curso completo en aprenderaprogramar.com -- > Cursos, o en la direccin siguiente:


http://www.aprenderaprogramar.com/index.php?option=com_content&view=category&id=37&Itemid=61

2006-2029 aprenderaprogramar.com

You might also like