You are on page 1of 22

Ejercicios bsicos propuestos y resueltos de Visual

Basic .NET
Hola a todos, hoy os dejo una serie de ejercicios propuestos y resueltos en Visual Basic .NET.
Todos los ejercicios que proponemos estn resueltos en este mismo post, intenta hacerlo por ti mismo y
si te quedas atascado puedes mirar la solucin.Recuerda, que no tiene por que estar igual tu solucin
con la del post, el objetivo es que aprendas no que me copies la solucin.
Crea un proyecto de consola por ejercicio.
Estos ejercicios han sido creado con Visual Studio 2013.
Colocare en las soluciones algunos comentarios para que sean ms fcilmente entendible.
Te recomiendo que uses mensajes de trazas, donde te sean necesarios. Si tienes problemas tambin
puedes usar el depurador.
Recuerda que al ser ejercicios hechos en consola, pon al final esta lnea: Console.readLine() para que
veas el resultado.
Aqu te dejo una serie de enlaces tiles:

Variables en Visual Basic .NET


Hola a todos, hoy os explicar como declarar variables en Visual Basic .NET.
Antes de empezar, las variable son estructuras de datos que pueden variar durante la ejecucin de un
programa.
Declarar variables significa indicar el tipo de dato que almacenara las variables que participan en el
programa.
Antes de usar una variable debemos declararla y es recomendable iniciarla. La primera vez que se usa
debe declararse, el resto de veces no se debe hacer, es importante que el valor asignado sea
compatible con el tipo de variable.
Por ejemplo, si declaramos una variable de tipo numrico, esta no puede contener una cadena de
caracteres.
La sintaxis de una declaracin de una variable es: Dim nombre_variable as tipo_variable. Por
ejemplo, dim num pero como hemos dicho antes es recomendable iniciar estas variables con un
numero genrico como uno o cero o segn la ocasin.
Hay una serie de reglas a la hora de escribir el nombre de las variables:

Los nombres de las variables no pueden comenzar por nmeros, pero si puede formar parte del
nombre.

El nombre de una variable no puede tener espacios.

El nombre de la variable no puede estar formado por operadores como +, -, !, etc.

No puede haber dos variables que se llamen igual, aunque sean de distintos tipos, en el mismo
mbito (ya explicaremos esto mas tarde).

Por convencin, se suele escribir el nombre de las variables en minscula, si hay mas de una palabra en
la variable podemos separarlo con un _ o colocar la primera letra de la nueva palabra en mayscula, por
ejemplo, variablePrueba.
Os dejo un ejemplo:

1
2
3
4
5
6
7

Sub Main()
Dim a As Integer = 0 'Numero entero
Dim b As String = "" 'Cadena
Dim c As Char 'Caracter<br /> c = &quot;&quot;
Dim d 'En principio, no tiene definido tipo
d = 0.0 'Se define el tipo automaticamente, recomendable declarar el
tipo
End Sub

Los tipos ms comunes de variables son:

Integer, representa un nmero entero de 32 bits con signo.

Long, representa un nmero entero de 64 bits con signo.

Single, representa un nmero de punto flotante de precisin simple.

Double, representa un nmero de punto flotante de precisin doble.

String, representa un texto.

Boolean, representa un valor booleano.

Los String al ser una variable especial lo veremos con detalle ms adelante.

Constantes en Visual Basic .NET


Hola a todos, hoy os explicare como definir constantes en Visual Basic .NET.Las constantes son
valores que no se modifican durante la ejecucin del programa, si definimos una constante y la
intentamos modificar durante la ejecucin, no nos dejara.
La mayor utilidad de las constantes es definir valores que siempre sern iguales y que en caso de que
varen con el tiempo se pueden cambiar, el mejor ejemplo es el IVA.

En Visual Basic .NET, cualquier tipo de dato puede ser una constante, para definir que sea
una constante, debemos escribir antes del tipo de dato Const escribiremos el nombre de
la constante en maysculas. No es obligatorio pero es recomendable para distinguirlo de las variables.
Imaginemos que tenemos un programa simple para saber el precio del IVA de un producto, este
programa lo tenemos hace tiempo cuando el IVA es de 18 %, cuando subi a 21% solo es necesario
cambiar un valor.
En este pequeo ejemplo, parece que dara igual lo anterior, ya que con cambiar un par de cosas seria
igual, pero imaginemos que tenemos un programa enorme y que esa constante es utilizada muy a
menudo, si cambiara el IVA solo tendramos que cambiar el valor de IVA y no todos los valores en todo
el programa.
Mi consejo es que todo aquello que no cambia pero que puede variar en un futuro, lo hagis constante.
Veamos un ejemplo:

Module Module1

2
3

Sub Main()

4
5

Const IVA As Double = 0.21

Dim producto As Integer = 100

7
8

Dim resultado As Double = producto * IVA

9
10

Console.WriteLine("El IVA del producto es " & resultado)

11
12

Console.ReadLine()

13
14

End Sub

15
16

End Module

Strings en Visual Basic .NET

Hola a todos, hoy os explicar como funcionan los Strings en Visual Basic .NET.
String se usa para almacenar un conjunto de caracteres, ademas, es un tipo de dato especial, ya que
en realidad es una clase pero que puede declararse como si fuera una variable primitiva.
El valor de un String debe ir con comillas dobles para que se considere un String.
Un String puede contener todos los caracteres que queramos.
Un String es como un array, veremos que en los mtodos podemos obtener partes de la cadena. El
primer carcter es la posicin 0.
Veamos las maneras de crear un String:

Module Module1

2
3

Sub Main()

4
5

' Forma simple de crear un String

Dim cadena1 As String = "Hola "

Dim cadena2 As String = "mundo"

8
9

Console.WriteLine(cadena1 & cadena2)

10
11
12
13
14

Console.ReadLine()

End Sub

End Module

15
16

Recuerda que podemos concatenar cadenas con el operador &.

17
18
19
20

Tambin podemos hacer que un String ocupe varias lineas, lo nico que debemos hacer
del String.

21

Aqu tienes un ejemplo:

22
23

Module Module1

24
25

Sub Main()

26
27

Dim cadena As String = "Esto es un ejemplo " & _

28

"de String de " & _

29

"varias lineas"

30
31

Console.ReadLine()

32
33

End Sub

34
35

End Module

Introduccin y salida de datos desde consola en Visual


Basic .NET
Hola a todos, hoy os voy a explicar como podemos introducir y mostrar datos desde consola en Visual
Basic .NET. Introducir y mostrar datos en consola en bastante sencillo gracias a la clase Console.
Para introducir un valor con Console, usamos Console.ReadLine(). Veremos que en la pantalla el
puntero se queda parpadeando, a la espera de que introduzcamos datos. Al pulsar Enter, seguir a la
siguiente lnea. Para guardar el valor, usamos una variable.
Por defecto es un String, pero podemos almacenar el valor en otro tipo de dato, siempre y cuando lo que
introduzcamos sea correcto. Por ejemplo:

Dim valor as Integer = Console.ReadLine()

Si el valor que introducimos no se puede convertir en nmero, nos saltar un error.


Para mostrar un valor, hay que usar Console.Write(valor_a_mostrar). Donde el valor_a_mostrar ser
lo que queremos mostrar. Por ejemplo:

Console.Write("Hola mundo")

Si queremos que d un salto de lnea automaticamente,


usamos Console.WriteLine(valor_a_mostrar).Si queremos concatenar algn valor con el texto
mostrado, usamos el operador & Por ejemplo:

Dim nombre as String = "Fernando"

2
3

Console.Write("Hola " & nombre)

Lo mas normal es combinar estas instrucciones. Por ejemplo:

Module Module1

2
3

Sub Main()

4
5

Console.WriteLine("Escribe tu nombre")

Dim nombre As String = Console.ReadLine()

7
8

Console.WriteLine("Hola " & nombre)

9
10
11

Console.ReadLine()
End Sub End Module

Fijaros que al final pongo un Console.ReadLine(), esto lo hago para que se pause la ejecuccin y
podamos ver el resultado. Os muestro la salida de datos.

Estructuras condicionales en Visual Basic .NET


