Informática
Programación.

Tu Instituto Online
   


 
Nivel Básico Gambas: Uso de matrices
Duración aproximada: 3 sesiones
   
Objetivos Objetivos
  • Aprender a utilizar un tipo de variable muy usada y muy potente, los vectores bidimensionales o también llamado matrices.
   
Fuentes de información Fuentes de información
  • http://www.gambas-es.org
  • Libro “GAMBAS, programación visual con Software Libre”, de la editorial EDIT LIN EDITORIAL S.L., cuyos autores son Daniel Campos Fernández y José Luis Redrejo.
  • Libro “Fundamentos de programación”, de la editorial Univ. Politécnica de Valencia, cuyos autores son Mª Alpuente Fresnedo y otros.
   
Contenidos
Contenidos
 

1. Matrices

Hasta el momento hemos estado trabajando con vectores de una sola dimensión, pero como ya dijimos cunando los introdujimos, los vectores pueden tener más d euna dimensión y en ese caso hablamos de matrices.

Las matrices son una buena forma para representar grafos, y son muy utilizadas en el cálculo numérico. En la computación gráfica, las matrices son ampliamente usadas para lograr animaciones de objetos y formas.

Las matrices pueden contener cualquier tipo de datos, pero con la condición de que todos los elementos de la matriz sean del mismo tipo. Por otro lado, no hay más límite en la dimensión de la matriz que la memoria del ordenador y la capacidad del programador de operar con matrices de grandes dimensiones.

La sintaxis para trabajar con matrices es la misma que para los vectores, sólo que se añade la nueva dimensión entre los corchetes. Algunos ejemplos:

DIM aNotas [2 , 3] AS Single
DIM aTresDimensiones [4, 6, 8] AS Float

En el primer ejemplo estamos definiendo una matriz de dos dimensiones, dos filas y tres columnas y en el segundo ejemplo serían tres las dimensiones 4x6x8.

En esta unidad vamos a familiarizarnos con el uso de las matrices, empezaremos con un ejercicio de bucles para recordar el funcionamiento de los bucles anidados, que veremos que es fundamental para trabajar con las matrices. Después realizaremos algunas de las operaciones matemáticas más comunes con matrices.

 

 

 

 
Ojo

Hay que tener en cuenta que el índice comienza a contar en el 0, no en el 1. Es decir,

DIM aListado[2, 3] AS Integer

en la matriz aListado[2,3] existirán los valores correspondientes a aListado[0,0], aListado[0,1], aListado[0,2], aListado[1,0], aListado[1,1], aListado[1,2] . Si se intenta acceder a aListado[2,3] dará un error Out of Bounds, fuera del límite.

 

 

 

 

  
Ejercicios
Ejercicio
 

Vamos a crear un programa que nos muestre las tablas de multiplicar del 1 al 5. Con esto practicaremos el uso de bucles anidados.

  • Abrimos Gambas.
  • Hacemos clic en la opción Nuevo proyecto.
  • Marcamos la opción Aplicación de consola y hacemos clic en el botón Siguiente.

Aplicación de consola

  • Seleccionamos el directorio donde se guardarán todos los ficheros necesarios para el proyecto. El sitio ideal sería dentro de nuestra carpeta Documentos. Creamos un directorio llamado BASIC y dentro de él otro directorio llamado 4AVANZADO en el que se creará un directorio para cada uno de los proyectos que vamos a hacer. Así crearemos el directorio 4AVANZADO y tendremos Documentos/BASIC/4AVANZADO. Tras esto hacemos clic en el botón Siguiente.

Creación del directorio para nuestro proyecto

  • Le damos el nombre "08Matrices" y el título "Proyecto de uso de matrices". Después hacemos clic en OK.
  • Confirmación de datosEn última instancia, se muestra la pantalla que confirma la creación del proyecto. Una vez confirmados estos datos, ya no podremos efectuar cambios en nuestro proyecto, como es el nombre, directorio, etc. Hacemos clic en el botón OK.

Vamos a crear un nuevo módulo para nuestro programa.

  • Hacemos clic con el botón derecho del ratón sobre el árbol de carpetas. Aparecerá un menú contextual. Elegimos la opción Nuevo→Módulo.
  • Surgirá una ventana en la que escribimos el nombre del Módulo: “TablaMultiplicar”. Pulsamos el botón OK.
  • Hacemos clic con el botón derecho del ratón sobre el nuevo módulo y marcamos la opción Clase de inicio.
  • Escribimos el siguiente código:

Código fuente

La estructura del programa es prácticamente igual al que usaremos para recorrer matrices bidimensionales. Un bucle exterior, en este caso FOR ii = 1 TO 5 y otro interior que se repetirá tantas veces como iteraciones realice el exterior. Así el exterior nos puede ir recorriendo, por ejemplo, las filas de una matriz y para cada fila, el interior, recorrerá las columnas.

  • Ejecutamos el programa. Una parte del resultado será el siguiente:

Ejecución

