0% encontró este documento útil (0 votos)
50 vistas34 páginas

AYP C9 Matrices - V3

El documento aborda el concepto de matrices en programación, específicamente en Java, explicando su definición, declaración, inserción y extracción de datos. Se presentan ejemplos prácticos de cómo trabajar con matrices utilizando ciclos for y se incluyen ejercicios para reforzar el aprendizaje. Además, se muestra cómo implementar programas en Java para gestionar matrices y realizar operaciones como la suma de matrices.

Cargado por

Natalia Mejía
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
50 vistas34 páginas

AYP C9 Matrices - V3

El documento aborda el concepto de matrices en programación, específicamente en Java, explicando su definición, declaración, inserción y extracción de datos. Se presentan ejemplos prácticos de cómo trabajar con matrices utilizando ciclos for y se incluyen ejercicios para reforzar el aprendizaje. Además, se muestra cómo implementar programas en Java para gestionar matrices y realizar operaciones como la suma de matrices.

Cargado por

Natalia Mejía
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

ALGORITMIA Y

PROGRAMACIÓN

Matrices
CONTENIDO
1. Conceptos preliminares.

2. Las Matrices y Java.

2.1 Definición de Matrices


2.2 Inserción de datos
2.3 Extracción de datos

3. Trabajando con Matrices


4. Ejercicios
j de repaso
p

Algoritmia y programación
Universidad del Valle Slide 2
1. Conceptos
p Preliminares

Definiendo qué son las matrices o


arreglos
g bidimensionales.

Algoritmia y programación
Universidad del Valle Slide 3
¿Qué es una matriz?
* Una matriz es un arreglo de datos (todos del
mismo tipo) de dos dimensiones.
* Cada componente del arreglo es referenciado por
dos índices. El primero indica la fila y el segundo
indica la columna.
columna

Algoritmia y programación
Universidad del Valle Slide 4
¿Qué es una matriz?
* Al igual que los arreglos, los índices empiezan a
partir de cero y se indican entre corchetes: [ ][ ]. El
primer
i í di
índice i di
indica l fila
la fil y ell segundo
d indica
i di l
la
columna.
* Son también conocidas como arreglos
bidimensionales.

Algoritmia y programación
Universidad del Valle Slide 5
Para recordar:
* Una matriz almacena elementos del mismo tipo.
* Una matriz es de tamaño fijo (mxn).
* Cada
C d elemento
l t se guarda
d en un espacioi independiente.
i d di t
* Cada espacio se referencia con dos índices.
* El primer índice referencia las filas.
* El segundo índice referencia las columnas.
* Los índices se empiezan a contar a partir de 0.
* En una matriz de mxn sus índices irán de 0 a m m-1
1 para
las filas y de 0 a n-1 para las columnas.

Algoritmia y programación
Universidad del Valle Slide 6
¿Cuáles son matrices?

Algoritmia y programación
Universidad del Valle Slide 7
2. Los Matrices y Java

Definiendo y trabajando con matrices en Java.

Algoritmia y programación
Universidad del Valle Slide 8
Declarando Matrices
La declaración de una matriz se hace de la siguiente
forma:

TipoDeDato nombre[][] = new TipoDeDato [m][n];

Donde m es el número de filas y n es el número de


columnas.
Ejemplos:
g nombres[[ ][ ] = new String
String g [[12][12];
][ ];
double notas[ ][ ] = new double [21][7];
int velocidad[ ][ ] = new int [7][4];
Algoritmia y programación
Universidad del Valle Slide 9
Declarando Matrices

String nombres[ ][ ] = new String [12][12];


Define una matriz llamada nombres, que almacena cadenas
de texto y tiene 12 filas y 12 columnas.

double notas[ ][ ] = new double [21][7];


Define una matriz llamada notas, que almacena números
reales y tiene 21 filas y 7 columnas.

int velocidad[ ] = new int [7][4];


Define una matriz llamada velocidad, que almacena
números enteros y tiene 7 filas y 4 columnas.

Algoritmia y programación
Universidad del Valle Slide 10
Declarando Matrices
TipoDeDato nombre[][] = new TipoDeDato [m][n];
Al igual que los arreglos,
arreglos las matrices definidas de
esta forma no están inicializadas, es decir, no
contienen ningún valor, lo cual se representa con
null si es String o con 0 si es int o double.

String nombres[ ][ ] = new String [3] [2];


int tamañoPeso[ ][ ] = new int [3][3];

nombres tamañoPeso

Algoritmia y programación
Universidad del Valle Slide 11
Declarando e Inicializando
Se puede declarar e inicializar una matriz al igual que
los vectores:
Ejemplos:

String nombres[ ][ ] = {{ “Oscar”, “Fonseca” }, Matriz de cadenas


{ “John” , “Santos”}, de texto de 3 filas
{ “Julio”
Julio , “Ruiz”
Ruiz }}; y 2 columnas.

double notas[ ][ ] = {{ 5
5.0,
0 44.0,
0 55.0},
0}
Matriz de reales de
{ 4.3, 4.7, 3.8}, 4 filas y 3 columnas.
{ 2.7, 3.2, 4.0},
{ 4.3, 4.7, 5.0}};
Algoritmia y programación
Universidad del Valle Slide 12
¿Dónde está el error?
String nombres [] = new String[4][3];

