Documente Academic
Documente Profesional
Documente Cultură
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 ms dimensiones. Para referirse a un elemento de la matriz se debe especificar el nombre de la matriz seguido de uno o ms subndices encerrados entre parntesis. Una coleccin se define por medio del objeto Collection donde se ace referencia a un grupo de elementos relacionados como un objeto !nico. 6.1. Matrices de una Dimensin o Unidimensionales Una matriz de una dimensin se declara de la siguiente forma"
Dim <nombre matriz> (<numero de elementos>) AS Tipo de dato; Dim mercanca (12) As Integer
Para almacenar $alores en una matriz se debe utilizar el nombre de la matriz y un subndice que indica en qu posicin se almacenara el $alor especificado. %n las siguientes lneas se creara una matriz de & posiciones, 'el primer $alor se almacenara en la posicin () y se le asignaran $alores a la matriz. Por lo general para almacenar o mostrar los $alores de una matriz se utilizan las estructuras repetiti$as, tambin llamadas ciclos.
Dim ventas ($)# i# z As Integer For i= ! To % 1entas (i)= i23 Next
Para acceder a los $alores de una matriz, se debe utilizar un $alor de ndice para especificar la posicin a la que se desea acceder. #ambin se pueden utilizar ciclos para recorrer toda la matriz y acceder a todos los $alores.
z = ventas (2) 4a z se le asignara el valor de $ de acuerdo al e5emplo anterior"
6.1.1. Ejemplo prctico matrices unidimensionales *acer una aplicacin llamada MatricesUnidimensionales que permita a un usuario capturar +( n!meros enteros positi$os o negati$os e imprima los $alores en el orden que se capturan, como tambin, los $alores pares e impares ordenados de menor a mayor. Crear la interfaz de usuario.
Utilizando el cuadro de erramientas aga clic en el control especfico y ubique los siguientes controles en el formulario en la posicin deseada" , Text ox, , !a"el, +
-espus de colocar los controles u objetos en el formulario, establezca las siguientes propiedades a los controles" Ta"la 6.1. #ropiedades de los controles de la aplicacin MatricesUnidimensionales.
Control Te6t7o61 Te6t7o62 Te6t7o63 Te6t7o6% 0abel1 0abel2 0abel3 0abel% 7utton1 ;orm1 Propiedad 8ame Te6t 8ame Te6t 8ame Te6t 8ame Te6t 8ame Te6t ;ont<7old 8ame Te6t ;ont<7old 8ame Te6t ;ont<7old 8ame Te6t ;ont<7old 8ame Te6t 8ame Te6t Valor t6toriginal 9n blanco t6tordenada 9n blanco t6tpares 9n blanco t6timpares 9n blanco lbloriginal .atriz :riginal True lblordenado .atriz :riginal True lblpares 8=meros >ares? True lblimpares 8=meros Impares? True boton @apturar valores Aormulario .atrices Bnidimensionales
La interfaz de usuario queda como se muestra en la siguiente figura" $i%ura 6.1. &nterfaz de usuario 'MatricesUnidimensionales(
Escri"ir cdi%o
%n el anterior cdigo se define una matriz llamada datos, la cual permitir almacenar +( $alores enteros, como tambin, se definen las $ariables i) j) numero de tipo &nte%er. Los controles txtori%inal y txtordenada se inicializan en su propiedad Text en blanco. .e realiza la programacin utilizando cuatro ciclos $or" el primero permite la capturar de cada uno de los $alores digitados por teclado y se le asigna a la $ariable numero, luego dic o $alor es almacenado en la posicin i de la matriz y por ultimo al control txtori%inal en su propiedad Text se le asigna lo que contena anteriormente ese control ms el $alor que a sido almacenado en datos 'i( agregndole una coma ',). %l segundo y tercer ciclo se utilizan para comparar pares de elementos adyacentes e intercambiarlos cuando se cumpla la condicin definida dentro del ciclo ms interno, este mtodo de comparacin es conocido como el mtodo de "*r"uja. %l cuarto ciclo sir$e para recorrer la matriz e ir imprimiendo cada uno de los elementos de la matriz en el control txtordenada en su propiedad Text. /dems se determinar si el $alor datos 'i) es par o impar utilizando el operador Mod. -ependiendo de la e$aluacin se imprimir dic o $alor en el objeto txtpares o txtimpares.
Ejecutar el proyecto
/l ejecutar el proyecto en el entorno de desarrollo de $isual 0asic.1%#, se debe $isualiza la figura 2.+. .i se pulsa el botn Capturar +alores y se digitan los n!meros" ,, 3, +4, ,2, 5&, ,+, &6, 37, ,(, 55, se $isualizara la siguiente pantalla" $i%ura 6.,. Ejecucin aplicacin MatricesUnidimensionales.
6.,. Matrices de ms de una Dimensin. Una matriz puede ser definida de dos, tres o ms dimensiones, de cualquier tipo de dato. Para crear una matriz de ms de una dimensin en los parntesis se separa cada dimensin por medio de comas ',). %l formato para declarar una matriz bidimensional es"
Dim nombreHmatriz (Ailas# columnas) As Integer Dim notas (2# 3) As Integer
Para almacenar $alores en la matriz bidimensional se utilizan dos subndices, el primero indica las filas y el segundo las columnas donde se localiza el $alor. %l primer $alor de las filas y de las columnas es cero '(). %n las siguientes lneas se creara una matriz bidimensional de , filas y 5 columnas, y se le asignaran $alores a la matriz. Para almacenar los $alores se utilizan dos ciclos.
Dim ventas (2# 3)# i# 5 As Integer For i= ! To 1 For 5=! To 2 ventas (i# 5) = i23 Next Next
Para acceder a los $alores de una matriz bidimensionales, se debe utilizar los dos subndices, como tambin, dos ciclos para recorrer toda la matriz y acceder a cada uno de los $alores.
Dim ventas (2# 3)# i# 5# z As Integer For i= ! To 1 For 5=! To 2 z=ventas (i# 5) 4C z se le asignara el valor de la posiciIn (i# 5)" Next Next
6.,.1. Ejemplo prctico matrices "idimensionales. %laborar una aplicacin llamada Matrices idimensionales que permita capturar oc o '3) palabras en una matriz bidimensional. .e deber imprimir cada palabra digitada en un campo de te8to, como tambin, imprimir en otro campo de te8to todas las palabras que empiecen con 9/. Crear la interfaz de usuario.
Utilizando el cuadro de erramientas aga clic en el control especfico y ubique los siguientes controles en el formulario en la posicin deseada" , !a"el, , Text ox, + utton. Esta"lecer las propiedades de los o"jetos del interfaz de usuario.
-espus de colocar los controles u objetos en el formulario, establezca las siguientes propiedades a los controles" Ta"la 6.,. #ropiedades de los controles de la aplicacin Matrices idimensionales.
Control 0abel1 0abel2 Te6tbo61 Te6t7o62 7utton1 ;orm1 Propiedad 8ame Te6t 8ame Te6t 8ame Te6t .ultiline 8ame Te6t .ultiline 8ame Te6t 8ame Te6t Valor lblpalabras >alabras Digitadas lblca >alas Jue empiezan con @C" t6tpalabras 9n 7lanco True t6tca 9n 7lanco True boton @apturar palabras Aormulario .atrices 7idimensionales
La interfaz de usuario queda como se muestra en la siguiente figura" $i%ura 6.-. &nterfaz de usuario 'Matrices idimensionales(
Escri"ir
cdi%o
%n el anterior cdigo se define una matriz de , filas 8 6 columnas llamada pala"ras, la cual permitir almacenar 3 cadenas de caracteres, tambin se definen las $ariables i) j de tipo &nte%er. .e utilizan dos ciclos $or" el primero realizara el recorrido por las filas y el segundo lo realizara por las columnas, adems, en este ciclo se capturan las palabras digitadas. 9ada palabra capturada es asignada a la matriz pala"ras en su posicin i) j. /l objeto txtpala"ras en su propiedad Text se le asigna el te8to que contiene dic o control agregndole la nue$a palabra concatenada con una tabulacin ' +"ta"). .e e$alua si la palabra capturada contiene en las dos primeras posiciones la silaba C.. .i la condicin es $erdadera, al objeto txtca en su propiedad Text se le asigna el te8to que contiene dic o control agregndole la palabra con C. concatenada con una tabulacin '+"ta"). /l terminar de ejecutarse el segundo $or se retorna al primer ciclo donde al objeto txtpala"ras en su propiedad Text se le asigna el te8to que contiene dic o control agregndole dos saltos de lnea utilizando la funcin +"crlf. Ejecutar el proyecto.
/l ejecutar el proyecto se $isualizara la figura 2.5. /l pulsar el botn Capturar pala"ras, se mostrara la $entana para la captura de las palabras, como se aprecia en la siguiente
.i se digitan las palabras" ana, dedos, cali, azules, cadena, apoyo, alcanza, capota, en el objeto txtpala"ras se $isualizaran las palabras digitadas y en el objeto txtca todas las palabras que empiezan con C.. .e mostrara la siguiente figura" $i%ura 6.1. Matriz "idimensional al capturar las pala"ras
6.-. Colecciones. Las colecciones es un objeto !nico donde se relacionan un grupo de elementos. Los elementos de una coleccin no tienen que compartir el mismo tipo de datos. %l ndice de los elementos puede ser ( +. .u formato es"
Dim nombrecoleccion .s 2e3 9ollection -onde 2e3 es el operador para asignar espacio de memoria de tipo Collection. 9uando se crea una coleccin, esta se puede manipular con las siguientes funciones" /dd" permite agregar un nue$o elemento a la coleccin. :emo$e" permite eliminar un elemento que e8ista en la coleccin. 9lear" quita todos los elementos de una coleccin. 9ount" cuenta cuantos elementos tiene una coleccin. 6.-.1. Ejemplo prctico colecciones. -ise;ar una aplicacin llamada Colecciones que permita adicionar, eliminar, buscar elementos en una coleccin. /l realizar la operacin de adicin o eliminacin se deben $isualizar como queda la coleccin y por la operacin de b!squeda se debe $isualizar la posicin donde se encuentra el elemento. Crear la interfaz de usuario.
Utilizando el cuadro de erramientas aga clic en el control especfico y ubique los siguientes controles en el formulario en la posicin deseada" , !a"el, , Text ox, + utton. Esta"lecer las propiedades de los o"jetos del interfaz de usuario.
-espus de colocar los controles u objetos en el formulario, establezca las siguientes propiedades a los controles" Ta"la 6.,. #ropiedades de los controles de la aplicacin Colecciones.
Control 0abel1 Te6tbo61 Te6t7o62 7utton1 7utton2 7utton3 ;orm1 Propiedad 8ame Te6t 8ame Te6t .ultiline 8ame Te6t 8ame Te6t 8ame Te6t 8ame Te6t 8ame Te6t Valor lblelementos 9lementos de la @olecciIn t6telementos 9n 7lanco True t6tbuscar 9n 7lanco botonadicionar Cdicionar elementos botoneliminar 9liminar elementos botonbuscar 9lemento a 7uscar? Aormulario :b5eto @ollection
Escri"ir cdi%o
a) /ntes de la apertura de la clase declare la coleccin para que esta sea publica a cada uno de los procedimientos de la aplicacin. -e doble clic sobre el formulario y busque #u"lic class formulario y antes de este codigo escriba"
Dim coleccion Cs 8eK @ollection
.e declara una $ariable llamada dato de tipo &nte%er. / dic a $ariable se le asigna el elemento digitado por teclado. Utilizando la funcin .dd se adiciona el elemento a la coleccin y se limpia el objeto elementos. 9on la estructura $or<Eac4 se $isualizan cada uno de los elementos e8istentes en la coleccin.
/ la $ariable nroelementos se le asigna la cantidad de elementos que tiene la coleccin utilizando la funcin Count. .i el $alor de la $ariable dato es mayor que el $alor de la la $ariable nroelementos se $isualizara el mensaje =Elemento no existe>. %n caso contrario se eliminara el elemento en la posicion indicada utilizando la funcin 5emo+e. .e debe tener en cuenta que se elimina es la posicion de un elemento en la coleccin. d) .eleccione el objeto "oton"uscar y abra el editor de cdigo y escriba el siguiente cdigo"
Dim dato# posicion# au6iliar Cs Integer dato = Input7o6(DDigite elemento a 7uscar?D# D7uscar elementoen a una coleccionD) posicion = 1 au6iliar = ! ;or 9acG elemento Cs Integer In coleccion IA (elemento = dato) TGen t6tbuscar"Te6t = Del elemento?D F dato F D e6iste en la posiciIn?D F posicion au6iliar = 1 9nd IA posicion = posicion 2 1 8e6t IA (au6iliar = !) TGen t6tbuscar"Te6t = D8o e6iste el elemento?D F dato 9nd IA
.e crean tres $ariables de tipo &nte%er" dato, posicion, auxiliar. / la $ariable dato se le asigna el elemento digitado por teclado? La $ariable posicion se inicializa en uno '+) y la $ariable auxiliar en cero '(). 9on la estructura $or<Eac4 se recorre cada uno de los elementos de la coleccin. .e e$alua si el elemento encontrado es igual al $alor de la $ariable dato. .i se cumple la condicion se le asigna al objeto txt"uscar el te8to =el elemento> concatenado al $alor de la $ariable dato junto con el te8to =existe en la posicin"> unido al $alor de la $ariable posicion) adems, se le asigna a la $ariable auxiliar el $alor uno '1( . .i no ingresa a la estructura &f se incrementara el $alor de la $ariable posicion. /l terminarse de recorrer la coleccin, si el $alor de la $ariable auxiliar es igual a
cero ' no se encontr el elemento buscado) se le asignara al objeto txt"uscar el te8to =2o existe el elemento> unido al $alor de la $ariable dato. Ejecutar el proyecto.
/l ejecutar el proyecto se $isualizara la figura 2.2. /l pulsar el botn .dicionar elementos, se mostrara la $entana para la adicionar un elemento a la coleccin. .e debe pulsar el botn tantas $eces como elementos se desee adicionar. .e apreciara la siguiente figura" $i%ura 6.6. 0entana para adicionar elementos a la coleccin.
/l pulsar el botn Eliminar elementos, se mostrara la $entana para la eliminar un elemento a la coleccin. .e debe pulsar el botn tantas $eces como elementos se desee eliminar. .e mostrara la siguiente figura" $i%ura 6.8. 0entana para eliminar elementos de la coleccin.
.i se digita el n!mero +&, se obtendr la siguiente figura" $i%ura 6.19. Mensaje de 2o existencia de un elemento en la coleccin.
/l pulsar el botn Elemento a uscar, se mostrara la $entana para realizar la b!squeda de un elemento en la coleccin. .e debe pulsar el botn tantas $eces como elementos se desee buscar. .e mostrara la siguiente figura" $i%ura 6.11. 0entana para eliminar elementos de la coleccin.
.i se digita el n!mero 4, se $isualizara la siguiente figura" $i%ura 6.1,. .plicacin con el elemento encontrado.
6./. Ejercicios Matrices. +. %scribir un programa que permita capturar +( n!meros e imprima los n!meros positi$os. ,. :ealizar un programa que capture ,( n!meros enteros e imprima la cantidad y la suma de" negati$os, cero y positi$os. 5. *acer un programa que imprima la suma de los elementos de las diagonales de una matriz cuadrada. .e debe capturar la dimensin de la matriz. 6. %laborar un programa que capture notas de ,( alumnos de una clase. 9ada alumno debe tener tres notas. .e debe imprimir las notas de cada alumno, su nota definiti$a,
adems, las notas definiti$as menores de 2.( &. 9rear un programa que imprima ,( n!meros aleatorios entre + y +(((. /dems se deber imprimir el $alor m8imo y la posicin que ocupa en la matriz. 2. %scribir un programa que permita insertar o eliminar elementos de un arreglo 'los elementos deben mostrarse como se ingresaron). 4. -ise;ar un programa que permita capturar +( palabras en un arreglo bidimensional e imprimir dic o arreglo ordenado alfabticamente. 3. @mplementar un programa que capture +( palabras e imprimir aquellas palabras que contengan la silaba P%. 7. *acer un programa que intercambie las filas de una matriz. Los elementos de la fila ( deben intercambiarse con los de la fila 1, la fila + con los de la fila 1<+ y as sucesi$amente. @mprimir las dos matrices. +(. :ealizar un programa que capture +( n!meros en una matriz unidimensional e imprimir el mayor y menor $alor.