1. variables y arreglos final

20
 VARIABLES Y ARREGLOS CLASES Y MÓDULOS Son tipos de referencia que buscan encapsular los elementos definidos en ellos, como por ejemplo: constantes, variables funciones y procedimientos (para módulos) o atributos y métodos (para clases). Básicamente los módulos y/o clases nos servirán para declaraciones generales y para tener una librería de código con funcionalidad e uso frecuente desde diferentes formularios u otros elementos para todo el proyecto. Existen diferencias considerables entre uno y otro, pero básicamente se difieren en la forma en que se realiza el acceso a los elementos desde otros procedimientos. CLASE Sólo se puede utilizar Class en el nivel de espacio de nombres o de módulo. Esto significa que el contexto de declaración para una clase debe de ser un archivo de código fuente, espacio de nombres, clase, estructura, módulo o interfaz, y no puede ser procedimiento o bloque. Cada instancia de una clase tiene un periodo de duración independiente de todas las demás instancias. Es decir, cada objeto es independiente a pesar de que provengan de la misma clase; cada uno tiene sus propias propiedades e invoca a sus métodos independientemente, así como su tiempo de vida es propio. Una instrucción Class define un nuevo tipo de datos. Una clase es una unidad de creación fundamental de la Programación Orientada a Objetos. PROGRAMACIÓN ORIENTADA A OBJETOS La Programación Orientada a Objetos (POO) es una manera de abstraer la realidad y programar empleando un enfoque en el que la realidad se entiende basada en que los elementos que nos rodean son objetos. Es decir, que cuentan con atributos propios y que tienen un comportamiento según su naturaleza, y que pueden ser agrupados en clases por su similitud. - Clase. Conjunto de elementos con características similares o comunes. Se emplea la palabra class para declararla y se incluyen propiedades y métodos para los objetos que se generaran a partir de ella (Instancias).  - Propiedades. Característica o atributo del objeto. Para ello debe ser declarada en la clase, tal como se hace con las variables.  

Upload: luis-manuel-saavedra-sandoval

Post on 17-Jul-2015

26 views

Category:

Documents


0 download

DESCRIPTION

Variables y arreglos en visual studio 2008

TRANSCRIPT

Page 1: 1. Variables y Arreglos Final

5/14/2018 1. Variables y Arreglos Final - slidepdf.com

http://slidepdf.com/reader/full/1-variables-y-arreglos-final 1/20

VARIABLES Y ARREGLOS

CLASES Y MÓDULOS

Son tipos de referencia que buscan encapsular los elementos definidos en ellos, como por

ejemplo: constantes, variables funciones y procedimientos (para módulos) o atributos ymétodos (para clases).

Básicamente los módulos y/o clases nos servirán para declaraciones generales y paratener una librería de código con funcionalidad e uso frecuente desde diferentesformularios u otros elementos para todo el proyecto. Existen diferencias considerablesentre uno y otro, pero básicamente se difieren en la forma en que se realiza el acceso a loselementos desde otros procedimientos.

CLASE

Sólo se puede utilizar Class en el nivel de espacio de nombres o de módulo. Esto significaque el contexto de declaración para una clase debe de ser un archivo de código fuente,espacio de nombres, clase, estructura, módulo o interfaz, y no puede ser procedimiento obloque.

Cada instancia de una clase tiene un periodo de duración independiente de todas lasdemás instancias. Es decir, cada objeto es independiente a pesar de que provengan de lamisma clase; cada uno tiene sus propias propiedades e invoca a sus métodosindependientemente, así como su tiempo de vida es propio.

Una instrucción Class define un nuevo tipo de datos. Una clase es una unidad de creaciónfundamental de la Programación Orientada a Objetos.

PROGRAMACIÓN ORIENTADA A OBJETOS

La Programación Orientada a Objetos (POO) es una manera de abstraer la realidad yprogramar empleando un enfoque en el que la realidad se entiende basada en que loselementos que nos rodean son objetos. Es decir, que cuentan con atributos propios y quetienen un comportamiento según su naturaleza, y que pueden ser agrupados en clases porsu similitud.

