Agosto 2012

06 al 10 de Agosto de 2012


OPERACIONES CON ARREGLOS UNIDIMENSIONALES

Para los arreglos unidimensionales existes las siguientes operaciones:




Lectura

El proceso de lectura de un arreglo consiste en leer y asignar un valor a cada uno de sus componentes. Ejemplo:

Supongamos que se desean leer todos los elementos del arreglo unidimensional V en forma consecutiva.

Forma 1:
Leer V[1]
Leer V[2]…
Leer V[50]


Escritura

Similar a la lectura. Se debe escribir el valor de cada uno de los componentes.
Ejemplo: 
Suponiendo que se quieren escribir N componentes del arreglo V en forma consecutiva.
Repetir con I desde 1 hasta N
Escribir V[I]
Al variar el valor I, se escribe el elemento del arreglo unidimensional V.


Asignación

No es posible asignar directamente un valor a todo el arreglo, sino que se debe asignar el valor deseado a cada componente. Ejemplo:

Para el vector CICLO se asignaran dos valores:
CICLO[1] ß 200
CICLO[5] ß 300
Si se deseara asignar 0 a todas las casillas:
Repetir con I desde 1 hasta 12
Hacer CICLO[I] ß 0


Actualización

La actualización es una operación que se realiza en forma frecuente en los arreglos. La cantidad de actualizaciones está relacionada con el tipo de problema que se intente resolver.
Con el propósito de realizar una actualización de manera eficiente, es importante
conocer si el arreglo está o no ordenado; es decir, si sus componentes respetan algún orden, ya sea creciente o decreciente. Cabe destacar que las operaciones de inserción, eliminación y modificación serán tratadas en forma separada para arreglos ordenados y desordenados.    
Finalmente, es importante señalar que la operación de búsqueda se utiliza como
auxiliar en las operaciones de inserción, eliminación y modificación. Esta es la principal razón por la cual a continuación se presenta el algoritmo de búsqueda secuencial en arreglos desordenados.




ARREGLOS BIDIMENSIONALES


Es una adición homogénea, finita y ordenada en la hace referencia a cada componente de arreglo por medio de dos índice, el primero se utiliza  para indicar  el renglón o fila, el segundo para señalar la columna.

Ejemplo gráfico de un arreglo bidimensional:









Dentro de los arreglos bidimensionales  para encontrar número total de componentes se utiliza la formula:

NTC =(límsupr - líminfr + 1) * (límsupc - líminfc + 1)


------------------------------------------------------------------------------------------------------------

13 al 17 de Agosto de 2012



OPERACIONES CON ARREGLOS BIDIMENSIONALES

Para los arreglos bidimensionales existes las siguientes operaciones:




Si podemos notar que las operaciones de los arreglos unidimensionales  y los arreglos bidimensionales   son exactamente  la misma estructura  y las mismas operaciones.


Declaración de arreglos bidimensionales

Los arreglos bidimensionales se declaran cuando se especifican el número de renglones y el número de columnas, junto con el tipo de dato de los componentes.

id_arreglo = ARREGLO [líminfr..límsupr,líminfc..límsupc] DE tipo con líminfr y límsupr se declara el tipo de dato del índice de Ios  arreglos y cuántos renglones tendrá el arreglo. Asimismo, con líminfc  y  se declara el tipo de  dato del índice de las columnas y cuántas columnas tendrá el arreglo. Con tipo se
declara el tipo de datos de todos los componentes del arreglo.



Registro

Un registro es una colección finita  heterogénea de elementos, también representa un tipo de dato estructurado en cada uno de sus componentes y se le denomina campo.

Un arreglo permite el acceso a una lista o a una tabla de datos del mismo tipo utilizando
un único nombre.
A veces es necesario almacenar información de distinto tipo en una única estructura: un
nombre de cadena, un número de código entero y un precio de tipo real. 
Una estructura que permite almacenar diferentes tipos de datos bajo una misma variable
se denomina registro.

Cada campo se identifica con único nombre y tipo de dato.

Ejemplo:
Se declaran un número de registros

Ident_registro=Informacion
Id_campo1=nombre
Id_campo2=apellido
Id_campo3=edad
Fin de la declaración

  
Acceso a los campos de un registro

Como un registro es un tipo de dato estructurado, no se puede tener acceso a él directamente
como un único dato, sino que se debe especificar el elemento ----campo- del registro que nos interesa


Diferencias entre arreglos y registros

Un arreglo puede almacenar n elementos del mismo tipo, mientras que un registro puede almacenar n elementos de un tipo de dato únicamente.

-       El acceso a un arreglo se da por medio de índices y los registro por medio del campo.



------------------------------------------------------------------------------------------------------------

20 al 24 de Agosto de 2012



COMBINACIONES ENTRE ARREGLOS Y REGISTROS



ARREGLOS DE REGISTROS: cada elemento del arreglo es un registro, todos los componentes del  arreglo tienen que ser del mismo tipo de registro. Ejemplo:

Una empresa registra para cada uno de sus clientes los siguientes datos:
Nombre      (cadena de caracteres)
Teléfono     (cadena de caracteres)
Saldo          (real)
Moroso       (booleano)

Si la empresa tiene N clientes necesitara un arreglo de N elementos, en la cual cada uno de sus componentes es un registro.

A=ARREGLO [1…10] DE CLIENTE

Cada elemento de A será un dato tipo CLIENTE. Por tanto, si se quiere, por ejemplo, leer el arreglo A, debe leerse por cada componente cada uno de los campos que forman al registro.
Repetir con I desde 1 hasta N

Leer A[I].nombre
Leer A[I].teléfono
Leer A[I].saldo
Leer A[I].moroso

Con A[I] se hace referencia al elemento I del arreglo A; que es un registro; con .id_campo se especifica cual de los campos del registro se leera. De forma similar se procede para escritura, asignación,etc.


                 
 Esta es la estructura  de datos correcta para resolver el problema.

                                                                                                                                                                                                                 
REGISTROS ANIDADOS: Al menos un campo del registro es del tipo registro.

REGISTROS CON ARREGLOS: Tienen por lo menos, un campo que es de tipo arreglo.

Registro.campo se utiliza  para acceder a los miembros de una clase.

Definición

Alumno= Registro
Nombre= cadena
Apellido= cadena
canMat= entero
cum= real
edad= entero

DECLARACIÓN DE ARREGLOS

Arreglo[63] de Alumno
Arreglo de registro
Hacer desde i=0 hasta 62,1
Leer Arreglo[i].Nombre
        Arreglo[i].Apellido
        Arreglo[i].CanMat
        Arreglo[i].Cum
        Arreglo[i].edad
Registro anidados

Nota=Registro
Eva1=real
Eva2=real
Eva3=real

Por arreglos paralelos se entiende dos o mas arreglos cuyos elementos se corresponden. Es decir, los componentes que ocupan una misma posición en diferentes arreglos tienen una estrecha relación semántica.

Los siguientes vídeos explican la definición de arreglos y la forma de utilizarlos:










------------------------------------------------------------------------------------------------------------

27 al 31 de Agosto de 2012



UNIDAD # 2 "ARREGLOS MULTIDIMENSIONALES REPRESENTADOS EN ARREGLOS UNIDIMENSIONALES"


ARREGLOS (Lineales)

MATRICES(No lineales)

  M[5,7]                                         
1
5
4
4
2
10
6
5
5
3
3
5
4
8
11
15
7
6
1
15
9
10
12
8
5
2
20
10
9
10
9
4
3
17
15

   [1,4]                             [3,1]

Existen dos formas de la carga a memoria las cuales pueden ser por filas y columnas

Posini= posición inicial

La siguiente formula se utiliza para encontrar la ubicación de un elemento en un arreglo ordenado por filas:

Loc ( A [ i , j ] = posini + n * ( i - 1 ) + ( j - 1 )

Posini representa la posicion inicial del arreglo unidimensional a partir de la cual se encuentra almacenado el arreglo bidimensional.

¿Que representa las simbologias utilizadas en la formula ? 

 i= representa las filas
n= representa el numero de columnas
j= columna

Desarrollando la formula suponiendo que posini es igual a 4 nos quedaría de la siguiente manera:

Loc (Matriz[1,4]= 4+7*(1-1)+(4-1)
                               4+7*0+3
                                7
Loc (Matriz[3,1]=99+7*(3-1)+(1-1)
                              99+7*2+0
                              99+14
                                   113

La siguiente formula se utiliza para encontrar la ubicación de un elemento en un arreglo ordenado por columnas:


Loc ( A [ i , j ] = posini + m * ( j - 1 ) + ( i - 1 )



Donde:

 i= representa las filas
m= representa el numero de filas
 j= columna



No hay comentarios:

Publicar un comentario