5 Traduci Dazxcz

71
2003 Prentice Hall, Inc. Todos los derechos reservados. 1 Capítulo 5 - Estructuras de control: Parte 2 Contorno 5.1 Introducción 5.2 Fundamentos de Repetición Controlada por Contador 5.3 Declaración de Repetición 5.4 Ejemplos de uso de la Declaración de 5.5 do ... while Declaración Repetición 5.6 Declaración interruptor de selección múltiple 5.7 romper y continuar Declaraciones 5.8 break y continue Declaraciones Etiquetada

description

xczxczx

Transcript of 5 Traduci Dazxcz

Page 1: 5 Traduci Dazxcz

 2003 Prentice Hall, Inc. Todos los derechos reservados.

1

Capítulo 5 - Estructuras de control: Parte 2Contorno 

5.1 Introducción 

5.2 Fundamentos de Repetición Controlada por Contador 

5.3 Declaración de Repetición 

5.4 Ejemplos de uso de la Declaración de 

5.5 do ... while Declaración Repetición 

5.6 Declaración interruptor de selección múltiple 

5.7 romper y continuar Declaraciones 

5.8 break y continue Declaraciones Etiquetada 

5.9 Operadores lógicos 

5.10 Resumen de Programación Estructurada 

Page 2: 5 Traduci Dazxcz

5.11 (Ejemplo práctico opcional) Acerca de los objetos: Unidos y Actividades

Identificación de Objetos '

 2003 Prentice Hall, Inc. Todos los derechos reservados.

2

5.1 Introducción Continúa discusión estructurada de programación Introducir las estructuras de control restantes Java 's

 2003 Prentice Hall, Inc. Todos los derechos reservados.

3

5.2 Fundamentos de Repetición Controlada por Contador

Repetición controlada por contador requiere: Variable de control (contador de bucle)

Valor inicial de la variable de control

Page 3: 5 Traduci Dazxcz

Incremento / decremento de la variable de control a través de cada bucle

Condición que pone a prueba para el valor final de la variable de control

 2003 Prentice Hall, Inc. 

Todos los derechos reservados.

Contorno

4

WhileCounter.java 

Línea 14 

Línea 16 

Page 4: 5 Traduci Dazxcz

Línea 18

1 // Fig. 5.1: WhileCounter.java

2 // repetición controlada por contador.

3 java.awt.Graphics de importación;

4

5 importación javax.swing.JApplet;

6

7 pública clase WhileCounter extiende JApplet {

8

9 // Dibuja líneas en el fondo del subprograma

10    público void paint (Graphics g)

11 {

Page 5: 5 Traduci Dazxcz

12       súper .paint (g); // llamada a un método de pintura heredada de JApplet

13

14       int contador = 1; // inicialización

15

16       while (contador <= 10) {// condición repetición

17 g.drawLine (10, 10, 250, contador * 10);

18 ++ contador; // incremento

19

20} // fin del tiempo

21

22} // método paint final

23

24} // fin de la clase WhileCounter

Page 6: 5 Traduci Dazxcz

Incremento de contador

Pruebas de condición para el valor final de venta libre

Nombre de variable de control es contraproducente

Control variable de valor inicial es 1

 2003 Prentice Hall, Inc. Todos los derechos reservados.

5

5.3 Declaración de Repetición Maneja contador controlado con repetición detalles 2003 Prentice Hall, Inc. 

Todos los derechos reservados.

Contorno

6

ForCounter.java 

Page 7: 5 Traduci Dazxcz

Línea 16 

int contador = 1; 

Línea 16 

contador <= 10; 

Línea 16 

contador ++;

1 // Fig. 5.2: ForCounter.java

2 // repetición controlada por contador con la sentencia for.

3 java.awt.Graphics de importación;

4

5 importación javax.swing.JApplet;

6

Page 8: 5 Traduci Dazxcz

7 pública clase ForCounter extiende JApplet {

8

9    // Dibujar líneas en el fondo del subprograma

10    public void paint (Graphics g)

11 {

12       súper .paint (g); // llamada a un método de pintura heredada de JApplet

13

14       // Para cabecera declaración incluye la inicialización,

15       // Condición repetición y de la subasta

16       for (int contador = 1; contador <= 10; contador ++)

17 g.drawLine (10, 10, 250, contador * 10);

18

19} // método paint final

Page 9: 5 Traduci Dazxcz

20

21} // fin de la clase ForCounter