-  Clase. Conjunto de elementos con características similares o comunes. Se empleala palabra class para declararla y se incluyen propiedades y métodos para losobjetos que se generaran a partir de ella (Instancias). 

-  Propiedades. Característica o atributo del objeto. Para ello debe ser declarada enla clase, tal como se hace con las variables. 

Page 2: 1. Variables y Arreglos Final

5/14/2018 1. Variables y Arreglos Final - slidepdf.com

http://slidepdf.com/reader/full/1-variables-y-arreglos-final 2/20

-  Método. Realiza alguna operación con las propiedades del objeto. Deben serdeclaradas en la clase como funciones y procedimientos, y describen elcomportamiento de los objetos que serán instanciados. 

-  Constructor. Es un método especial de una clase que permite inicializar valores de

los atributos del objeto que se están instanciando a partir de esta. Se llama alconstructor cuando usamos en la declaración de nuevos objetos (instancia) lapalabra new . Ejemplo: Clase persona 

Persona

- edad- nombre- dni

}Atributos

+ comer

+ caminar+ respirar }Métodos

-  Objeto. Es una instancia de una clase, es decir, es un elemento particular de eta,que cuenta con atributos propios y comportamientos según métodos. 

-  Evento. Característica que permite que el objeto responda a una determinadaacción y ejecute un código asociado a un método o procedimiento. 

-  Encapsulamiento. Define el nivel de acceso. Dentro de una clase, se puede

declarar cada miembro con su propio nivel de acceso. De forma predeterminada,los miembros de la clase tienen acceso al Public y las variables y constantes tienenacceso al Private. Tenemos acceso también al Protected (protegido: privado en eluso y públicos en la herencia) y Friend (amigo: público para elementos fuera delclase), 

-  Polimorfismo. Permite que los objetos reaccionen de manera diferente antemensajes diferentes. Los mensajes serán atendidos como parámetros que sonentregados a los métodos de los objetos que permiten un comportamientodiferente.

-  Sobre carga de métodos, procedimientos y /o funciones. Es cuando dos o másmétodos de una clase tienen el mismo nombre y se diferencian por los argumentosque reciben, y la funcionalidad que permiten. Esto permite que empleando unmimo método, según el mensaje, podamos realizar tareas distintas en laspropiedades del objeto. 

Page 3: 1. Variables y Arreglos Final

5/14/2018 1. Variables y Arreglos Final - slidepdf.com

http://slidepdf.com/reader/full/1-variables-y-arreglos-final 3/20

-  Herencia. Permite tomar características de una clase padre o base y re utilizarlasen una nueva clase. Se emplea en casos donde una clase es muy similar a otra,entonces se hereda y se hacen las modificaciones en la clase hijo.

Ejemplo: Herencia de la clase persona.

Agregar una clase al proyecto

persona- edad- nombre- dni+ comer+ caminar

+ respirar

funcionario

- cargo

+funcionario

estudiante

- notas- horario

+ estudio+ clases Profesor

- salario

+ profesor+ materias

Page 4: 1. Variables y Arreglos Final

5/14/2018 1. Variables y Arreglos Final - slidepdf.com

http://slidepdf.com/reader/full/1-variables-y-arreglos-final 4/20

 

Módulo (Module)

Module declara el nombre de un módulo e introduce la definición de las variables,propiedades, eventos y procedimientos que incluye el módulo.

Define un tipo de referencia disponible en su espacio de nombres. Un módulo tambiénllamado módulo estándar, es similar a una clase pero con algunas distincionesimportantes. Cada módulo tiene exactamente una instancia y no necesita ni ser creado ni

asignado a una variable. No admiten la herencia ni permiten interfaces.

Sólo se puede usar en el nivel de espacio de nombre, siendo este un archivo de códigofuente o espacio de nombres. No puede anidar un módulo dentro de otro módulo nidentro de cualquier tipo.

Tiene el mismo periodo de duración que el programa.

Page 5: 1. Variables y Arreglos Final

