Ejercicios propuestos y resueltos de arrays en 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 están resueltos en este mismo post, intenta hacerlo por ti mismo y si te quedas atascado puedes mirar la solución.Recuerda, que no tiene por que estar igual tu solución con la del post, el objetivo es que aprendas no que me copies la solución.

Crea un proyecto de consola por ejercicio.

Estos ejercicios han sido creado con Visual Studio 2017.

Colocare en las soluciones algunos comentarios para que sean más fácilmente entendible.

Te recomiendo que uses mensajes de trazas, donde te sean necesarios. Si tienes problemas también puedes usar el depurador.

Recuerda que al ser ejercicios hechos en consola, pon al final esta línea: Console.readLine() para que veas el resultado.

Aqui tienes el curso de VB .NET:

Curso Visual Basic .NET

Si tienes alguna duda, recuerda que puedes consultarnos escribiendo un comentario en este post o enviándonos un e-mail a administrador@discoduroderoer.es

1. Crear un array de números con la longitud que quieras e introducir en cada elemento el valor su posición. Muestra el contenido.

Spoiler
[vbnet]

Module Module1

Sub Main()

Dim numeros(5) As Integer

For i As Integer = 0 To (numeros.Length – 1)

numeros(i) = i

Console.WriteLine(numeros(i))

Next

Console.ReadLine()

End Sub

End Module

[/vbnet]

2. Crear un array de numeros con la longitud que quieras y pedir al usuario que en cada elemento  inserte un numero. Muestra el contenido.

Spoiler
[vbnet]

Module Module1

Sub Main()

Dim numeros(5) As Integer

For i As Integer = 0 To (numeros.Length – 1)

Console.WriteLine(«Inserte un numero en la posicion » & i)
numeros(i) = Console.ReadLine()

Next

Console.WriteLine(«Resultado»)
For i As Integer = 0 To (numeros.Length – 1)

Console.WriteLine(numeros(i))

Next

Console.ReadLine()

End Sub

End Module

[/vbnet]

3. Hacer la tabla de un numero pedido por teclado hasta el 10. (5*0, 5*1 … 5*10). Muestra el contenido.

Spoiler
[vbnet]

Module Module1

Sub Main()

Dim tabMult(10) As Integer

Console.WriteLine(«Inserte un numero para ver su tabla»)
Dim numeroUsuario As Integer = Console.ReadLine()

For i As Integer = 0 To (tabMult.Length – 1)

tabMult(i) = numeroUsuario * i

Console.WriteLine(numeroUsuario & «x» & i & «=» & tabMult(i))

Next

Console.ReadLine()

End Sub

End Module

[/vbnet]

4. Crear un array de 10 posiciones, añadir el valor en cada una de sus posiciones y sacar la suma total.

Spoiler
[vbnet]

Module Module1

Sub Main()

Dim numeros(9) As Integer

Dim suma As Integer = 0

For i As Integer = 0 To numeros.Length – 1

Console.WriteLine(«Inserta un numero en la posicion » & i)
numeros(i) = Console.ReadLine()

suma += numeros(i)

Next

Console.WriteLine(«La suma es » & suma)

Console.ReadLine()

End Sub

End Module

[/vbnet]

5. Crear un array de 10 posiciones, añadir el valor en cada una de sus posiciones y sacar la media.

Spoiler
[vbnet]

Module Module1

Sub Main()

Dim numeros(9) As Integer

Dim suma As Integer = 0
Dim media As Double = 0

For i As Integer = 0 To numeros.Length – 1

Console.WriteLine(«Inserta un numero en la posicion » & i)
numeros(i) = Console.ReadLine()

suma += numeros(i)

Next

media = suma / numeros.Length

Console.WriteLine(«La media es de » & media)

Console.ReadLine()

End Sub

End Module

[/vbnet]

6. Rellenar un array de longitud pedida por el usuario con números aleatorios entre 1 y 10.

Spoiler
[vbnet]