Pruebas de condición para el valor final de venta libre

Nombre de variable de control es contraproducente

Control variable de valor inicial es 1

Incremento de contador

 2003 Prentice Hall, Inc. Todos los derechos reservados.

7

Fig. 5.3 para los componentes de cabecera de los estados.

for (int contador = 1; contador <= 10; contador ++)

Incremento de la variable de control

Variable de control

Valor final de la variable de control para que la condición es verdadera

Page 10: 5 Traduci Dazxcz

para 

palabra clave

Condición de bucle de continuación

Valor inicial de la variable de control

Separador punto y coma Requerido

Separador punto y coma Requerido

 2003 Prentice Hall, Inc. Todos los derechos reservados.

8

5.3 Estructura de Repetición (cont.)for (inicialización; loopContinuationCondition; incremento) 

declaración;

por lo general puede ser reescrita como:

inicialización; 

while (loopContinuationCondition) { 

Page 11: 5 Traduci Dazxcz

     declaración; 

     incrementar; 

}

 2003 Prentice Hall, Inc. Todos los derechos reservados.

9

Fig. 5.4 para diagrama de actividades comunicado.

[Contador <= 10]

[Contador> 10]

int contador = 1

contador ++

Determinar si se ha alcanzado el valor final de la variable de control

g.drawLine ( 

10, 10, 250, 

contador * 10);

Establecer el valor inicial de la variable de control

Dibuje una línea en el applet

Page 12: 5 Traduci Dazxcz

Incrementar la variable de control

 2003 Prentice Hall, Inc. Todos los derechos reservados.

10

5.4 Ejemplos de uso de la Declaración de La variación de la variable de control por declaración Vary controlar variable de 1 a 100 en incrementos de 1

f o (int i = 1; i <= 100; i ++)

Variar variable de control 100 a 1 en incrementos de - 1

for (int i = 100; i> = 1; i--)

Vary variable de control 7-77 en incrementos de 7

for (int i = 7; i <= 77; i + = 7)

 2003 Prentice Hall, Inc. 

Todos los derechos reservados.

Contorno

Page 13: 5 Traduci Dazxcz

11

Sum.java 

Línea 12

1 // Fig. 5.5: Sum.java

2 // Resumiendo enteros con la instrucción for.

Javax.swing.JOptionPane 3 de importación;

4

5 Suma public class {

6

7    static void main (String args []) públicos

8 {

9       = Total int 0; // inicializar suma

10

Page 14: 5 Traduci Dazxcz

11       // Enteros pares totales a partir de 2 100 a través

12       for (int numero = 2; número <= 100; número + = 2)

13 en total + = número;

14

15       // mostrar los resultados

16 JOptionPane.showMessageDialog (null, "La suma es" + totales,

17          "Total de enteros pares 2-100",

18          JOptionPane.INFORMATION_MESSAGE);

19

20 System.exit (0); // terminar la aplicación

21

22} // fin principal

23

Page 15: 5 Traduci Dazxcz

24} // fin de la clase Sum

número de incrementos por 2 cada iteración

 2003 Prentice Hall, Inc. 

Todos los derechos reservados.

Contorno

12

Interest.java 

Líneas 13-15 

Línea 18 

Línea 19 

1 // Fig. 5.6: Interest.java

Page 16: 5 Traduci Dazxcz

2 // Cálculo de interés compuesto.

Java.text.NumberFormat 3 de importación; // clase para el formato numérico

Java.util.Locale 4 importación; // clase de información específica del país

5

Javax.swing.JOptionPane 6 de importación;

Javax.swing.JTextArea 7 de importación;

8

