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