You are on page 1of 23

| 


Curso: Algoritmos y Estructura de Datos ± Grupo C
Docente: I.S. María de los A. Guzmán Valle
Escuela Profesional de Ingeniería de Sistemas
Universidad Nacional Pedro Ruiz Gallo
Vectores y Matrices
u Vectores: Introducción
Con lo aprendido hasta ahora
resolvamos los siguientes problemas:
u 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.
u Dados n números, obtener e imprimir la suma
de todos ellos. A continuación mostrar por
pantalla todos los sumandos.

I.S. María Guzmán Valle _


Vectores y Matrices
u Es posible resolver estos problemas? Por qué?
u 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.
u No sería eficiente crear n cantidad de variables
para guardar estos datos.
u Para realizar programas y/o algoritmos que nos
permitan resolver los problemas planteados,
usaremos una nueva estructura de datos
denominada vectores.

I.S. María Guzmán Valle -


Vectores y Matrices
u Una estructura de datos es un conjunto de datos
con un cierto orden.
u Las estructuras de datos pueden ser dinámicas o
estáticas.
Estáticas: aquellas a las que se le asigna una
cantidad fija de memoria de acuerdo a lo
definido en la declaración de la variable.
Dinámicas: son aquellas cuyo tamaño en
memoria aumenta o disminuye en tiempo de
ejecución de acuerdo a las necesidades del
programa.

I.S. María Guzmán Valle r


Vectores y Matrices

 
   
 
å   


 
 
  

 

  
  
   
   

I.S. María Guzmán Valle à


Vectores
u Xué 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
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 elementos en
forma aleatoria

I.S. María . Guzmán Valle A


Vectores

— 

   ! # ' & $ % "

 
   ( )*›
 *   +,-.

I.S. María Guzmán Valle o


Vectores
u 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:
u Leer un vector de 10 elementos

u Sumar los elementos

u Mostrar el resultado de la suma por pantalla

I.S. María Guzmán Valle ´


Vectores
u Ejemplo 1 - Diagrama de Jackson

Ejemplo 1

Lectura del Suma de Muestra


arreglo los elementos resultados

I.S. María Guzmán Valle 


Vectores - Ejemplo1
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()); 
 
}
for(x=0;x<=9;x++)
{
suma=suma+num[x];
}  
 
System.out.println("La suma de los numeros es: "+suma);
}
}
I.S. María Guzmán Valle m
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);
}
}

I.S. María Guzmán Valle mm


Vectores - Ejemplos
Ej2- Dados 50 números enteros, obtener el
promedio de ellos. Mostrar por pantalla
dicho promedio y los números ingresados
que sean mayores que el mismo.
Ej3 - Dados n números, obtener e imprimir
la suma de todos ellos. A continuación
mostrar por pantalla todos los sumandos.

I.S. María Guzmán Valle m_


Vectores - Ejemplos resueltos
import java.io.*;
public class Ejemplo2{
public static void main(String[] args) throws IOException{
double num[];
int x;
double promedio,suma;
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
x=0;
suma=promedio=0;
num=new double[50];
for(x=0;x<=49;x++)
{
System.out.print("num["+(x+1)+"]:");
num[x]=Double.parseDouble(br.readLine());
suma=suma+num[x];
}

I.S. María Guzmán Valle m-


Vectores - Ejemplos resueltos
promedio=suma/5;
System.out.println("El promedio de los numeros es: "+promedio);
System.out.println("Los numeros mayores al promedio son:");
for(x=0;x<=49;x++)
{
if(num[x]>promedio){
System.out.println(num[x]);
}
}

}
}

I.S. María Guzmán Valle mr


Vectores - Vectores Paralelos
u Dos o más arreglos que utilizan el mismo subíndice
para acceder a elementos de distintos arreglos, se
denominan arreglos paralelos. Estos arreglos pueden
procesarse simultáneamente.
u 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
´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

I.S. María Guzmán Valle mà


Matrices
u Resolvamos el siguiente problema:
Un instituto desea controlar los resultados de los
alumnos en las distintas asignaturas de la
facultad de Ingeniería. 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 están codificadas de 1 a 6 y hay
30 alumnos.

I.S. María Guzmán Valle mA


Matrices
u Es posible resolver este problema con lo visto
hasta ahora?
u Para realizar el anterior programa , debemos
trabajar con una tabla (o matriz o arreglo
bidimensional)

I.S. María Guzmán Valle mo


Matrices

   0 ! # ' & $ % "


! # ' & $ % "
  ! # ' & $ % "
  

( )*_ ›
 *   +&1,-.

I.S. María Guzmán Valle m´


Matrices - Operaciones
u Escritura de una matriz
for i:= 1 to 10 do
for j:= 1 to 10 do
writeln(Matriz[i,j] )

El recorrido de las matrices puede realizarse tanto por


filas como por columnas, de acuerdo al problema a
resolver.

I.S. María Guzmán Valle m


Matrices - Ejemplos resueltos
Ej4. Un instituto desea controlar los resultados de
los alumnos en las distintas asignaturas de la
facultad de Ingeniería. 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 están codificadas de 1 a 6 y hay 30
alumnos.

I.S. María Guzmán Valle _


Matrices - Ejemplos resueltos
import java.io.*;
public class EI12 {
public static void main(String[ ] args) throws IOException{
double notas[ ][ ];
int x,y;
double promedioAlumno,sumaAlumno,SumaTotal,PromedioTotal;
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
x=0;
y=0;
notas=new double[6][30];
SumaTotal=PromedioTotal=0;

I.S. María Guzmán Valle _m


Matrices - Ejemplos resueltos
for(x=0;x<=29;x++)
{
sumaAlumno=promedioAlumno=0;
System.out.println("Notas del Alumno "+(x+1)+":");
for(y=0;y<=5;y++)
{
System.out.print("Nota["+(y+1)+"]:");
notas[x][y]=Double.parseDouble(br.readLine());
sumaAlumno=sumaAlumno+notas[x][y];

}
promedioAlumno=sumaAlumno/6;
SumaTotal=SumaTotal+promedioAlumno;

System.out.println("El promedio del Alumno es "+promedioAlumno);


}
PromedioTotal=SumaTotal/30;
System.out.println("El promedio de todos los alumnos es: "+PromedioTotal);
}
}

I.S. María Guzmán Valle __


Arreglos multidimesionales
Así como hemos trabajado con vectores (arreglos
unidemsionales) y matrices (arreglos unideimesionales), es posible
trabajar con arreglos de más de dos dimensiones, los que son
denominados arreglos multidimensionales.
—    
 

 

   

Se desea escribir un programa que permita manejar la información
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. María Guzmán Valle _-

You might also like