El funcionamiento de la estructura de selección doble si…sino (if…else) evalúa una condición lógica, si es verdadera ejecuta una o varias instrucciones (conjunto de instrucciones), si es falsa, ejecuta otro conjunto de instrucciones.
si ( condición )
Instrucción a
sino
Instrucción b
* Si se tiene más de una instrucción:
Si ( condición ) {
Instrucción a1
Instrucción a2
Instrucción a3
Instrucción aN
}
sino {
Instrucción b1
Instrucción b2
Instrucción b3
Instrucción bN
}
Ejemplo
Vamos a desarrollar un programa que permita ingresar un número de tres cifras positivo y nos indique si es o no un número capicúa (número que se lee igual de derecha a izquierda que de izquierda a derecha).
-> Pseudocódigo
Inicio
//Declaración de variables
entero num, c, d, u, reves
//Entrada de datos
Leer num
//Determina si el número ingresado es positivo y de tres cifras
si (num>=100 AND num<=999) entonces
//Separa los dígitos del número
c = num/100
d = (num MOD 100)/10
u = num MOD 10
//Une los dígitos separados de forma inversa
reves = u*100+d*10+c
//Determina si el número es capicúa
Si (num = reves) entonces
Visualizar El número es capicúa
Sino
Visualizar El número no es capicúa
//Muestra mensaje de error si el número no es positivo y de tres cifras
Sino
Visualizar Error: ingrese número positivo de tres cifras
Fin
-> Programación en JCreator:
Crear un nuevo proyecto (basic java applet) con el nombre "capicua".
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
public class capicua extends JApplet implements ActionListener{
//Declaramos controles
JLabel lblNumero;
JTextField txtNumero;
JButton btnProcesar,btnBorrar;
JTextArea txtA;
JScrollPane scpResultado;
//Desarrollo de la interfaz gráfica de usuario GUI
public void init(){
getContentPane().setLayout(null);
lblNumero = new JLabel("Número");
lblNumero.setBounds(20,20,70,23);
getContentPane().add(lblNumero);
txtNumero = new JTextField();
txtNumero.setBounds(90,20,100,23);
getContentPane().add(txtNumero);
btnProcesar = new JButton("Procesar");
btnProcesar.setBounds(210,20,100,23);
btnProcesar.addActionListener(this);
getContentPane().add(btnProcesar);
btnBorrar = new JButton("Borrar");
btnBorrar.setBounds(210,50,100,23);
btnBorrar.addActionListener(this);
getContentPane().add(btnBorrar);
txtA = new JTextArea();
scpResultado = new JScrollPane(txtA);
scpResultado.setBounds(20,83,290,100);
getContentPane().add(scpResultado);
}
//Eventos de tipo ActionEvent
public void actionPerformed( ActionEvent e ){
//Si se hizo click en el botón procesar
if(e.getSource()==btnProcesar){
//Declaración de variables
int num,u,d,c,reves;
//Entrada de datos
num = Integer.parseInt(txtNumero.getText());
//Determina si el número ingresado es positivo y de tres cifras
if(num>=100&&num<=999){
//Separa los dígitos del número ingresado
c = num/100;
d = (num%100)/10;
u = num%10;
//Une los dígitos de forma inversa
reves = u*100+d*10+c;
//Determina si el número ingresado es capicúa
if(num==reves)
txtA.setText("el número "+num+" es capicúa");
else
txtA.setText("el número "+num+" no es capicúa");
}
//Muestra mensaje de error si el número esta fuera de rango
else
txtA.setText("Error: ingrese número positivo de tres cifras");
}
//Si se hizo click en el botón borrar
if(e.getSource()==btnBorrar){
txtA.setText("");
txtNumero.setText(""); txtNumero.requestFocus();
}
}
}
Vamos a desarrollar un programa que permita ingresar un número de tres cifras positivo y nos indique si es o no un número capicúa (número que se lee igual de derecha a izquierda que de izquierda a derecha).
-> Pseudocódigo
Inicio
//Declaración de variables
entero num, c, d, u, reves
//Entrada de datos
Leer num
//Determina si el número ingresado es positivo y de tres cifras
si (num>=100 AND num<=999) entonces
//Separa los dígitos del número
c = num/100
d = (num MOD 100)/10
u = num MOD 10
//Une los dígitos separados de forma inversa
reves = u*100+d*10+c
//Determina si el número es capicúa
Si (num = reves) entonces
Visualizar El número es capicúa
Sino
Visualizar El número no es capicúa
//Muestra mensaje de error si el número no es positivo y de tres cifras
Sino
Visualizar Error: ingrese número positivo de tres cifras
Fin
-> Programación en JCreator:
Crear un nuevo proyecto (basic java applet) con el nombre "capicua".
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
public class capicua extends JApplet implements ActionListener{
//Declaramos controles
JLabel lblNumero;
JTextField txtNumero;
JButton btnProcesar,btnBorrar;
JTextArea txtA;
JScrollPane scpResultado;
//Desarrollo de la interfaz gráfica de usuario GUI
public void init(){
getContentPane().setLayout(null);
lblNumero = new JLabel("Número");
lblNumero.setBounds(20,20,70,23);
getContentPane().add(lblNumero);
txtNumero = new JTextField();
txtNumero.setBounds(90,20,100,23);
getContentPane().add(txtNumero);
btnProcesar = new JButton("Procesar");
btnProcesar.setBounds(210,20,100,23);
btnProcesar.addActionListener(this);
getContentPane().add(btnProcesar);
btnBorrar = new JButton("Borrar");
btnBorrar.setBounds(210,50,100,23);
btnBorrar.addActionListener(this);
getContentPane().add(btnBorrar);
txtA = new JTextArea();
scpResultado = new JScrollPane(txtA);
scpResultado.setBounds(20,83,290,100);
getContentPane().add(scpResultado);
}
//Eventos de tipo ActionEvent
public void actionPerformed( ActionEvent e ){
//Si se hizo click en el botón procesar
if(e.getSource()==btnProcesar){
//Declaración de variables
int num,u,d,c,reves;
//Entrada de datos
num = Integer.parseInt(txtNumero.getText());
//Determina si el número ingresado es positivo y de tres cifras
if(num>=100&&num<=999){
//Separa los dígitos del número ingresado
c = num/100;
d = (num%100)/10;
u = num%10;
//Une los dígitos de forma inversa
reves = u*100+d*10+c;
//Determina si el número ingresado es capicúa
if(num==reves)
txtA.setText("el número "+num+" es capicúa");
else
txtA.setText("el número "+num+" no es capicúa");
}
//Muestra mensaje de error si el número esta fuera de rango
else
txtA.setText("Error: ingrese número positivo de tres cifras");
}
//Si se hizo click en el botón borrar
if(e.getSource()==btnBorrar){
txtA.setText("");
txtNumero.setText(""); txtNumero.requestFocus();
}
}
}
Ir a estructura de selección simple.
Ir a estructura de selección multiple switch.
buen aporte mi llave... me sirvió mucho.
ResponderEliminar