5/14/2018 1. Variables y Arreglos Final - slidepdf.com

http://slidepdf.com/reader/full/1-variables-y-arreglos-final 5/20

El acceso es de tipo Friend . Pudiendo ajustar sus nivele de acceso con los modificadores deacceso.

Tiene sus elementos compartidos para el proyecto, por lo que es ideal para emplearlocomo librería de funciones y procedimientos y, para la declaración de variables publicas.

Agregar un módulo al Proyecto

Page 6: 1. Variables y Arreglos Final

5/14/2018 1. Variables y Arreglos Final - slidepdf.com

http://slidepdf.com/reader/full/1-variables-y-arreglos-final 6/20

Diferencia entre clases y módulos

La diferencia principal entre clases y módulos consiste en que pueden crearse instanciasde clases como objetos pero no de módulos. Como sólo existe una copia de los datos deun módulo estándar, cuando una parte del programa cambia una variable pública en un

módulo estándar, cualquier otra parte del programa obtendrá el mismo valor si lee luegoesa variable. En comparación, los datos de objetos existen individualmente para cadaobjeto con instancias.

Crear una aplicación empleando un módulo

Crear una aplicación para el conteo de personas: adultos, jóvenes y niños que ingresan aun centro comercial.

Form1

Form2

Public Class Form1

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

A = 0

Page 7: 1. Variables y Arreglos Final

5/14/2018 1. Variables y Arreglos Final - slidepdf.com

http://slidepdf.com/reader/full/1-variables-y-arreglos-final 7/20

J = 0N = 0

End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

A += 1End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

J += 1End Sub

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click

N += 1End Sub

Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As 

System.EventArgs) Handles Button4.ClickForm2.ShowDialog()End Sub

End Class

Public Class Form2

Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

TextBox1.Text = A.tostringTextBox2.Text = J.tostringTextBox3.Text = N.tostring

End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Me.Close()End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

A = 0J = 0N = 0TextBox1.Text = A.tostringTextBox2.Text = J.tostringTextBox3.Text = N.tostring

End SubEnd Class

Module Module1Public A, J, N As Integer

End Module

Page 8: 1. Variables y Arreglos Final

5/14/2018 1. Variables y Arreglos Final - slidepdf.com

http://slidepdf.com/reader/full/1-variables-y-arreglos-final 8/20

 

Ámbito de variables y objetos

El ámbito de un elemento declarado es el conjunto de todo el código que puede hacerreferencia a él sin calificar su nombre como disponible mediante Imports.

Nivel de Ámbito Descripción

De bloqueÁmbito disponible únicamente en el bloque de código en el que seha declarado.

De ProcedimientoÁmbito disponible para todo el código dentro del procedimiento enel que se ha declarado.

De MóduloÁmbito disponible para todo el código dentro del módulo, clase oestructura en el que se ha declarado.

De Espacio de

Nombres

Disponible para todo el código dentro del espacio de nombres en el

que se ha declarado.

Estos niveles de ámbito progresan desde el más restringido (bloque) al más amplio(espacio de nombres), donde el ámbito más restringido significa el conjunto de códigomás pequeño que pueda hacer referencia al elemento sin calificación.

Especificar ámbito

Se especifica al declararlo y puede depender de los factores siguientes:

  La región (bloque, procedimiento, módulo, clase o estructura) donde se declara elelemento.

  El espacio de nombres que contiene la declaración del elemento.

  El nivel de acceso que se declara para el elemento.

Al definir dos variables con el mismo nombre en ámbitos diferentes, la variable declaradamás local es la que se refiere.

Page 9: 1. Variables y Arreglos Final

5/14/2018 1. Variables y Arreglos Final - slidepdf.com

http://slidepdf.com/reader/full/1-variables-y-arreglos-final 9/20

Niveles de Ámbito.

1.  Ámbito de bloque. Un bloque es un conjunto de instrucciones de declaración deinicio y fin. Ejemplo: Do y Loop, For y Next, If y End If, Select y End Select,Try y EndTry, While y End While y With y End With. 

