1. AGUINAGA QUISPE WILLIAM
BARTUREN DÌAZ MARITA YUSELI
MARIA M. FRIAS FRIAS
INGENIERÍA DE SISTEMAS Y TELEMÁTICA VII A
PROFESOR: ING. MARCO AURELIO PORRO CHULLI
2. ARRAYS
Un Array es una lista de variables del mismo tipo. A
diferencia de los lenguajes de alto nivel donde
existen mecanismos para declarar y usar arreglos,
en ensamblador el programador tiene que crear el
código para declarar y usar los Arrays.
3. Operaciones
Asignación: En general no es posible asignar
directamente un valor a todo el arreglo; se debe asignar el
valor deseado a cada componente usando la instrucción
de asignación, recordando que la asignación coloca el
nuevo contenido en la variable destruyendo el valor
anterior.
Lectura: Este proceso consiste en leer un dato de un
arreglo y asignar un valor a cada uno de sus componentes
4. Operaciones
Escritura: Consiste en asignarle un valor a cada elemento del arreglo.
Recorrido: Recorrer un vector significa acceder a todos y a cada uno de sus
elementos desde el principio hasta el final o viceversa.
Se puede acceder a los elementos de un vector para introducir datos (leer) en él o
bien para ver su contenido (escribir). A la operación de acceder a todos los
elementos para efectuar una acción determinada se denomina recorrido del vector.
Esta operación se realiza usando estructuras repetitivas.
Actualización: Muchas veces resulta interesante que dado un arreglo, puedan
añadirse nuevos elementos o eliminar o insertar componentes. Estas resultan las
tres operaciones elementales que se pueden realizar en un arreglo:
Añadir elementos.
Eliminar elementos.
Insertar elementos.
5. Operaciones
Búsqueda: Una búsqueda es el proceso mediante el cual podemos
localizar un elemento con un valor específico dentro de un conjunto
de datos. Terminamos con éxito la búsqueda cuando el elemento es
encontrado.
Ordenación: La importancia de mantener nuestros arreglos
ordenados radica en que es mucho más rápido tener acceso a un
dato en un arreglo ordenado que en uno desordenado.
6. Características
Almacenar los elementos del array en posiciones de memoria contínua
Tener un único nombre de variable que representa a todos los elementos, y éstos a
su vez se diferencian por un índice o subíndice.
Acceso directo o aleatorio a los elementos individuales del array.
todos los arrays son de tamaño variable, tanto si se especifica con un tamaño al ser
declarados
Para ver el contenido de los arrays según van siendo ejecutadas las líneas
de código que los declaran, utilizaremos la ventana Locales del depurador,
que muestra las variables de ámbito local al procedimiento que estamos ejecutando
actualmente
Los arrays se crean con el operador new seguido del tipo y número de elementos.
7. Tipos
Unidimensionales
Un array de una dimensión (unidimensional), también llamado
vector o fila, es un tipo de datos estructurado compuesto de un
número determinado de elementos, de tamaño fijo y elementos
homogéneos (del mismo tipo). La característica de tamaño fijo se
refiere a que el tamaño del array debe ser conocido en tiempo de
compilación.
Type
Nombre_array = array [rango del subíndice] of tipo;
Nombre_array: Se refiere a un nombre de identificador
válido.
Tipo_subíndice: Puede ser boolean, char o un rango de
tipo enumerado.
8. Operaciones
Bidimensionales
Un array bidimensional (también llamado tabla
o matriz) es un array con dos índices. Al igual que
los vectores deben ser ordinales. Se declaran de igual
manera que los arrays de una dimensión.
9. Multidimensionales
Un arreglo multidimensional es simplemente una
extensión de un arreglo unidimensional. Más que
almacenar una sola lista de elementos, piense en
un arreglo Multidimensional como el almacenamiento de
múltiples listas de elementos.
10. Ejemplo
INICIO
MODEL small
.STACK 100h; Define la pila
.data; Define segmento de datos
Serie dw 1, 2, 3, 4, 5, 6,7;
Long EQU ($-Serie)/2
RESUL dw 0
cont dw 0
.code
inicio:mov ax, @data ;ax @data
mov ds, ax
mov cx, Long ;cx es el contador
xor bx, bx ;i 0
xor ax, ax ;RESUL 0
Bucle: add ax, Serie [bx]; Suma=
sumaanterior+Serie[i]
add bx,2 ;I i+1
inc cont; incrementamos contador
cmp cx,cont ; Miramos que no haya llegado a fin
de vector
jnz bucle; Si no son CX y cont iguales volvemos
a bucle
mov RESUL, ax ; Una vez haya recorrido el
vector el resultado lo dejamos en resul
mov ah, 4Ch ;Forma de devolver el control
int 21h ;al sistema operativo
END inicio;