Hola a todos, hoy os voy a explicar como funcionan las estructuras condicionales. Las estructuras
condicionales nos permiten ejecutar una serie de instrucciones si cumple una
determinada condicin que nosotros le indiquemos. Es importante recordar que la condicin debe dar
un resultado booleano, por lo que lo mas normal es usar
operadores relacionales y condicionales.Tenemos varios tipos de estructuras condicionales:

if: le indicamos una condicin si esta es verdadera se ejecuta, sino no se ejecuta las
instrucciones de dentro. Se suele traducir como Si se cumple esta condicin haz esto. Su
sintaxis es:

1
2
3
4
5

if condicion then
'Instrucciones
end if

Por ejemplo:

1
2
3
4
5
6
7
8
9
10

Module Module1
Sub Main()
Dim precio As Integer = 300
If precio > 100 Then
Console.WriteLine("El precio es mayor que 100")
End If
Console.ReadLine ()

11
12
13
14
15

End Sub
End Module

Donde colocamos la condicin, podemos colocar una variable booleana, ya que su valor puede ser true
o false.

if else: es como el anterior solo que despus de cerrarse la llave de if, se aade else sin
indicarle ninguna condicin. Esto sirve para que si la condicin del if no es verdadera, ejecute
otras instrucciones que estarn dentro de else. Se suele traducir como Si se cumple
esta condicin haz esto y sino haz esto.

Veamos un ejemplo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14

Module Module1
Sub Main()
Dim precio As Integer = 50
If precio > 100 Then
Console.WriteLine("El precio es mayor que 100")
Else
Console.WriteLine("El precio es menor que 100")
End If
End Sub
End Module

En este caso, se ejecutara lo que hay en else ya que no cumple la condicin.

if -elseif: esta estructura es como una mezcla de los anteriores, esto nos permite, que si no se
cumple la condicin podamos indicar otra condicin para hacerlo an mas especifico. Se suele
traducir como Si se cumple esta condicin haz esto y sino si cumple esta condicin haz
esto.

Veamos un ejemplo:

1
2
3
4
5
6
7
8

Module Module1
Sub Main()
Dim precio As Integer = 50
If precio > 100 Then
Console.WriteLine("El precio es mayor que 100")
ElseIf precio > 80 Then

9
10
11
12
13
14
15
16

Console.WriteLine("El precio es mayor que 80")

Else

Console.WriteLine("El precio es menor que 80")


End If
End Sub
End Module

El ejemplo anterior es equivalente al siguiente, esto es lo que se conoce como if anidados, podemos
anidar tantos como queramos:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

Module Module1
Sub Main()
Dim precio As Integer = 50
If precio > 100 Then
Console.WriteLine("El precio es mayor que 100")
Else
If precio > 80 Then
Console.WriteLine("El precio es mayor que 80")
Else
Console.WriteLine("El precio es menor que 80")
End If
End If
End Sub
End Module

Select: esta estructura condicional de seleccin mltiple, le damos un valor (puede ser una variable) y
una lista de casos y si cumple alguno de los casos ejecuta las instrucciones asociadas a ella, en caso de
que ninguna sea podemos indicarle que hace por defecto, normalmente se usa para indicar de un error
con un mensaje. Su sintaxis es:

1
2
3
4
5
6
7
8
9
10

Select valor

Case caso1
'Instrucciones
Case caso2
'Instrucciones
Case casoN
'Instrucciones
Case Else
'Instrucciones
End Select

Los case de un select se pueden escribir con rangos con To, por ejemplo, 1 TO 5, tambin podemos
usar comas para indicar varios valores. Por ejemplo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

Module Module1
Sub Main()
Dim valor As Integer = 3
Select Case valor
Case 1 To 5
Console.WriteLine("El valor esta entre 1 y 5")
Console.WriteLine("El valor esta es 6 o 8 o 9")
Case Else
Console.WriteLine("El valor es otro")
End Select
Console.ReadLine()
End Sub
End Module

Comentarios en Visual Basic .NET


Hola a todos, hoy os voy a ensear como hacer comentarios en Visual basic .NET.
Los comentarios son

instrucciones

especiales

que

no

se

ejecutan

es

muy til

