Sei sulla pagina 1di 9

Universitaria De Colombia

Actividad No. 4
Visual Basic .Net
DAVID MATEO RIVERA VALLES ING SISTEMAS
Tema Aplicaciones Bsicas Por Consola
Ing. Carlos Ivn Palacios Gonzlez

1. Qu es un array, explique, de ejemplos?

Un array no deja de ser otro tipo de variable, en este caso ya no es escalar, pues podemos
almacenar ms de un valor y accederemos a ellos a travs de un ndice numrico que empezar en
0.
Podemos almacenar cualquier tipo de elemento en un array.Es posible crear arrays con ms de una
dimensin, pasando de la idea de lista, vector o matriz de una sola fila a la idea de matriz de m x n
elementos, estructuras tridimensionales, tetradimensionales, etc. La sintaxis ser:
Dim [Nombre del array]([dimensin1, dimensin2, ...]) As [Tipo de variable]

2. Qu es un array unidimensional o vector?

Vamos a definir una matriz, array o arreglo de dos dimensiones a modo de ejemplo: queremos
almacenar en una matriz el nmero de alumnos con que cuenta una academia ordenados en funcin
del nivel y del idioma que se estudia. Tendremos 3 filas que representarn Nivel bsico, medio o de
perfeccionamiento y 4 columnas que representarn los idiomas (1 = Ingls, 2 = Francs, 3 = Alemn
y 4 = Ruso). La declaracin de dicha matriz sera:
Dim Alumnosfxniveleidioma(3, 4)
Podramos asignar contenidos de la siguiente manera:
Alumnosfxniveleidioma(1, 1) = 7
Alumnosfxniveleidioma(1, 2) = 14
Alumnosfxniveleidioma(1, 3) = 8
Alumnosfxniveleidioma(1, 4) = 3
Alumnosfxniveleidioma(2, 1) = 6
Alumnosfxniveleidioma(2, 2) = 19
Alumnosfxniveleidioma(2, 3) = 7
Alumnosfxniveleidioma(2, 4) = 2
Alumnosfxniveleidioma(3, 1) = 3
Alumnosfxniveleidioma(3, 2) = 13
Alumnosfxniveleidioma(3, 3) = 4
Alumnosfxniveleidioma(3, 4) = 1