9 Interés public class {

10

11    static void main (String args []) públicos

12 {

13       cantidad doble; // cantidad en depósito al final de cada año

14       doble director = 1000,0; // cantidad inicial antes de intereses

Page 17: 5 Traduci Dazxcz

15       doble tasa = 0,05; // tasa de interés

16

17       // Crear NumberFormat para la moneda en formato dólares

18 NumberFormat moneyFormat =

19 NumberFormat.getCurrencyInstance (Configuración regional de Estados Unidos.);

20

21       // Crear JTextArea para mostrar la salida

22 JTextArea outputTextArea = new JTextArea ();

23

24       // Establecer primera línea de texto en outputTextArea

25 outputTextArea.setText ("Año \ tAmount en depósito \ n");

26

Java trata a los puntos flotantes como tipo double

Page 18: 5 Traduci Dazxcz

NumberFormat puede formatear los valores numéricos en forma de moneda

Valores de la moneda de visualización con el signo de dólar ($)

 2003 Prentice Hall, Inc. 

Todos los derechos reservados.

Contorno

13

Interest.java 

Líneas 28-31

27       // Calcular la cantidad en depósito para cada uno de diez años,

28       for (int año = 1; años <= 10; años ++) {

29                                                           

30          // Calcular nuevo importe para el año especificado

31 = cantidad director * Math.pow (1,0 + tasa, año);

Page 19: 5 Traduci Dazxcz

32

33          // Añadir una línea de texto a outputTextArea

34 outputTextArea.append (año + "\ t" +

35 moneyFormat.format (cantidad) + "\ n");

36                                                           

37} // fin de                                                           

38

39       // mostrar los resultados

40 JOptionPane.showMessageDialog (null, outputTextArea,

41          "Interés compuesto", JOptionPane.INFORMATION_MESSAGE);

42

43 System.exit (0); // terminar la aplicación

44

Page 20: 5 Traduci Dazxcz

45} // fin principal

46

47} // fin de la clase interés

Calcular la cantidad por declaración

 2003 Prentice Hall, Inc. Todos los derechos reservados.

14

5.5 do ... while Declaración Repetición do ... while estructura Al igual que mientras que la estructura

Prueba de bucle de continuación después de realizar el cuerpo del bucle

es decir, el cuerpo del bucle siempre se ejecuta al menos una vez

 2003 Prentice Hall, Inc. 

Todos los derechos reservados.

Page 21: 5 Traduci Dazxcz

Contorno

15

DoWhileTest.java 

Líneas 16-20

1 // Fig. 5.7: DoWhileTest.java

2 // Usando el do ... while.

3 java.awt.Graphics de importación;

4

5 importación javax.swing.JApplet;

6

7 public class DoWhileTest extiende JApplet {

8  

9    // Dibujar líneas en subprograma

Page 22: 5 Traduci Dazxcz

10    public void paint (Graphics g)

11 {

12       súper .paint (g); // llamada a un método de pintura heredada de JApplet

13

14       int contador = 1; // inicializar contador

15

16       do {

17 g.drawOval (110 - Contador * 10, 110 - Contador * 10,

18 * 20 contador, contador * 20);

19 ++ contador;

20} while (contador <= 10); // fin do ... while

21

22} // método paint final

Page 23: 5 Traduci Dazxcz

23

24} // fin de la clase DoWhileTest

Óvalo se dibuja antes valor final de pruebas de contador

 2003 Prentice Hall, Inc. Todos los derechos reservados.

16

Fig. 5.8 do ... while diagrama de actividades instrucción de repetición.

Estado acción

[Verdadero]

[Falsa]

condición

 2003 Prentice Hall, Inc. Todos los derechos reservados.

17

5.6 Declaración interruptor de selección múltiple sentencia switch Se utiliza para múltiples selecciones

Page 24: 5 Traduci Dazxcz

 2003 Prentice Hall, Inc. 

Todos los derechos reservados.

Contorno

18

SwitchTest.java 

Líneas 16-21: 

Conseguir la entrada del usuario

1 // Fig. 5.9: SwitchTest.java

2 // dibujar líneas, rectángulos u óvalos basan en la entrada del usuario.

3 java.awt.Graphics de importación;

4

5 javax.swing importación. *;

6

Page 25: 5 Traduci Dazxcz

