Sunteți pe pagina 1din 9

FACULTAD DE CIENCIAS APLICADAS

CARRERA: INGENIERIA EN SISTEMAS

MATERIA: ALGORITMOS I

SECCION: 01

DOCENTE: RUTH MARINA FIGUEROA DE FLORES

TEMA: ARREGLOS BIDIMENSIONALES (MATRICES)

INTENGRANTES: EDWARD GIOVANNI DIAZ HERNANDEZ


CESAR ANTONIO JUAREZ ROMERO

SAN SALVADOR, EL SALVADOR


DICIEMBRE 2015

25-0689-2015
25-1388-2015

INTRODUCCION

EN ESTE TRABAJO SE ESTUDIA LOS ARREGLOS BIDIMENSIONALES


CONOCIDOS COMUNMENTE COMO MATRICES.
LAS MATRICES SON UN CONJUNTO DE DATOS HOMOGENEOS, FINITOS Y
ORDENADOS DONDE SE HACE REFENCIA A CADA ELEMENTO POR MEDIO DE
LOS INDICES. EL PRIMERO COMUNMENTE SE UTILIZA PARA INDICAR LAS
FILAS Y EL SEGUNDO PARA INDICAR COLUMNAS, POR LO QUE CADA
COMPONENTE DE LA MATRIZ SE DIRECCIONA MEDIANTE SU NUMBRE,
SEGUIDO DESPUES SUS INDICES SE PARADOS POR COMAS Y ENTRE
PARENTESIS.

OBJETIVOS
OBJETIVO GENERAL:
CONOCER LA IMPORTANCIA DE ESTOS ARREGLOS BIDIMENSIONALES YA
QUE CON ESTOS ARREGLOS SE PUEDEN RESOLVER MUCHOS PROBLEMAS
TANTO EN LA VIDA COTIDANA COMO EN LA ECONOMIA, BIOLOGIA ENTRE
OTRAS ES NECESARIO SABER APLICARLAS EN LA VIDA DIARIA PARA
DARLES UNA INMEDIATO SOLUCION CON FACILIDAD.

OBJETIVO ESPECIFICO:
DEMOSTRAR A LOS MAESTROS, ESTUDIANTES Y PROFESIONALES QUE CON
ESTOS ARREGLOS BIDIMENSIONALES SE PUEDEN RESOLVER MUCHOS
PROBLEMAS CON MAYOR FACILIDAD EN LA VIDA.

Los arreglos bidimensionales son tablas de valores. Cada elemento de un arreglo


bidimensional est simultneamente en una fila y en una columna.
En matemticas, a los arreglos bidimensionales se les llama matrices, y son muy utilizados
en problemas de Ingeniera.
En un arreglo bidimensional, cada elemento tiene una posicin que se identifica mediante
dos ndices: el de su fila y el de su columna.

Otra definicin:
Los arreglos bidimensionales son aquellos que tienen dos dimensiones y, en consecuencia
se manejan con dos ndices, se puede ver tambin como un arreglo de arreglos. Un arreglo
bidimensional equivale a una tabla con mltiples filas y mltiples columnas.

Declaracin y Acceso de Matrices:


Declaracin:
<tipo_de_dato> <identificador_del_arreglo> [Dimensin_fila] [Dimensin_columna] Por
ejemplo: Datos [3] [5] de tipo entero Id_arreglo = ARREGLO
[limInfR...limSupR,limInfC...limSupC] DE tipo Por ejemplo: matriz = ARREGLO [1..15,
1..5] DE reales

Acceso:
Insercin
< identificador_del_arreglo > [<ndice_fila>] [<ndice_columna>] valor del elemento Por
ejemplo: M [3] [2] , 9 M [3,2] , 9
Extraccin
< identificador_del_arreglo > [<ndice_fila>] [<ndice_columna>] Por ejemplo: xM [3] [2]
xM [3,2]

Como crear arreglos bidimensionales


Los arreglos bidimensionales tambin son provistos por NumPy, por lo que debemos comenzar importando
las funciones de este mdulo:

from numpy import *


Al igual que los arreglos de una dimensin, los arreglos bidimensionales tambin pueden ser creados usando
la funcin array, pero pasando como argumentos una lista con las filas de la matriz:

a = array ([[5.1, 7.4, 3.2, 9.9],


[1.9, 6.8, 4.1, 2.3],
[2.9, 6.4, 4.3, 1.4]])
Todas las filas deben ser del mismo largo, o si no ocurre un error de valor:

>>> array ([[1], [2, 3]])


Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: setting an array element with a sequence.
Los arreglos tienen un atributo llamado shape, que es una tupla con los tamaos de cada dimensin. En el
ejemplo, a es un arreglo de dos dimensiones que tiene tres filas y cuatro columnas:

>>> a.shape
(3, 4)
Los arreglos tambin tienen otro atributo llamado size que indica cuntos elementos tiene el arreglo:

>>> a.size
12
Por supuesto, el valor de a.size siempre es el producto de los elementos de a.shape.
Hay que tener cuidado con la funcin len, ya que no retorna el tamao del arreglo, sino su cantidad de filas:

>>> len(a)
3

Las funciones zeros y ones tambin sirven para crear arreglos bidimensionales. En vez de pasarles como
argumento un entero, hay que entregarles una tupla con las cantidades de filas y columnas que tendr la
matriz:

>>> Zeros ((3, 2))


Array ([[0., 0.],
[0., 0.],
[0., 0.]])
>>> ones ((2, 5))
array ([[ 1., 1., 1., 1., 1.],
[ 1., 1., 1., 1., 1.]])
Lo mismo se cumple para muchas otras funciones que crean arreglos; por ejemplo la funcin random:

>>> from numpy.random import random


>>> random((5, 2))
array([[ 0.80177393, 0.46951148],
[ 0.37728842, 0.72704627],
[ 0.56237317, 0.3491332 ],
[ 0.35710483, 0.44033758],
[ 0.04107107, 0.47408363]])

Ejemplo #1: Pseudocdigo para inicializar un arreglo de 3 filas y 4 columnas a 1.


Solucin #1:
Proceso inicializar_bidi
Definir matriz_ejemplo,fila,columna como entero;
Dimension matriz_ejemplo[3,4];
Para fila<-0 Hasta 2 Con Paso 1 Hacer
Para columna<-0 Hasta 3 Con Paso 1 Hacer
matriz_ejemplo[fila,columna] <- 1;
Escribir Sin Saltar matriz_ejemplo [fila,columna]," ";
FinPara
Escribir " ";
FinPara
FinProceso

Ejemplo #2: Algoritmo que encuentre e imprima la transpuesta de una matriz. La


transpuesta de una matriz se obtiene al escribir las filas de la matriz como columnas y las
columnas como filas.
Proceso Matriz_transpuesta
Definir MAT,TMAT,nFilas,nColumnas,fila,columna como entero;
Escribir 'Numero de filas de la matriz ';
Leer nFilas;
nColumnas<-nFilas;
Dimension MAT[nFilas,nColumnas]; //Matriz Original
Dimension TMAT[nColumnas,nFilas]; //Almacenara la matriz transpuesta
//Se piden los datos de la matriz
Para fila <-0 Hasta nFilas-1 Con Paso 1 Hacer
Para columna <-0 Hasta nColumnas-1 Con Paso 1 Hacer
Escribir 'Ingrese el elemento [', fila, ', ', columna, '] ' ;
Leer MAT[fila, columna]; //se almacena el elemento
TMAT[columna,fila]<-MAT[fila,columna]; //Se copia el elemento
FinPara
FinPara
Escribir "MATRIZ TRANSPUESTA";
Para fila<-0 Hasta nFilas-1 Con Paso 1 Hacer
Para columna<-0 Hasta nColumnas-1 Con Paso 1 Hacer
Escribir Sin Saltar TMAT[fila,columna]," ";
FinPara
Escribir "";
FinPara
FinProceso

Ejemplo #3: Escribir un pseudocdigo que lea un array de N*M elementos y que guarde 0
en las posiciones pares y 1 en las posiciones impares. Imprimir el array resultante.
Proceso ubicar_posiciones
Definir matriz_ejemplo,fila,columna,indice como Entero;
Dimension matriz_ejemplo[3,4];
Para fila<-0 Hasta 2 Con Paso 1 Hacer
Para columna<-0 Hasta 3 Con Paso 1 Hacer
indice<-fila+columna;
Si indice MOD 2 = 0 Entonces
matriz_ejemplo[fila,columna] <- 0;
Sino
matriz_ejemplo[fila,columna] <- 1;

FinSi
Escribir Sin Saltar matriz_ejemplo[fila,columna]," ";
FinPara
Escribir "";
FinPara
FinProceso
7

Ejemplo #4: Pseudocdigo que imprime la suma de cada una de las filas de una matriz
bidimensional N*M.
Solucin #4:
Proceso suma_filas
Definir a,sumafil Como Real;
Definir fil,col,f,c Como Entero;
Repetir
Escribir "NUMERO DE FILAS: ";
Leer fil;
Hasta Que fil>0 O fil>=1
Repetir
Escribir "NUMERO DE COLUMNAS: ";
Leer col;
Hasta Que col>0 O col>=1
Dimension a[fil,col]; // Declaracin de la matriz
//Lectura de los datos de la matriz
Escribir "**Introduzca los datos de la matriz**";
Para f<-0 Hasta fil-1 Hacer
Para c<-0 Hasta col-1 Hacer
Escribir "Elemento[",f,"][",c,"]:";
Leer a[f,c];
FinPara
FinPara
//Escribir la suma de cada fila
Para f<-0 Hasta fil-1 Hacer
sumafil=0;
Para c<-0 Hasta col-1 Hacer
sumafil <- sumafil + a[f,c];
FinPara
Escribir "La suma de la fila ",f,"= ",sumafil;
FinPara
Finproceso

Ejemplo #5: Pseudocdigo que lea una matriz de N filas y N columnas y que almacene
en la diagonal principal unos y en las dems posiciones ceros.
Solucin #5:
Proceso diagonal
Definir matriz,f,c como Entero;
Dimension matriz[3,3];
Para f<-0 Hasta 2 Hacer
Para c<-0 Hasta 2 Hacer
Si f = c Entonces
matriz[f,c] <- 1;
Sino
matriz[f,c] <- 0;
FinSi
Escribir Sin Saltar matriz[f,c]," ";
FinPara
Escribir "";
FinPara
FinProceso

S-ar putea să vă placă și