Public Class Form1
Dim Nombrealumno(5, 25) As String
Private Sub Form1_Load (ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
MyBase.Load
Nombrealumno(3, 24) = "Pedro Hernndez Gonzlez"
MsgBox("El alumno nmero 24 del curso tercero se llama " & Nombrealumno(3, 24))
End Sub
End Class

3. Cmo se Declaran, de ejemplos?
Si no se declara el tipo de variable el array ser tipo Variant tipo Object (segn la versin de Visual
Basic que estemos empleando) por defecto. Conviene tener cuidado con esto y seguir las mismas
pautas que hemos indicado para las variables. Ejemplos de declaracin de arrays seran:
- Dim Vez(10) As Integer
- Dim Amigo(1000) As String
- Dim Value(25) As Single
- Dim NmerodeCoches(24) As Integer
- Dim Jugador(8) As Long
- Dim TCP(3) As Boolean
i no se declara el tipo de variable el array ser tipo Variant u Object (segn la versin de Visual Basic
que utilicemos) por defecto. Conviene tener cuidado con esto y seguir las mismas pautas que hemos
indicado para las variables. La declaracin de una matriz tradicional de m x n elementos podra ser:
Dim A(3, 2) As Integer
4. Qu instrucciones utilizo para dimensionarlos dinmicamente, de ejemplos?

El nmero de elementos declarados se calcula teniendo en cuenta que la numeracin de los ndices
empieza en cero, aunque ya hemos comentado que en algunas versiones existe una clusula
denominada Option Base que permite fijar como primer ndice de los arrays el uno. En las versiones
ms recientes de Visual Basic (o con Option Base fijado en cero) tendremos una fila cero y una
columna cero para la matriz declarada, con lo que el nmero de elementos ser de 4 x 3 = 12.
Decimos que hay 4 filas que son 0, 1, 2, 3 y tres columnas que son 0, 1, y 2. Si la versin de Visual
Basic lo permite y fijamos Option Base en uno, la matriz ser de 3 filas (1, 2 y 3) y dos columnas (1 y
2) siendo por tanto el nmero de elementos 3 x 2 = 6

5. Qu instrucciones utilizo para asignarle datos conocidos a un array unidimensional o
vector, de ejemplos?

Hasta ahora hemos estado trabajando principalmente con cuatro tipos de datos bsicos: enteros
(integer), reales (real), caracteres (char) y valores lgicos (boolean). Sin embargo, existen otros tipos
de datos ms complejos como los tipos estructurados que permiten almacenar una coleccin de
valores bajo un nico identificador de variable, es decir, la coleccin tiene un nico nombre que
engloba todos esos valores. Por supuesto, se sigue podiendo acceder individualmente a cada valoro
componente de la coleccin. Por ejemplo, si en uno de nuestros programas necesitsemos
almacenar diez valores de tipo entero, en lugar de crearnos diez variables con diez identificadores
diferentes num1, num2,..., num10, podramos almacenar esos diez valores utilizando una nica
variable de un tipo estructurado, y luego acceder a cada valor concreto a travs del identificador de la
variable general y el ndice concreto del valor, que podra ser por ejemplo de la posicin 1 a la
posicin 10.
La asignacin de valores a un elemento del vector se realizar con la instruccin de asignacin:
A [29] 5 asigna el valor 5 al elemento 20 del vector A

Si se desea asignar valores a todos los elementos de un vector,. se debe recurrir a estructuras
repetitivas (desde, mientras o repetir) e incluso selectivas (si-entonces, segn).
leer(A[i] )
Si se introducen los valores 5. 7, 8,14y 12 mediante asignaciones
A[1] 5 A[2] 7 A[3] 8 A[4] 14 A[5] 12
El ejemplo anterior ha asignado diferentes valores a cada elemento del vector A; si se desea dar el
mismo valor a todos los elementos, la notacin algortmica se simplifica con el formato:
desde i = 1 hasta 5 hacer
A[i] <- 8
fin_desde
donde A[i] tomar los valores numricos A [1] = 8, A [2] = 8, ..., A [5] = 8. Se puede utilizar tambin la
notacin
A 8
para indicar la asignacin de un mismo valor a cada elemento de un vector A.

d. Qu instrucciones utilizo para insertar datos en un array unidimensional o vector, de
ejemplos?

La insercin al final del arreglo es sencilla si el espacio de memoria reservado por el arreglo es mayor
que el utilizado hasta el momento. Pero si es a la mitad del arreglo entonces la mitad deber
desplazarse hacia abajo para colocar el nuevo elemento y que los dems conserven el orden relativo
entre ellos

Ej.: Sea A el conjunto de datos reales almacenados en la memoria del computador. El arreglo A tiene
tamao 100, de los cuales esta lleno N elementos y k es un entero positivo ( k<= N). El algoritmo
inserta un dato ELEM en la posicin k-esima del arreglo A.

{
// Declaracin de variables
int j , k, N;
double A[100], Elem ;
// numero de elementos llenos
cin>> N;
// Inicializa el contador
j = N;
// Ing. elemento a insertar
cin>>Elem;
// posicin k esima, donde se inserta
cin>> k;
while ( j >= k )
{ // Movemos el elemento j-esimo hacia abajo
A [ j + 1] = A [ j ] ;
// Disminuimos el contador en 1
j = j 1 ;
}
// Insertamos el elemento ELEM
A [ k ] = ELEM ;
// Actualizamos N
N = N + 1 ;


e. Qu instrucciones utilizo para eliminar datos en un array unidimensional o vector, de
ejemplos?

Una vez que hemos declarado un array y le hemos asignado valores, es posible que nos interese
eliminar esos valores de la memoria, para lograrlo, podemos hacerlo de tres formas:

Redimensionando el array indicando que tiene cero elementos, aunque en el mejor de los casos, si
no estamos trabajando con arrays de ms de una dimensin, tendramos un array de un elemento, ya
que, como hemos comentado anteriormente, los arrays de .NET el ndice inferior es cero.

Usar la instruccin Erase. Al igual que en VB6, Erase elimina totalmente el array de la memoria.

Asignar un valor Nothing al array. Esto funciona en Visual Basic 2010 pero no en VB6, debido a que
en Visual Basic 2010 los arrays son tipos por referencia.

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

f. Qu instrucciones utilizo para modificar datos en un array unidimensional o vector, de
ejemplos?















g.Qu instrucciones utilizo para limpiar un array unidimensional o vector, de ejemplos?

Array.Clear

'Declaracin
Public Shared Sub Clear ( _
array As Array, _
index As Integer, _
length As Integer _
)

Qu es un array bidimensional o matriz?

Los arreglos bidimensionales son tablas de valores. Cada elemento de un arreglo bidimensional est
simultneamente en una fila y en una columna.
En un arreglo bidimensional, cada elemento tiene una posicin que se identifica mediante dos
ndices: el de su fila y el de su columna.

Cmo se Declaran, de ejemplos?

tipo nombre_arr [ tam1 ][ tam2 ] [ tamN];
Por ejemplo un arreglo de enteros bidimensionales se escribir como:

int tabladenums[50][50];

Observar que para declarar cada dimensin lleva sus propios parntesis cuadrados.

Para acceder los elementos se procede a:

tabladenums[2][3] = 15; /* Asigna 15 al elemento de la 3 fila y la 4 columna*/

num = tabladenums[25][16];

Qu instrucciones utilizo para dimensionarlos dinmicamente, de ejemplos?

Dim arreglo()
Redim arreglo(algun valor)

REDIM sem(tantos-1)

Qu instrucciones utilizo para asignarle datos conocidos a un array bidimensional o
matriz, de ejemplos?

<nombre del arreglo> [ndice de la fila][ndice de columna]=valor del elemento.
<identificador variable>=<nombre del arreglo>[ndice de fila][ndice de columna]
volts = voltaje[5][100]

Qu instrucciones utilizo para insertar datos en un array bidimensional o matriz, de
ejemplos?

Debe indicar la posicin de la fila y de la columna donde va a almacenar el dato
Nombres[0][0]=Oscar; Nombres[0][1]=Sarah; Nombres[2][0]=Jhon;
Nombres[2][1]=Andrea;

Qu instrucciones utilizo para eliminar datos en un array bidimensional o matriz, de
ejemplos?

int [][] destino = new int[origen.length-1][];
System.arrayCopy( origen,0,destino,0,1 );//copia la primera a la primera
System.arrayCopy( origen,2,destino,1,1 );//copia la tercera y la en la segunda

Qu instrucciones utilizo para modificar datos en un array bidimensional o matriz, de
ejemplos?
Si N>=1 entonces Inicio
i<--1 encontrado<--falso mientras i<=N y encontrado=false haz
inicio Si arreglo[i]=valor entonces
arreglo[i]<--valor_nuevo encontrado<--verdadero En caso contrario
i<--i+1 fin
Fin

Qu instrucciones utilizo para limpiar un array bidimensional o matriz, de ejemplos?

Sub Main ()
Console.WriteLine(vbLf & "One dimension (Rank=1):")
Dim numbers1() As Integer = {1, 2, 3, 4, 5, 6, 7, 8, 9}

For i As Integer = 0 To 8
Console.Write("{0} ", numbers1(i))
Next
Console.WriteLine()

Console.WriteLine(vbLf & "Array.Clear(numbers1, 2, 5)")
Array.Clear(numbers1, 2, 5)

For i As Integer = 0 To 8
Console.Write("{0} ", numbers1(i))
Next
Console.WriteLine()

Potrebbero piacerti anche