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

Post on 10-Feb-2015

6 views 0 download

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

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];

Arreglos Unidimensionales:

Vectores

variable[indice] =valor;

Variable.length;

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

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”};

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[ ]

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

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);

}}

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

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();

}}

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

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.

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];

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];

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]

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

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.

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.

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

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.