i t anchoLargo
int h L = new int
i t [15][2];
[15][2]

double valorTiempo
p [][] = int [[7,7];
]

String nombres [2][2] = {{”Oscar”,”100”},


{{”Sofia”
Sofia ,“A”}};
A }};

String nombres [][] = {{”Oscar”,”100”} {”Sofia”,“A”}};

String refs[][] = {{“a34” “b34” “d33”},


{“cf2” “b12” “aa3”}};

Algoritmia y programación
Universidad del Valle Slide 13
Inserción de datos
Para ingresar datos en una matriz se debe indicar la
posición en la que se va insertar el valor,
referenciando
f i d lal fila
fil y la
l columna:
l

nombreArreglo[posiciónFila][posicionColummna]
g [p ][p ] = valor;

Ejemplo: nombres

nombres[0][0]=”Oscar”;
b [0][0] ”O ”
nombres[0][1]=”Sarah”;

Algoritmia y programación
Universidad del Valle Slide 14
Inserción de datos
Para ingresar datos en una matriz se debe indicar la
posición en la que se va insertar el valor,
referenciando
f i d lal fila
fil y la
l columna:
l

nombreArreglo[posiciónFila][posicionColummna]
g [p ][p ] = valor;

Ejemplo: nombres

nombres[0][0]=”Oscar”;
b [0][0] ”O ”
nombres[0][1]=”Sarah”;
nombres[?][?]=”Jhon”;
[ ][ ]
nombres[?][?]=”Andrea”;

Algoritmia y programación
Universidad del Valle Slide 15
Inserción de datos
Para ingresar datos en una matriz se debe indicar la
posición en la que se va insertar el valor,
referenciando
f i d lal fila
fil y la
l columna:
l

nombreArreglo[posiciónFila][posicionColummna]
g [p ][p ] = valor;

Ejemplo: nombres

nombres[0][0]=”Oscar”;
b [0][0] ”O ”
nombres[0][1]=”Sarah”;
nombres[2][0]=”Jhon”;
[ ][ ]
nombres[2][1]=”Andrea”;
¡No importa el orden
en el cual se guardan
los datos!
Algoritmia y programación
Universidad del Valle Slide 16
Extracción de datos
Para recuperar datos de una matriz se debe indicar la
posición de la fila y la columna a leer:
nomMatriz[posiciónFila] [posiciónColumna]

nombres

nombres[2][0] referencia el valor que se


encuentra en la fila 2 columna 0 que es “Jhon”
Jhon .

Algoritmia y programación
Universidad del Valle Slide 17
Extracción de datos
[Link](null, “El valor
en la posición 0,2
0 2 es: “ + nombres[0][2]);

nombres

Algoritmia y programación
Universidad del Valle Slide 18
Inserción y extracción de datos
¿Dónde puede haber errores?

iintt matriz[]
t i [] = new int
i t [5][3];
[5][3]
double i;
int m,n;
...
matriz[0][3] = 21.2;
matriz[i][n]
t i [i][ ] = 90;
matriz[m-1][n-1] = matriz [m][n] + 10;
matriz[5][3]=matriz[n][m];
...

Algoritmia y programación
Universidad del Valle Slide 19
3. Trabajando
j con matrices

Ejemplos prácticos de cómo se crean programas usando


matrices.

Algoritmia y programación
Universidad del Valle Slide 20
Las matrices y el ciclo for
Una matriz se procesa generalmente usando dos
ciclos for anidados:

Algoritmia y programación
Universidad del Valle Slide 21
Las matrices y el ciclo for
[Link] indica la cantidad de filas de la matriz.
b[i].length indica la cantidad de columnas de la matriz.

Algoritmia y programación
Universidad del Valle Slide 22
Ejemplo 1:
Escriba un programa en Java que solicite el código y el
nombre de los estudiantes de cualquier curso y los
muestre
t todos
t d all final.
fi l Use
U una matriz
t i para guardar
d los
l
datos solicitados.

Algoritmia y programación
Universidad del Valle Slide 23
Ejemplo 1: Análisis
* Debemos capturar los nombres de m estudiantes. por lo
tanto requerimos saber el valor de m para saber cuántas
filas tendrá la matriz.

* La matriz tendrá dos columnas: una para el código del


estudiante (String) y otra para el nombre (String).
(String)

* La matriz será del tipo String y de tamaño mx2.

* La salida del programa será un String que contendrá la


li t numerada
lista d d de llos nombres
b d
de llos estudiantes.
t di t
Algoritmia y programación
Universidad del Valle Slide 24
Ejemplo 1: Programa en Java
import [Link].*;

