Algoritmos y lenguajes de programacion

Solo disponible en BuenasTareas
  • Páginas : 5 (1153 palabras )
  • Descarga(s) : 0
  • Publicado : 28 de mayo de 2011
Leer documento completo
Vista previa del texto
ARREGLOS UNIDIMENSIONALES
Un arreglo unidimensional es un tipo de datos estructurado que está formado de una colección finita y ordenada de datos del mismo tipo. Es la estructura natural para modelar listas de elementos iguales. Se guardan en posiciones contiguas de memoria según el orden del índice. La forma general de declaración es: tipo nombre_variable, (tamaño).
Los arrays tienen quedeclararse implícitamente para que el compilador reserve espacio en memoria para ellos. El tipo declara el tipo de los elementos del array, el tamaño indica cuántos elementos mantendrá el array. Para declarar un array de 10 elementos denominado p y de tipo carácter, se escribe: p y de tipo carácter, se escribe: char p[10];En este caso hemos declarado un array que tiene diez elementos, desde p[0] hastap[9].
En C todos los arrays tienen el 0 como índice de su primer elemento.
C no comprueba los límites de los arrays. Se puede pasar cualquier extremo de un array y escribir en alguna otra variable de datos e incluso en el código del programa.
Para implementar arreglos unidimensionales se debe reservar espacio en memoria, y se debe proporcionar la dirección base del arreglo, la cota superior yla inferior.
REPRESENTACION EN MEMORIA
Los arreglos se representan en memoria de la forma siguiente:
x : array[1..5] of integer


Para establecer el rango del arreglo (número total de elementos) que componen el arreglo se utiliza la siguiente formula:
RANGO = Ls - (Li+1)
donde:
ls = Límite superior del arreglo
li = Límite inferior del arreglo
Paracalcular la dirección de memoria de un elemento dentro de un arreglo se usa la siguiente formula:
A[i] = base(A) + [(i-li) * w]
donde :
A = Identificador único del arreglo
i = Indice del elemento
li = Límite inferior
w = Número de bytes tipo componente
Si el arreglo en el cual estamos trabajando tiene un índice numerativo utilizaremos las siguientes fórmulas:RANGO = ord (ls) - (ord (li)+1)
A[i] = base (A) + [ord (i) - ord (li) * w]

Cadenas
El uso más común de los arrays unidimensionales es como cadenas de caracteres. En C una cadena se define como un array de caracteres que termina en un carácter nulo (¿\0¿).
Para declarar un array de caracteres es necesario un carácter más que la cadena más larga que pueda contener,para dejar sitio para el carácter nulo del final de la cadena.
Una constante de cadena es una lista de caracteres encerrada entre dobles comillas. No es necesario añadir explícitamente el carácter nulo al final de las constantes de cadena, el compilador lo hace automáticamente.

En el ejemplo
// Arreglo de caracteres como tal.
#include
#include
66
5.3. CADENAS
#include
int main()
{char aviso[30];
int i;
aviso[0] = 'C';
aviso[1] = 'o';
aviso[2] = 'm';
aviso[3] = 'o';
aviso[4] = ' ';
aviso[5] = 'e';
aviso[6] = 's';
aviso[7] = 't';
aviso[8] = 'a';
aviso[9] = '?';
for(i=0; i = new [ tamaño ] ;

Donde:
new es el operador para gestionar espacio de memoria, en tiempo de ejecución,
tamaño es un número entero que representa el número de elementos del arreglo.Ejemplos:
a = new int [10] ; // Se crea el arreglo a , con 10 elementos de tipo entero.
distancia = new float[ 5] ; // Se crea el arreglo distancia , con 5 elementos de punto flotante y precisión sencilla .Artículo [] art = new Artículo[3];
Artículo [ ] art = new Artículo[ 3]; // Se crean 3 referencias a objetos de la clase Artículo
art[0]= new Artículo(); // Se crea el primer objeto del arregloart
art[1]= new Artículo(); // Se crea el segundo objeto del arreglo art
art[2]= new Artículo(); // Se crea el tercer objeto del arreglo art
Las dos primeras operaciones de declaración y creación anteriores se pueden agrupar en una sola instrucción, como se muestra enseguida:
int [ ] a = new int [10] ;
float [ ] distancia = new float[5] ;
Inicialización.
Un arreglo es un objeto que,...
tracking img