PROGRAMACIÓN CON ARREGLOS
Los arreglos son tipo de datos compuestos,
estos son estructuras de almacenamiento en memoria que están conformadas por un
conjunto de variables del mismo tipo organizados de manera tal que podemos
acceder a cada una de ellas para su actualización o uso dentro de un programa,
estas estructuras son cercanas a aquellas que en el algebra lineal se denominan
vectores ( en el caso que se puedan representar como una fila o columna de
variables) o arreglos unidimensionales y
matrices o arreglos bidimensionales ( organización de filas y columnas); sin
embargo en programación podemos tener arreglos con mas de dos dimensiones. Los
arreglos se identifican con un nombre y cada uno de sus elementos que contiene
por la posición que tienen dentro del arreglo, el acceso a los mismos es
aleatorio, es decir que podemos utilizarlos en el orden que deseado. Ejemplo:
Un modelo del un vector de 5 elementos
A=
A(1)
|
A(2)
|
A(3)
|
A(4)
|
A(5)
|
Un modelo de un arreglo de dos dimensiones (4 por 4) es decir 4 filas por cuatro columnas sería:
B=
B(1,1)
|
B(1,2)
|
B(1,3)
|
B(1,4)
|
B(2,1)
|
B(2,2)
|
B(2,3)
|
B(2,4)
|
B(3,1)
|
B(3,2)
|
B(3,3)
|
B(3,4)
|
B(4,1)
|
B(4,3)
|
B(4,3)
|
B(4,4)
|
Cada elemento del arreglo se comporta como una
variable y por lo tanto las matrices deben declararse con un tipo básico de
datos.
Existe infinidad de aplicaciones en las cuales
pueden ser útiles este tipo de estructuras, por lo cual es importante el
conocimiento de su uso por parte del programador.
Declaración
de Matrices en Basic
Las instrucciones para declarar Matrices son
DIM y REDIM, tenga en cuenta que los parámetros de la siguiente estructura que
se encuentran entre corchetes son opcionales, los demás son obligatorios para
la sintaxis Basic:
DIM [SHARED] Nombre[(Dimensión)] [AS Tipo] y la instrucción
REDIM [SHARED] Nombre[(Dimensión)] [AS Tipo] donde:
SHARED:
Es un parámetro opcional que especifica que la matriz será compartida con todos
los procedimientos sub o function que pertenecen al módulo o programa.
Nombre: Es el nombre de la
matriz, es un parámetro obligatorio
Dimensión:
donde se especifica las dimensiones de la matriz, se efectúa siguiendo la
siguiente estructura.
[límite inferior TO] límite superior
[,[límite inferior TO] límite superior]...
Tipo: es
el tipo de los elementos, debe ser INTEGER, DOUBLE, LONG o STRING o de un tipo predefinido por el usuario.
Las matrices en Basic pueden ser de dos clases
MATRICES ESTÁTICAS.
Son arreglos con un tamaño o dimensión fija, el
cual se mantiene durante todo el programa, una vez se declara la matriz su
tamaño no cambia, al tratar de cambiar su tamaño el compilador emite un mensaje
de error, estas se declaran con la instrucción DIM donde se indican las
dimensiones mediante números, o cuando se utiliza la directiva de programación
$STATIC en el programa donde se declaran.
MATRICES DINÁMICAS.
Son arreglos a los que se les puede variar su
tamaño o dimensión en el transcurso del proceso, para poder utilizarlas se
utiliza la directiva de programación $DYNAMIC en el programa, se declaran con
DIM, y cuando se desea cambiar su tamaño se utiliza la instrucción REDIM.
También se pueden declarar matrices dinámicas cuando la dimensión se define
mediante variables.
EJEMPLOS:
DIM A(12)
Declara un arreglo unidimensional A de 13
elementos reales de precisión sencilla, cuyos subíndices van del 0 al 12.
DIM B(1 to 12) AS INTEGER
Declara un vector con elementos enteros de dimensión 12, cuyas
posiciones o subíndices van del 1 al 12.
El siguiente segmento de código declara una
matríz dinámica C con elementos reales de precisiónsencilla, que cambia de dimensiónes, inicia siendo un arreglo de 5 por
5 y finaliza siendo de 10 por 10.
$DYNAMIC
DIM C(1 to 5, 1 to 5)
REDIM
C(1 to 10, 1 to 10)
PROGRAMA
DE EJEMPLO:
El siguiente programa verifica si
un elemento X pertenece a un conjunto de números enteros cuya dimensión o
cardinalidad es N, para lo cual almacena los elementos del conjunto en un
arreglo unidimiensional o vector.
REM
PROGRAMA QUE VERIFICA SI UN ELEMENTO X PERTENECE A UN CONJUNTO DE ENTEROS
DIM n AS INTEGER
DIM a(1 TO n) AS INTEGER
DIM i, x, sw AS INTEGER
CLS
INPUT
"CANTIDAD DE ELEMENTOS DEL CONJUNTO"; n
REM EL
SIGUIENTE BLOQUE PERMITE SOLICITAR LOS ELEMENTOS
FOR i = 1 TO n
PRINT "digite el elemento
A("; i; ")=";
INPUT a(i)
NEXT i
INPUT "digite elemento a
buscar"; x
sw = 0
i = 1
WHILE (sw = 0 AND i <= n)
IF (a(i) = x) THEN
sw = 1
ELSE
i = i + 1
END IF
WEND
IF (sw
= 0) THEN
PRINT "el elemento "; x; "
no pertenece al conjunto A"
ELSE
PRINT "el elemento "; x; "
pertenece al conjunto A"
END IF
END
Ejercicios:
Elaborar programas que permitan:
- Comparar dos arreglos unidimensionales para determinar si son iguales o nó.
- Efecúe la adición de dos vectores y entregue como el resultado un tercer vector o arreglo.
- Dado un conjunto de números naturales, determine si los mismos corresponden a los factores primos de un número natural X.
- Generar un arreglo unidimensional que contenga la sucesión de Fibbonaccí hasta el n-esimo término así: 1,1,2,3,5,8,13…..
- Dados dos arreglos con números ordenados de menor a mayor, elaborar un programa que permita obtener un tercer arreglo que contenga la fusión de estos y que se muestre ordenado de menor a mayor.
Comentarios
Publicar un comentario