public class NombresCurso {


p

//variables de clase
static String estudiantesCurso[][];

static void leerEstudiantes(){


for (int m=0; m < [Link]; m++){
estudiantesCurso[m][0]=JoptionPane showInputDialog
estudiantesCurso[m][0]=[Link]
("Codigo del estudiante número" + (m+1) + ":");

estudiantesCurso[m][1]=[Link]
("Nombre del estudiante número" + (m+1) + ":");
}
}//fin método leerEstudiantes

Algoritmia y programación
Universidad del Valle Slide 25
Ejemplo 1: Programa en Java
static void mostrarListado (){
String salida = "Estudiantes delCurso:\n\n" +
"Número\tCódigo\tNombre\n";
Número\tCódigo\tNombre\n ;

for (int m=0; m < [Link]; m++){


salida += (m+1) + "\t";
f
for (i t n=0;
(int 0 n < estudiantesCurso[m].length;
t di t C [ ] l th n++){
){
salida += estudiantesCurso[m][n] + "\t";
}
salida += "\n";
}

JTextArea areaSalida = new JTextArea();


[Link]( salida );
[Link]( null, areaSalida,
"Resultados", JOptionPane.INFORMATION_MESSAGE );

}//Fin método mostrarListado


Algoritmia y programación
Universidad del Valle Slide 26
Ejemplo 1: Programa en Java
public static void main(String[] args) {
int cantEstudiantes;

cantEstudiantes = [Link](
[Link](
"Cantidad de Estudiantes:"));

estudiantesCurso = new String [cantEstudiantes][2];

leerEstudiantes();

MostrarListado();

}//Fin método main


}//Fin clase

Algoritmia y programación
Universidad del Valle Slide 27
Ejemplo 2:
Escriba un programa que lea dos matrices de mxn, calcule
la suma de ellas y muestre el resultado.

Algoritmia y programación
Universidad del Valle Slide 28
Ejemplo 2: Programa en Java
import [Link].*;

public class SumaMatrices {


static String salida="";

static void leerMatriz(int matriz[][], String


g s){
for(int m=0; m < [Link]; m++){
for(int n=0; n < matriz[m].length; n++){
matriz[m][n]=[Link](
[Link](
s + ": Valor posición [" +
(m+1) + "][" + (n+1) + "]:"));
}
}
}//fin método leerMatriz

Algoritmia y programación
Universidad del Valle Slide 29
Ejemplo 2: Programa en Java
static void calcularSuma(int a[][],int b[][],int c[][]){
for(int m=0; m < [Link]; m++){
for(int n=0; n < c[m].length; n++){
c[m][n]= a[m][n] + b[m][n];
}
}
}//fin método calcularSuma
calc larS ma

static void generarSalida (int a[][], String titulo){


salida += titulo + ":\n";
for(int m=0; m < [Link]; m++){
for(int n=0; n < a[m].length; n++){
salida += a[m][n] + "\t";
}
salida +="\n";
}
salida
lid +="\n";
+ "\ "
}//fin método generarSalida
Algoritmia y programación
Universidad del Valle Slide 30
Ejemplo 2: Programa en Java
public
bli static
t ti void
id main(String[]
i (St i [] args)
) {

int m, n,
int a [][];
int b [][];
int c [][];

m=[Link]([Link](
m=Integer parseInt(JOptionPane showInputDialog(
"Número de filas de las matrices:"));

n=[Link]([Link](
"Número de Columnas de las matrices:"));

a = new int [m][n];


b = new int [m][n];
c = new int [m][n];

//Continúa...

Algoritmia y programación
Universidad del Valle Slide 31
Ejemplo 2: Programa en Java
//Continuación método main

leerMatriz(a, "Matriz A");


leerMatriz(b, "Matriz
Matriz B");
B );

calcularSuma(a,b,c);

generarSalida(a,
S lid ( "Matriz
"M t i A");
A")
generarSalida(b, "Matriz B");
generarSalida(c, "Matriz A+B");

JTextArea areaSalida = new JTextArea();


[Link]( salida );
[Link]( null, areaSalida,
"Suma de Matrices",
Matrices" JOptionPane.INFORMATION_MESSAGE
JOptionPane INFORMATION MESSAGE );

}//fin método main


}//fin clase

Algoritmia y programación
Universidad del Valle Slide 32
4. Ejercicios
j de Repaso
p

Ejercicios para reforzar lo visto en clase.

Algoritmia y programación
Universidad del Valle Slide 33
Ejercicios a realizar con matrices
1) Escriba un programa en java que lea una matriz de enteros de
mxn y muestre como salida esa matriz y su transpuesta.

2) Procesar una matriz. Escriba un programa en java que lea una


matriz de enteros de mxn y muestre como salida la matriz y lo
siguiente:
* La suma de todos los elementos de la matriz.
* Si m es igual a n la suma de la diagonal (/) y la diagonal
inversa (\).
* La suma de las filas (el resultado debe guardarse en un
arreglo de tamaño m).
Algoritmia y programación
Universidad del Valle Slide 34

También podría gustarte