7 public class switchtest extiende JApplet {

8    int elección; elección // del usuario de forma que para dibujar

9

10    // Inicializar subprograma mediante la obtención de elección del usuario

11    public void init ()

12 {

Entrada de 13 cuerdas; entrada // del usuario

14

15       // Obtener la opción del usuario

16 entrada = JOptionPane.showInputDialog (

17          "Introduzca 1 para dibujar líneas \ n" +

18          "Enter 2 para dibujar rectángulos \ n" +

19          "Enter 3 dibujar óvalos \ n");

Page 26: 5 Traduci Dazxcz

20

21 elección = Integer.parseInt (entrada); // convertir la entrada a int

22

23} // fin del método init

24

25    // Dibujar formas en el fondo del subprograma

26    public void paint (Graphics g)

27 {

28       súper .paint (g); // llamada a un método de pintura heredada de JApplet

29

30       for (int i = 0; i <10; i ++) {// bucle 10 veces (0-9)

31

Obtener el aporte de usuario en JApplet

Page 27: 5 Traduci Dazxcz

 2003 Prentice Hall, Inc. 

Todos los derechos reservados.

Contorno

19

SwitchTest.java 

Línea 32: 

expresión de control 

Línea 32: 

sentencia switch 

Línea 48

32          switch (elección) {// determinar la forma de dibujar

Page 28: 5 Traduci Dazxcz

33                                                                    

34             caso 1: // dibujar una línea

35 g.drawLine (10, 10, 250, 10 + i * 10);

36                break; // caso, al tratamiento realizado

37                                                                    

38             caso 2: // dibujar un rectángulo

39 g.drawRect (10 + i * 10, 10 + i * 10,

40                   50 + i * 10, 50 + i * 10);

41                break; // caso, al tratamiento realizado

42                                                                    

43             caso 3: // dibujar un óvalo

44 g.drawOval (10 + i * 10, 10 + i * 10,

45                   50 + i * 10, 50 + i * 10);

Page 29: 5 Traduci Dazxcz

46                break; // caso, al tratamiento realizado

47                                                                    

48             default: // dibujar cadena que indica valor no válido ingresado

49 g.drawString ("Valor no válido entraron",

50                   10, 20 + i * 15);

51                                                                    

52} // end switch

53

54} // fin de

55

56} // método paint final

57

58} // fin de la clase switchtest

Page 30: 5 Traduci Dazxcz

caso por defecto de entradas no válidas

sentencia switch determina cuyo caso la etiqueta para ejecutar, en función de la expresión control

entrada del usuario (opción) es controlar la expresión

 2003 Prentice Hall, Inc. 

Todos los derechos reservados.

Contorno

20

SwitchTest.java

 2003 Prentice Hall, Inc. 

Todos los derechos reservados.

Contorno

21

SwitchTest.java

 2003 Prentice Hall, Inc. Todos los derechos reservados.

Page 31: 5 Traduci Dazxcz

22

Fig. 5.10 Interruptor de selección múltiple diagrama de actividades declaración con

sentencias break.

caso una acción (s)

rotura

acción (s) por defecto

[Verdadero]

caso b acción (s)

rotura

acción (s) caso z

rotura

.

.

.

[Falsa]

un caso

[Verdadero]

[Verdadero]

Page 32: 5 Traduci Dazxcz

caso b

z caso

[Falsa]

[Falsa]

 2003 Prentice Hall, Inc. Todos los derechos reservados.

23

5.7 romper y continuar Declaraciones romper / continuar Alterar flujo de control

sentencia break Causas salida inmediata de la estructura de control

Utilizado en tiempo, para, do ... while o interruptor declaraciones

sentencia continue Omite las sentencias restantes en el cuerpo del bucle

Page 33: 5 Traduci Dazxcz

Ingresos a la siguiente iteración

Utilizado en tiempo, a favor o en do ... while declaraciones

 2003 Prentice Hall, Inc. 

Todos los derechos reservados.

Contorno

24

BreakTest.java 

Línea 12 

Líneas 14-15

1 // Fig. 5,11: BreakTest.java

2 // Terminar un bucle con break.

Javax.swing.JOptionPane 3 de importación;

Page 34: 5 Traduci Dazxcz

4

