domingo, 4 de mayo de 2008

Resume periodo 3

Arreglos

Los arrreglos ocupan espacios en memoria, el programador especifica el tipo de cada arreglo y el numero de elementos que necesita el arreglo, de manera que la computadora puede reservar la cantidad adecuada de memoria.

En un arreglo de n-elementos, los elementos del arreglo son: x[0], x[1], x[2], x[3],.., x[n-1] y se ilustra en la siguiente figura:




Por ejemplo, si queremos representar una lista de 5 temperaturas, conformada por valores de punto flotante, la definiriamos de la siguiente forma:


float temp[5];


Una buena practica de programacion consiste en definir como una constante el numero de elementos del arreglo antes de declararlo. por ejemplo:


const int NUMELS=5;
float temp[NUMELS];


Inicializacion de arreglos

Los elementos del arreglo se pueden inicializar dentro de las intrucciones declararda de la misma manera que las variables escalares, con la diferencia que los valores inicializados deben estar incluidos entre llaves, por ejemplo.


int temp[5]={98,65,47,87,63};


Arreglo bidimensionales

Un arreglo bidimensional, al que tambien se le llama tabla o matrices, consta de renglones y columnas de elementos. por ejemplo, el arreglo de numeros:



Como sucede con los arreglos unidimesionales, los arreglos bidimensionales se pueden inicializar desde dentro de sus instrucciones declratorias. Esto se hace al escribir los valores iniciales entre llaves y separados por comas. ademas, las llaves se pueden emplear para separar los renglones individuales. por ejemplo, la declaracion:



para poder ingresar entre los caracteres espacios, la cadena se contara en el carecter anteterior inmediato al espacio, para resolver esta limitante se utiliza la instruccion gets(), cin la libreria





Inicializacion de una cadena

char nombre[]="Universidad Don Bosco";

son variables que se emplean para almacenar domicilios en memoria (o domicilio de otras variables). dicho de otra manera un puntero es un tipo especial de variable, que almacena el valor de una direccion de memoria, esta direccion puede ser la de una variable individual, pero mas frecuentemente sera la de un elemento de un arreglo (array), una estructura (struct) u objeto de una clase.


Diferencia entre una referencia y un apuntador.


Referencia

- El domicilio denominado como referencia no puede alterarce.

- las referencias se desreferencian automaticamente.

- Uso del operador de domicilio, &.


Apuntadores

- El domicilio en el apuntador puede cambiar .

- Los apuntadores se deben desreferenciar explicitamente para localizar el valor al que accedan.

- Uso del operador de indireccion, *.



Empleo de domicilio

para emplear un domicilio almacenar, C++ dispone de un operador de indireccion,*.Por ejemplo, *d se puede leer como: "la variable qque apunta a d"




Declaracion de apuntadores o puntero


Los apuntadores deben declararse antes de emplearse para almacenar un domicilio, considerando:

- Tipo de variable a la cual apunta.

- Operador de indireccion *.

- Nombre de la variable (no usar constantes.).


Ejemplo:

int *direnum;-> se lee: la variable que apunta a dirnum es un numero entero.
float *apunta:tam; -> se lee: la variable a la que apunta_tab es float.



Estructuras o registros


Cuando se trabaja con arreglos a diferencia de una variable escalar, estos permiten almacenar n-cantidad de datos del mismo tipo, pero si e desea alamcenar diferentes tipos de datos bajo un solo nombre, la forma de hacerlo en C++ es Utilizando registros conocidos en este contexto como estructura.

Concepto de estructura

Una estructura en una coleccion de uno o mas tipos de elementos, cada uno los cuales puede ser un tipo de dato diferente. La estructura o registro es representada con un solo nombre de variable.

Declaracion de una estructua

Para declarar una estrucrura se requiere la siguiente sintaxis:



El termino nombre_tipo_estructura define un nuevo tipo de datos que es una estructura de datos de la forma declarada.

La declaracion de los tipos de dato de una estructura puede ser global o local

Ejemplo:

struct coleccion_cd
{
char titulo[30];
char artista[25];
int num_canciones;
float precio;
char fecha_compra[8];
}cd1;

No hay comentarios: