Matrices Es una estructura homogénea, compuesta por varios elementos, todos del mismo tipo y almacenados consecutivamente en memoria A cada elemento se.

Slides:



Advertisements
Presentaciones similares
Arreglos Unidimensionales y Bidimensionales ESTRUCTURAS DE DATOS I
Advertisements

2.1.1 Definición. Un arreglo puede definirse como un grupo o una colección finita, homogénea y ordenada de elementos. Los arreglos pueden ser de los siguientes.
INTELIGENCIA ARTIFICIAL
Estrella 0 - Fundamentos de la Programación
Curso de Java Capitulo 6: Cadenas y Arrays Profesor:
Abstracción de Datos Arrays.
Tablas. Descripción general Introducción a las tablas Creación de tablas Uso de tablas.
Estructuras de Datos (ARRAYS)
Las estructuras de arreglos fueron usadas en las primeras computadoras digitales, cuando la programación se hacía todavía en lenguaje máquina, para tablas.
VARIABLES Y CONSTANTES
MANEJO DE ARRAYS EN C.
Tema 1. Introducción a la programación (Lenguaje java).
PROGRAMACION DE ESTRUCTURAS DE DATOS
Tipos de Datos.
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
COMPUTER DATA SYSTEMS.
Teoría de lenguajes y compiladores
Arreglos Ing. Nahiby Castillo.
Vectores en java.
La función BUSCAR devuelve un valor de un rango de una fila o una columna o de una matriz. Forma matricial: Buscar el valor especificado en la primera.
VBA - Procedimientos Subprogramas (Procedimientos): Procedimientos Sub
1 Procedimientos Es un conjunto de sentencias incluidas entre las declaraciones Sub o Function y End Sub/Function VB utiliza varios tipos de procedimientos:
Tema 6: Clases Antonio J. Sierra.
TÉCNICO EN PROGRAMACIÓN DE SOFTWARE Instructor: Ingeniero Adrián Guerrero Taborda
Departamento de Informática Universidad Técnica Federico Santa María Capítulo 2 “Subprogramas/Funciones - Arreglos” Arreglos-Arrays.
Arrays (introducción)
TABLAS Definición. El tipo tabla permite definir objetos formados por un conjunto de elementos del mismo tipo. Ejemplos. El tipo tabla se utiliza para.
ENTERO Redondea un número hasta el entero inferior más próximo.
UNIDAD V Arreglos y Cadenas
ARREGLOS BIDIMENSIONALES
Universidad Domingo Savio Facultad de Ciencias y Tecnología de la Información Carrera Ingeniería en Redes y Telecomunicaciones Materia : Programación I.
Conversión cadena a número
ESTRUCTURA DE DATOS EN JAVA
Clase 10: Estructuras de datos y arreglos.
Programación IMC José Andrés Vázquez Flores. Definición Un arreglo es un conjunto finito e indexado de elementos homogéneos, que se referencian por un.
Microsoft© Visual Basic . Net.
Aplicación de estructuras de datos
Control de errores visual basic
Arreglos Programación I MC Beatriz Beltrán Martínez.
Fundamentos de Programación
VBA – Elementos del Lenguaje
Vectores y Matrices.
Programación en C para electrónicos
Tema 2: Base de datos relacionales
Matrices Departamento de Computación Escuela de Ingeniería de Sistemas
Clase 6 COMPUTACION 2009 C lase 8 Tipos de Datos PASCAL Estructurados Simples Primitivos No primitivos Integer Real Char Boolean String Archivos Registros.
Inicialización de arreglos de 2 variables INTEGER, DIMENSIÓN (4, 3) : : ini DO i=1, 4 DO j= 1,3 ini(i, j) = j END DO i=1123 i=2123 i=3123 i=4123 j=1j=2j=3.
Arreglos y comunicación Usuario
Matrices Prof. Flor Narciso Departamento de Computación
Vectores y Matrices.
Objetivo Mostrar los fundamentos de la programación a través de ejemplos y prácticas utilizadas cotidianamente en el desarrollo de aplicaciones.
Programación en Visual Basic
Términos algoritmo diseñar algoritmo implementar algoritmo
ELEMENTOS DE COMPUTACIÓN Profesor: Guillermo Figueroa
Estructura de datos I CIS - UABJB.
Visual Basic FUNCIONES Y PROCEDIMIENTOS
Ing. Johanna Macias Algoritmo, Estructura y Programación III.
Capitulo 4 Arreglos o Arrays Unidimensionales Bidimensionales Strings
Arrays multidimensionales en JAVA
Universidad Domingo Savio Facultad de Ciencias y Tecnología de la Información Carrera Ingeniería en Redes y Telecomunicaciones Materia : Programación I.
Computación I. CI-2125 Tema VII
Lic. Carla Aguirre Montalvo
ARREGLOS BIDIMENSIONALES MATRICES Son un espacio de almacenamiento continuo, que contiene una serie de elementos del mismo tipo de datos. Desde el punto.
ARRAYS Y COLECCIONES DE DATOS. ARRAYS Arrays – Matriz – Vector Elemento del lenguaje que nos permite agrupar un conjunto de valores del mismo tipo, y.
ESTRUCTURAS DE DATOS “Conceptualización de estructuras de datos” Por: Eduardo Robayo.
Visual Basic Prof.: Carol Briones García. Uso de Archivos  Definición  Es un conjunto de información que se almacena en algún medio de escritura que.
UNIVERSIDAD TECNOLÓGICA DE PANAMÁ Facultad de Ingeniería de Sistemas Computacionales Programa de Lic. en Informática Educativa Computación.
3.6 Manejo de E/S Estructuras En la creación de soluciones para algunos problemas surge la necesidad de agrupar datos de diferente tipo o de manejar datos.
Equipo de Profesores del Curso. Funciones de Texto.
UNIVERSIDAD AUTÓNOMA DEL ESTADO DE MÉXICO FACULTAD DE INGENIERÍA COORDINACIÓN DE MATERIAS PROPEDÉUTICAS INGENIERÍA EN SISTEMAS ENERGÉTICOS SUSTENTABLES.
Transcripción de la presentación:

Matrices Es una estructura homogénea, compuesta por varios elementos, todos del mismo tipo y almacenados consecutivamente en memoria A cada elemento se puede acceder directamente por el nombre de la variable matriz seguido de uno o más subíndices encerrados entre paréntesis La representación de las matrices se hace mediante variables suscritas o de subíndices y puede tener una o varias dimensiones (subíndices)

Supongamos que tenemos una matriz unidimensional de enteros llamada M, la cual contiene 10 elementos Los subíndices son enteros consecutivos y que el primer subíndice vale 0. Un subíndice puede ser cualquier expresión entera positiva Una matriz de dos dimensiones se representa mediante una variable con dos subíndices (fila, columna); una de tres dimensiones se representa mediante una variable con tres subíndices, etc. El número máximo de dimensiones está limitado a 60 y el número máximo de elementos depende de la memoria disponible Matriz M M(0) M(1) M(2) M(3) M(4) M(5) M(6) M(7) M(8) M(9)

Matrices numéricas unidimensionales Para crear y utilizar una matriz hay que realizar tres operaciones: declararla, crearla e iniciarla Declarar una matriz: Dim nombre() As Tipo Donde tipo indica el tipo de los elementos de la matriz; y nombre es un identificador que nombra a la matriz Ejemplos: Dim m() As Integer Dim temperatura() As Single

Crear una matriz. Significa reservar la cantidad de memoria necesaria para contener todos sus elementos y asignar al nombre de la matriz una referencia a ese bloque Nombre = New tipo(ind_sup) {} Donde nombre es el nombre de la matriz previamente declarada; tipo es el tipo de los elementos de la matriz; e ind_sup es una expresión entera positiva menor o igual que la precisión de un Long, que especifica el índice superior de la matriz y coincide con el número de elementos de la matriz menos uno Ejemplos: M = New Integer(9) {} Temperatura = New Single(30) {}

