Este documento presenta una introducción a los vectores y matrices. Explica que los vectores son estructuras de datos que permiten almacenar conjuntos de datos de un mismo tipo usando subíndices. También cubre vectores paralelos, las matrices como tablas bidimensionales y cómo inicializar arreglos multidimensionales. El objetivo es proporcionar las bases para resolver problemas que impliquen el procesamiento de grandes cantidades de datos.
1. Curso: ALGORITMO
Sección: “A”
Vectores y Matrices
Vectores y
Matrices
Facilitador: Daniel Carneiro
Integrantes: Grisel Barreto V- 5.525.147
Juan López V-11.993.643
Caracas, Marzo 2012
2. INDICE
•Vectores y Matrices
GRISEL Y JUAN MANUEL
3. Vectores y Matrices
Vectores: Introducción
Con lo aprendido hasta ahora resolvamos los siguientes
problemas:
Dados 50 números enteros, obtener el promedio de ellos.
Mostrar por pantalla dicho promedio y los números
ingresados que sean mayores que él.
Dados n números, obtener e imprimir la suma de todos ellos.
A continuación mostrar por pantalla todos los sumandos.
GRISEL Y JUAN MANUEL
4. Vectores y Matrices
E s posible resolver estos problemas? Por qué?
Una de las principales dificultades que se observan con estos
problemas es que para la resolución de ambos es necesario
almacenar la totalidad de los datos a procesar.
N o sería eficiente crear n cantidad de variables para guardar estos
datos.
Para realizar programas y/ o algoritmos que nos permitan resolver
los problemas planteados, usaremos una nueva estructura de datos
denominada vectores.
GRISEL Y JUAN MANUEL
5. Vectores
Qué es un vector? Un vector ( o arreglo unidimensional) es
una estructura de datos en la cual se almacena un conjunto
de datos de un mismo tipo. E s decir que un arreglo es una
lista de n elementos que posee las siguientes
características:
•Se identifica por un único nombre de variable
•Sus elementos se almacenan en posiciones contiguas
de memoria
•Se accede a cada uno de sus elementosY JUAN MANUEL
GRISEL
en forma
6. Vectores
9 5 6 2 4 8 3
Nombre de
la variable
Posición : 1
Contenido : Mi vector[1] = 9
GRISEL Y JUAN MANUEL
7. Vectores - Vectores Paralelos
Dos o más arreglos que utilizan el mismo subíndice para
acceder a elementos de distintos arreglos, se denominan
arreglos paralelos. E stos arreglos pueden procesarse
simultáneamente.
GRISEL Y JUAN MANUEL
8. Vectores - Vectores Paralelos
E jercicio:
Se tienen dos arreglos. E l primero contiene nombres de
personas y el segundo contiene los sexos de las personas
del primer arreglo, codificados como ´ f´ femenino y ´ m´
masculino. Obtener a partir de estos otros dos arreglos,
el primero de los cuales debe contener todos los
nombres de los varones y el segundo, el nombre de
todas las mujeres
GRISEL Y JUAN MANUEL
9. Matrices
L as matrices son un recurso de programación simple y socorrido;
pueden considerarse como las " estructuras" de datos más simples
que cabe imaginar ( todos los elementos del mismo tipo) . Presentan
la ventaja de que sus elementos son rápidamente accesibles, en
especial si utiliza punteros en vez de subíndices, pero presentan una
notable limitación: son de tamaño fijo; es preciso definir su tamaño
desde el principio y no pueden ser fácilmente incrementadas o
disminuidas sino mediante complejos procesos de copia.
GRISEL Y JUAN MANUEL
10. Matrices
Resolvamos el siguiente problema:
Un instituto desea controlar los resultados de los alumnos en las
distintas asignaturas de la facultad de Ingeniería. E l programa
debe ingresar las calificaciones de los alumnos y visualizar en
pantalla la media de notas por alumno y la media de notas por
asignatura.
L as asignaturas están codificadas de 1 a 6 y hay 30 alumnos.
11. Matrices
Para realizar el anterior programa , debemos trabajar con
una tabla ( o matriz o arreglo bidimensional)
12. Matrices
9 5 6 2 4 8 3
9 5 6 2 4 8 3
9 5 6 2 4 8 3
Nombre de
la variable
Posición : 3,1
Contenido : Mi_vector[3,1] = 9
13. Arreglos Multidimensionales
E n ocasiones es útil tener arreglos de más de un índice. E sto se puede hacer en
C++ y en la mayoría de los lenguajes de programación. L a siguiente sentencia
declara un arreglo multidimensional de variables de punto flotante que llevan el
nombre genérico de Temperatura:
double Temperatura[ 3] [ 20] ;
L os índices de este arreglo son:
Temperatura[ 0] [ 0] Temperatura[ 1] [ 0] Temperatura[ 2] [ 0]
Temperatura[ 0] [ 1] Temperatura[ 1] [ 1] Temperatura[ 2] [ 1]
M M M
Temperatura[ 0] [ 19] Temperatura[ 1] [ 19] Temperatura[ 2] [ 19]
14. Arreglos Multidimensionales
Observe que con la declaración anterior se declaran simultáneamente 60
variables indexadas. N ote también que los valores que indican el tamaño del
arreglo multidimensional deben encerrarse entre corchetes ( para cada conjunto
de valores) .
De hecho, los arreglos multidimensionales pueden contener cualquier número
de índices, pero rara vez son necesarios más de dos para la mayoría de las
aplicaciones en ingeniería química. L a sintaxis formal para declarar un arreglo
multidimensional es:
nombre_tipo nombre_arreglo [ tamanio_1] [ tamanio_2] ... [ ultimo_tamanio] ;
15. Inicialización De Arreglos Multidimensionales
L a inicialización de arreglos multidimensionales es muy similar a la
que se describió para arreglos de un solo índice. Otra vez es
necesario enlistar los valores de cada uno de los elementos del arreglo
entre llaves y separados por comas. L a diferencia sin embargo, es
que es necesario tener más de un grupo de valores encerrados entre
llaves. Por ejemplo:
int x[ 2] [ 3] ={{1,2,3},{4,5,6}};
16. Inicialización De Arreglos Multidimensionales
Observe que tenemos un conjunto de llaves que encierra a otros grupos de
números también encerrados entre llaves y separados por comas. ¿Cuántos
grupos de números se tienen encerrados por las llaves de los extremos?
2, porque la dimensión del primer índice es 2. ¿Cuántos números se tienen en
cada uno de los grupos? 3, por el tamaño correspondiente al segundo índice es
3.
E l ejemplo equivaldría a tener el siguiente arreglo de números. E l primer índice
representaría al renglón y el segundo índice a la columna:
1 2 3
x[ 0] [ 0] x[ 0] [ 1] x[ 0] [ 2]
4 5 6
x[ 1] [ 0] x[ 1] [ 1] x[ 1] [ 2]