Module Module1

Sub Main()

Console.WriteLine(«Introduce una longitud»)
Dim longitud As Integer = Convert.ToInt32(Console.ReadLine())

Dim numeros(longitud – 1) As Integer

For i = 0 To numeros.Length – 1

numeros(i) = numAleatorioEntre(1, 10)
Console.WriteLine(numeros(i))

Next

Console.ReadLine()

End Sub

Function numAleatorioEntre(ByVal minimo As Integer, ByVal maximo As Integer) As Integer
Randomize()
Return CLng((minimo – maximo) * Rnd() + maximo)
End Function

End Module

[/vbnet]

7. Dado el anterior array, pedir al usuario un numero e indicarle si existe en el array.

Spoiler
[vbnet]

Module Module1

Sub Main()

Console.WriteLine(«Introduce una longitud»)
Dim longitud As Integer = Convert.ToInt32(Console.ReadLine())

Dim numeros(longitud – 1) As Integer
Console.WriteLine(«»)
For i = 0 To numeros.Length – 1

numeros(i) = numAleatorioEntre(1, 10)
Console.WriteLine(numeros(i))

Next

Console.WriteLine(«Introduce numero a buscar»)
Dim numero_buscado As Integer = Convert.ToInt32(Console.ReadLine())
Dim encontrado As Boolean = False

For i = 0 To numeros.Length – 1 And Not encontrado

If numeros(i) = numero_buscado Then
encontrado = True
End If

Next

If encontrado Then
Console.WriteLine(«El numero esta en el array»)
Else
Console.WriteLine(«El numero no esta en el array»)
End If

Console.ReadLine()

End Sub

Function numAleatorioEntre(ByVal minimo As Integer, ByVal maximo As Integer) As Integer
Randomize()
Return CLng((minimo – maximo) * Rnd() + maximo)
End Function

End Module

[/vbnet]

8. Invertir los valores de un array y meterlos en otro array.

Spoiler
[vbnet]

Module Module1

Sub Main()

‘Array con los valores originales
Dim numeros() As Integer = {1, 2, 3, 4, 5}

‘Array auxiliar con los valores inversos
Dim numeros_aux(numeros.Length – 1) As Integer

‘Usaremos la j como indice del array auxiliar
‘Usaremos la i como indice del array original
Dim j As Integer = 0
For i As Integer = numeros.Length – 1 To 0 Step -1

‘guardamos el valor en el array auxiliar
numeros_aux(j) = numeros(i)

‘Imprimo el valor actual
Console.Write(numeros_aux(j) & » «)

‘Incremento la j
j = j + 1
Next

Console.ReadLine()

End Sub

End Module

[/vbnet]

9. Indicar si un array de números es capicua. Es capicua cuando coincide el primero y el ultimo elemento, el segundo y el penúltimo y así sucesivamente.

 

Spoiler
[vbnet]

Module Module1

Sub Main()

‘Array con valores predefinidos
Dim numeros() As Integer = {1, 0, 1, 1, 1}

‘Booleano que nos indica si es capicua o no
Dim esCapicua As Boolean = True


Dim j As Integer = numeros.Length – 1
For i As Integer = 0 To (numeros.Length – 1) / 2

‘Si no son iguales, salimos del bucle
If numeros(i) <> numeros(j) Then
esCapicua = False ‘Marcamos que no es capicua
Exit For ‘Salimos del array
End If

‘Disminuimos en uno
j = j – 1
Next

‘Indicamos si es capicua o no
If esCapicua Then
Console.WriteLine(«Es capicua»)
Else
Console.WriteLine(«No es capicua»)
End If

Console.ReadLine()

End Sub

End Module

[/vbnet]

Espero que os sea de ayuda. Si tenéis dudas, preguntad, estamos para ayudarte.

Compartir

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *


Warning: Trying to access array offset on value of type null in /home2/discodur/public_html/discoduroderoer/wp-content/themes/disto/single.php on line 539