Si se declara una variable dentro de un bloque, sólo puede utilizarla dentro de esebloque. Ejemplo:

2.  Ámbito de procedimiento. Un elemento declarado en un procedimiento no estádisponible fuera de él. Solo el procedimiento hace uso de él. Tambiéndenominadas Variables Locales. Se declaran con la instrucción Dim (VariableDinámica), con o sin la palabra clave Static (Variable Estática). 

Si se declara una variable dentro de un procedimiento, pero fuera de un bloquedentro del procedimiento, puede considerarse que la variable tiene ámbito debloque, donde el bloque es el procedimiento completo.

Todos los elementos locales, aunque son Static, son privados para elprocedimiento en el que aparecen. No se puede declarar un elemento mediante lapalabra clave Public dentro de un procedimiento.

3.  Ámbito de Módulo. Se aplica por igual a módulos, clases estructuras. Puededeclarar elementos a este nivel si se sitúa la instrucción de declaración fuera decualquier procedimiento o bloque pero dentro del módulo. 

Cuando se incluye una declaración en el nivel del módulo, el nivel de acceso

selecciona determina el ámbito. El espacio de nombres que contiene el módulo, laclase o la estructura también afecta al ámbito.

Los elementos para los que se declara el nivel de acceso Private están disponiblespara todos los procedimientos del módulo, pero no para el código de otrosmódulos. La instrucción Dim en el nivel de módulo toma Private como valorpredeterminado sino utiliza ninguna palabra nivel de acceso. No obstante, el

Page 10: 1. Variables y Arreglos Final

5/14/2018 1. Variables y Arreglos Final - slidepdf.com

http://slidepdf.com/reader/full/1-variables-y-arreglos-final 10/20

ámbito y el nivel de acceso sea más apropiado si se utiliza la palabra clave Privateen lugar de la instrucción Dim.

4.  Ámbito de Espacios de Nombres. Si se declara un elemento en el nivel de módulomediante las palabras clave Friend o Public, dicho elemento quedará disponible

para todos los procedimientos del espacio de nombres en los que se declare.

Incluye espacios de nombres anidados. Un elementos también estará disponible encualquier espacio de nombres anidado en su interior.

Crear una aplicación empleando diferentes ámbitos

Public Class Form1Public B As Integer'Ámbito localPrivate Sub Button1_Click(ByVal sender As System.Object, ByVal e As 

System.EventArgs) Handles Button1.ClickDim C As Integer

' Ámbito de ProcedimientoC = 1B = 2A = 3While A < 100

Dim D As Integer'Ámbito de BloqueD = A * B * CA = D

End While

Page 11: 1. Variables y Arreglos Final

5/14/2018 1. Variables y Arreglos Final - slidepdf.com

http://slidepdf.com/reader/full/1-variables-y-arreglos-final 11/20

Form2.ShowDialog()End Sub

End Class

Public Class Form2Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As 

System.EventArgs) Handles MyBase.LoadTextBox1.Text = A

End SubEnd Class

Module Module1Public A As Integer' Ámbito de módulo

End Module

ARREGLOS

Los arreglos o arrays son conjunto de variables del mismo tipo y con el mismo nombre,que se pueden manejar juntas o individualmente, de allí su ventaja frente a variablesindependientes.

Los arreglos toman un índice por cada dimensión para diferenciarse de cada elemento. Sepueden tener arreglos desde una dimensión hasta un máximo de 32 dimensiones.

Arreglos vectoriales

Son los que se emplean con mayor frecuencia. Se les llama unidimensionales o vectores.Su dimensión es uno, es decir, emplean sólo índice.

Para declarar un vector:

Dim x(3) As Integer 

Arreglos Multidimensionales

Page 12: 1. Variables y Arreglos Final

5/14/2018 1. Variables y Arreglos Final - slidepdf.com

http://slidepdf.com/reader/full/1-variables-y-arreglos-final 12/20