5 public class BreakTest {

6

7    static void main (String args []) públicos

8 {

9 String salida = "";

10       int cuenta;

11      

12       for (cuenta = 1; contador <= 10; count ++) {// bucle 10 veces

13

14          Si (recuento == 5) // si el recuento es de 5,

15             break; // terminar bucle

16

Page 35: 5 Traduci Dazxcz

17 de salida + = count + "";

18

19} // fin de

20

21 de salida + = "\ nBroke de lazo en cuenta =" + cuenta;

22 JOptionPane.showMessageDialog (null, salida);

23

24 System.exit (0); // terminar la aplicación

25

26} // fin principal

27

28} // fin de la clase BreakTest

Loop 10 veces

Page 36: 5 Traduci Dazxcz

salida para la estructura (pausa) cuando el recuento es igual a 5

 2003 Prentice Hall, Inc. 

Todos los derechos reservados.

Contorno

25

ContinueTest.java 

Línea 11 

Líneas 13-14

1 // Fig. 5.12: ContinueTest.java

2 // Continuando con la siguiente iteración de un bucle.

Javax.swing.JOptionPane 3 de importación;

4

Page 37: 5 Traduci Dazxcz

5 public class ContinueTest {

6

7    static void main (String args []) públicos

8 {

9 String salida = "";

10

11       for (int cuenta = 1; contador <= 10; count ++) {// bucle 10 veces

12

13          Si (recuento == 5) // si el recuento es de 5,

14             continuar; // saltar código restante en bucle

15

16 de salida + = count + "";

17

Page 38: 5 Traduci Dazxcz

18} // fin de

19

20 de salida + = "\ Nused continuar saltarse la impresión 5";

21 JOptionPane.showMessageDialog (null, salida);

22

23 System.exit (0); // terminar la aplicación

24

25} // fin principal

26

27} // fin de la clase ContinueTest

Loop 10 veces

Saltear la línea 16 y proceder a la línea 11 cuando el recuento es igual a 5

 2003 Prentice Hall, Inc. Todos los derechos reservados.

26

Page 39: 5 Traduci Dazxcz

5.8 break y continue Declaraciones Etiquetada Bloque etiquetado Conjunto de sentencias encerradas por {}

Precedido por una etiqueta

Sentencia break Etiquetada Salir de las estructuras de control anidadas

Ingresos a la final del bloque etiquetado especificado

Etiquetada sentencia continue Omite las sentencias restantes en el cuerpo de bucle anidado

Ingresos a principios del bloque etiquetado especificado

 2003 Prentice Hall, Inc. 

Todos los derechos reservados.

Contorno

Page 40: 5 Traduci Dazxcz

27

BreakLabelTest.java 

Línea 11 

Línea 14 

Línea 17 

Líneas 19-20

1 // Fig. 5.13: BreakLabelTest.java

2 sentencia break // Etiquetada.

Javax.swing.JOptionPane 3 de importación;

4

Page 41: 5 Traduci Dazxcz

5 public class BreakLabelTest {

6

7    static void main (String args []) públicos

8 {

9 String salida = "";

10

11 parada: {// bloque etiquetado

12

13          // Contar 10 filas

14          for (int fila = 1; fila <= 10; fila ++) {

15

16             // Contar 5 columnas

17             for (int columna = 1; columna <= 5; columna ++) {

Page 42: 5 Traduci Dazxcz

18

19                si (fila == 5) // si la fila es 5,

20                   romper parada; // salto al final del bloque de tope

21

22 de salida + = "*";

23

24} // extremo interior para

25

26 de salida + = "\ n";

27

28} // fin exterior para

29

Loop 10 veces

Page 43: 5 Traduci Dazxcz

parada es el bloque etiquetado

Salir a la línea 35 (siguiente diapositiva)

Bucle anidado 5 veces

 2003 Prentice Hall, Inc. 

Todos los derechos reservados.

Contorno

28

BreakLabelTest.java 

30          // Siguiente línea se salta

31 de salida + = "\ nLoops terminó con normalidad";

32

33} // bloque extremo etiquetado

34

35 JOptionPane.showMessageDialog (null, la producción,

Page 44: 5 Traduci Dazxcz

36          "Prueba de romper con una etiqueta",

37          JOptionPane.INFORMATION_MESSAGE);

38

39 System.exit (0); // terminar la aplicación

40

41} // fin principal

42

43} // fin de la clase BreakLabelTest

 2003 Prentice Hall, Inc. 

