POO Parte 1

Embed Size (px)

Citation preview

  • 7/23/2019 POO Parte 1

    1/80

    GRAMATICA LENGUAJE JAVA

    ANTECEDENTE

    Para describir la gramtica del lenguaje Java se utilizara la Forma Backus Neur

    (BNF). Los Autores de este libro utilizan las siguientes formas:< > Elemento No Terminal Compuesto de define

    : - Se Define como compuesto de

    Sucesin

    ( ) Agrupa

    max

    min

    Indica cantidad Mnima y mxima de Elementos

    1. NATURALEZA DE LOS SIMBOLOSJava define los smbolos de naturaleza::- :- :-09: -

    SIMBOLOS NATURALEZA

    AZ

    az

    09

    + - * /%

    & | (Alt 124)

    > < =

    { }

    ( ) [ ]

    , ; .

  • 7/23/2019 POO Parte 1

    2/80

    2. TOKENS:REGLAS (BNF)

    Token: Se define como una coleccin de smbolos de igual naturaleza.

    Los Token se pueden definir de naturaleza:

    :-

    :-> == (igual) = != (diferente)

    :- || (or) && (and) ! (negacin)

    Ejemplo: i

  • 7/23/2019 POO Parte 1

    3/80

    :- < reservada> < clase>< mtodo>

    :- >New>File

  • 7/23/2019 POO Parte 1

    20/80

    Seleccionar la Opcin Empty Java Filey despus el botn Next

    En el Nombre coloque Primeroy pulse el Botn Finsh

  • 7/23/2019 POO Parte 1

    21/80

    Aparece el Ambiente de Trabajo.

    rea Cdigo Java Compilar Ejecutar el Programa

    Antecedente

    1. En el importse coloca el paquete de clases

    Por defecto es import java.lang.*;

    2. El Nombre del public classes igual al nombre del archivo

    Por ejemplo si el nombre del archivo es Primero.javaSe debe escribir public class Primero

    3. Seleccione desde el import hasta el segundo}

    Men Edicin>copiar

    import java.lang.*;

    public class

    {

    public static void main(String[ ] args)

    {

    }

    }

  • 7/23/2019 POO Parte 1

    22/80

    a. Men Edicin>Pegarb. Coloque la palabra Primero en la lnea public class as:

    public class Primero

    c. Vamos a hacer la multiplicacin de dos numero ( c = a x b ) por medio desumas sucesivas , lo primero que se debe hacer es forma algortmicaEntero a, b, c, ic = 0a = 3b = 5Para i = 1 hasta b

    c = c + aFparaEscriba c

    d. Una vez modelado y probado el algoritmo se procede a codificar en Java,para eso, se debe colocar el cdigo java debajo de

    public static void main(String[ ] args)

    {

    Codigo javaint a=3, b=5,c=0, i ;for(i=1; i

  • 7/23/2019 POO Parte 1

    23/80

    d. El Programa debe quedar as:

    import java.lang.*;public class Primero{

    public static void main(String[] args){int a=3, b=5,c=0, i ;

    for(i=1; i

  • 7/23/2019 POO Parte 1

    24/80

    4. Para compilar (Verificacin de errores lxicos y sintcticos)

    Men Build>Build File

    En la Ventana Build Output se verifica existencia de errores. En este casono los hay.

    5. Para Ejecutar el Programa

    Men Run>Run File

    Si usted desea continuar, ahora vamos hacer los siguientes ejercicios:

    a) Potenciab) Fibonacci

  • 7/23/2019 POO Parte 1

    25/80

    Prctica De Potencia1. Men File > Close WorkSpace

    2. Seleccione desde el import hasta el segundo}

    Men Edicin>copiar

    import java.lang.*;public class{

    public static void main(String[ ] args){

    }}

    3. Es Necesario crear el archivo java:

    Men File>New>File

    a. En la casilla de texto Name:coloque el nombre del programa conextensin java), en este caso Potencia

    b. En la Casilla de Texto Location: C:\ o utilice el botn y seleccione C:(Carpeta Raz)

    c. Pulse el BotnFinish

    d. Men Edicin>Pegar en la ventana de cdigo

    e. Coloque la palabra Potencia en la lnea public class as:public class Potencia

    4. Lo primero que se debe hacer es en forma algortmica

    Entero pot, b, n, i

    pot=1

    b= 3

    n = 5

    Para i = 1 hasta n

    pot = pot * b

    Fpara

    Escriba pot

  • 7/23/2019 POO Parte 1

    26/80

    5. Una vez modelado y probado el algoritmo se procede a codificar en Java,para eso, se debe colocar el cdigo java debajo de

    public static void main(String[ ] args)

    {cdigo java

    int i,n=5,b=4,pot=1;

    for(i=1;iRun File

  • 7/23/2019 POO Parte 1

    27/80

    Prctica De Fibonacci1. Men File > Close WorkSpace

    2. Seleccione desde el import hasta el segundo}

    Men Edicin>copiar

    import java.lang.*;

    public class

    {

    public static void main(String[ ] args)

    {

    }

    }

    3. Es Necesario crear el archivo java:

    Men File>New>File

    a. En la casilla de texto Name:coloque el nombre del programa conextensin java), en este caso Fibonacci

    b. En la Casilla de Texto Location: C:\ o utilice el botn y seleccioneC: (Carpeta Raz)

    c. Pulse el BotnFinish

    d. Men Edicin>Pegar Men en la ventana de cdigo

    e. Coloque la palabra Fibonacci en la lnea public class as:f. public class Fibonacci

    g. Lo primero que se debe hacer es en forma algortmica

  • 7/23/2019 POO Parte 1

    28/80

    Entero a,b,c,ia=0b=1Para I=1 hasta 10

    c=a+bEscriba(c)b=aa=c

    Fpara

    5. Una vez modelado y probado el algoritmo se procede a codificar en Java,para eso, se debe colocar el cdigo java debajo de

    public static void main(String[ ] args)

    {

    cdigo java

    int a=0,b=1,c=0,i;

    for(i=1;i

  • 7/23/2019 POO Parte 1

    29/80

    6. El Programa debe quedar as:import java.lang.*;

    public class Fibonacci

    {

    public static void main(String[] args)

    {

    int a=0,b=1,c=0,i;

    for(i=1;iBuild File

    En la Ventana Build Output se verifica existencia de errores. En este casono los hay.

    8. Para Ejecutar el ProgramaMen Run>RunFile

    Taller hecho por y para ustedes. Gracias

  • 7/23/2019 POO Parte 1

    30/80

    2.6 Sentencias de Entrada/Salida

    Entrada de Datos:

    Forma 1(Ver TALLER LECTURA DESDE EL TECLADO.doc):

    String S;DataInputStream in=new DataInputStream(System.in);System.out.println("Digite Cadena");try

    {S=in.readLine();}

    catch(IOException e){}

    Forma 2(Ver TALLER CAJAS DE DIALOGO.doc):

    El mtodo showInputDialog

    Este mtodo nos permite mostrar dilogos estandarizados que nos piden queintroduzcamos algn dato. Al igual que en los mtodos anteriores losargumentos que utilizan principalmente son el mensaje a mostrar, el ttulo, etc.A continuacin vemos un ejemplo de uso de este mtodo.

    String n = JOptionPane.showInputDialog(null, "Introduce el dato");

    Como podemos observar en el cdigo anterior este mtodo nos devuelve unacadena que contiene los datos que hemos introducido en el dilogo.

    Nota: Debe utilizarse import javax.swing.*;

    Forma 3(Ver TALLER Paquete Util .doc):

    Se puede usar la Clase Scanner para realizar la entrada de datos desdeteclado.

    Scanner scanner = new Scanner(System.in);

    System.out.print("Escriba dos nmeros: ");

  • 7/23/2019 POO Parte 1

    31/80

    double x = scanner.nextDouble();

    double y = scanner.nextDouble();

    System.out.println("producto: " + (x + y));

    La clase Scanner ofrece una serie de mtodos que permiten ingresar tiposprimitivos de datos utilizando:

    int nextInt() double nextDouble() boolean nextBoolean()byte nextByte() float nextFloat()short nextShort()long nextLong()

    Nota: Debe utilizarse import java.util.*;

  • 7/23/2019 POO Parte 1

    32/80

    Salida de Datos:

    Forma 1:

    System.out.println( ); // Salta lnea e publica cadenaSystem.out.print( ); // Publica cadenaEjemplo:System.out.println(H o l a);

    Forma 2(Ver TALLER CAJAS DE DIALOGO.doc):

    El mtodo showMessageDialog

    Este mtodo nos permite mostrar dilogos que muestran un mensaje y

    contienen un botn de aceptacin. Los parmetro mnimos necesariosdependen del carcter del mensaje aunque general mente son la ventanapadre, el mensaje a mostrar, el ttulo del dilogo y el tipo de mensaje que semostrar. En las siguientes figuras podremos ver algunos ejemplos junto alcdigo que lo genera.

    JOptionPane.showMessageDialog( null, Dilogo de informacin);

    JOptionPane.showMessageDialog( null, Dilogo de advertencia, Ttulo delMensaje, JOptionPane.WARNING_MESSAGE);

    JOptionPane.showMessageDialog( null, Dilogo de error, Ttulo delMensaje, JOptionPane.ERROR_MESSAGE);

    Nota. Debe utilizarse import javax.swing.*;

  • 7/23/2019 POO Parte 1

    33/80

  • 7/23/2019 POO Parte 1

    34/80

    Ejemplo. Puntos Mnimos

    rbo l de Condicin

    SINTAXIS JAVA

    Forma 1:

    If( )

    |

    Forma 2:

    If( )

    |

    else

    |

    Donde:La palabra reservada elseindica Ausencia

    Puntos>=6Presencia

    Ausencia

    ESCRIBAPasalaprueba

    ESCRIBARepetirPrueba

  • 7/23/2019 POO Parte 1

    35/80

    Las BNF son:

    : : - < condicionante >

    : : - && | |

    : : - < variable >

    :: - > < >=

  • 7/23/2019 POO Parte 1

    36/80

    PROGRAMA EN JAVA (Compilado JCREATOR) DEL MAYOR DE EDAD

    import java.util.*;public class Prueba1{

    public static void main(String args[]){int edad;

    Scanner scanner = new Scanner(System.in);System.out.print("Lea edad: ");edad = scanner.nextInt();if(edad>=18)System.out.print("Es mayor de Edad ");

    elseSystem.out.print("Es menor de Edad ");

    }}

    PROGRAMA EN JAVA (Compilado JCREATOR) PUNTOS MINIMOS

    import java.util.*;public class Prueba2{public static void main(String args[]){

    int puntos;Scanner scanner = new Scanner(System.in);System.out.print("Lea puntos: ");puntos = scanner.nextInt();if(puntos>=6)System.out.print(" Paso la Prueba ");else

    System.out.print(" Perdio la Prueba ");}

    }

  • 7/23/2019 POO Parte 1

    37/80

    2.8 AUTOMATA DE CICLO FINITO

    Se conoce el nmero de veces a realizar determinada(s) actividad(es)

    Se realiza en cuatro momentos:

    E0. Previo al Autmata

    a. Inicializar el ndiceb. Comparar el ndice contra una cota o limite superior e inferiorc. Actividad(es) a Realizard. Incremento o decremento de ndice

    a

    b

    c

    d

  • 7/23/2019 POO Parte 1

    38/80

  • 7/23/2019 POO Parte 1

    39/80

    EJEMPLOS:

    1. La Multiplicacin de A X B por medio de Suma. Esta suma se representa como lasumatoria de B en A Veces.

    A B = 0 + B + B + Bi=1 A - Veces

    El ndice i va desde 1 hasta A seai = 1 ALimite Inferior =1Limite Superior = A

    E0.S=0 La Sumatoria se debe iniciar en 0Lea A

    Lea BAutmata

    a. i=1b. i

  • 7/23/2019 POO Parte 1

    40/80

    2. El Factorial de un numero n.Lea n i = 1*1*2*3*.n (Multiplicatoria de i n veces)

    i=1 n - Veces

    El ndice i va desde 1 hasta n seai = 1 nLimite Inferior =1Limite Superior = n

    E0.F=1 La Multiplicatoria se debe iniciar en 1Lea n

    Autmataa. i=1b. i

  • 7/23/2019 POO Parte 1

    41/80

    3. Listar hasta el Termino n esimo de la serie de Fibonacci

    El ndice i va desde 1 hasta n seai = 1 nLimite Inferior =1Limite Superior = n

    E0.Padre=0Abuelo= 1Lea n

    Autmata

    a. i=1b. i

  • 7/23/2019 POO Parte 1

    42/80

  • 7/23/2019 POO Parte 1

    43/80

  • 7/23/2019 POO Parte 1

    44/80

    CICLO ANIDADOS

    Se presenta cuando un Autmata hace parte del momento c de otro Autmata.Se representa de la siguiente manera:

    a

    b

    d

    d

    c

    c

  • 7/23/2019 POO Parte 1

    45/80

    Entonces se habla de un Autmata Externo y un Autmata Interno.

    5. A nivel de interpretacin, se va a ilustrar un Autmata de Horas y unAutmata de Minutos.

    El Autmata de Horas es el Externo y su ndice Hora va desde 0 hasta 23

    El Autmata de Minutos es el interno y su ndice Minuto va desde 0 hasta 59

    Autmata Externo

    a. Hora = 0b. Hora < = 23c. Autmata Interno

    a. Minuto = 0b. Minuto < = 59c. Mostrar Hora: Minutod. Minuto = Minuto +1

    Ir al Momento b del Autmata Interno

    Fin Autmata Interno

    d. Hora = Hora +1Ir al Momento b del Autmata externo

    PROGRAMA EN JAVA (Compilado JCREATOR)

    public class Prueba6{public static void main(String args[]){

    int Hora, Minuto;for(Hora=0;Hora

  • 7/23/2019 POO Parte 1

    46/80

    6. Lectura y Escritura de una matrizUna Matriz es un Arreglo Bidimensional. Se puede representar como un conjunto deVectores, donde se estructura por filas y columnasSe debe declarar una Matriz de n posiciones por n - posiciones.Donde las primeras n Posiciones representan las Filas

    Las Segundas n Posiciones representan las ColumnasEn el caso de Java como C, las filas como las columnas inician en 0 y llegan hasta laposicin n-1

    0 1 2 3 4 . . . n -10

    1

    A FILAS

    n-1

    COLUMNAS

    Para recorrer una Matriz se requiere de un ndice para las filas y otro ndice para lascolumnas:Entonces, se necesita de dos Autmatas uno Externo para recorrer filas y un Internopara recorrer columna por columna de la fila activa ( ndice autmata externo).

    indice Externo= 0 n 1. Se toma como el ndice iIndice Interno= 0 n 1. Se toma como el ndice jLimite Inferior = 0Limite Superior = n 1

    E0:Constante Entera n = 10Entera A [n] [n] Se declara una Matriz A de n posiciones por n - posiciones

  • 7/23/2019 POO Parte 1

    47/80

    Autmata de Lectura

    Autmata Externo

    a. i = 0b. i < n

    c.Autmata Internoa. j=0b. j < nc. Lea A[ i ] [ j ]d. j = j +1ir al momento b del Autmata Interno

    Fin Autmata Interno

    d. i =i + 1ir al Momento b del Autmata Externo

    Autmata de Escr ituraAutmata Externo

    a. i = 0b. i < nc.

    Salto de LneaAutmata Internoa. j=0b. j < n

    c. Escriba A[ i ] [ j ]d. j = j +1ir al momento b del Autmata Interno

    Fin Autmata Interno

    d. i =i + 1ir al Momento b del Autmata Externo

  • 7/23/2019 POO Parte 1

    48/80

    PROGRAMA EN JAVA (Compilado JCREATOR)

    import java.util.*;

    class LecturaEscrituraMatriz

    {public static void main(String[] args)

    {

    int filas, columnas,i,j;

    Scanner scanner = new Scanner(System.in);

    System.out.println("Digite las filas ");

    filas = scanner.nextInt();

    System.out.println("Digite las columnas ");

    columnas = scanner.nextInt();

    int A[][]=new int[filas][columnas];

    //Lectura()

    for(i=0;i

  • 7/23/2019 POO Parte 1

    49/80

    System.out.print(A[i][j]+" ");

    }

    }

    System.out.println();

    System.exit(0);

    }

    }

    7. Ordenamiento de un VectorSolo se analiza el Autmata de Ordenamiento de un vector n posiciones porque losautmatas de lectura y escritura en un vector fueron ya analizados.

    Se toma como caso un ordenamiento sencillo que este autor lo denomina lineal queconsiste en dos ndices (indica posicin dentro del vector) comparado y comparante:

    Comparado Comparante

    Posicin 0 Posicin 1 hasta n -1

    Posicin 1 Posicin 2 hasta n -1

    Posicin 2 Posicin 3 hasta n -1

    Se concluye entonces

    Autmata Externo

    Posicin i= 0n - 2

    Autmata Interno

    Posicin j= i + 1 . n - 1

  • 7/23/2019 POO Parte 1

    50/80

    E0:

    Constante Entera n = 10

    Entera A [n] Se declara el Vector A de n posiciones

    Autmata de lectura de vector

    Autmata de Escritura de Vector

    Autmata Externo(Comparado)

    a. i=0b. i < n -1 // Igual a n < = n-2c.

    Autmata Interno(Comparante)

    a. j = i + 1b. j < n // Igual a n A[ j ]

    k= A[ i]

    A[ i ] = A[ j ]

    A[ j ] = k

    Fin Si

    d. j = j +1

    ir al momento b del Autmata Interno

    Fin Autmata Interno

    d. i =i + 1

    ir al Momento b del Autmata Externo

    Fin Autmata Externo

    Autmata Escritura vector

  • 7/23/2019 POO Parte 1

    51/80

    PROGRAMA EN Java (Compilado JCreator)

    import java.util.*;public class OrdenVector{

    public static void main(String[] args){int n,i,j,aux;

    int A[];Scanner scanner = new Scanner(System.in);System.out.println("Lea Dimension o tamao del vector: ");n=scanner.nextInt();

    System.out.println();A=new int[n];for(i=0;i

  • 7/23/2019 POO Parte 1

    52/80

    AUTOMATA DE CICLO MIENTRAS QUE

    Se realiza una sentencia(s) siempre y cuando se presente una condicin. Estacondicin se denomina Condicin de Permanencia(CP) .

    Semnticamente se expresa Mientras quese cumpla con la condicin de

    Permanencia se realizan las sentenciasEs muy importante, tener en cuenta que la condicin cambie de valor en algn

    instante.

    Este Autmata evala la condicin de Permanencia antes de realizarsentencias (momento c), por eso se denomina Autmata de Pre Condicin dePermanencia

    MOMENTOS QUE PASA

    E0 Estado Previo al Autmata

    b. Si se cumple CP(Condicin de Permanencia)

    c. Sentencia(s)

    d. Ir al Momento b

    e. Condicin de Salida = negacion(CP)

    E0

    b

    c

    d

    e

  • 7/23/2019 POO Parte 1

    53/80

    SINTAXIS JAVA:

    while( b)

    c

    Donde

    c::- ; | |

    El BNF es el siguiente:

    : : - < condicionante >

    : : - && | |

    : : - < variable >

    :: - > < >= 0 Porque debe tener dgitos a obtener

  • 7/23/2019 POO Parte 1

    54/80

    Autmata Mientras Que

    b. si tope0 (CP)

    c.

    tope=tope+1

    A[tope]= residuo(x,10) // x residuo de 10

    x= x /10

    d. ir a b

    Fin Autmata Mientras Que

    Autmata Escribir Vector:( 0tope)

    PROGRAMA EN Java (Compilado JCreator)

    import java.util.*;public class Prueba7{

    public static void main(String[] args){

    int n,i,x,tope=-1;int A[];Scanner scanner = new Scanner(System.in);System.out.println("Lea Numero de Digitos: ");n=scanner.nextInt();

    System.out.println();A=new int[n];

    System.out.println("Lea Numero a digitalizar: ");x=scanner.nextInt();while(tope0)

    {

    tope++;A[tope]= x % 10;x/=10;

    }System.out.println();System.out.println("Numero Digitalizado: ");for(i=tope;i>=0;i--)System.out.println("A["+i+"]: "+A[i]+" ");

    }}

  • 7/23/2019 POO Parte 1

    55/80

    9. Bsqueda de un valor x en un vector no ordenadoE0:

    Constante Entera n = 10Entera A [n] Se declara el Vector A de n posicionesLectura x // valor a buscar dentro del vector

    Autmata de lectura de vectorAutmata de Escritura de vectorCondicin de Permanencia (CP):: i

  • 7/23/2019 POO Parte 1

    56/80

    PROGRAMA EN Java (Compilado JCreator)

    import java.util.*;public class Prueba8{

    public static void main(String[] args){int n,i,x;

    int A[];Scanner scanner = new Scanner(System.in);System.out.println("Lea Tamao Vector: ");n=scanner.nextInt();

    System.out.println();A=new int[n];for(i=0;i

  • 7/23/2019 POO Parte 1

    57/80

  • 7/23/2019 POO Parte 1

    58/80

    PROGRAMA EN JAVA (Compilado JCreator)

    import java.util.*;

    public class Prueba9

    {

    public static void main(String[] args)

    {

    int i,n;

    Scanner scanner = new Scanner(System.in);

    System.out.println("Lea Numero a Evaluar: ");

    n=scanner.nextInt();

    i=2;

    while(i

  • 7/23/2019 POO Parte 1

    59/80

  • 7/23/2019 POO Parte 1

    60/80

  • 7/23/2019 POO Parte 1

    61/80

  • 7/23/2019 POO Parte 1

    62/80

    if(i

  • 7/23/2019 POO Parte 1

    63/80

  • 7/23/2019 POO Parte 1

    64/80

    SINTAXIS Java:

    do

    {

    c

    }

    while( b);

    Donde

    c::- ; | |

    El BNF es el siguiente:

    : : - < condicionante >

    : : - && | |

    : : - < variable >

    :: - > < >=

  • 7/23/2019 POO Parte 1

    65/80

    11. Validacin de un NumeroSe desea que una Nota este entre 110

    E0:

    Condicin de Permanencia (CP)

    En este caso se aplica la conceptualizacin de:

    CP = negacin (Condicin de Salida CS)

    CS:: nota>= 1 && nota < = 10 ; entonces

    CP:: nota< 1 || nota > 10

    Autmata Haga Mientras Que

    c. Lea Nota

    b. Si nota< 1 || nota > 10 ir a c

    Fin Autmata Haga Mientras Que

    nota>=6Presencia

    Ausencia

    ESCRIBAPasalaprueba

    ESCRIBARepetirPrueba

  • 7/23/2019 POO Parte 1

    66/80

    Programa compilado en JCreator

    import java.util.*;

    public class Prueba13

    {public static void main(String args[])

    {

    int nota;

    Scanner scanner = new Scanner(System.in);

    do

    {

    System.out.print("Lea Nota: ");

    nota = scanner.nextInt();

    }

    while(nota10);

    if(nota>=6)

    System.out.print(" Paso la Prueba ");

    else

    System.out.print(" Perdio...repetir la Prueba ");

    }

    }

  • 7/23/2019 POO Parte 1

    67/80

    12. Bsqueda Binaria

    Previamente debe estar ordenado el Vector

    Se deben declarar tres ndices minimo, maximo y mitad

    Se debe buscar un numero x en la mitadde la mitaddel vector

    donde mitad= (minimo+maximo)/2

    E0:

    Constante Entera n = 10

    Entera A [n] Se declara el Vector A de n posiciones

    Autmata de lectura de vector

    Autmata de Escritura de Vector

    Autmata de Ordenamiento de Vector

    Autmata de Escritura de Vector

    minimo=0

    maximo=n-1

    Lea x // valor a buscarCondicin de Permanencia (CP)

    En este caso se aplica la conceptualizacin de:

    CP = negacin (Condicin de Salida CS-)

    CS:: minimo > maximo || A[mitad] == x

    CP:: minimo

  • 7/23/2019 POO Parte 1

    68/80

    Autmata Haga Mientras Que

    c.

    mitad = (minimo+maximo) /2

    b.

    Si minimo

  • 7/23/2019 POO Parte 1

    69/80

  • 7/23/2019 POO Parte 1

    70/80

    mitad=(menor+mayor)/2;if(A[mitad]>x)

    mayor=mitad-1;if(A[mitad]=menor);

    if(A[mitad]==x)System.out.println("Existe: "+x+" en la Posicion: "+mitad);elseSystem.out.println("No Existe ");

    }}

  • 7/23/2019 POO Parte 1

    71/80

    AUTOMATA DE SELECCION

    De Acuerdo al valor de una y solamente una variable se realiza una accin.

    La Categora de Seleccin se da mediante:

    - Atmico: Valor Unico.

    - Conjunto de Valores: Valor1, Valor2, Valor3

    - Cota: >= Valor

    Valor

    - SINO: Cuando no se presenta los anteriores valores

    Tambin se puede crear un rbol de seleccin as:

    Variables

    nico

    Valor1,Valor2

    Valor3HastaValor4

    Cota

  • 7/23/2019 POO Parte 1

    72/80

    En el caso del lenguaje Java la categora de seleccin es nico.

    SINTAXIS JAVA:

    switch(variable)

    {

    case valor1 :

    |

    [ break; ]

    case valor2 :

    |

    [ break; ]

    [ default:

    |

    ]

    }

    La clusula break: Es opcional. Rompe la continuidad de casos.

    La clusula default: Es opcional. Cuando el valor de variable no est en el rango ocaso de valores.

  • 7/23/2019 POO Parte 1

    73/80

    Ejemplo:

    Se desea clasificar por edades del 1 al 9.

    La edad del 2 al 4 es Prvulos

    La edad del 5 al 6 es Kinder

    La edad del 7 al 9 es Infantil

    switch (edad)

    {

    case 2:

    case 3:

    case 4:

    cout

  • 7/23/2019 POO Parte 1

    74/80

    13. Identificar Categora segn la Edad.La edad del 2 al 4 es Prvulos

    La edad del 5 al 6 es Kinder

    La edad del 7 al 9 es Infantil

    E0:

    Lea Edad

    Autmata de Seleccin

    edad

    2,3,4

    5,6

    7,8,9

    sino

    Parvulos

    kinder

    infantil

    Error

  • 7/23/2019 POO Parte 1

    75/80

  • 7/23/2019 POO Parte 1

    76/80

  • 7/23/2019 POO Parte 1

    77/80

    PROGRAMA EN JAVA (Compilado JCreator)

    import java.util.*;public class Prueba15{

    public static void main(String[] args){int i,x,n=-1;

    int A[]=new int[4];Scanner scanner = new Scanner(System.in);

    do{System.out.println("Lea Numero a digitalizar[1...9999]: ");x=scanner.nextInt();

    }while(x9999);

    while(x>0){n++;A[n]= x % 10;x/=10;

    }System.out.println();System.out.println("Numero Digitalizado: ");for(i=0;i

  • 7/23/2019 POO Parte 1

    78/80

    17. Un Men de Operaciones Aritmticas

    Se lee una variable denominada opcin.Si tecla = 1 se hace suma( c= a + b)Si tecla = 2 se hace resta( c= a - b)

    Si tecla = 3 se se hace multiplicacin(c= a * b)Si tecla = 4 se se hace divisin(c= a / b)Si tecla = 5 se sale del programa.Para este programa se necesita un autmata Haga MientrasQueopcin no sea iguala 5E0:

    Lea aLea b

    Autmata Haga Mientras Que (permanencia en el Programa)c.

    Autmata Haga Mientras Que (Validar que opcion sea 1 a 5)c.

    Borrar PantallaMostrar OpcionesLea opcion

    b. si opcion 5 ir a cFin Autmata Haga Mientras Que (Validar que opcion sea 1 a 5)

    Mostar resultado de Operacin

    b. si opcion no es igual a 5 ir a c

    o cion

    1

    2

    3

    4

    c=a+b

    c=ab

    c=a*b

    c=a/b

  • 7/23/2019 POO Parte 1

    79/80

  • 7/23/2019 POO Parte 1

    80/80

    c=a-b;

    System.out.println(c+" = "+a+" - "+b);

    break;

    case 3:

    c=a*b;

    System.out.println(c+" = "+a+" * "+b);

    break;

    case 4:

    c=a/b;

    System.out.println(c+" = "+a+" / "+b);

    break;

    }

    System.out.println();

    }

    while(opcion!=5);

    }

    }