Matrices

Páginas: 5 (1086 palabras) Publicado: 4 de noviembre de 2013
MATRICES
Son estructuras de datos estáticas encargadas de almacenamiento de datos, se conocen
como array bidimensionales ya que define dos índices para el almacenamiento de
información, al igual que los vectores almacenan datos homogéneos, es decir de igual tipo
de datos ya sea primitivo o por referencia.
Los datos que se almacena en las matrices serán del mismo tipo, es decir si declaro lamatriz como integer los valores que ingresare serán de tipo integer. Las matrices a
diferencia de los vectores que utilizan un solo índice estas utilizan dos índices para
referencia una posición dentro de la estructura, es decir una matriz posee un índice para
referencia la fila y otro índice para referencia la columna. El siguiente gráfico representa
una matriz.

Declaración de una matriz:Para declarar una matriz debemos indicar el nombre de la
misma así como la cantidad de elementos que esta almacena en cada índice. La Sintaxis
en object pascal es la siguiente:
nombrematriz = array[puntoinicialfila..puntofinalfila, puntoinicialcolumna..puntofinalcolumna ] of tipodato

Ejemplo:
matriz:array[1..filas, 1..columnas] of Integer;

Como apreciamos los valores del punto inicialpueden estar definidos como:


Indexación base-cero (0): En este modo el primer elemento del array será la componente
cero (0) del mismo, es decir, tendrá el índice 0. En consecuencia, si el array tiene 'n'
componentes la última tendrá como índice el valor n-1.



Indexación base-uno (1): En esta forma de indexación, el primer elemento del
array tiene el índice 1 y el último tiene elíndice n.



Indexación base-n (n): Este es un modo versátil de indexación en la que el índice
del primer elemento puede ser elegido libremente, en algunos lenguajes de
programación se permite que los índices puedan ser negativos

Ejemplo: declaración de una matriz de 3 filas y 4 columnas
Indexación Cero
matriz_datos = array[0..2, 0..3] of integer
Indexación Uno
matriz_datos =array[1..3, 1..4] of integer
Ahora para saber la cantidad de elementos que podemos almacenar en una matriz se
debe multiplicar el número de valores comprendido por el rango de filas y columnas. Es
decir para este ejemplo obtenemos 12 posiciones dentro de la matriz para
almacenamiento información de tipo integer.
Para la indexación cero el rango de fila esta dado desde 0 hasta 2 existiendo 3 valores(0,1,2), para el rango de columnas esta dado desde 0 hasta 3 existiendo 4 valores
(0,1,2,3).
Para la indexación uno el rango de fila esta dado desde 1 hasta 3 existiendo 3 valores
(1,2,3), para el rango de columnas esta dado desde 1 hasta 4 existiendo 4 valores
(1,2,3,4).
A continuación diseñaremos en object pascal, las clases necesarios para solucionar un
problema que nos permita almacenardatos de tipo entero dentro de una matriz y realizar
la siguientes operaciones básicas sobre los elementos de la matriz: suma, promedio,
elemento mayor y promedio de la diagonal principal.
Unidad UDeclaraMatriz, en donde se implementa el código de la clase TMatriz:
unit UDeclaraMatriz;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils;
const
filas = 3;
columnas = 3;
type
{ TMatriz } TMatriz = class
private
matriz:array[1..filas, 1..columnas] of Integer;
public
Constructor create;
procedure setMatriz(f:integer; c:integer; dato:integer);
function getMatriz(f:integer; c:integer): integer;
function sumaMatriz:Integer;
function promedioMatriz:real;
function promedioPrincipal: real;
function mayorMatriz:integer;
end;
implementation
{ TMatriz }
constructorTMatriz.create;
var
i,j:integer;
begin
for i:=1 to filas do
begin
for j:=1 to columnas do
begin
setMatriz(i,j,0);
end;
end;
end;
procedure TMatriz.setMatriz(f: integer; c: integer; dato: integer);
begin
matriz[f][c]:=dato;
end;
function TMatriz.getMatriz(f: integer; c: integer): integer;
begin
Result:=matriz[f][c];
end;
function TMatriz.sumaMatriz: Integer;
var
i,j,suma:integer;...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Matrices
  • Matrices
  • matrices
  • MATRICES
  • Matrices
  • Matrices
  • Matrices
  • matrices

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS