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:

  1. Comparar dos arreglos unidimensionales para determinar si son iguales o nó.
  2. Efecúe la adición de dos vectores y entregue como el resultado un tercer vector o arreglo.
  3. Dado un conjunto de números naturales, determine si los mismos corresponden a los factores primos de un número natural X.
  4. 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…..
  5. 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.
Consulte material adicional sobre matrices haciendo click aquí

Comentarios

Entradas populares de este blog

Portafolio de evidencias digital

LENGUAJE DE PROGAMACIÓN JAVA- SUBPROGRAMAS Y PARÁMETROS.

ALGORITMOS – BLOQUES CONDICIONALES