para

los

programadores en cualquier lenguaje de programacin, ya que nos permite insertar anotaciones que
nos servirn para trozos de cdigo que pueden resultar confusos en un futuro. Tambin es til, si nuestro
cdigo lo manejan mas personas.

Podemos comentar una lnea en Visual Basic .NET con el carcter o con la palabra rem

Module Module1

2
3
4

Sub Main()

' Ejemplo de comentario

6
7

REM Ejemplo de comentario

8
9

End Sub

10
11

End Module

Por ltimo, no es necesario hacer comentarios es cada linea, es recomendable hacerlos en aquellos
trozos de texto donde tu veas que sean necesarios.
Espero que os sea de ayuda. Si tenis dudas, preguntad. Espero que os sea de ayuda.

Bucles en Visual Basic .NET

Bucles en Visual Basic .NET


Hola a todos, hoy os voy a explicar como funcionan los bucles o estructuras repetitivas en Visual
Basic .NET.Una estructura de repeticin o bucle nos permite ejecutar un numero de veces
determinado una serie de instrucciones. La mayor utilidad es evitar la repeticin de lineas de cdigo
iguales. Para salir del bucle, se indica una condicin, si esa condicin no se cumple se sale del bucle.
Las estructuras de repeticin son:

while: indicamos una condicin que se ejecutara hasta que la condicin sea falsa, es
importante que la variable que este en la condicin, vare para que no se produzca un bucle
infinito. Su sintaxis es:

1
2
3

While condicion
'instrucciones
End While

Veamos un ejemplo:

1
2
3
4
5
6
7
8
9
10

Module Module1
Sub Main()
Dim num As Integer = 1
While num <= 5
Console.WriteLine(num)
num += 1
End While

11
12
13
14
15
16

Console.ReadLine()
End Sub
End Module

Como vemos, num vale 1 al principio, se comprueba la condicin, como 1 es menor o igual que 5,
entra en el bucle y ejecuta las instrucciones, y as sucesivamente hasta que num vale 6, ya que 6 no es
menor o igual que 5. Si num no fuera modificado, nunca saldra del bucle.

for: este tipo de bucle, es como el anterior pero ademas de la condicin, incluye una
inicializacin de una variable y un incremento o decremento de esa variable, en principio, no es
necesario que incluya las 3 partes. Si no indicamos el incremento por defecto es 1. NOTA: cuando
salimos del bucle, la variable inicializada no existe. Su sintaxis:

1
2
3

For inicializacion to limite step paso


'instrucciones
Next

Si nos fijamos, es como en while pero todo se define en el bucle. Veamos un ejemplo:

1
2
3
4
5
6
7
8
9
10
11
12
13

Module Module1
Sub Main()
For num As Integer = 1 To 5 Step 1
Console.WriteLine(num)
Next
Console.ReadLine()
End Sub
End Module

Fijate en la condicin, 1 to 5 es igual que 1<=5 Es el mismo ejemplo de antes pero mas reducido.

do-while: esta estructura repetitiva, tiene algo especial y es que como mnimo las instrucciones
dentro de la estructura repetitiva al menos una vez, mientras que el while sus instrucciones pueden
ejecutarse 0 o N veces. Se sale del bucle cuando la condicin del while no se cumple, si esto pasa
empieza desde el do. Se utiliza para la validacin de datos. Su sintaxis es:

1
2
3
4
5
6

Do
'intrucciones
Loop While condicion
'Otra sintaxis
Do
'intrucciones
Loop Until condicion

7
8
Veamos un ejemplo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25

Module Module1
Sub Main()
Dim num As Integer = 0
Do
Console.WriteLine("Introduce un nmero entre 0 y 10")
num = Console.ReadLine()
Loop While num >= 10 Or num < 0
Console.WriteLine("El numero introducido con Loop While es

"&

num)
Do
Console.WriteLine("Introduce un nmero entre 0 y 10")
num = Console.ReadLine()
Loop Until num <= 10 Or num > 0
Console.WriteLine("El numero introducido con Loop Until es

"&

num)
Console.ReadLine()
End Sub
End Module

