ARRAYS (LISTAS Y TABLAS)       (               )Sugerencias y herramientas para crear para crear y presentar diapositivas ...
Contenido Arrays Inicialización de un array Arrays de caracteres y cadenas de texto Arrays multidimensionales Utilización ...
Arrays Una array (lista o tabla) es una secuencia de datos del mismo tipo. Los datos se llaman elementos del array y se nu...
Declaración de un array Un array se declara de modo similar a otros tipos          y                                    p ...
Cont…Cont Se puede acceder a cada elemento del array utilizando un índice en el nombre del array   Printf(“%d n”,numeros [...
Precaución C no comprueba que los índices del array están dentro del rango definido. Así, por ejemplo, se puede intentar a...
Almacenamiento en memoria de los arrays Los elementos de los arrays se almacenan en bloques contiguos Así          contigu...
Inicialización de un array Se deben asignar valores a los elementos del array                g                            ...
Ejemplo 8 2        8.2 /*Programa que lee 8 numeros y a continuacion visualiza el total de los numeros*/                  ...
Arrays de caracteres y cadenas de texto Una cadena de texto es un       conjunto    de caracteres, tales como <ABCDEFG>. <...
Cont…Cont El medio mas fácil de inicializar un array es hacer la inicialización de la declaración;   Char Cadena[7] = “ABC...
Ejemplo 8 4        8.4 /*visualiza un array formado   p                                printf("nIntroduzca una lista de %d...
Arrays multidimensionales Los arrays multidimensionales son aquellos que tienen mas de una dimensión y, en consecuencia, m...
Inicialización de arrays multidimensionales Int tabla [2][3]={{51,52,53},{54,55,56}};                  {{         }{      ...
Acceso a los elementos de los arrays bidimensionales  Se puede acceder a los elementos de arrays bidimensionales de  igual...
Acceso a elementos mediante bucles Se puede acceder a los elementos de arrays      p                                    y ...
Ejemplo 8 9        8.9 /*llenala tabla con datos de entrada y muestar los resultados*/                                    ...
Arrays de mas de dos dimensiones C proporciona la posibilidad de almacenar varias dimensiones, un array tridimensional se ...
Utilización de arrays como parámetros En C todos los arrays se pasan por referencia (dirección). Esto significa que cuando...
Ejemplo 8 6        8.6 /*calcula la suma de una lista de 10 numeros y el valor maximo*/                                   ...
Paso de cadenas como parámetros La técnica de pasar arrays como parámetros se utiliza para pasar cadenas d caracteres a f ...
Ordenación de listas La ordenación de arrays es otra de las tareas usuales en la mayoría de los programas. La ordenación o...
Algoritmo de la burbuja La ordenación por burbuja es uno de los métodos                p          j mas fáciles de ordenac...
Ejemplo 8 8        8.8 #include <stdio.h> #include <stdlib.h>                                                   printf ("%...
Búsqueda en listas Los arrays son uno de los medios principales por los cuales se almacenan los datos en programas C. debi...
Búsqueda secuencial Este algoritmo busca el elemento dado, recorriendo secuencialmente el array desde un elemento al sigui...
Búsqueda sec enum {FALSE, TRUE};                                         { int BusquedaSec(int Lista[MAX], int     Encontr...
Ejercicios Escribir una función que invierta el contenido de n números enteros. El primero se vuelve el último; el segundo...
Patrón de prueba de pantalla panorámica (16:9)                               Prueba de la                                r...
Próxima SlideShare
Cargando en…5
×

Clase 9- programacion

1.295 visualizaciones

Publicado el

0 comentarios
0 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Sin descargas
Visualizaciones
Visualizaciones totales
1.295
En SlideShare
0
De insertados
0
Número de insertados
2
Acciones
Compartido
0
Descargas
30
Comentarios
0
Recomendaciones
0
Insertados 0
No insertados

No hay notas en la diapositiva.

Clase 9- programacion

  1. 1. ARRAYS (LISTAS Y TABLAS) ( )Sugerencias y herramientas para crear para crear y presentar diapositivas enformato panorámico
  2. 2. Contenido Arrays Inicialización de un array Arrays de caracteres y cadenas de texto Arrays multidimensionales Utilización de arrays como parámetros Ordenación de listas Búsqueda en listas Resumen Ejercicios E
  3. 3. Arrays Una array (lista o tabla) es una secuencia de datos del mismo tipo. Los datos se llaman elementos del array y se numeran consecutivamente 0,1,2,3, etc. Normalmente el array se utiliza para almacenar tipos tales como char, int o y p p , float Los elementos de un array se numeran, y estos números se denominan valores índice o subíndice del array
  4. 4. Declaración de un array Un array se declara de modo similar a otros tipos y p de datos, excepto que se debe indicar al compilador el tamaño o longitud del array. La sintaxis para declarar un array de una dimensión determinada es; Tipo nombreArray [numeroDeElementos]; Int numeros[10];
  5. 5. Cont…Cont Se puede acceder a cada elemento del array utilizando un índice en el nombre del array Printf(“%d n”,numeros [4]); visualiza el valor d l elemento 5 d l array. L arrays i li l l del l del Los siempre comienzan en el elemento 0 #define N 20 Float vector [N]; Scanf(“%f”,&vector[2]);
  6. 6. Precaución C no comprueba que los índices del array están dentro del rango definido. Así, por ejemplo, se puede intentar acceder a números [12] y el compilador no producirá ningún error, lo que puede producir un fallo en su programa
  7. 7. Almacenamiento en memoria de los arrays Los elementos de los arrays se almacenan en bloques contiguos Así contiguos. por ejemplo los arrays Int edades [5] [5]; Char codigos [5]
  8. 8. Inicialización de un array Se deben asignar valores a los elementos del array g y antes de utilizarlos, tal como se asigna valores a variables Cuando se inicializa un array, el tamaño del array se puede determinar automáticamente por las constantes de inicialización d i i i li ió Int numeros [6]={10,20,30,40,50,60} Int [] {3 4 5} I t n[] ={3,4,5}
  9. 9. Ejemplo 8 2 8.2 /*Programa que lee 8 numeros y a continuacion visualiza el total de los numeros*/ } #include <stdio.h> printf("nLista de numeros: "); #include <stdlib.h> for (i=0; i<NUM; i++) # define NUM 8 { int main () printf ("%d",nums[i]); { total += nums[i]; int nums [NUM]; int i; } int total =0; printf( nLa printf("nLa suma de los numeros es %dn",total); for (i=0; i<NUM; i++) { system("PAUSE"); printf("Por favor, introduzca el numero; "); return 0; scanf("%d",&nums[i]); }
  10. 10. Arrays de caracteres y cadenas de texto Una cadena de texto es un conjunto de caracteres, tales como <ABCDEFG>. <ABCDEFG> C soporta cadenas de texto utilizando un array de caracteres que contenga una secuencia de caracteres
  11. 11. Cont…Cont El medio mas fácil de inicializar un array es hacer la inicialización de la declaración; Char Cadena[7] = “ABCDEF”; La asignación de valores a cadena se puede hacer del modo siguiente; Cadena [0]=‘A’; Cadena [1]=‘B’; … Cadena[6]= 0 ; Cadena[6]=‘0’;
  12. 12. Ejemplo 8 4 8.4 /*visualiza un array formado p printf("nIntroduzca una lista de %d ( con enteros positivos*/ i i */ elementos positivos.n",MAX); #include <stdio.h> for (i = 0; i < MAX; muestra[i]>0?++i:i) scanf ("%f",&muestra[i]); #include <stdlib.h> stdlib.h printf ("nDatos leidos del teclado: " ) ; #define MAX 10 for ( i = 0; i < MAX; ++i) float muestra[MAX]; printf ("%ft",muestra[i]) ; int main() system("PAUSE"); return 0; { } int i;
  13. 13. Arrays multidimensionales Los arrays multidimensionales son aquellos que tienen mas de una dimensión y, en consecuencia, mas de un índice Los L arrays mas usuales son l d d di l los de dos dimensiones, i conocidos también por el nombre de tablas o matrices La sintaxis para la declaración de un array de dos dimensiones es <tipo de datoElemento><nombre array>[<numero de filas>][<numero d columnas>] fil ][ de l ]
  14. 14. Inicialización de arrays multidimensionales Int tabla [2][3]={{51,52,53},{54,55,56}}; {{ }{ }} Int tabla2 [3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};
  15. 15. Acceso a los elementos de los arrays bidimensionales Se puede acceder a los elementos de arrays bidimensionales de igual f i l forma que a l elementos d un array unidimensional los l de idi i l El formato general para la asignación directa de valores a los elementos es; Inserción de elementos <nombre array>[indice fila][indice columna]=valor elemento; Tabla [2][3]=4.5; [2][3] 4.5; Extracción de elementos <variable>=<nombre array>[indice fila][indice columna]; Ventas=Tabla[1][1]; V T bl [1][1]
  16. 16. Acceso a elementos mediante bucles Se puede acceder a los elementos de arrays p y bidimensionales mediante bucles anidados. Su sintaxis es; Int IndiceFila, IndiceCol; For (IndiceFila=0; IndiceFila<NumFilas; ++IndiceFila) ( ) For (indiceCol=0; IndiceCol<NumCol; ++IndiceCol) Procesar elemento [IndiceFila][indiceCol]; [ ][ ];
  17. 17. Ejemplo 8 9 8.9 /*llenala tabla con datos de entrada y muestar los resultados*/ } #include <stdio.h> /* Visualizar la tabla */ #include <stdlib.h> for (fila = 0; fila < 2; fila++) int main () { { for (col = 0; col < 4; col++) float discos [2] [4] ; { int fila, col; for (fila = 0; fila < 2; fila++) printf ("n Pts %.lf n",discos [fila] [col] ) ; { } for (col = 0; col < 4; col++) } { system("PAUSE"); scanf ("%f",&discos[fila][col]) ; return 0; ; } }
  18. 18. Arrays de mas de dos dimensiones C proporciona la posibilidad de almacenar varias dimensiones, un array tridimensional se puede considerar como un conjunto d idi i l d id j de arrays bidimensionales combinados juntos para formar, en profundidad una tercera dimensión El código siguiente permite procesar el array int pagina, linea, columna; for (pagina = 0; pagina < PAGINAS; ++pagina) (p g ;p g ; p g ) for (linea = 0; linea < LINEAS; ++linea) for (columna = 0; columna < COLUMNAS; ++columna) <procesar Libro [pagina] [ lineal [columna] >
  19. 19. Utilización de arrays como parámetros En C todos los arrays se pasan por referencia (dirección). Esto significa que cuando se llama a una función y se utiliza un array como parámetro, se debe tener cuidado de no modificar los arrays en una función llamada El código que se utiliza para pasar un array a una g q p p y función incluye el tipo de elemento del array y su nombre. El siguiente ejemplo incluye dos funciones que procesan arrays
  20. 20. Ejemplo 8 6 8.6 /*calcula la suma de una lista de 10 numeros y el valor maximo*/ } #include <stdio.h> int SumaDeEnteros(const int ArrayEnteros[], int NoElementos) #include <stdlib.h> { int SumaDeEnteros(const int ArrayEnteros[], int NoElementos); int i, Total = 0; int maximo(const int ArrayEnteros[], int NoElementos); for (i = 0; i < NoElementos; i++) int main () Total += ArrayEnteros[i]; { return Total; int Items [10] ; } int maximo(const int ArrayEnteros[], int NoElementos) int Total, i; { puts("introduzca 10 numeros, seguidos por return"); int mx; for (i = 0; i < 10; i++) int i; scanf ("%d",&Items[i]); mx = ArrayEnteros [ 0 ] ; printf("Total = %d n",SumaDeEnteros(Items,10)); for (i = 1; i < NoElementos; i++) printf("Va1or maximo: %d n",maximo(Items,10)); mx = (ArrayEnteros [i] >mx ? ArrayEnteros [i] : mx) ; system ("PAUSE"); return mx; } return 0;
  21. 21. Paso de cadenas como parámetros La técnica de pasar arrays como parámetros se utiliza para pasar cadenas d caracteres a f i d de funciones. L cadenas son arrays d Las d de caracteres cuando una cadena se pasa a una función, la función conoce que se ha almacenado el final del array cuando ve un valor de 0 en un elemento del array Considere estas declaraciones de una constante y una función que acepta una parámetro cadena y un valor de su longitud #define MAXLON 128 Void FuncDemo (char s[], int long);
  22. 22. Ordenación de listas La ordenación de arrays es otra de las tareas usuales en la mayoría de los programas. La ordenación o clasificación es el procedimiento mediante el cual se disponen elementos del array en un orden especificado, tal como orden y p , alfabético u orden numérico
  23. 23. Algoritmo de la burbuja La ordenación por burbuja es uno de los métodos p j mas fáciles de ordenación. El método de ordenación es muy simple. Se compara cada elemento del array con el siguiente, si no están en orden correcto, se intercambian entre si sus valores. El valor mas pequeño flota hasta la parte superior del array como si fuera una burbuja en un vaso de refresco con gas f
  24. 24. Ejemplo 8 8 8.8 #include <stdio.h> #include <stdlib.h> printf ("%.2f,%c",a[i],((i+1)%10==0)); /* prototipos */ } void imprimir(float a[], int n); printf ("%.2f n",a[n-1]); void intercambio(float* x, float* y); } void ordenar (float a[], int n) ; void intercambio(float* x, float* y) int main() { { float aux; float a[10]={25.5,34.1,27.6,15.24,3.27, 5.14, 6.21,7.57,4.61, 5.4}; aux = *x; imprimir(a,10); *x = *y; ordenar (a,10 ) ; *y = aux; imprimir(a,10); } system("PAUSE"); /* ordenar burbuja */ return 0; void ordenar (float a[], int n) } { void imprimir(float a[], int n) int i, j; { for (i = n-1; i>0; i--) int i = 0; for (j =0; j < i; j++) for ( ; i < n-1; i++) if (a[j] > a[j+1]) { intercambio(&a[j] ,&a[j+1]) ; }
  25. 25. Búsqueda en listas Los arrays son uno de los medios principales por los cuales se almacenan los datos en programas C. debido a esta causa existen operaciones causa, fundamentales cuyo tratamiento es imprescindible conocer. conocer Estas operaciones esenciales son; la búsqueda de elementos y la ordenación y clasificación de las listas
  26. 26. Búsqueda secuencial Este algoritmo busca el elemento dado, recorriendo secuencialmente el array desde un elemento al siguiente, siguiente comenzando en la primera posición del array y se detiene cuando se encuentra el elemento buscado o bien se alcanza el final del array Esta tarea se realiza con bucles en nuestro caso con el b l while l bucle hil
  27. 27. Búsqueda sec enum {FALSE, TRUE}; { int BusquedaSec(int Lista[MAX], int Encontrado=((A[i]==Elemento)?TRU Elemento) E:i++); { } int Encontrado = FALSE; /*Si se encuentra el elemento se int i = 0; devuelve la posición en la lista. * / / * Búsqueda en la lista hasta que se if (Encontrado) ( ) encuentra el elemento o se alcanza el return (i) ; final de la lista. */ else while ((!Encontrado) && (i <= MAX 1)) < MAX-1)) return (-1) ; ( 1) 1
  28. 28. Ejercicios Escribir una función que invierta el contenido de n números enteros. El primero se vuelve el último; el segundo, penúltimo, etc. segundo el penúltimo etc Escribir un programa que lea las dimensiones de una matriz, l ti lea y visualice l matriz y a i li la ti continuación encuentre el mayor y menor elemento de la d l matriz y sus posiciones. i ii
  29. 29. Patrón de prueba de pantalla panorámica (16:9) Prueba de la relación de aspecto (Debe parecer circular) 4x316x9

×