Está en la página 1de 8

Ing.

Maribel Molina Barriga HERRAMIENTAS DE DESARROLLO DE SOFTWARE

• Reconocer los arreglos o arrays unidimensionales y multidimensionales


• Codificar los arreglos o arrays unidimensionales y multidimensionales

ARRAYS (MATRIZ , VECTOR)

Un array consiste en una lista de valores asociada a un identificador. Al emplear una variable para
contener más de un dato, el modo de acceder a los valores se consigue a través de un índice asociado
a la variable, que permite saber con qué elemento o posición de la lista estamos tratando.
Las matrices son conjuntos de elementos afines. Una matriz es un grupo de posiciones de memoria
contiguas, que almacenan el mismo nombre y tipo de dato, estas pueden ser de una o más
dimensiones. Para referirse a un elemento de la matriz se debe especificar el nombre de la matriz
seguido de uno o más subíndices encerrados entre paréntesis.

• Formas de Declarar un Array

Dim [identificador de variable](número de elementos) As [Tipo de dato]


Dim [identificador de variable] As Tipo de Dato (número de elementos)

Ejemplo:

Dim nombres(10) As String


Dim nombres As String(10)

'Al declarar un array indicando el número de elementos, como es el caso anterior, lo que
estamos definiendo es un array de 11 elementos: desde cero hasta 10

• Representación gráfica de un array

!!!! Importante !!! Todos los arrays deben tener como índice inferior el valor cero.

1
Ing. Maribel Molina Barriga HERRAMIENTAS DE DESARROLLO DE SOFTWARE

Podemos usar la instrucción 0 To para indicar el valor máximo del índice superior, ya que, tal como
podemos comprobar si vemos 0 To 10, quedará claro que nuestra intención es declarar un array con 11
elementos, o al menos nuestro código resultará más legible:
Dim nombres(0 To 10) As String

• Declarar e inicializar array unidimensional:


Dim nombres() As String = {"Pepe", "Juan", "Luisa"}

‘Con el código anterior estamos creando un array de tipo String con tres valores
cuyos índices van de cero a dos.
Dim mercancía (12) As Integer

• Otra forma de declarar el array unidimensional


' declarar primero la variable que contendrá el array,asignar valores al array
al mismo tiempo que se instancia la lista de valores debe ir encerrada entre
llaves
Dim iNumeros() As Integer
iNumeros = New Integer() {10, 20, 30, 10, 50, 60, 10, 70, 80}

• También se puede inicializar una matriz, de la siguiente manera:

Dim ventas () As Double = {100.0, 254.5, 478.5, 125.8, 458.66}


Dim vendedores () AS String = {“Julieta”, “Maria”, “Jenny”, “Sara”, “Lina”}

Para almacenar valores en una matriz se debe utilizar el nombre de la matriz y un subíndice
que indica en qué posición se almacenara el valor especificado. En las siguientes líneas se
creara una matriz de 5 posiciones, (el primer valor se almacenara en la posición 0) y se le
asignaran valores a la matriz. Por lo general para almacenar o mostrar los valores de una
matriz se utilizan las estructuras repetitivas, también llamadas ciclos.

Dim ventas (5), i, z As Integer


For i= 0 To 4
Ventas (i)= i+3
Next

Para acceder a los valores de una matriz, se debe utilizar un valor de índice para especificar
la posición a la que se desea acceder. También se pueden utilizar ciclos para recorrer toda la
matriz y acceder a todos los valores.

z = ventas (2) ‘a z se le asignara el valor de 5 de acuerdo al ejemplo anterior.

• Declarar e inicializar array multidimensional:


Dim nombres(,) As String = {{"Juan", "Pepe"}, {"Ana", "Eva"}}

Una matriz puede ser definida de dos, tres o más dimensiones, de cualquier tipo de dato. Para crear
una matriz de más de una dimensión en los paréntesis se separa cada dimensión por medio de comas
(,). El formato para declarar una matriz bidimensional es:
Dim nombre_matriz (filas, columnas) As Integer
Dim notas (2, 3) As Integer

Para almacenar valores en la matriz bidimensional se utilizan dos subíndices, el primero indica las filas
y el segundo las columnas donde se localiza el valor. El primer valor de las filas y de las columnas es
cero (0). En las siguientes líneas se creara una matriz bidimensional de 2 filas y 3 columnas, y se le
asignaran valores a la matriz. Para almacenar los valores se utilizan dos ciclos.

Dim ventas (2, 3), i, j As Integer


For i= 0 To 1
For j=0 To 2
ventas (i, j) = i+3
Next

2
Ing. Maribel Molina Barriga HERRAMIENTAS DE DESARROLLO DE SOFTWARE

Next

Para acceder a los valores de una matriz bidimensionales, se debe utilizar los dos subíndices, como
también, dos ciclos para recorrer toda la matriz y acceder a cada uno de los valores.

Dim ventas (2, 3), i, j, z As Integer


For i= 0 To 1
For j=0 To 2
z=ventas (i, j) ‘A z se le asignara el valor de la posición (i, j).
Next
Next

Ejemplo:
Se muestra el manejo sencillo del siguiente array, a nivel de consola:
Module Module1
Sub Main()
' declarar un array de tipo String,
' el número de elementos es el indicado
' en la declaración más uno, porque la primera
' posición de un array es cero
Dim sNombres(3) As String
' asignar valores al array
sNombres(0) = "Ana"
sNombres(1) = "Pedro"
sNombres(2) = "Antonio"
sNombres(3) = "Laura"
' pasar un valor del array a una variable
Dim sValor As String
sValor = sNombres(2)
' mostrar en la consola el valor pasado a una variable
' y un valor directamente desde el array
Console.WriteLine("Valor de la variable sValor: {0}", sValor)
Console.WriteLine("Valor del array, posición 1: {0}", sNombres(1))
Console.ReadLine()
End Sub
End Module

1. Hacer una aplicación llamada MatricesUnidimensionales que permita a un usuario capturar 10


números enteros positivos o negativos e imprima los valores en el orden que se capturan, como
también, los valores pares e impares ordenados de menor a mayor.

• Crear la interfaz de usuario.

Utilizando el cuadro de herramientas haga clic en el control específico y ubique los siguientes
controles en el formulario en la posición deseada: 4 TextBox, 4 Label, 1 Button.

• Establecer las propiedades de los objetos del interfaz de usuario.

Después de colocar los controles u objetos en el formulario, establezca las siguientes propiedades
a los controles:

3
Ing. Maribel Molina Barriga HERRAMIENTAS DE DESARROLLO DE SOFTWARE

Propiedades de los controles de la aplicación MatricesUnidimensionales.

Control Propiedad Valor


TextBox1 Name txtoriginal
Text En blanco
TextBox2 Name txtordenada
Text En blanco
TextBox3 Name txtpares
Text En blanco
TextBox4 Name txtimpares
Text En blanco
Label1 Name lbloriginal
Text Matriz Original
Font-Bold True
Label2 Name lblordenado
Text Matriz Ordenada
Font-Bold True
Label3 Name lblpares
Text Números Pares:
Font-Bold True
Label4 Name lblimpares
Text Números Impares:
Font-Bold True
Button1 Name boton
Text Capturar valores
Form1 Name formulario
Text Matrices Unidimensionales

La interfaz de usuario queda como se muestra en la siguiente figura:

Interfaz de usuario (MatricesUnidimensionales)

Escribir código
Seleccione el objeto boton y abra el editor de código y escriba el siguiente código:

Dim datos (10) As Integer


Dim i, j, numero, temporal As Integer
txtoriginal.Text = " "
txtordenada.Text = " "
For i = 0 To 9

4
Ing. Maribel Molina Barriga HERRAMIENTAS DE DESARROLLO DE SOFTWARE

numero = InputBox("Digite un número entero", "Capturar valores")


datos (i) = numero
txtoriginal.Text = txtoriginal.Text & datos (i) & " , "
Next
For i = 0 To 9
For j = i To 9
If (datos (i) > datos (j)) Then
temporal = datos (i)
datos (i) = datos (j)
datos (j) = temporal
End If
Next
Next
For i = 0 To 9
txtordenada.Text = txtordenada.Text & datos (i) & " , "
If (datos (i) Mod 2 = 0) Then
txtpares.Text = txtpares.Text & datos (i) & " , "
Else
txtimpares.Text = txtimpares.Text & datos (i) & " , "
End If
Next

En el anterior código se define una matriz llamada datos, la cual permitirá almacenar 10
valores enteros, como también, se definen las variables i, j, numero de tipo Integer. Los
controles txtoriginal y txtordenada se inicializan en su propiedad Text en blanco. Se realiza
la programación utilizando cuatro ciclos For: el primero permite la capturar de cada uno de los
valores digitados por teclado y se le asigna a la variable numero, luego dicho valor es
almacenado en la posición i de la matriz y por ultimo al control txtoriginal en su propiedad Text
se le asigna lo que contenía anteriormente ese control más el valor que ha sido almacenado en
datos (i) agregándole una coma (,). El segundo y tercer ciclo se utilizan para comparar pares
de elementos adyacentes e intercambiarlos cuando se cumpla la condición definida dentro del
ciclo más interno, este método de comparación es conocido como el método de búrbuja. El
cuarto ciclo sirve para recorrer la matriz e ir imprimiendo cada uno de los elementos de la
matriz en el control txtordenada en su propiedad Text. Además se determinar si el valor datos
(i) es par o impar utilizando el operador Mod. Dependiendo de la evaluación se imprimirá dicho
valor en el objeto txtpares o txtimpares.

o Ejecutar el proyecto

Al ejecutar el proyecto en el entorno de desarrollo de visual Basic.NET, se debe visualiza la


figura 6.1. Si se pulsa el botón Capturar valores y se digitan los números: 2, 8, 17, 26, 35, 21,
54, 89, 20, 33, se visualizara la siguiente pantalla:
Ejecución aplicación MatricesUnidimensionales.

