Académique Documents
Professionnel Documents
Culture Documents
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:
Los nombres de las variables no pueden comenzar por nmeros, pero si puede formar parte del
nombre.
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 = ""
Dim d 'En principio, no tiene definido tipo
d = 0.0 'Se define el tipo automaticamente, recomendable declarar el
tipo
End Sub
Los String al ser una variable especial lo veremos con detalle ms adelante.
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
7
8
9
10
11
12
Console.ReadLine()
13
14
End Sub
15
16
End Module
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
8
9
10
11
12
13
14
Console.ReadLine()
End Sub
End Module
15
16
17
18
19
20
Tambin podemos hacer que un String ocupe varias lineas, lo nico que debemos hacer
del String.
21
22
23
Module Module1
24
25
Sub Main()
26
27
28
29
"varias lineas"
30
31
Console.ReadLine()
32
33
End Sub
34
35
End Module
Console.Write("Hola mundo")
2
3
Module Module1
2
3
Sub Main()
4
5
Console.WriteLine("Escribe tu nombre")
7
8
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.
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
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
Else
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
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()
6
7
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.
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
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.
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
Module EjemploAleatorio
2
3
Sub Main()
4
5
7
8
Console.ReadLine()
9
10
End Sub
11
12
13
Randomize()
14
15
End Function
16
17
End Module
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.
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.
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
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