Tenemos que pensar bien la condicin de salida. En nuestro caso, si insertamos un 5 (5>=10 or
5<0) devolvera falso, saliendo del bucle. Si insertramos un -1 (-1>=10 or 5<o) devolvera verdadero,
haciendo que vuelva a pedir un numero.
La diferencia entre loop while y loop until es la salida del bucle, con loop while, la condicin indicada
debe ser false para salir del bucle y con loop until, la condicin debe ser true para salir del bucle.
La posicion de while o until se puede poner delante de do o de loop, pero recomiendo que sea siempre
despus de loop.
Por ltimo, tenemos la estructura de repeticin For Each pero lo veremos ms detallamente ms
adelante cuando usemos estructuras ms complejas.

Generar nmeros aleatorios con Visual Basic .NET

Hola a todos, hoy os voy a explicar como podemos generar nmeros aleatorios en Visual Basic .NET.
Generar nmeros aleatorios es muy normal en programacin, ya sea para nuestros programas o para
probar.
Aqu os dejo la funcin necesaria, solo tenes que copiar esta funcin a vuestro programa:

1
2
3
4

Function numAleatorioEntre(ByVal minimo As Integer, ByVal maximo As Integer) As


Integer
Randomize()
Return CLng((minimo - maximo) * Rnd() + maximo)
End Function

Esto generar un nmero entre el mnimo y el mximo, incluyendo estos.


Veamos un ejemplo:

Module EjemploAleatorio

2
3

Sub Main()

4
5

'Genera un numero entre 1 y 10

Console.WriteLine("Nmero generado: " & numAleatorioEntre(1, 10))

7
8

Console.ReadLine()

9
10

End Sub

11
12

Function numAleatorioEntre(ByVal minimo As Integer, ByVal maximo As Integer) As


Integer

13

Randomize()

14

Return CLng((minimo - maximo) * Rnd() + maximo)

15

End Function

16
17

End Module

Como usar Visual Studio 2013


Hola a todos, hoy os voy a ensear como se usa Visual Studio 2013 Profesional. Visual Studio 2013
Profesional es un IDE de Microsoft que nos permite programar en varios lenguajes de programacin.
Os enseare a como usarlo de forma bsica para que podais empezar a programar.
Lo primero que tendremos que hacer es hacer es crear un nuevo proyecto. Lo podemos hacer
desdeArchivo -> Nuevo -> Proyecto. Veremos que nos aparece esta ventana:

Elegimos el tipo que aplicacin queremos hacer, nosotros en este blog las plantillas mas usadas
seran Aplicacin de consola y Windows Forms. Tambin podemos crear aplicaciones de otros
lenguajes como C# o Python, por ejemplo.

Escribimos tambin el nombre de la aplicacin y pulsamos aceptar.


Una vez hecho, nos mostrara el esqueleto de nuestra aplicacin. En la parte de la derecha, veremos los
archivos usados en nuestro proyecto.
Si queremos aadir nuevos elementos en nuestro proyecto, haremos lo siguiente, en la zona
de Explorador de soluciones, pinchamos con el botn secundario, seleccionamos Agregar ->Nuevo
Elemento. Despus tendras que elegir el tipo de fichero que quieres crear, le pones un nombre y listo.

Cuando queramos ejecutar nuestro programa, pinchamos en la parte de arriba donde pone Iniciar con
el smbolo del play.

Cuando creamos una aplicacin de Windows Forms, veremos un Frame vacio, en el lado de la
izquierda hay una pestaa llamada Cuadro de herramientas.

Simplemente pinchamos y arrastramos el elemento deseado al Frame y lo redimensionamos como


queramos. Cuando tenemos un elemento en un frame, podemos acceder a sus propiedades, desde la
pestaa de Propiedades.

Si queremos eleccionar el elemento que se iniciar primero, este elemento debe tener un main o ser un
Frame, vamos a Proyecto -> propiedades -> aplicacion en el combobox llamado formulario de inicio,
elegimos nuestro elemento y listo.
Recuerda que debes guardar el proyecto, ya que al crearlo no se guarda.
Con todo esto podemos programar con nuestro Visual Studio 2013 Profesional. Realizaremos ms
manuales especficos so4bre partes de este programa, ya que todo en un post sera demasiado largo
por la enormidad de este programa.
Espero que os sea de ayuda. Si tenis dudas, preguntad, estamos para ayudarte.