5
Ing. Maribel Molina Barriga HERRAMIENTAS DE DESARROLLO DE SOFTWARE

2. Elaborar una aplicación llamada MatricesBidimensionales que permita capturar ocho (8) palabras
en una matriz bidimensional. Se deberá imprimir cada palabra digitada en un campo de texto, como
también, imprimir en otro campo de texto todas las palabras que empiecen con CA.

• Crear la interfaz de usuario.


Utilizando el cuadro de herramientas haga clic en el control específico y ubique los siguientes
controles en el formulario en la posición deseada: 2 Label, 2 TextBox, 1 Button.

• Establecer las propiedades de los objetos del interfaz de usuario.

Después de colocar los controles u objetos en el formulario, establezca las siguientes propiedades
a los controles:

Propiedades de los controles de la aplicación MatricesBidimensionales.

Control Propiedad Valor


Label1 Name lblpalabras
Text Palabras Digitadas
Label2 Name lblca
Text Palabras que empiezan con CA.
Textbox1 Name txtpalabras
Text En Blanco
Multiline True
TextBox2 Name txtca
Text En Blanco
Multiline True
Button1 Name boton
Text Capturar palabras
Form1 Name formulario
Text Matrices Bidimensionales

La interfaz de usuario queda como se muestra en la siguiente figura:

Interfaz de usuario (Matrices Bidimensionales)

Escribir código

Seleccione el objeto boton y abra el editor de código y escriba el siguiente código:

6
Ing. Maribel Molina Barriga HERRAMIENTAS DE DESARROLLO DE SOFTWARE

Dim palabras(2, 4) As String


Dim i, j As Integer
For i = 0 To 1
For j = 0 To 3
palabras(i, j) = InputBox("Digite una palabra:", "Capturar Palabras")
txtpalabras.Text = txtpalabras.Text & palabras(i, j) & vbTab
If (palabras(i, j).Substring(0, 2).Equals("ca")) Then
txtca.Text = txtca.Text & palabras(i, j) & vbCrLf
End If
Next
txtpalabras.Text = txtpalabras.Text & vbCrLf & vbCrLf
Next

En el anterior código se define una matriz de 2 filas x 4 columnas llamada palabras, la cual
permitirá almacenar 8 cadenas de caracteres, también se definen las variables i, j de tipo Integer.
Se utilizan dos ciclos For: el primero realizara el recorrido por las filas y el segundo lo realizara por
las columnas, además, en este ciclo se capturan las palabras digitadas. Cada palabra capturada es
asignada a la matriz palabras en su posición i, j. Al objeto txtpalabras en su propiedad Text se le
asigna el texto que contiene dicho control agregándole la nueva palabra concatenada con una
tabulación (vbtab).

Se evalua si la palabra capturada contiene en las dos primeras posiciones la silaba CA. Si la
condición es verdadera, al objeto txtca en su propiedad Text se le asigna el texto que contiene
dicho control agregándole la palabra con CA concatenada con una tabulación (vbtab). Al terminar
de ejecutarse el segundo For se retorna al primer ciclo donde al objeto txtpalabras en su
propiedad Text se le asigna el texto que contiene dicho control agregándole dos saltos de línea
utilizando la función vbcrlf.

• Ejecutar el proyecto.

Al ejecutar el proyecto, al pulsar el botón Capturar palabras, se mostrara la ventana para la


captura de las palabras, como se aprecia en la siguiente figura:

Ventana para capturar palabras

Si se digitan las palabras: ana, dedos, cali, azules, cadena, apoyo, alcanza, capota, en el objeto
txtpalabras se visualizaran las palabras digitadas y en el objeto txtca todas las palabras que empiezan
con CA. Se mostrara la siguiente figura:

Matriz bidimensional al capturar las palabras

7
Ing. Maribel Molina Barriga HERRAMIENTAS DE DESARROLLO DE SOFTWARE

Diseñar y codificar en visual basic, modo gráfico, lo siguiente:

1. Escribir un programa que permita capturar 10 números e imprima los números positivos.
2. Realizar un programa que capture 20 números enteros e imprima la cantidad y la suma de:
negativos, cero y positivos.
3. Elaborar un programa que capture notas de 20 alumnos de una clase. Cada alumno debe tener
tres notas. Se debe imprimir las notas de cada alumno, su nota definitiva, además, las notas
definitivas menores de 6.0
4. Crear un programa que imprima 20 números aleatorios entre 1 y 1000. Además se deberá
imprimir el valor máximo y la posición que ocupa en la matriz.
5. Escribir un programa que permita insertar o eliminar elementos de un arreglo (los elementos
deben mostrarse como se ingresaron).
6. Diseñar un programa que permita capturar 10 palabras en un arreglo bidimensional e imprimir
dicho arreglo ordenado alfabéticamente.
7. Implementar un programa que capture 10 palabras e imprimir aquellas palabras que contengan
la silaba PE.
8. Realizar un programa que capture 10 números en una matriz unidimensional e imprimir el
mayor y menor valor.

También podría gustarte