Todos los derechos reservados.

Contorno

29

ContinueLabelTest.java 

Page 45: 5 Traduci Dazxcz

Línea 11 

Línea 14 

Línea 17 

Líneas 21-22

1 // Fig. 5.14: ContinueLabelTest.java

2 // Etiquetada sentencia continue.

Javax.swing.JOptionPane 3 de importación;

4

5 public class ContinueLabelTest {

6

7    static void main (String args []) públicos

Page 46: 5 Traduci Dazxcz

8 {

9 String salida = "";

10

Etiqueta // objetivo de continuar declaración: 11 NextRow

12

13          // Contar 5 filas

14          for (int fila = 1; fila <= 5; fila ++) {

15 de salida + = "\ n";

16  

17             // Contar 10 columnas por fila

18             for (int columna = 1; columna <= 10; columna ++) {

19   

20                // Si la columna mayor de fila, se inicia la siguiente fila

Page 47: 5 Traduci Dazxcz

21                si (columna> fila)

22                   continuar NextRow; // siguiente iteración del bucle etiquetado

23   

24 de salida + = "*";

25

26} // extremo interior para

27

28} // fin exterior para

NextRow es el bloque etiquetado

Loop 5 veces

Bucle anidado 10 veces

continuar a la línea 11 (NextRow)

 2003 Prentice Hall, Inc. 

Todos los derechos reservados.

Page 48: 5 Traduci Dazxcz

Contorno

30

ContinueLabelTest.java

29

30 JOptionPane.showMessageDialog (null, la producción,

31          "Prueba de continuar con una etiqueta",

32          JOptionPane.INFORMATION_MESSAGE);

33

34 System.exit (0); // terminar la aplicación

35

36} // fin principal

37

38} // fin de la clase ContinueLabelTest

 2003 Prentice Hall, Inc. Todos los derechos reservados.

Page 49: 5 Traduci Dazxcz

31

5.9 Operadores lógicos Los operadores lógicos Permite la formación de condiciones más complejas

Combina condiciones simples

Operadores lógicos Java && (Condicional AND)

Y (booleano AND lógico)

|| (OR condicional)

| (Booleano OR lógico inclusive)

^ (Boolean lógico OR exclusivo)

! (NOT lógico)

 2003 Prentice Hall, Inc. Todos los derechos reservados.

Page 50: 5 Traduci Dazxcz

32

 2003 Prentice Hall, Inc. Todos los derechos reservados.

33

 2003 Prentice Hall, Inc. 

Todos los derechos reservados.

Contorno

34

LogicalOperators.java 

Líneas 16-20 

Líneas 23-27 

1 // Fig. 5.19: LogicalOperators.java

2 // Los operadores lógicos.

Page 51: 5 Traduci Dazxcz

3 javax.swing importación. *;

4

5 LogicalOperators clase públicos

6

7    static void main (String args []) públicos

