Algoritmo y Estructura de Datos I 2007 - I Facultad de Ingeniería y Arquitectura Ing. Juan José...

19
Algoritmo y Estructura de Datos I 2007 - I Facultad de Ingeniería y Arquitec Ing. Juan José Montero Román. [email protected] Sesión 3

Transcript of Algoritmo y Estructura de Datos I 2007 - I Facultad de Ingeniería y Arquitectura Ing. Juan José...

Page 1: Algoritmo y Estructura de Datos I 2007 - I Facultad de Ingeniería y Arquitectura Ing. Juan José Montero Román. jmonteror@usmp.edu.pe Sesión 3.

Algoritmo y Estructura de Datos I 2007 - I

Facultad de Ingeniería y Arquitectura

Ing. Juan José Montero Román.

[email protected]

Sesión 3

Page 2: Algoritmo y Estructura de Datos I 2007 - I Facultad de Ingeniería y Arquitectura Ing. Juan José Montero Román. jmonteror@usmp.edu.pe Sesión 3.

Arreglos Unidimensionales: Vectores

Es un tipo de Dato. Consiste en un conjunto de elementos uno a continuación de otro. Cada elemento tiene el mismo espacio, se van a almacenar diferentes valores pero del mismo tipo.

tipo_de_dato variable[];tipo_de_dato[] variable;

variable = new tipo_de_dato[dimensión];

variable[] = new tipo_de_dato[dimensión];

Page 3: Algoritmo y Estructura de Datos I 2007 - I Facultad de Ingeniería y Arquitectura Ing. Juan José Montero Román. jmonteror@usmp.edu.pe Sesión 3.

Arreglos Unidimensionales:

Vectores

variable[indice] =valor;

Variable.length;

tipo variable[]= {valor1,valor2,valor3,...};

Page 4: Algoritmo y Estructura de Datos I 2007 - I Facultad de Ingeniería y Arquitectura Ing. Juan José Montero Román. jmonteror@usmp.edu.pe Sesión 3.

Arreglos Unidimensionales:

Vectores

int vectorNotas[ ];vectorNotas = new int [30];

int vectorNotas[ ] = new int [30];

int x=vectorNotas.length; //donde x=30

int n[]={1,12,0,-5,25};

String[] nombre={”Ludwig”,”Amadeus”,”Eddie”,”Jerry”};

Page 5: Algoritmo y Estructura de Datos I 2007 - I Facultad de Ingeniería y Arquitectura Ing. Juan José Montero Román. jmonteror@usmp.edu.pe Sesión 3.

Arreglos Unidimensionales:

Vectores

int n[ ]; // declaración del vector de enterosn= new int [ 5]; // inicializar el vectorn[ ]

Posición final (cantidad - 1) = 4

Luego, finalmente:n[0]= 5 n[1]= 9 n[2]= 7 n[3]= 3 n[4]= 4

Posición inicial (0)

5 9 7 3 4

0 1 2 3 4

n[0] n[1] n[2] n[3] n[4]

n[ ] n[ ]

Page 6: Algoritmo y Estructura de Datos I 2007 - I Facultad de Ingeniería y Arquitectura Ing. Juan José Montero Román. jmonteror@usmp.edu.pe Sesión 3.

Diseñe un programa que lea las edades de 10 personas y determine la suma de edades, la edad máxima, la edad mínima y la edad promedio. Use vectores

Page 7: Algoritmo y Estructura de Datos I 2007 - I Facultad de Ingeniería y Arquitectura Ing. Juan José Montero Román. jmonteror@usmp.edu.pe Sesión 3.

package domapli;import biblioteca.*;public class PrgEdad{

public static void main(String args[]){int edad[]= new int[10]; // declaracion e inicializaciónint suma=0; //acumuladorint min=0,max=0;double prom;String msg=””;// ingreso del vectorfor(int i=0;i<10;i++){

edad[i]=LE.leerInt("Ingrese edad:");}// recorriendo el vectorfor(int i=0;i<10;i++){

suma=suma+edad[i];if(i==0){

max=edad[i];min=edad[i];

}else{

if(edad[i]>max)max=edad[i];

if(edad[i]<min)min=edad[i];

}}prom=(double) suma/10;msg+="La suma de las edades es: "+suma;msg+="\nLa edad maxima es :"+max;msg+="\nLa edad minima es :"+min;msg+="\nLa edad promedio es :"+prom;LE.mostrarInformacion(msg);

}}

Page 8: Algoritmo y Estructura de Datos I 2007 - I Facultad de Ingeniería y Arquitectura Ing. Juan José Montero Román. jmonteror@usmp.edu.pe Sesión 3.

Diseñe un programa que lea 7 edades y halle la suma de las mismas. Utilice métodos

Page 9: Algoritmo y Estructura de Datos I 2007 - I Facultad de Ingeniería y Arquitectura Ing. Juan José Montero Román. jmonteror@usmp.edu.pe Sesión 3.

package domapli;import biblioteca.*;public class PrgEdad {

int edad[]=new int[7];int suma=0;int mayor=-1, menor=1000;public void ingresar(){

for(int i=0;i<edad.length;i++){edad[i]=LE.leerInt("Ingrese edad["+ i+"]");

}}public void calcular(){

for(int i=0;i<edad.length;i++){suma=suma+edad[i];if(edad[i]>mayor)

mayor=edad[i];if(edad[i]<menor)

menor=edad[i];}

}public void mostrar(){

LE.mostrarInformacion("la suma es: "+suma);LE.mostrarInformacion("El mayor es: "+mayor);LE.mostrarInformacion("El menor es: "+menor);

}public static void main(String args[]){

PrgEdad obj = new PrgEdad();obj.ingresar();obj.calcular();obj.mostrar();

}}

Page 10: Algoritmo y Estructura de Datos I 2007 - I Facultad de Ingeniería y Arquitectura Ing. Juan José Montero Román. jmonteror@usmp.edu.pe Sesión 3.

Diseñe un programa que genere aleatoria mente un arreglo de 15 notas de una práctica calificada. Determine luego:La nota promedioLa nota máximaLa nota mínima

Page 11: Algoritmo y Estructura de Datos I 2007 - I Facultad de Ingeniería y Arquitectura Ing. Juan José Montero Román. jmonteror@usmp.edu.pe Sesión 3.

Diseñe un programa que lea n números y determine la suma de todos los números, el promedio, cantidad de pares, cantidad de impares, el máximo, el mínimo. Lo números deben ser de 3 cifras.

Page 12: Algoritmo y Estructura de Datos I 2007 - I Facultad de Ingeniería y Arquitectura Ing. Juan José Montero Román. jmonteror@usmp.edu.pe Sesión 3.

Arreglos Bidimensionales: MatricesEs un tipo de Dato. Consiste en un conjunto de elementos uno a continuación de otro. Cada elemento tiene el mismo espacio, se van a almacenar diferentes valores pero del mismo tipo. Cada dato tiene una posición compuesta por un par de puntos. Esto es, todos los datos que componen el la matriz deben ser del mismo tipo de dato.

tipo_de_dato variable[][];tipo_de_dato[][] variable;

variable = new tipo_de_dato[nfilas][ncolumnas];

variable[][] = new tipo_de_dato[nfilas][ncolumnas];

Page 13: Algoritmo y Estructura de Datos I 2007 - I Facultad de Ingeniería y Arquitectura Ing. Juan José Montero Román. jmonteror@usmp.edu.pe Sesión 3.

Arreglos Bidimensionales:

Matrices

variable[fila][columna] =valor;

int x[ ][ ]; // declaración de la matriz de enterosx= new int [ 5][4]; // inicializar la matriz

int matrizNotas [ ][ ] = new int [30] [30];

Page 14: Algoritmo y Estructura de Datos I 2007 - I Facultad de Ingeniería y Arquitectura Ing. Juan José Montero Román. jmonteror@usmp.edu.pe Sesión 3.

Arreglos Unidimensionales:

Vectores

0 1 2 30 X[0][0] X[0][1] X[0][2] X[0][3]

1 X[1][0] X[1][1] X[1][2] X[1][3]

2 X[2][0] X[2][1] X[2][2] X[2][3]

3 X[3][0] X[3][1] X[3][2] X[3][3]

4 X[4][0] X[4][1] X[4][2] X[4][3]

Page 15: Algoritmo y Estructura de Datos I 2007 - I Facultad de Ingeniería y Arquitectura Ing. Juan José Montero Román. jmonteror@usmp.edu.pe Sesión 3.

Arreglos Unidimensionales:

Vectores

0 1 2 30 18 16 14 17

1 20 13 15 18

2 13 18 16 13

3 15 16 18 20

4 11 13 20 15

nota [0][0]=18;

suma = nota[1][2]+nota[1][3]+nota[4][1]suma = 15 + 18 + 13 = 46

Page 16: Algoritmo y Estructura de Datos I 2007 - I Facultad de Ingeniería y Arquitectura Ing. Juan José Montero Román. jmonteror@usmp.edu.pe Sesión 3.

Diseñe un programa lea los valores de una matriz de 4 * 4. Se pide hallar la suma de diagonal principal, la suma de la diagonal inversa, la suma de los valores cuya posición suma 5.

Page 17: Algoritmo y Estructura de Datos I 2007 - I Facultad de Ingeniería y Arquitectura Ing. Juan José Montero Román. jmonteror@usmp.edu.pe Sesión 3.

Diseñe un programa que lea los valores de una matriz de 5 * 4. Se pide intercambiar la 1 columna por la 3, así como también intercambiar la 2 fila por la 4.

Page 18: Algoritmo y Estructura de Datos I 2007 - I Facultad de Ingeniería y Arquitectura Ing. Juan José Montero Román. jmonteror@usmp.edu.pe Sesión 3.

Desarrollar una matriz tridiagonal, si es una matriz de nxn y los valores con que se llena cumplen las siguientes reglas:

i – j | > 1 debe llenar con 0i – j | <= 1 debe llenar con 1

Page 19: Algoritmo y Estructura de Datos I 2007 - I Facultad de Ingeniería y Arquitectura Ing. Juan José Montero Román. jmonteror@usmp.edu.pe Sesión 3.

Desarrollar una solución que permita ingresar y almacenar los códigos, apellidos y las 3 notas que obtuvieron n alumnos, debiéndose determinar el promedio de cada uno de ellos. Usar una sola matriz.