EJERCICIOS
1) Crea un programa saludador. Donde pidamos un nombre y nos muestre un mensaje en consola,
saludandonos. Por ejemplo, si doy como nombre Fernando, me aparecer en pantalla Hola
Fernando!.

1
2
3
4
5
6
7
8
9
10
11
12
13
14

Module Ejercicio1
Sub Main()
Console.WriteLine("Escribe un nombre")
Dim nombre As String = Console.ReadLine
Console.WriteLine("Hola " & nombre & "!")
Console.ReadLine()
End Sub
End Module

2) Crea un programa que calcule el IVA de un producto. El valor de este producto se pasar por teclado
y nos mostrar por pantalla el valor del IVA y su valor final. El IVA es el 21 %. Por ejemplo, si
introducimos 100como valor de producto, el IVA es 21 y el valor final es 121.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

Module Ejercicio2
Sub Main()
Const IVA As Double = 0.21
Console.WriteLine("Escribe el valor de un producto")
Dim producto As Double = Console.ReadLine

Console.WriteLine("El IVA del producto es " & producto * IVA & " euros. El v
& " euros")
Console.ReadLine()
End Sub
End Module

3) Crea un programa que muestre la tabla de multiplicar de un nmero desde el 1 hasta el 10 que
demos por teclado. Debes mostrar la operacin como tal. Por ejemplo, si introducimos un 5 por teclado:
5x1=5
5 x 2 = 10
5 x 3 = 15


5 x 10 = 50
4) Crea un programa que nos calcula el area un cuadrado. Tenemos que pedir el radio de la
circunferencia. Podemos obtener el valor de PI, con Math.PI

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

Module Ejercicio4
Sub Main()
Console.WriteLine("Escribe el valor de un radio")
Dim radio As Double = Console.ReadLine()
Dim area As Double = Math.PI * Math.Pow(radio, 2)
Console.WriteLine("El area es " & area)
Console.ReadLine()
End Sub
End Module

5) Pide dos nmeros por teclado. Indica si el primer nmero es divisible por el segundo. Por ejemplo, si
introduzco 10 y 2, si es divisible, por que si divides 10 entre 2, el resto es 0.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

Module Ejercicio5
Sub Main()
Console.WriteLine("Escribe el valor del primer numero")
Dim num1 As Integer = Console.ReadLine()
Console.WriteLine("Escribe el valor del segundo numero")
Dim num2 As Integer = Console.ReadLine()
If num1 Mod num2 = 0 Then
Console.WriteLine("El nmero " & num1 & " es divisible por " &
num2)
Else
num2)

Console.WriteLine("El nmero " & num1 & " no es divisible por " &
End If
Console.ReadLine()

17
18
19
20
21

End Sub
End Module

6) Muestra los nmeros entre el 0 y el 100, que no sean divisibles entre 2. Usa un bucle While.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21

Module Ejercicio6
Sub Main()
Dim i As Integer = 0
While i <= 100
If i Mod 2 <> 0 Then
Console.WriteLine(i)
End If
i = i + 1
End While
Console.ReadLine()
End Sub
End Module

7) Realiza el mismo ejercicio, pero con un bucle for.

1
2
3
4
5
6
7
8
9
10

Module Ejercicio7
Sub Main()
For i As Integer = 0 To 100
If i Mod 2 <> 0 Then
Console.WriteLine(i)
End If
Next

11
12
13
14
15
16
17

Console.ReadLine()
End Sub
End Module

8) Crea un programa que nos pida un nmero entre 0 y 10, si el nmero no est entre rango, volver a
pedir el nmero hasta que est en el rango correcto.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

Module Ejercicio8
Sub Main()
Dim num As Integer
Do
Console.WriteLine("Escribe un numero entre 0 y 10")
num = Console.ReadLine
Loop While num <= 0 Or num >= 10
Console.WriteLine("El nmero introducido es " & num)
Console.ReadLine()
End Sub
End Module

You might also like