Los arreglos multidimensionales son también conocidos como matrices, y son arreglos demás de una dimensión (2 ó más), a diferencia de los vectores. Podemos imaginar unamatriz bidimensional (2 dimensiones), como una cuadricula con filas y columnas (tabla),donde las filas representarían las coordenadas “ x ” y las columnas las coordenadas “y” .

A matriz de tres dimensiones se les puede imaginar con las coordenadas   x, y, z siendoideal para representar figuras en el espacio como un cubo.

Podemos tener matrices de hasta 32 dimensiones. Estas se declaran en el código demanera igual que los vectores, con la diferencia de que se debe de aumentar el númerode dimensiones:

Dim x(1,2) As Integer

DECLARACIÓN, ASIGNACIÓN Y LECTURA E ELEMENTOS

Declaración de arreglos

La declaración es la separación dele espacio que se requiere en la memoria RAM paraguardar datos, según el tipo elegido, considerando la cantidad de dimensiones que tendráel arreglo.

Los arreglos respetan los mismos ámbitos que las variables, siendo posible emplear para ladeclaración de las mismas el alcance: Public, Private, Friend y Protected , incluso comopropiedades de clase.

La asignación de arreglos se realiza empleando la sintaxis en .Net:

<Alcance> NombreArreglo(D1,D2,D3,…,Dn ) As TipoDato

Ejemplos

Public vector(10) As Integer

Private doble(1,2) As Simgle

Dim triple(1,2,3) As String

Static cuatro(1,2,3,4) As Boolean

Asignación de Valores al arreglo

La asignación de arreglos se realiza empleando la siguiente sintaxis en .Net:

NombreArreglo(D1,D2,D3,…,Dn )=Valor 

Ejemplos:

vector(10)=10

Page 13: 1. Variables y Arreglos Final

5/14/2018 1. Variables y Arreglos Final - slidepdf.com

http://slidepdf.com/reader/full/1-variables-y-arreglos-final 13/20

doble(1,2) =2.5 

triple(1,2,3) = “Ejemplo” 

cuatro(1,2,3,4) = True

Es muy usual usar sentencias   for to next , para poder manejar por extensión los valoresasignados al arreglo.

Ejemplo: Todos los valores del arreglo vectorial en cinco.

For i = 0 To 5vectorial(i) = 5

Next 

Ejemplo: Todos los valores del arreglo en cinco.

For i = 0 To 5For i = 0 To 5

dos(i,j) = 5Next

Next 

Ejemplo: Los valores del arreglo “Verde” si la tercera dimensión es par, “Rojo” si la

segunda dimensión es par, el resto de valores del arreglo es “Blanco”. 

Dim i, j, k As IntegerDim tres(5, 5, 5) As StringFor i = 0 To 5

For j = 0 To 5For k = 0 To 5

If (k Mod 2) = 0 Thentres(i, j, k) = "Verde"Else

If (j Mod 2) = 0 Thentres(i, j, k) = "Rojo"

Elsetres(i, j, k) = "Blanco"

End IfEnd If

NextNext

Next

Ejemplo: Los valores del arreglo en True, si la primera dimensión es mayor a la segundadimensión o, si la tercera dimensión es mayor que la cuarta dimensión.

Dim i, j, k, l As IntegerDim cuatro(5, 5, 5, 5) As StringFor i = 0 To 5

For j = 0 To 5For k = 0 To 5

For l = 0 To 5cuatro(i, j, k, l) = (i > j Or k > l)

Page 14: 1. Variables y Arreglos Final

5/14/2018 1. Variables y Arreglos Final - slidepdf.com

http://slidepdf.com/reader/full/1-variables-y-arreglos-final 14/20

  NextNext

NextNext

Lectura e elementos del arreglo

La lectura del contenido de un arreglo se realiza cuando se requiere saber el valor de todoel arreglo en general o de un dato específico, esta operación es inversa a la asignación.

<Porpiedad, Variable o Argumento>= Arreglo(D1,D2,D3,…,Dn) 

Ejemplo:

uno = vector(10) = 10dos = doble(1, 1)tres = triple(1, 2, 1)tetra = cuatro(4, 3, 2, 1)