8 {

9       // Crear JTextArea para mostrar los resultados

10 JTextArea areaSalida = new JTextArea (17, 20);

11

12       // Adjuntar JTextArea a un JScrollPane para que el usuario puede desplazarse entre los resultados

13 JScrollPane scroller = new JScrollPane (areaSalida);

14

15       // Crea tabla de verdad para el operador && (condicional AND)

Page 52: 5 Traduci Dazxcz

16 String salida = "lógico AND (&&)" +

17          "\ Nfalse && falsa:" + (false && false) +

18          "\ Nfalse && verdad:" + (false && true) +

19          "\ Ntrue && falsa:" + (true && false) +

20          "\ Ntrue && verdad:" + (true && true);

21

22       // Crea tabla de verdad para el operador || (OR condicional)

23 de salida + = "\ n \ nLogical OR (||)" +

24          "\ Nfalse || falsa:" + (falso || false) +

25          "\ Nfalse || verdadero:" + (falso || true) +

26         "\ Ntrue || falsa:" + (true || false) +

27          "\ Ntrue || verdadero:" + (true || true);

28

Page 53: 5 Traduci Dazxcz

Mesa Condicional Y la verdad

Mesa OR condicional verdad

 2003 Prentice Hall, Inc. 

Todos los derechos reservados.

Contorno

35

LogicalOperators.java 

Líneas 30-34 

Líneas 37-41 

Líneas 44-48 

Page 54: 5 Traduci Dazxcz

Líneas 51-53 

29       // Crea tabla de verdad para operador & (booleano AND lógico)

30 de salida + = "\ n \ nBoolean lógica AND (&)" +

31          "\ Nfalse y falsa:" + (falso y falso) +

32          "\ Nfalse y verdadera:" + (falso y verdadero) +

33         "\ Ntrue y falsa:" + (verdadero y falso) +

34          "\ Ntrue y verdadera:" + (true y true);

35

36       // Crea tabla de verdad para operador | (OR inclusivo lógico boolean)

37 de salida + = "\ n \ nBoolean lógica incluyente O (|)" +

38          "\ Nfalse | false:" + (falso | false) +

39          "\ Nfalse | true:" + (false | true) +

Page 55: 5 Traduci Dazxcz

40          "\ Ntrue | false:" + (true | false) +

41          "\ Ntrue | true:" + (true | true);

42

43       // Crea tabla de verdad para ^ operador (OR exclusivo lógico booleano)

44 de salida + = "\ n \ nBoolean lógico OR exclusivo (^)" +

45          "\ Nfalse ^ falsa:" + (falso ^ false) +

46          "\ Nfalse ^ verdad:" + (falso ^ true) +

47          "\ Ntrue ^ falsa:" + (true ^ false) +

48          "\ Ntrue ^ verdad:" + (true ^ true);

49

50       // Crea tabla de verdad para! (Negación lógica) del operador

51 de salida + = "\ n \ nLogical NOT (!)" +

52          "\ N falsa:!" + + (Falso!)

Page 56: 5 Traduci Dazxcz

53          "\ N verdadera:" +; (verdad!)

54

55 outputArea.setText (salida); // lugar los resultados en JTextArea

56

Lógico NO tabla de verdad

Boolean mesa OR exclusivo verdad lógica

Boolean mesa OR inclusivo verdad lógica

Boolean tabla lógica y verdad

 2003 Prentice Hall, Inc. 

Todos los derechos reservados.

Contorno

36

LogicalOperators.java

57 JOptionPane.showMessageDialog (null, desplazador,

Page 57: 5 Traduci Dazxcz

58          "Tablas de verdad", JOptionPane.INFORMATION_MESSAGE);

59

60 System.exit (0); // terminar la aplicación

61

62} // fin principal

63

64} // fin de la clase LogicalOperators

 2003 Prentice Hall, Inc. Todos los derechos reservados.

37

 2003 Prentice Hall, Inc. Todos los derechos reservados.

38

5.10 Resumen de Programación Estructurada Estructura de la secuencia "Built-in" para Java

Page 58: 5 Traduci Dazxcz

Estructura Selección si, si ... else y el interruptor

Estructura de repetición while, do ... while y for

 2003 Prentice Hall, Inc. Todos los derechos reservados.

39

Fig. 5.21 Java 's de una sola entrada / secuencia de una sola salida, selección y instrucciones de

repetición.

[T]

[F]

[F]

[T]

rotura

rotura

[T]

rotura

Page 59: 5 Traduci Dazxcz

[T]

[F]

[T]

[F]

[T]

[F]

[T]

[F]

Repetición

while

hacer while

para la declaración

Selección

Secuencia

si else (doble selección)

if (selección individual)

sentencia switch (selección múltiple)

.

Page 60: 5 Traduci Dazxcz

.

.

[T]

[F]

defecto

 2003 Prentice Hall, Inc. Todos los derechos reservados.

40

Estado acción

Fig. 5.23 Diagrama de actividad más simple.

 2003 Prentice Hall, Inc. Todos los derechos reservados.

41

Fig. 5.24 aplicar repetidamente el artículo 2 de la Fig. 5,22 para el diagrama de actividad más

