8 dic 2010

Estructura de selección simple (if)

Las estructuras de selección son empleadas para tomar decisiones lógicas. En este tipo de estructuras se evalúa una condición y en función del resultado se realizan una serie de instrucciones. Las condiciones se especifican utilizando expresiones lógicas.




si ( condicion )

instruccion a

* Si se tiene más de una instrucción debe ir entre corchetes { }:

si ( condición ) {


instruccion 1
instruccion 2
instruccion 3
instruccion n
}


-> Operadores Relacionales:

Se utilizan para escribir condiciones que describan la relación entre dos valores.
  • == igual a
  • != diferente de
  • > mayor que
  • <>>= mayor igual que
  • <= menor igual que
-> Operadores Lógicos Se utilizan para relacionar varias expresiones lógicas.
  • II OR lógico (ó) -> Alt+124 (2 veces)
  • && AND lógico (y)
  • ! NOT lógico (no)
A continuación desarrollaremos un programa que permita ingresar el primer octeto de una ID de red (Network ID) y nos determinará a que clase de dirección ip pertenece caso contrario mostrará un mensaje de error.

-> Pseudocódigo
Inicio

//Declaración de variables
entero idred

//Entrada de datos
Leer idred

//Proceso y salida de resultados (Determina a que clase pertenece)
si (idred<=126) Visualizar La id de red pertenece a la clase A
si (idred>=128 AND idred<=191) Visualizar La id de red pertenece a la clase B
si (idred>=192 AND idred<=223) Visualizar La id de red pertenece a la clase C
si (idred=127 OR idred>=224 OR idred<=-1) Visualizar Error: fuera de rango.
Fin

-> Codificación del applet: Abrir el JCreator, crear un nuevo proyecto (basic java applet) con el nombre "claseip".

import java.awt.event.*;
import java.awt.*;
import javax.swing.*;

public class claseip extends JApplet implements ActionListener{

          JLabel lblIdred;
          JTextField txtIdred;
          JButton btnProcesar,btnBorrar;
          JTextArea txtA;
          JScrollPane scpResultado;

          public void init(){
                    getContentPane().setLayout(null);

                    lblIdred = new JLabel("Id Red");
                    lblIdred.setBounds(20,20,75,23);
                    getContentPane().add(lblIdred);

                    txtIdred = new JTextField();
                    txtIdred.setBounds(65,20,75,23);
                    getContentPane().add(txtIdred);

                    btnProcesar = new JButton("Procesar");
                    btnProcesar.setBounds(200,20,100,23);
                    btnProcesar.addActionListener(this);
                    getContentPane().add(btnProcesar);

                    btnBorrar = new JButton("Borrar");
                    btnBorrar.setBounds(200,50,100,23);
                    btnBorrar.addActionListener(this);
                    getContentPane().add(btnBorrar);

                    txtA = new JTextArea();

                    scpResultado = new JScrollPane(txtA);
                    scpResultado.setBounds(20,83,281,100);
                    getContentPane().add(scpResultado);
          }

          public void actionPerformed( ActionEvent e ){
                    //Si se hace click en el botón procesar
                    if(e.getSource()==btnProcesar){
                              int idred; idred = Integer.parseInt(txtIdred.getText());
                              if(idred<=126) txtA.setText("La id de red "+idred+" pertenece a la clase A");
                              if(idred>=128&&idred<=191) txtA.setText("La id de red "+idred+" pertenece a la clase B");
                              if(idred>=192&&idred<=223) txtA.setText("La id de red "+idred+" pertenece a la clase C");
                              if(idred==127 II idred>=224 II idred<=-1) txtA.setText("Error: fuera de rango");
                    }
                    //Si se hace click en el botón borrar
                    if(e.getSource()==btnBorrar){
                              txtA.setText(""); txtIdred.setText("");
                              txtIdred.requestFocus();
                    }
          }
}

** NOTA: en la linea -> if(idred==127 II idred>=224 II idred<=-1) reemplazar el II por Alt+124 (2 veces) Ir a estructura secuencial ejemplo 2.
Ir a estructura de selección doble if...else.

No hay comentarios:

Publicar un comentario