Es bastante común declarar y crear la matriz utilizando una sola sentencia Dim nombre() As tipo = New tipo(ind_sup) {} Ejemplos: Dim m() As Integer = New Integer(9) {} Dim Temperatura() As Single = New Single(30) {} También es bastante común declarar y crear una matriz utilizando la forma abreviada Dim nombre(ind_sup) As tipo Dim m(9) As Integer Dim Temperatura(30) As Single

Si deseamos iniciar una matriz Iniciar una matriz. Cuando se crea, sus elementos son automáticamente iniciados, igual que sucede con las variables. Si la matriz es numérica, sus elementos son iniciados a 0 y si no es numérica, a un valor análogo al 0; los caracteres al valor ‘\u000’ un elemento booleano a False Si deseamos iniciar una matriz Dim m() As Integer = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} Dim temperatura() As Single = {10.0F, 12.3F} Las declaraciones son la forma abreviada de: Dim m() As Integer = New Integer(9) {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} Dim temperatura() As Single = New Single(1) {10.0F, 12.3F}

La primera posición es la 0 Acceder a los elementos de una matriz. Se utiliza el nombre de la matriz, seguido de un subíndice entre paréntesis. Esto es, un elemento de una matriz no es más que una variable subindicada; por lo tanto, se puede utilizar exactamente igual que cualquier otra variable Ejemplos: Dim m(99) As Integer Dim K, A As Integer … A = m(1) + m(99) K = 50 m(k) += 1 m(k + 1) = m(k) La primera posición es la 0

La propiedad Length contiene la longitud de la matriz Si se intenta acceder a un elemento con un subíndice menor que cero o mayor que el número de elementos de la matriz menos uno, Visual Basic lanzara una excepción de tipo IndexOutOfRangeException La propiedad Length contiene la longitud de la matriz Dim n As Integer = m.Length

Matrices multidimencionales Es una matriz de dos o más dimensiones Definición Dim nombre(,…) As tipo = New tipo(expr-1, expr-2, …) {} Dim nombre(expr-1, expr-2, …) As tipo Donde tipo es un número primitivo entero o real. El número de elementos de una matriz multidimencional es el producto de (expr-1 + 1) x (expr-2 + 1) x … Ejemplos: Dim m(,) As Integer = New Integer(1, 2) {} Dim m(1, 2) As Integer

A partir de cualquiera de las líneas de código anteriores, se crea una matriz bidimensional m con 2 filas y 3 columnas Para acceder a los elementos de la matriz se utilizan dos subíndices, el primero indicará la fila y el segundo la columna m(1, 2) = x m(0, 1) = m(1,2) El método GetLength devuelve el número de elementos de la dimensión especificada. m.GetLength(1)  3 Matriz m col 0 col 1 col 2 fila 0 m0,0 m0,1 m0,2 m1,0 m1,1 m1,2 fila 1

Sentencia For Each Es similar a la sentencia For, con la diferencia de que ahora un bloque de una sentencia o más sentencias se ejecuta repetidamente por cada elemento de una colección de objetos o de una matriz Sintaxis: For Each (elemento In colección/matriz) sentencia Next Donde elemento se corresponde en cada ejecución de la sentencia con el siguiente elemento de la colección o de la matriz indicada. Sin embargo, este elemento es de sólo lectura, por lo que no se puede utilizar para modificar los valores de la colección

Ejemplo: Dim m(9) As Integer Dim I As Integer For Each I In m txtSalida.Text &= I.ToString & vbCrLf Next

Modificar el tamaño de una matriz Se puede modificar el tamaño de una matriz existente, en cualquier instante de la ejecución de un programa Una forma es asignando una matriz diferente a la misma variable Otra forma es utilizando la sentencia ReDim En cualquier caso el número de dimensiones no se puede modificar, pero si se puede modificar la longitud de cualquiera de las dimensiones

Los elementos se pierden Ejemplo: Dim m(3, 4) As Integer ‘matriz 4 filas por 5 columnas … m = New Integer(1, 2) {} ‘matriz 2 filas por 3 columnas Los elementos se pierden Para conservarlos es necesario utilizar la sentencia ReDim con la cláusula Preserve. En este caso sólo permite modificar la longitud de la última dimensión Dim m(2, 3) As Integer ReDim Preserve m(2, 7)

Números aleatorios La biblioteca de clases .Net incluye una clase llamada Random, la cual define un conjunto de operaciones relacionadas con la obtención de números al azar Método Descripción Next() Devuelve un número entero positivo Next(máx As Integer) Devuelve un número entero positivo menor que máx Next(min As Integer, máx As Integer) Devuelve un número entero positivo mayor o igual que min y menor que máx NextDouble() Devuelve un número mayor o igual a 0.0 y menor que 1.0

Ejemplo: El código siguiente muestra como obtener un número al azar entre 1 y 49: Dim n As Integer Dim rnd As Random = New Random() n = rnd.Next(1, 50)

Clase Array La clase Array del espacio de nombres System contiene varios métodos para manipular matrices. Clone. Permite duplicar una matriz Dim m1() As Integer = {10, 20, 30, 40, 50} Dim m2() As Integer = m1.Clone() Clear. Asigna un valor 0 o Nothing a todos los elementos de una matriz, o bien a cada elemento de un rango especificado Clear(m As Array, desdeInd As Integer, longitud As Integer) Donde m es la matriz, desdeInd es el índice del primer elemento del rango y longitud el número de elementos del mismo

Ejemplo: Dim a() As Double = {55, 50, 45, 40, 35, 30, 25, 20, 10} System.Array.Clear(a, 0, a.Length) Sort. Ordena los elementos de una matriz unidimensional en orden ascendente utilizando el algoritmo quicksort Sort(m As Array) Sort(m As Array, desdeInd As Integer, longitud As Integer) Donde m es la matriz a ordenar. Cuando solo queramos ordenar un rango de elementos, utilizaremos el segundo formato de Sort donde desdeInd es el índice del primer elemento del rango y longitud el número de elementos del mismo System.Array.Sort(a)

BinarySearch. Busca un valor en una matriz unidimensional que esté ordenada ascendentemente utilizando el algoritmo de búsqueda binaria. BinarySearch(m As Array, clave As Object) As Integer Donde m representa la matriz, clave es el valor que se desea buscar El valor devuelto es un entero correspondiente al índice del elemento que coincide con el valor buscado. Si el valor buscado no se encuentra, entonces el valor devuelto es: -(punto de inserción) – 1. El valor de punto de inserción es el índice del elemento de la matriz donde debería encontrarse el valor buscado.

Reverse(m As Array, desdeInd As Integer, longitud As Integer) Ejemplo: Dim a() As Integer = {10, 15, 20, 25, 30, 35, 40, 45, 50, 55} Dim i As Integer i = System.Array.BinarySearch(a, 25) ‘ i = 3 i = System.Array.BinarySearch(a, 27) ‘ i = -5 i = System.Array.BinarySearch(a, 5) ‘ i = -1 i = System.Array.BinarySearch(a, 60) ‘ i = -11 Reverse. Invierte la secuencia de todos los elementos de una matriz unidimensional, o bien de los elementos de un rango especificado. Reverse(m As Array) Reverse(m As Array, desdeInd As Integer, longitud As Integer) Donde m es la matriz. Cuando sólo queremos invertir la secuencia de un rango de elementos, utilizaremos el segundo formato de Reverse donde desdeInd es el índice del primer elemento del rango y longitud el numero de elementos del mismo System.Array.Reverse(a)