simple..

.

.

Estado acción

Page 61: 5 Traduci Dazxcz

Estado acción

aplicar la Regla 2

aplicar la Regla 2

aplicar la Regla 2

Estado acción

Estado acción

Estado acción

Estado acción

Estado acción

Estado acción

 2003 Prentice Hall, Inc. Todos los derechos reservados.

42

Fig. 5.25 La aplicación de la regla 3 de la Fig. 5,22 para el diagrama de actividad más simple.

Estado acción

aplicar la Regla 3

aplicar la Regla 3

aplicar la Regla 3

Page 62: 5 Traduci Dazxcz

Estado acción

Estado acción

Estado acción

Estado acción

Estado acción

Estado acción

[F] [t]

[F] [t]

[F] [t]

[F] [t]

 2003 Prentice Hall, Inc. Todos los derechos reservados.

43

Fig. Diagrama 5.26 Actividad con sintaxis ilegal.

Estado acción

Estado acción

Estado acción

Estado acción

Page 63: 5 Traduci Dazxcz

 2003 Prentice Hall, Inc. Todos los derechos reservados.

44

5.11 (Ejemplo práctico opcional) Acerca de los objetos: Unidos y Actividades Identificación de

Objetos ' Estado Describe la condición de un objeto 's en un momento dado

Diagrama de estado (UML) Exprese cómo un objeto puede cambiar de estado

Expresar en qué condiciones un objeto puede cambiar de estado

Notación diagrama (Fig. 5.28)

Los Estados están representados por rectángulos redondeados

por ejemplo, "No Presionado "y" prensado "

Page 64: 5 Traduci Dazxcz

Círculo sólido (con punta de flecha adjunta) designa estado inicial

Las flechas representan transiciones (cambios de estado)

Objetos cambian de estado en respuesta a los mensajes

por ejemplo, "buttonPressed" y "buttonReset"

 2003 Prentice Hall, Inc. Todos los derechos reservados.

45

Fig. 5.27 diagrama de estados para objetos FloorButton y ElevatorButton.

buttonReset

buttonPressed

Presionado

No pulsado

 2003 Prentice Hall, Inc. Todos los derechos reservados.

46

Page 65: 5 Traduci Dazxcz

5.11 (Ejemplo práctico opcional) Acerca de los objetos: Identificación Unidos y

Actividades Objects (cont.): Diagrama de Actividad (UML) Modelos de flujo de trabajo de un objeto 's durante la ejecución del programa

Modelos de las acciones que un objeto realizar

Notación diagrama (Fig. 5.28)

Actividades están representados por óvalos

Círculo sólido designa actividad inicial

Las flechas representan las transiciones entre actividades

Pequeño diamante representa rama

Page 66: 5 Traduci Dazxcz

Siguiente transición en la sucursal se basa en la condición de

guardia

 2003 Prentice Hall, Inc. Todos los derechos reservados.

47

Fig. Diagrama 5.28 Actividad para un objeto Person.

[Puerta piso cerrado]

botón del ascensor de prensa

entrar en ascensor

avanzar hacia botón del piso

esperar a que la puerta se abra

botón del piso de prensa

esperar a que la puerta se abra

[Puerta de piso abierto]

salida del ascensor

esperar a los pasajeros para salir del ascensor

[Pasajero en ascensor]

[Ningún pasajero en el elevador]

Page 67: 5 Traduci Dazxcz

 2003 Prentice Hall, Inc. Todos los derechos reservados.

48

Fig. Diagrama 5.29 Actividad para el objeto Ascensor.

cierre la puerta del ascensor

campana del anillo

botón del ascensor reinicio

[Inactivo ascensor]

[Botón del piso de destino

pulsado]

puerta del ascensor abierta

[Ascensor en movimiento]

[Botón del piso actual

pulsado]

[Botón del piso presiona]

[Botón del ascensor presiona]

[Citado]

[No convocado]

Page 68: 5 Traduci Dazxcz

conjunto convocó a la verdadera

conjunto convocó a falso

mover al piso de destino

[Botón del piso de destino

pulsado]

[Botón del piso actual

pulsado]