Вы находитесь на странице: 1из 4

Arreglos Conceptos: Arreglo: coleccin finita de elementos, en que todos los elementos son todos de un mismo tipo, y estn

se almacenan en forma ordenada

Arreglo: 100 45 123 55 67 900 1345 2 0 nmeros o valores 0 1 2 3 4 5 6 7 8 ndice

- Un arreglo se identifica bajo un nombre. Al emplear ese nombre se hace referencia a una coleccin de elementos como un todo. - El conjunto de elementos sin embargo no se pueden tratado como una unidad, sino que debe tratarse uno por uno (lecturas, asignaciones, despliegues, operaciones)

- La cantidad de elementos de un arreglo es fija y debe especificarse al momento de declararlo. Dependiendo del lenguaje, el ndice que representa la posicin inicial puede ser "0" o "1" - para referenciar un elemento dentro del arreglo se debe utilizar un ndice. Este ndice es una variable entera que indica la posicin del elemento dentro del arreglo. - El lenguaje C no controla la validez de los ndices utilizados para referenciar un arreglo. Esto puede conducir a errores

Declaracin: tipo-base identificador[NumElementos] ; Ejemplo: int a[9];

- Es posible declarar un arreglo unidimensional e inicializarlo al mismo tiempo: tipo-base identificador[NumElementos] = { valor1, valor2, ... };

Ejemplo: int a[3]={2,5,8};

- Si se incluyen menor valores que elementos en el arreglo, los ltimos se inicializan en cero. (comprobar) - Si se hace inicializacin en la declaracin es posible omitir el tamao del arreglo y dejar que el compilador deduzca el tamao a partir de los valores asignados.

Tener en cuenta - No se puede acceder ms all del rango del arreglo: /* Ejemplo de error por acceso fuera de rango a un arreglo. */ /* Las posiciones con ndices del 20 al 29 son invlidas. */ int i, arreglo[20]; for (i=0; i<30; i++) arreglo[i] = 0; Este ejemplo compila pero probablemente da error al ejecutar. - Los arreglos estn enumerados desde 0 a n-1 si el tamao del arreglo es n. Esto es, hay n posiciones, enumeradas de 0 a n-1 - El nombre del arreglo puede emplearse slo en algunas circunstancias para manejar el conjunto de datos como una unidad: por ejemplo cuando se pasa un arreglo a una funcin.

Ejemplo varios: // Declaracin de un arreglo de 50 enteros: int A[50]; // Declaracin e inicializacin de un arreglo de 10 enteros: int A[10] = { 2, 5, 8, 100, 1, 2, 100, 5, 5, 5 }

// Inicializacin parcial: El resto se inicializa en cero: int A[100] = { 25, 5, 100, 25, 5 }

// asignaciones a ciertos valores de un arreglo arreglo[1] <-- 3. arreglo[4] <-- 6. arreglo[7] <-- arreglo[4]+arreglo[0] arreglo[5] <-- arreglo[7]+5

//lectura del arreglo: i<- 1 mientras (i<8) entrada: arreglo[i] i++ // i <- i +1 fin_mientras

// asignar valores a un arreglo i<- 1 mientras (i<8) arreglo[i] <-- i+5 i++ fin_mientras

// desplegar un arreglo i<- 1 mientras (i<8) salida: arreglo[i] i++ fin_mientras

// Una funcin que recibe un arreglo de enteros como argumento // y calcula el promedio: int promedio(int A[], int num_elementos) { int prom = 0; int i; for (i=0; i<num_elementos; i++) prom = prom + A[i]; return(prom/num_elementos); }

// Llamando una funcin que recibe un arreglo de enteros // como parmetro: int prom, A[100]; ... prom = promedio(A);

Problema: Cierto profesor tiene las notas finales del curso. El est evaluando que tal le fue a los alumnos y para ello necesita determinar el promedio del curso, y cuantos alumnos estuvieron sobre la media y cuantos bajo la media.

Clase 11 de Agosto. Funciones y Arreglos. - paso de parmetros por referencia.

Arreglos y funciones (mtodos): Cuando se pasa un arreglo a un mtodo, se est pasando su referencia. En el mtodo se apunta (referencia) al mismo arreglo que fue pasado por referencia. Por tanto, si se modifica el arreglo apuntado por la variable de la funcin, en realidad se est modificando el arreglo del main, ya que son el mismo arreglo y por eso la modificacin no se pierde. No conviene definir el tamao del argumento arreglo en el mtodo. Al no definirlo la variable de la funcin considera que el tamao es el mismo que el del arreglo que es est pasando. (Esto puede no ser vlido para matrices. Depende del compilador y sistema operativo que est usando) En general en una funcin no creamos arreglos. Si se necesita trabajar con ellos en otras funciones o el main, lo que se usa es declararlos en el main y pasarlo por referencia a todas las funciones que lo necesiten. Si se requiere hacer cambios en un arreglo, pero que no queden reflejados para siempre, se puede crear una copia del arreglo en la funcin y trabajar con la copia.

Operaciones con arreglos: - llenar un arreglo: [notas] - leer cada valor - generarlo con valores aleatorios - recorrer un arreglo: - buscar un elemento: [notas] - mayor/menor - especial / contar las ocurrencias - eliminar elemento: [naipe] - del inicio, del medio, del final - lo marcamos, lo quitamos de la lista - insertar elemento: al inicio, al medio, final

Problema: Para el problema de la clase pasada, use una funcin que genere las notas del curso. Considere 100 notas.

Вам также может понравиться