Portafolio de Evidencias Unidad V

download Portafolio de Evidencias Unidad V

of 37

Transcript of Portafolio de Evidencias Unidad V

  • 8/3/2019 Portafolio de Evidencias Unidad V

    1/37

    Portafolio de Evidencias

    Tipo de Portafolio: Abierto

    Unidad V

    Instituto Tecnolgico de Tuxtepec

    Humberto Chalate Jorge

    Arreglos

  • 8/3/2019 Portafolio de Evidencias Unidad V

    2/37

    Portafolio de Evidencias

    Fundamentos de Programacin Pgina 2

    Pagina

    Introduccin 3

    Arreglos Unidimensionales........ 4

    Operaciones con Arreglos.. 5

    Mtodo Burbuja. 6

    Arreglos Bidimensionales 7

    Programas con Vectores. 8

    Programas con Matrices.. 24

    Conclusin.. 37

  • 8/3/2019 Portafolio de Evidencias Unidad V

    3/37

    Portafolio de Evidencias

    Fundamentos de Programacin Pgina 3

    En este

    apartado nos dedicaremos a disear programas que utilicen arreglos

    unidimensionales y multidimensionales.

    Tambin veremos algunas operaciones bsicas en arreglos, como tambin sus

    operaciones de los mismos, mostrada a continuacin:

    - Lectura/escritura

    -Ordenacin

    -Bsqueda.

  • 8/3/2019 Portafolio de Evidencias Unidad V

    4/37

    Portafolio de Evidencias

    Fundamentos de Programacin Pgina 4

    Un Arreglo unidimensional es un conjunto de variables del mismo tipo

    tratadas como una sola entidad, a cada variable dentro del arreglo se le llama

    elemento del arreglo.

    Un arreglo es til cuando no deseamos nombrar individualmente a un grupo

    considerables de variables u objetos similares.

    Los arreglos pueden llenarse al momento de ser instanciados o posteriormentedentro de algn mtodo ya sea elemento por elemento o con la ayuda de un

    ciclo.

    Cuando se les instancia sin inicializarlo todos los elementos se inicializan con

    cero.

  • 8/3/2019 Portafolio de Evidencias Unidad V

    5/37

    Portafolio de Evidencias

    Fundamentos de Programacin Pgina 5

    Las operaciones en arreglos pueden clasificarse de la siguiente forma:

    Lectura/escritura: Esta proceso consiste en leer un dato de un arreglo y

    asignar un valor a cada uno de sus componentes.

    Bsqueda:la operacin de bsqueda de un dato en un vector consiste en:

    Determinar si el dato pertenece o no al vector

    En caso de pertenecer determinar cul es su posicinDos de los mtodos ms usados de bsqueda en vectores son:

    Bsqueda secuencial

    Bsqueda binaria

    Bsqueda secuencial: la operacin de bsqueda secuencial consiste en

    explorar secuencialmente un vector desde el primer elemento hasta el ltimo y

    comprobar si alguno de los elementos del vector contiene el valor buscado.

    Ordenacin: la ordenacin de vectores es el proceso de organizar los

    elementos del vector en algn orden o secuencia especfica (creciente o

    decreciente). La ordenacin se puede realizar para cualquier tipo de datos paralos que se haya definido una relacin de orden.

  • 8/3/2019 Portafolio de Evidencias Unidad V

    6/37

    Portafolio de Evidencias

    Fundamentos de Programacin Pgina 6

    Este mtodo consiste en acomodar el vector moviendo el mayor hasta la ltima

    casilla comenzando desde la casilla cero del vector hasta haber acomodado el

    nmero ms grande en la ltima posicin, una vez acomodado el ms grande,

    prosigue a encontrar y acomodar el siguiente ms grande comparando de

    nuevo los nmeros desde el inicio del vector, y as sigue hasta ordenar todo los

    elementos el arreglo.

    Este algoritmo es muy deficiente ya que al ir comparando las casillas para

    buscar el siguiente ms grande, ste vuelve a comparar las ya ordenadas.

    A pesar de ser el algoritmo de ordenamiento ms deficiente que hay, ste es el

    ms usado en todos los lenguajes de programacin.

  • 8/3/2019 Portafolio de Evidencias Unidad V

    7/37

    Portafolio de Evidencias

    Fundamentos de Programacin Pgina 7

    Una matriz es un arreglo de m por n elementos organizados en dosdimensiones en donde m es el nmero de filas o renglones y n el numero de

    columnas.

    Los arreglos en Java pueden ser bidimensionales (matrices) o

    multidimensionales (tablas).

    Un arreglo de dos dimensiones ser en realidad un arreglo que puede

    visualizarse como una tabla de varias filas y columnas.

    La declaracin de un arreglo bidimensional requiere de un juego adicional de

    corchetes, fuera de este detalle, la creacin y uso es prcticamente la misma,solo que ahora necesitaremos controlar dos ndices en lugar de uno.

  • 8/3/2019 Portafolio de Evidencias Unidad V

    8/37

    Portafolio de Evidencias

    Fundamentos de Programacin Pgina 8

    1.-Hacer un programa que almacene 20 calificaciones en un vector,

    calcular el promedio general de esas calificaciones. Adems calcular e

    imprimir cuantas de las calificaciones son mayores o iguales que el

    promedio.

    Pseudocdigo:

    import javax.swing.*;public class alumnos{

    int calif[]=new int [20];public int prom(){int x,promg,sum=0;for(x=0;x

  • 8/3/2019 Portafolio de Evidencias Unidad V

    9/37

    Portafolio de Evidencias

    Fundamentos de Programacin Pgina 9

    Principal:

    import javax.swing.*;public class llamaalumnos{public static void main(String arg[])

    {alumnos obj=new alumnos();int promg=obj.prom();

    int cm=obj.may(promg);obj.imprime(promg,cm);}}

    Pantallas:

  • 8/3/2019 Portafolio de Evidencias Unidad V

    10/37

    Portafolio de Evidencias

    Fundamentos de Programacin Pgina 10

    2.-Hacer un programa que llene un vector de 20 elementos y que calcule e

    imprima cuales son 0, cuntos son positivos y cuntos son negativos.

    Pseudocdigo:

    import javax.swing.*;public class numeros{public void num1(){int cp=0,cneg=0,cc=0,x;int num[]=new int [20];for(x=0;x0)cp++;elsecneg++;}

    JOptionPane.showMessageDialog(null,"los numeros neutros son: "+cc+"\nel losnumeros positivos son: "+cp+"\nel los numeros negativos son: "+cneg);}}

    Principal:import javax.swing.*;public class llamanumeros{public static void main(String arg[]){numeros obj=new numeros();obj.num1();}

    }

  • 8/3/2019 Portafolio de Evidencias Unidad V

    11/37

    Portafolio de Evidencias

    Fundamentos de Programacin Pgina 11

    Pantallas:

  • 8/3/2019 Portafolio de Evidencias Unidad V

    12/37

    Portafolio de Evidencias

    Fundamentos de Programacin Pgina 12

    3.-Hacer un programa que llene un vector con 10 elementos que diga

    cuantos son pares y cuntos son impares.

    Pseudocdigo:

    import javax.swing.*;public class pares{public void nume(){int cpares=0,cimpar=0,x;int num[]=new int [10];for(x=0;x

  • 8/3/2019 Portafolio de Evidencias Unidad V

    13/37

    Portafolio de Evidencias

    Fundamentos de Programacin Pgina 13

    Pantallas:

  • 8/3/2019 Portafolio de Evidencias Unidad V

    14/37

    Portafolio de Evidencias

    Fundamentos de Programacin Pgina 14

    4.-Realizar un programa que llene dos vectores A y B de 10 elementos

    cada uno y que multiplique el primer elemento de A con el ltimo

    elemento de B. Almacenar el resultado en un vector C.

    Pseudocdigo:

    import javax.swing.*;public class multiplicacion{public void multipli(){int A[]=new int[10];int B[]=new int [10];int C[]=new int [10];int x,y=9;String cadena="";for(x=0;x

  • 8/3/2019 Portafolio de Evidencias Unidad V

    15/37

    Portafolio de Evidencias

    Fundamentos de Programacin Pgina 15

    Pantallas:

  • 8/3/2019 Portafolio de Evidencias Unidad V

    16/37

    Portafolio de Evidencias

    Fundamentos de Programacin Pgina 16

    5.-Hacer un programa que llene dos vectores A y B de 10 elementos cada

    uno y que sume el primer elemento de A con el primer elemento de B

    almacenar el resultado.

    Pseudocdigo:

    import javax.swing.*;public class suma{public void sumar(){int A[]=new int[10];int B[]=new int [10];int C[]=new int [10];int x,y=0;String cadena="";for(x=0;x

  • 8/3/2019 Portafolio de Evidencias Unidad V

    17/37

    Portafolio de Evidencias

    Fundamentos de Programacin Pgina 17

    Pantallas:

  • 8/3/2019 Portafolio de Evidencias Unidad V

    18/37

    Portafolio de Evidencias

    Fundamentos de Programacin Pgina 18

    6.-Hacer un programa que llene un vector de 10 elementos y que los

    ordena con el mtodo burbuja.

    Pseudocdigo:

    import javax.swing.*;public class burbuja{

    public void burbu(){int vec[]=new int [10],x,y, aux;

    for(x=0;x

  • 8/3/2019 Portafolio de Evidencias Unidad V

    19/37

    Portafolio de Evidencias

    Fundamentos de Programacin Pgina 19

    Pantallas:

  • 8/3/2019 Portafolio de Evidencias Unidad V

    20/37

    Portafolio de Evidencias

    Fundamentos de Programacin Pgina 20

    7.-Llenar un vector de 20 elementos, imprimir la posicin y el valor del

    elemento mayor almacenado en el vector.

    Pseudocdigo:

    import javax.swing.*;public class Imprimir{

    public void varb(){int num[]=new int[20],a=0,z=0,x;for(x=0;x

  • 8/3/2019 Portafolio de Evidencias Unidad V

    21/37

    Portafolio de Evidencias

    Fundamentos de Programacin Pgina 21

    Pantallas:

  • 8/3/2019 Portafolio de Evidencias Unidad V

    22/37

    Portafolio de Evidencias

    Fundamentos de Programacin Pgina 22

    8.-Almacenar 15 elementos en un vector, y almacenarlos en otro vector en

    orden inverso al vector original imprimir el vector resultante.

    Pseudocdigo:

    import javax.swing.*;public class almacen{

    public void alma(){int vec1[]=new int [15];int vec2[]=new int [15];int x,y;for(x=0;x

  • 8/3/2019 Portafolio de Evidencias Unidad V

    23/37

    Portafolio de Evidencias

    Fundamentos de Programacin Pgina 23

    Pantallas:

  • 8/3/2019 Portafolio de Evidencias Unidad V

    24/37

    Portafolio de Evidencias

    Fundamentos de Programacin Pgina 24

    1.-Hacer un programa que llene una matriz de 5 por 5 y que almacene en

    la diagonal principal 1 y en las dems posiciones 0.

    Pseudocdigo:

    import javax.swing.*;public class diagonal{public void principal(){int Matriz[] []=new int [5][5];int diago[] []=new int [5][5];int R,C;

    String cadena="";for(R=0;R

  • 8/3/2019 Portafolio de Evidencias Unidad V

    25/37

    Portafolio de Evidencias

    Fundamentos de Programacin Pgina 25

    Pantallas:

  • 8/3/2019 Portafolio de Evidencias Unidad V

    26/37

    Portafolio de Evidencias

    Fundamentos de Programacin Pgina 26

    2.-Hacer un programa que genere una matriz de 5 por 5 y que almacene en

    la diagonal principal arriba de la diagonal 2 y abajo 0.

    Pseudocdigo:

    import javax.swing.*;public class diagonal2{public void matdiago(){int diagonal[] []=new int [5][5];int R,C;String cadena="";

    for(R=0;R

  • 8/3/2019 Portafolio de Evidencias Unidad V

    27/37

    Portafolio de Evidencias

    Fundamentos de Programacin Pgina 27

    Pantallas:

  • 8/3/2019 Portafolio de Evidencias Unidad V

    28/37

    Portafolio de Evidencias

    Fundamentos de Programacin Pgina 28

    3.-Hacer un algoritmo que llene una matriz de 7 * 7. Calcular la suma decada rengln y almacenarla en un vector, la suma de cada columna yalmacenarla en otro vector.

    Pseudocdigo:

    import javax.swing.*;public class suma1{

    public void calsuma(){int matriz[][]=new int [7][7];int x,y;int vecf[]=new int [7];int vecc[]=new int [7];for(x=0;x

  • 8/3/2019 Portafolio de Evidencias Unidad V

    29/37

    Portafolio de Evidencias

    Fundamentos de Programacin Pgina 29

    Principal:

    import javax.swing.*;public class llamasuma1{

    public static void main(String arg[]){

    suma1 obj=new suma1();obj.calsuma();

    }}

    Pantallas:

  • 8/3/2019 Portafolio de Evidencias Unidad V

    30/37

    Portafolio de Evidencias

    Fundamentos de Programacin Pgina 30

    4.-Hacer un algoritmo que llene una matriz de 5 * 5 y que almacene ladiagonal principal en un vector. Imprimir el vector resultante.

    Pseudocdigo:

    import javax.swing.*;public class diagonal{

    public void caldiago(){int matriz[][]=new int [5][5];int vec[]=new int [5];int x,y;for(x=0;x

  • 8/3/2019 Portafolio de Evidencias Unidad V

    31/37

    Portafolio de Evidencias

    Fundamentos de Programacin Pgina 31

    Pantallas:

  • 8/3/2019 Portafolio de Evidencias Unidad V

    32/37

    Portafolio de Evidencias

    Fundamentos de Programacin Pgina 32

    5.- El dueo de una cadena de tiendas de artculos deportivos deseacontrolar sus ventas por medio de una computadora. Los datos deentrada son:

    a) El numero de la tienda (1 a 50)b) Un numero que indica el deporte del articulo (1 a 20)c) El costo del artculo.Hacer un pseudocdigo que escriba al final del da lo siguiente1. Las ventas totales en el da para cada tienda2. Las ventas totales para cada uno de los deportes.3. Las ventas totales de todas las tiendas.

    Pseudocdigo:

    Principal:

    Pantallas:

  • 8/3/2019 Portafolio de Evidencias Unidad V

    33/37

    Portafolio de Evidencias

    Fundamentos de Programacin Pgina 33

    6.- Se tiene almacenada la matriz M (50,5) la cul contiene la informacinsobre las calificaciones de la materia de LENGUAJES ALGORTMICOS yun vector que contiene los nmeros de control de cada alumno. Diseeun pseudocdigo que imprima:a) el promedio general del grupo

    b) El promedio obtenido por cada alumno al final del curso y almacenarloen un vector de promediosc) Cantidad de alumnos que aprobaron la materia.d) El (o los) nmeros de control de l (o los) alumno(s) que haya(n)obtenido la mxima calificacin final.e) El promedio por unidad y almacenarlo en un vector de promedios

    Pseudocdigo:import javax.swing.*;public class Algoritmos{public void calcular(){

    int matriz[][]=new int[50][5],A[]=new int[50],B[]=new int[5];int c, r, sum=0, ca=0,promgg,x;for(r=0;r

  • 8/3/2019 Portafolio de Evidencias Unidad V

    34/37

    Portafolio de Evidencias

    Fundamentos de Programacin Pgina 34

    A[20]=matriz[20][0]+matriz[20][1]+matriz[20][2]+matriz[20][3]+matriz[20][4];A[21]=matriz[21][0]+matriz[21][1]+matriz[21][2]+matriz[21][3]+matriz[21][4];A[22]=matriz[22][0]+matriz[22][1]+matriz[22][2]+matriz[22][3]+matriz[22][4];A[23]=matriz[23][0]+matriz[23][1]+matriz[23][2]+matriz[23][3]+matriz[23][4];A[24]=matriz[24][0]+matriz[24][1]+matriz[24][2]+matriz[24][3]+matriz[24][4];

    A[25]=matriz[25][0]+matriz[25][1]+matriz[25][2]+matriz[25][3]+matriz[25][4];A[26]=matriz[26][0]+matriz[26][1]+matriz[26][2]+matriz[26][3]+matriz[26][4];A[27]=matriz[27][0]+matriz[27][1]+matriz[27][2]+matriz[27][3]+matriz[27][4];A[28]=matriz[28][0]+matriz[28][1]+matriz[28][2]+matriz[28][3]+matriz[28][4];A[29]=matriz[29][0]+matriz[29][1]+matriz[29][2]+matriz[29][3]+matriz[29][4];A[30]=matriz[30][0]+matriz[30][1]+matriz[30][2]+matriz[30][3]+matriz[30][4];A[31]=matriz[31][0]+matriz[31][1]+matriz[31][2]+matriz[31][3]+matriz[31][4];A[32]=matriz[32][0]+matriz[32][1]+matriz[32][2]+matriz[32][3]+matriz[32][4];A[33]=matriz[33][0]+matriz[33][1]+matriz[33][2]+matriz[33][3]+matriz[33][4];A[34]=matriz[34][0]+matriz[34][1]+matriz[34][2]+matriz[34][3]+matriz[34][4];A[35]=matriz[35][0]+matriz[35][1]+matriz[35][2]+matriz[35][3]+matriz[35][4];

    A[36]=matriz[36][0]+matriz[36][1]+matriz[36][2]+matriz[36][3]+matriz[36][4];A[37]=matriz[37][0]+matriz[37][1]+matriz[37][2]+matriz[37][3]+matriz[37][4];A[38]=matriz[38][0]+matriz[38][1]+matriz[38][2]+matriz[38][3]+matriz[38][4];A[39]=matriz[39][0]+matriz[39][1]+matriz[39][2]+matriz[39][3]+matriz[39][4];A[40]=matriz[40][0]+matriz[40][1]+matriz[40][2]+matriz[40][3]+matriz[40][4];A[41]=matriz[41][0]+matriz[41][1]+matriz[41][2]+matriz[41][3]+matriz[41][4];A[42]=matriz[42][0]+matriz[42][1]+matriz[42][2]+matriz[42][3]+matriz[42][4];A[43]=matriz[43][0]+matriz[43][1]+matriz[43][2]+matriz[43][3]+matriz[43][4];A[44]=matriz[44][0]+matriz[44][1]+matriz[44][2]+matriz[44][3]+matriz[44][4];A[45]=matriz[45][0]+matriz[45][1]+matriz[45][2]+matriz[45][3]+matriz[45][4];A[46]=matriz[46][0]+matriz[46][1]+matriz[46][2]+matriz[46][3]+matriz[46][4];A[47]=matriz[47][0]+matriz[47][1]+matriz[47][2]+matriz[47][3]+matriz[47][4];A[48]=matriz[48][0]+matriz[48][1]+matriz[48][2]+matriz[48][3]+matriz[48][4];A[49]=matriz[49][0]+matriz[49][1]+matriz[49][2]+matriz[49][3]+matriz[49][4];JOptionPane.showMessageDialog(null,"EL DATO EN EL VECTORA:"+x+"

    ES"+A[x]);}for(x=0;x=50)ca++;

    }for(x=0;x

  • 8/3/2019 Portafolio de Evidencias Unidad V

    35/37

    Portafolio de Evidencias

    Fundamentos de Programacin Pgina 35

    B[1]=matriz[0][1]+matriz[1][1]+matriz[2][1]+matriz[3][1]+matriz[4][1]+matriz[5][1]+matriz[6][1]+matriz[7][1]+matriz[8][1]+matriz[9][1]+matriz[10][1]+matriz[11][1]+matriz[12][1]+matriz[13][1]+matriz[14][1]+matriz[15][1]+matriz[16][1]+matriz[17][1]+matriz[18][1]+matriz[19][1]+matriz[20][1]+matriz[21][1]+matriz[22][1]+matriz[2

    3][1]+matriz[24][1]+matriz[25][1]+matriz[26][1]+matriz[27][1]+matriz[28][1]+matriz[29][1]+matriz[30][1]+matriz[31][1]+matriz[32][1]+matriz[33][1]+matriz[34][1]+matriz[35][1]+matriz[36][1]+matriz[37][1]+matriz[38][1]+matriz[39][1]+matriz[40][1]+matriz[41][1]+matriz[42][1]+matriz[43][1]+matriz[44][1]+matriz[45][1]+matriz[46][1]+matriz[47][1]+matriz[48][1]+matriz[49][1];

    B[2]=matriz[0][2]+matriz[1][2]+matriz[2][2]+matriz[3][2]+matriz[4][2]+matriz[5][2]+matriz[6][2]+matriz[7][2]+matriz[8][2]+matriz[9][2]+matriz[10][2]+matriz[11][2]+matriz[12][2]+matriz[13][2]+matriz[14][2]+matriz[15][2]+matriz[16][2]+matriz[17][2]+matriz[18][2]+matriz[19][2]+matriz[20][2]+matriz[21][2]+matriz[22][2]+matriz[23][2]+matriz[24][2]+matriz[25][2]+matriz[26][2]+matriz[27][2]+matriz[28][2]+matri

    z[29][2]+matriz[30][2]+matriz[31][2]+matriz[32][2]+matriz[33][2]+matriz[34][2]+matriz[35][2]+matriz[36][2]+matriz[37][2]+matriz[38][2]+matriz[39][2]+matriz[40][2]+matriz[41][2]+matriz[42][2]+matriz[43][2]+matriz[44][2]+matriz[45][2]+matriz[46][2]+matriz[47][2]+matriz[48][2]+matriz[49][2];

    B[3]=matriz[0][3]+matriz[1][3]+matriz[2][3]+matriz[3][3]+matriz[4][3]+matriz[5][3]+matriz[6][3]+matriz[7][3]+matriz[8][3]+matriz[9][3]+matriz[10][3]+matriz[11][3]+matriz[12][3]+matriz[13][3]+matriz[14][3]+matriz[15][3]+matriz[16][3]+matriz[17][3]+matriz[18][3]+matriz[19][3]+matriz[20][3]+matriz[21][3]+matriz[22][3]+matriz[23][3]+matriz[24][3]+matriz[25][3]+matriz[26][3]+matriz[27][3]+matriz[28][3]+matriz[29][3]+matriz[30][3]+matriz[31][3]+matriz[32][3]+matriz[33][3]+matriz[34][3]+matriz[35][3]+matriz[36][3]+matriz[37][3]+matriz[38][3]+matriz[39][3]+matriz[40][3]+matriz[41][3]+matriz[42][3]+matriz[43][3]+matriz[44][3]+matriz[45][3]+matriz[46][3]+matriz[47][3]+matriz[48][3]+matriz[49][3];

    B[4]=matriz[0][4]+matriz[1][4]+matriz[2][4]+matriz[3][4]+matriz[4][4]+matriz[5][4]+matriz[6][4]+matriz[7][4]+matriz[8][4]+matriz[9][4]+matriz[10][4]+matriz[11][4]+matriz[12][4]+matriz[13][4]+matriz[14][4]+matriz[15][4]+matriz[16][4]+matriz[17][4]+matriz[18][4]+matriz[19][4]+matriz[20][4]+matriz[21][4]+matriz[22][4]+matriz[23][4]+matriz[24][4]+matriz[25][4]+matriz[26][4]+matriz[27][4]+matriz[28][4]+matriz[29][4]+matriz[30][4]+matriz[31][4]+matriz[32][4]+matriz[33][4]+matriz[34][4]+m

    atriz[35][4]+matriz[36][4]+matriz[37][4]+matriz[38][4]+matriz[39][4]+matriz[40][4]+matriz[41][4]+matriz[42][4]+matriz[43][4]+matriz[44][4]+matriz[45][4]+matriz[46][4]+matriz[47][4]+matriz[48][4]+matriz[49][4];

    JOptionPane.showMessageDialog(null,"EL DATO EN ELVECTORB:"+x+" ES"+B[x]); }

    JOptionPane.showMessageDialog(null,"El promedio es:"+promgg+"Nmero de alumnos aprobados:"+ca);

    }}

  • 8/3/2019 Portafolio de Evidencias Unidad V

    36/37

    Portafolio de Evidencias

    Fundamentos de Programacin Pgina 36

    Principal:import javax.swing.*;public class llamaAlgoritmos{

    public static void main(String arg[]){

    Algoritmos obj=new Algoritmos();obj.calcular();

    }}

    Pantallas:

  • 8/3/2019 Portafolio de Evidencias Unidad V

    37/37

    Portafolio de Evidencias

    Con la capacidad lgica y algortmica, damos por terminada la Unidad V, donde

    mostramos la realizacin de programas que utilizan arreglos unidimensionales

    y multidimensionales, de un nivel bajo hasta llegar a un grado de dificultad

    mayor, como tambin los tipos de operaciones que podemos realizar con los

    arreglos.

    Tambin estuvo presente la realizacin de vectores y matrices, vimos que los

    arreglos que en Java pueden ser bidimensionales o multidimensionales y que

    para declarar los bidimensionales requieren un par adicional de corchetes [ ].