Las sentencias repetitivas, también llamadas iteraciones o bucles, permiten ejecutar de manera reiterada una sentencia o mas sentencias, mientes se cumpla una determinada condición lógica que debe ser verdadera. Se utilizan también variables que se van aumentando o disminuyendo en cada iteracion, según sea el caso. En Java hay tres tipos diferentes de sentencias repetitivas: for, while y do-while.
Sentencia For
Es un bucle o sentencia repetitiva que:
a)Ejecuta la sentencia de inicio.
b) Verifica la condición de término
c) Si la condicion es cierta, realiza la/s sentencia/s entre llaves, aumenta o disminuye la variable de iteracion y vuelve a consultar la condición de termino, repitiéndose el ciclo.
d) Si la condición es falsa, sale del bucle y continua con las demás sentencias del programa si los hay.
Sintaxis:
for ( inicio; condicion de termino; iteracion)
{
Sentencia_1;
Sentencia_2;
}
Sentencia While
Es un bucle o sentencia repetitiva que:
a) Nececita que la variable de inicio este definida previamente e iniciada, antes de la declaración del while.
b) Verifica la condición de término
c) Si la condicion es cierta, realiza la/s sentencia/s entre llaves
d) Aumenta o disminuir la variable de iteracion que debe ser indicado en una sentencia de iteracion,
Luego vuelve a consultar la condición de termino, repitiéndose el ciclo.
e) Si la condición es falsa, sale del bucle y continua con las demás sentencias del programa si los hay.
Sintaxis:
inicio;
while ( condicion de termino)
{
Sentencia_1;
Sentencia_2;
iteracion;
}
Sentencia Do While
Es un bucle o sentencia repetitiva que:
a) Nececita que la variable de inicio este definida previamente e iniciada, antes de la declaración del
Do.
b) Ejecuta la/s sentencia/s entre llaves, al menos la primera vez
c) Aumenta o disminuye la variable de iteracion que debe ser indicado en una sentencia de iteracion
d) Verifica la condición de término,
e) Si la condicion es cierta, vuelve a ejecutar el cuerpo con las sentencias y la iteracion. Si no es cierta sale del bucle y sigue con el programa.
,
Sintaxis:
inicio;
do
{
Sentencia_1;
Sentencia_2;
iteracion;
}while ( condición de termino)
Cuando usamos cada uno de los Bucles
Usamos FOR cuando conocemos de antemano las veces que debe realizare la iteracion
Usamos WHILE cuando desconocemos cuentas veces debe realizarce la iteracion
Usamos DO WHILE cuando queremos que la/s sentencia/s del cuerpo se ejecuten al menos una vez
En algunos casos podemos utilizar cualquiera de los tres métodos para resolver el problema.
A continuación un programa en Java que imprime la Tabla del Siete usando los tres métodos de bucles
Matrices
Son muy útiles las matrices y tienen aplicación en muchas áreas de la vida moderna pues representan una manera practica y bastante estudiada para agrupar datos y analizarlos: asi sirven para manipular datos de casi cualquier cosa en las ciencias, en la ingeniería y en general en la información.
Una Matriz A
A
1 -2 3
0 2 1
5 1 0
Vectores fila y vectores columna
Las filas de A son en sentido vertical. y se denominan vectores fila
Fila 1: 1, -2,3 Fila 2: 0,2,1 Fila 3: 5,1,0
Las columnas de A son en sentido vertical y se denomina vectores columna
Columna 1: 1,0,5 Columna 2: -2,2 Columna 3: 3,1,0
Orden de una Matriz
La nomenclatura: es Nombre de la Matriz Numero de Filas x Numero de Columnas
La matriz A es formalmente A 3x3 , ya que como vimos tiene tres filas y tres columnas
Las matrices que tienen igual numero de columnas y filas se llaman matrices cuadradas, pero no necesariamente deben tener el mismo numero de filas y columnas
Suma y Resta de Matrices Cuadradas
Sean A y B matrices cuadradas 3x3
A
1 -2 3
0 2 1
5 1 0
B
1 1 0
2 0 -3
4 6 -2
Para obtener A+ B solo debemos sumar algebraicamente los elementos que estan en la misma posicion
A+ B
(1+1) (-2+1) (3+0)
(0+2) (2+0) (1+-3)
(5+4) (1+6) (0+-2)
A+ B
2 -1 3
2 2 -2
9 7 -2
Para obtener A -B solo debemos restar algebraicamente los elementos que están en la misma posición
A- B
(1 -1 ) (-2 -1) (3-0)
(0 -2) (2 -0) (1- -3)
(5-4) ( 1- 6) ( 0- -2)
A - B
0 -3 3
-2 2 4
1 -5 2
Multiplicación de Matrices
Para obtner la Matriz Producto es necesario multiplicar los elementos de las filas de A por los elementos de las Columas de B
A
1 -2 3
0 2 1
5 1 0
B
1 1 0
2 0 -3
4 6 -2
AxB
Fila 1A x Columna 1B Fila 1A x Columna 2B Fila1 Ax Columna3 B
Fila 2A x Columna 1B Fila 2A x Columna 2B Fila2 Ax Columna3 B
Fila 3A x Columna 1B Fila 3A x Columna 2B Fila3 Ax Columna3 B
(1.1+-2.2+ 3.4) (1.1+ -2.0 + 3.6) (1.0 + -2.-3 + 3.-2)
(0.1 + 2.2+ 1.4) (0.1 +2.0 + 1.6 ) (0.0+ 2.-3 + 1.-2)
(5.1 +1.2 +0.4 ) (5.1 +1.0+ 0.6 ) (5.0+ 1.-3 + 0 .-2)
AxB
15 19 0
6 6 -8
7 5 -3
Multiplicación de Matrices en Java
El siguiente programa en Java nos permite introducir los componentes de dos matrices y obtener el resultado
Para el efecto utilizaremos interaciones con bucles for
El programa principal main() se llama UseMultimax
public class UseMultimax {
public static void main(String[] args) {
// TODO Auto-generated method stub
Multiplicacion miobjeto=new Multiplicacion();
miobjeto.Entrada_Matriz1();
miobjeto.Entrada_Matriz2();
miobjeto.Multiplica();
miobjeto.Imprime();
}
}
Luego en el programa Multiplicación se crean los metodos que permiten crear las matices, multiplicar e imprimir los resultados, que seran convocados por el programa principal.
import java.util.Scanner;
public class Multiplicacion {
private int M=3;
private int N=3;
private int P=3;
private int Matriz1 [][]=new int[N][M];
private int Matriz2 [][]=new int[M][P];
private int Matriz3 [][]=new int[N][P];
Scanner entrada=new Scanner(System.in);
public void Entrada_Matriz1(){
System.out.printf("\n Este programa multiplica dos matrices ");
System.out.printf("\n Introduzca los valores de la primera matriz");
for(int i=0;i<N;i++)
for(int j=0;j<M;j++){
System.out.printf("\n Introduzca el valor de la %d columna y la %d fila",i+1,j+1);
Matriz1[i][j]=entrada.nextInt();
}
}
public void Entrada_Matriz2(){
System.out.printf("\n Introduzca los valores de la segunda matriz");
for(int i=0;i<M;i++)
for(int j=0;j<P;j++){
System.out.printf("\n Introduzca el valor de la %d columna y la %d fila",i+1,j+1);
Matriz2[i][j]=entrada.nextInt();
}
}
public void Multiplica(){
for(int i=0;i<N;i++)
for(int j=0;j<P;j++)
for(int k=0; k<M; k++){
Matriz3[i][j]+=Matriz1[i][k]*Matriz2[k][j];
}
}
public void Imprime(){
System.out.printf("\n Esta es la primera matriz \n");
for(int i=0;i<N;i++){
for(int j=0;j<M;j++){
System.out.printf("%3d",Matriz1[i][j]);
}
System.out.printf("\n");
}
System.out.printf("\n Esta es la segunda matriz \n");
for(int i=0;i<M;i++){
for(int j=0;j<P;j++){
System.out.printf("%3d",Matriz2[i][j]);
}
System.out.printf("\n");
}
System.out.printf("\n Esta es la matriz producto \n");
for(int i=0;i<N;i++){
for(int j=0;j<P;j++){
System.out.printf("%3d",Matriz3[i][j]);
}
System.out.printf("\n");
}
}
}

No hay comentarios:
Publicar un comentario