La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Vectores y matrices Curso de Computación.

Presentaciones similares


Presentación del tema: "Vectores y matrices Curso de Computación."— Transcripción de la presentación:

1 Vectores y matrices Curso de Computación

2 Objetivos Manipular una colección de datos usando vectores
Declarar y utilizar un vector de tipos de datos primitivos en la implementación de un programa Inicializar vectores mediante lazos y en la declaración Utilizar lazos para realzar operaciones con vectores. Ordenar un vector Leer datos desde un archivo y almacenarlos en un vector

3 Definición de vector Un vector es una colección del mismo tipo de datos. Declaración de un vector: Tipo[] identificador; O Tipo identificador[]; Un vector es un objeto en java Un vector se construye con el operador new double lluvia[]; lluvia = new double[12]; double lluvia[] = new double[12]; Se crea un vector de 12 componentes lluvia[0] 0.0 lluvia[1] 0.0 lluvia[2] 0.0 lluvia[3] 0.0 lluvia[4] 0.0 lluvia[5] 0.0 lluvia[6] 0.0 lluvia[7] 0.0 lluvia[8] 0.0 lluvia[9] 0.0 lluvia[10] 0.0 lluvia[11] 0.0

4 Acceso a los elementos Los elementos de un vector se acceden mediante un subíndice. lluvia[2] o lluvia[i+1] El índice de la primera posición de un vector es siempre 0.

5 Ejemplo Leer 12 valores de lluvia mensual y calcular el promedio
double lluvia[] = new double[12]; double mediaAnual, suma = 0.0; for( int i = 0; i < 12; i++) { lluvia[i] = entrada.getDouble( “lluvia para el mes “+ (i+1)+”:”); suma += lluvia[i]; } mediaAnual = suma/12; System.out.println(“Media anual = ”+mediaAnual);

6 Calcular diferencias Calcula la diferencia entre la lluvia del mes y la media anual double diferencia; for( int i = 0; i < 12; i++) { System.out.println(formato.rightAlign (17,1,lluvia[i])); diferencia = Math.abs(lluvia[i]-mediaAnual); System.out.println(formato.rightAlign (17,2,diferencia)); }

7 Tamaño de un vector El tamaño de un vector se obtiene por medio de la constante pública length. Los lazos anteriores pueden escribirse como: for( int i = 0; i < lluvia.length; i++) { }

8 Iniciación de vectores
Otra forma de iniciar un vector al declararlo es como sigue: String[] nombreMes = {“enero”,”febrero”,”marzo”,”abril”,”mayo”,”junio”,”julio”,”agosto”,”septiembre”,”octubre”,”noviembre”,”diciembre”};

9 Lluvia para meses pares e impares
Cálculo de la media de lluvia en meses pares e impares double lluvia[] = new double[12]; double sumaMesImpar = 0.0, mediaMesImpar, sumaMesPar = 0.0, mediaMesPar; for(int i=0; i<lluvia.length; i++){ lluvia[i]=(double) entrada.getFloat( "lluvia para el mes de " + nombreMes[i] + ": "); } for(int i = 0; i < lluvia.length; i+=2) sumaMesImpar += lluvia[i]; mediaMesImpar = sumaMesImpar/6; for(int i = 1; i < lluvia.length; i+=2) sumaMesPar += lluvia[i]; mediaMesPar = sumaMesPar/6;

10 Preguntas rápidas 1. ¿Cuáles de las siguientes sentencias son válidas?
a. float numeros[13]; b. float numeros = {1.0f, 2.0f, 3.0f}; c. int numeros; numeros = new Vector[23]; d. int[] numeros = {1, 2, 3, 4}; 2. Escriba un programa que lea con un SimpleInput las componentes y calcule el producto punto de dos vectores de 2 dimensiones declarados como: float x[] = new double[2]; float y[] = new double[2];

11 Preguntas rápidas 3. Escriba un programa que lea los milímetros de lluvia de cada mes e imprime el nombre del mes con mayor nivel de lluvia y el nombre del mes con menor nivel de lluvia.

12 import javabook.*; class ProductoPunto{ public static void main(String[] args){ SimpleInput entrada = new SimpleInput(); double x[],y[]; double productoPunto,magnitudX,magnitudY,anguloX,anguloY,anguloXY; x = new double[2]; y = new double[2]; x[0] = entrada.getDouble("Primera componente de x:"); x[1] = entrada.getDouble("Segunda componente de x:"); y[0] = entrada.getDouble("Primera componente de y:"); y[1] = entrada.getDouble("Segunda componente de y:"); productoPunto = x[0]*y[0]+x[1]*y[1]; magnitudX = Math.sqrt(x[0]*x[0]+x[1]*x[1]); magnitudY = Math.sqrt(y[0]*y[0]+y[1]*y[1]); anguloX = Math.atan2(x[1],x[0])*180/Math.PI; anguloY = Math.atan2(y[1],y[0])*180/Math.PI; anguloXY = Math.acos(productoPunto/magnitudX/magnitudY)*180/Math.PI; System.out.println("x = ("+x[0]+","+x[1]+")="+magnitudX+"/_"+anguloX); System.out.println("y = ("+y[0]+","+y[1]+")="+magnitudY+"/_"+anguloY); System.out.println("ángulo entre x y y = "+anguloXY); } }

13 Criba de Eratóstenes Se van tachando los múltiplos de los primos que se van encontrando. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

14 Programa en Java //Implementa la criba de Eratóstenes public class Criba{ public static void main(String []args){ boolean primo[] = new boolean[100]; int i,j; //iniciar arreglo for(i = 0; i<primo.length; i++) primo[i] = true; for (i = 2; i<Math.sqrt(100); i++){ //marca los múltiplos de i del 2o en adelante for (j = 2; j<(100); j++) if(i*j<100) primo[i*j]=false; } for(i = 0; i<primo.length; i++) if(primo[i]) System.out.print(i+" "); } }


Descargar ppt "Vectores y matrices Curso de Computación."

Presentaciones similares


Anuncios Google