Ahora tendrás que demostrar que lo has entendido bien:

  • Modifica el programa para que se muestren las tablas de multiplicar del 1 al 10, pero que sólo se muestren las tres últimas filas de cada una, es decir por 8, 9 y 10.

 

  • Ejecuta el programa con los cambios solicitados y comprueba que lo hace bien.
  • Sube a la plataforma el fichero llamado TablaMultiplicar.module que podrás encontrar dentro de la carpeta del proyecto 08Matrices.

 

  
  
Ejercicios
Ejercicio
 

Una vez repasado el uso de bucles anidados, vamos a entrar en el uso de las matrices.

Ya habíamos desarrollado un procedimiento que generaba un vector con números aleatorios. Vamos a tomar de base ese código y lo transforaremos para que nos genere una matriz bidimensional de las filas y columnas que definamos en el código.

  • Seguimos con el mismo proyecto.
  • Hacemos clic con el botón derecho del ratón sobre el árbol de carpetas. Aparecerá un menú contextual. Elegimos la opción Nuevo→Módulo.
  • Surgirá una ventana en la que escribimos el nombre del Módulo: “RecorrerMatrices”. Pulsamos el botón OK.
  • Hacemos clic con el botón derecho del ratón sobre el nuevo módulo y marcamos la opción Clase de inicio.
  • Escribimos el siguiente código:

Código fuente
Código fuente

El código nos genera una matriz de 5 filas por 4 columnas rellena de números aleatorios del 1 al 50. Además la muestra en pantalla usando la "," para insertar una tabulación entre las distintas columnas.

  • Si ejecutamos el programa el resultado sería el siguiente:

Ejecución del programa

  • Ahora tendrás que demostrar que lo has entendido bien:

    • Modifica el programa para que la matriz que se cree sea de 3 x 3 y que los valores aleatorios vayan del 1 al 10

     

    • Ejecuta el programa con los cambios solicitados y comprueba que lo hace bien.
    • Sube a la plataforma el fichero llamado RecorrerMatrices.module que podrás encontrar dentro de la carpeta del proyecto 08Matrices.
  
  
  
Ejercicios
Ejercicio
 

Ha llegado la hora la verdad. Con lo que has aprendido sobre las matrices deberás hacer un módulo en el que generes dos matrices de 3x3 y realices una serie de operaciones matemáticas con ellas, mostrando el resultado, a continuación se detallarán más los requisitos.

  • Seguimos con el mismo proyecto.
  • Hacemos clic con el botón derecho del ratón sobre el árbol de carpetas. Aparecerá un menú contextual. Elegimos la opción Nuevo→Módulo.
  • Surgirá una ventana en la que escribimos el nombre del Módulo: “OperMatrices”. Pulsamos el botón OK.
  • Hacemos clic con el botón derecho del ratón sobre el nuevo módulo y marcamos la opción Clase de inicio.
  • Los requisitos del programa son:
    • Deberás generar dos matrices aMatrizA y aMatrizB con tres filas y tres columnas cada una. Los valores serán aleatorios entre 1 y 10, para facilitar que puedas comprobar si se han hecho bien las operaciones.
    • Deberás mostrar ambas matrices indicando la A y la B.
    • Podrás usar todas las matrices auxiliares que quieras para obtener los resultados, la puedes llamar aMatrizX, aMatrizY... o como quieras.
    • Deberás realizar las siguientes operaciones de matrices, indicando siempre el resultado:
      • Suma la matriz A + B
      • Resta la matriz A- B
      • Multiplica la matriz A x B
      • Calcula la matriz transpuesta de A

Confiamos en que recuerdes como se hacen estas operaciones, pero por si las moscas... aquí tienes unos enlaces con información importante:

  • Ejecuta el programa y comprueba que los cálculos que hace son correctos.
  • Sube a la plataforma el fichero llamado OperMatrices.module que podrás encontrar dentro de la carpeta del proyecto 08Matrices.

 

  
Fuentes de información Sugerencias

Sería interesante que te guardaras en una memoria USB todo el contenido de la carpeta BASIC de tus documentos, para evitar que cualquier problema con el ordenador te haga perder tus ejercicios.

 
   
Creditos Créditos
Licencia de Creative Commons

Este documento es de dominio público bajo licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.
TuInstitutoOnline.com M.Donoso, G.García, P.Gargallo, A.Martínez. v. 2.0.2.1.0

No se permite un uso comercial de la obra original ni de las posibles obras derivadas, la distribución de las cuales se debe hacer con una licencia igual a la que regula la obra original.

Los reconocimientos se realizan en el apartado Fuentes de información.

Los iconos empleados están protegidos por la licencia LGPL y se han obtenido de:
https://commons.wikimedia.org/wiki/Crystal_Clear
https://www.openclipart.org


Licencia de Creative Commons

Todas las capturas de pantalla tienen copyright y pertenecen a TuInsitutoOnline.com.

TuInstitutoOnline.com permite su uso siempre y cuando se muestren desde el dominio www.tuinstituoonline.com y NO PERMITE enlazar a ellas desde otros lugares.

Además, la estructura diseñada para mostrar el contenido de las unidades es propiedad de TuInstitutoOnline.com.

TuInstitutoOnline.com M.Donoso, G.García, P.Gargallo, A.Martínez. Versión 2021.