Académique Documents
Professionnel Documents
Culture Documents
Curso: Algoritmos y Estructura de Datos Docente: I.S. Mara de los ngeles Guzmn Valle Escuela Profesional de Ingeniera de Sistemas Universidad Nacional Pedro Ruiz Gallo
Vectores y Matrices
Vectores: Introduccin
Con
Vectores y Matrices
Es posible resolver estos problemas? Por qu? Una de las principales dificultades que se observan con estos problemas es que para la resolucin de ambos es necesario almacenar la totalidad de los datos a procesar. No sera 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.
I.S. Mara de los A. Guzmn Valle 3
Vectores y Matrices
Una estructura de datos es un conjunto de datos con un cierto orden. Las estructuras de datos pueden ser dinmicas o estticas. Estticas: aquellas a las que se le asigna una cantidad fija de memoria de acuerdo a lo definidio en la declaracin de la variable. Dinmicas: son aquellas cuyo tamao en memoria aumenta o disminuye en tiempo de ejecucin de acuerdo a las necesidades del programa.
I.S. Mara de los A. Guzmn Valle 4
Vectores y Matrices
Simples Tipos de Estructuras Reales Enteros Char Boolean Enumerados String arrays set record file
5
Estticas
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. Es decir que un arreglo es una lista de n elementos que posee las siguientes caractersticas: se identifica por un nico nombre de variable sus elementos se almacenan en posiciones contiguas de memoria se accede a cada uno de sus elementos en forma aleatoria
I.S. Mara de los A. Guzmn Valle 6
Vectores
Elementos
Mi_vector
Nombre de la variable
9 5 6 2 4 8 3
Vectores
Ejemplos: Ejemplo 1. Resolvamos este primer ejemplo: Cargar 10 elementos en un vector, sumarlos y mostrar el resultado por pantalla. Pasos para resolver este problema: Leer un vector de 10 elementos Sumar los elementos Mostrar el resultado de la suma por pantalla
Vectores
Muestra resultados
Vectores - Ejemplo1
Import java.io.*; Public class Ejemplo1{ public static void main(String[] args) throws IOException{ Declaracin de la variable arreglo double num[]; int x; double suma; BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); x=0; suma=0; Lectura de los elementos del arreglo num=new double[10]; for(x=0;x<=9;x++) { System.out.print("num["+(x+1)+"]:"); num[x]=Double.parseDouble(br.readLine()); Suma de los elementos } for(x=0;x<=9;x++) { suma=suma+num[x]; Mostrar Resultado } System.out.println("La suma de los numeros es: "+suma); } } 10 I.S. Mara de los A. Guzmn Valle
Vectores - Ejemplo1 v2
Import java.io.*; Public class Ejemplo1{ public static void main(String[] args) throws IOException{ double num[]; int x; double suma; BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); x=0; suma=0; num=new double[10]; for(x=0;x<=9;x++) { System.out.print("num["+(x+1)+"]:"); num[x]=Double.parseDouble(br.readLine()); suma=suma+num[x]; } System.out.println("La suma de los numeros es: "+suma); } }
11
Vectores - Ejemplos
Ej2- Dados 50 nmeros enteros, obtener el promedio de ellos. Mostrar por pantalla dicho promedio y los nmeros ingresados que sean mayores que el mismo. Ej3 - Dados n nmeros, obtener e imprimir la suma de todos ellos. A continuacin mostrar por pantalla todos los sumandos.
12
13
} }
14
Dos o ms arreglos que utilizan el mismo subndice para acceder a elementos de distintos arreglos, se denominan arreglos paralelos. Estos arreglos pueden procesarse simultneamente. Ejercicio: Se tienen dos arreglos. El primero contiene nombres de personas y el segundo contiene los sexos de las personas del primer arreglo, codificados como ffemenino 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
15
Matrices
Resolvamos el siguiente problema: Un instituto desea controlar los resultados de los alumnos en las distintas asignaturas de la facultad de Ingeniera. El 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. Las asignaturas estn codificadas de 1 a 6 y hay 30 alumnos.
16
Matrices
Es posible resolver este problema con lo visto hasta ahora? Para realizar el anterior programa , debemos trabajar con una tabla (o matriz o arreglo bidimensional)
17
Matrices
Mi_Matriz
Nombre de la variable
9 5 6 2 4 8 3
9 5 6 2 4 8 3 9 5 6 2 4 8 3
18
Matrices - Operaciones
19
20
21
Arreglos multidimesionales
As como hemos trabajado con vectores (arreglos unidemsionales) y matrices (arreglos unideimesionales), es posible trabajar con arreglos de ms de dos dimensiones, los que son denominados arreglos multidimensionales. Ejemplos de problemas de aplicacin de arreglos multidimesionales Se desea escribir un programa que permita manejar la informacin de habitantes de un complejo habitacional. El mismo posee 7 torres; a su vez cada torre posee 20 pisos y cada piso 6 departamentos. Se desea saber: a) Cantidad total de habitantes del complejo b) Cantidad promedio de habitantes por piso de cada torre c) Cantidad promedio de habitantes por torre
I.S. Mara de los A. Guzmn Valle 23