Para llevar el contenido de un arreglo a una lista:

For i = 0 To 5ListBox1.Items.Add(uno(i))

Next

Mostrar los datos de una matriz en cuadro de mensaje

Dim i, j, dos(5, 5) As IntegerDim cadena As Stringcadena = ""For i = 0 To 5

For j = 0 To 5cadena &= dos(i, j).ToString & Chr(9)'Agrega el valor del arreglo y un TAB

NextNextcadena &= Chr(13)'Agrega ENTER al final de la cadenaMsgBox(cadena) 

Crear una aplicación empleando arreglos unidimensionales

Crear una aplicación para generar una “n” cantidad de términos de una serie que permitala suma de los dos términos anteriores.

1, 2, 3, 5, 8, 13, 21, 34, 55, 89,… 

Parar esto crear la siguiente interface con el segundo TextBox con la propiedad Multiline en True.

Page 15: 1. Variables y Arreglos Final

5/14/2018 1. Variables y Arreglos Final - slidepdf.com

http://slidepdf.com/reader/full/1-variables-y-arreglos-final 15/20

 

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim s(100) As IntegerDim i, n As IntegerDim serie As Stringserie = ""'Cambiamos el contenido del TextBox1 a entero

n = CType(TextBox1.Text, Integer)'Asignamos el valor de las dos primeras variabless(0) = 0s(1) = 1'Asignamos el valor de cada de las variables'Asumiendo que el valor de una'es la suma de las dos anterioresFor i = 2 To (n + 1)

s(i) = s(i - 1) + s(i - 2)Next'Guardamos el valor de la serie como cadena en la variableFor i = 2 To n

serie &= s(i).ToString & " , "

Nextserie &= s(n + 1) & "."'Mostramos la serie en el TextBox2TextBox2.Text = serie

End Sub

Page 16: 1. Variables y Arreglos Final

5/14/2018 1. Variables y Arreglos Final - slidepdf.com

http://slidepdf.com/reader/full/1-variables-y-arreglos-final 16/20

Crear una aplicación empleando arreglos multidimensionales

Crear una aplicación que permita realizar un juego de Tres en Raya para 2 personas.Considerar el tablero como una matriz de dos dimensiones.

En el GroupBox colocar nueve TextBox en orden en modo sólo lectura ( ReadOnly = True)además cambiar la fuente a tamaño veinte y alineación central del texto.

Public Class Form1'Definimos un arreglo como un conjunto de variables declarados como

caracteresDim M(2, 2) As Char'Daclaramos la variable gano como booleana'solo puede tener dos valores verdadero o falsoDim gano As Boolean

'Creamos la función Marcar el cual agrupará todas las cajas de textocomo un arreglo de controles

Private Sub marcar(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.Click, TextBox2.Click, TextBox3.Click,TextBox4.Click, TextBox5.Click, TextBox6.Click, TextBox7.Click,TextBox8.Click, TextBox9.Click

'Declaramos la variable C como un Objeto en este caso una caja detexto

Dim C As TextBox

'Declaramos las variables a usar en la funciónDim x, i As IntegerStatic turno As BooleanC = senderIf (C.Text.Length > 0) Or gano Then

Exit SubEnd Ifturno = Not turno

Page 17: 1. Variables y Arreglos Final

5/14/2018 1. Variables y Arreglos Final - slidepdf.com

http://slidepdf.com/reader/full/1-variables-y-arreglos-final 17/20

  If turno ThenLabel1.Text = "Turno de O"C.Text = "X"

ElseLabel1.Text = "Turno de X"C.Text = "O"

End If

x = Me.GroupBox1.Controls.IndexOf(sender)M(Int(x / 3), (x Mod 3)) = C.Text

For i = 0 To 2If (M(i, 0) = M(i, 1) And M(i, 1) = M(i, 2)) Then

'Línea HorizontalMsgBox("Ganó " & M(i, 1), MsgBoxStyle.Information +

MsgBoxStyle.Exclamation, "Tres en Raya")Label1.Text = "Iniciar Juego"gano = TrueExit Sub

End If

If (M(0, i) = M(1, i) And M(1, i) = M(2, i)) Then'Línea VerticalMsgBox("Ganó " & M(1, i), MsgBoxStyle.Information +

MsgBoxStyle.Exclamation, "Tres en Raya")Label1.Text = "Iniciar Juego"gano = TrueExit Sub

End IfNextIf (M(0, 0) = M(1, 1) And M(1, 1) = M(2, 2)) Or (M(0, 2) = M(1,

1) And M(1, 1) = M(2, 0)) Then'Línea DiagonalMsgBox("Ganó " & M(1, 1), MsgBoxStyle.Information +

MsgBoxStyle.Exclamation, "Tres en Raya")Label1.Text = "Iniciar Juego"gano = TrueExit Sub

End IfEnd Sub

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

gano = TrueEnd Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim i, j As IntegerDim obj As Objectgano = FalseFor i = 0 To 2

For j = 0 To 2M(i, j) = (i + j * 3).ToString

NextNextFor Each obj In Me.GroupBox1.Controls

'obj.clear()

Page 18: 1. Variables y Arreglos Final

5/14/2018 1. Variables y Arreglos Final - slidepdf.com

http://slidepdf.com/reader/full/1-variables-y-arreglos-final 18/20

  NextLabel1.Text = "Turno de X"

End SubEnd Class

ARRAYLIST

Los arreglos tienen mucha similitud a lo que sería una lista. Y por facilidad se han creadolos  ArrayList . Que son un tipo especial de arreglo con método y propiedades de listaincluidos. Estos se encuentran en System.Collections .

Propiedades Frecuentes

  Count. Devuelve el número de elementos actuales.

  Capacity. Asigna o devuelve el máximo de elementos que contendrá el arrayList . Estevalor siempre será mayor o igual que el devuelto por Count . Si al añadir un nuevoelemento, Count  fuese mayor que Capacity , la capacidad del array  interno se

duplicaría para que se pudiesen añadir nuevos elementos. Si se asigna directamenteun valor, el array interno se adaptaría a ese valor.

  Item. Asigna o devuelve el elemento indicado, según el número del índice.

Métodos Frecuentes

  Add. Añade un elemento al final del array .

  Clear. Borra los elementos de la lista.

Page 19: 1. Variables y Arreglos Final

5/14/2018 1. Variables y Arreglos Final - slidepdf.com

http://slidepdf.com/reader/full/1-variables-y-arreglos-final 19/20

  Clone. Hace una copia de la lista.

  Insert. Inserta un elemento en el índice indicado.

  Remove. Elimina el elemento del índice especificado.

  Sort. Clasifica los elementos de la lista.

Crear una aplicación usando ArrayList

Crear una aplicación que permita ingresar datos a un objeto tipo ArrayList, además demostrarlos, contarlos y borrarlos.

Public Class Form1'Declaración del ArrayListDim dat As New ArrayList

Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim x As String'Ingreso de datosx = InputBox("Ingresar el dato a almacenar en el ArrayList:")'Compara la loongitud del ArrayListIf x.Length > 0 Then

dat.Add(x)End IfTextBox1.Text = dat.Count.ToString

End Sub

Private Sub Button2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button2.Click

Dim obj As ObjectDim cad As Stringcad = ""If dat.Count() = 0 Then

MsgBox("No se ha ingresado ningún dato.",MsgBoxStyle.Information, "Observación:")

Page 20: 1. Variables y Arreglos Final

5/14/2018 1. Variables y Arreglos Final - slidepdf.com

http://slidepdf.com/reader/full/1-variables-y-arreglos-final 20/20

  Exit SubEnd IfFor Each obj In dat

cad &= obj.ToString & Chr(13)NextMsgBox(cad, MsgBoxStyle.Information, "Contenido:")

End Sub

Private Sub Button3_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button3.Click

dat.Clear()TextBox1.Text = dat.Count.ToString

End SubEnd Class