SlideShare una empresa de Scribd logo
1 de 20
PAQUETE LOGICANEGOCIO

En nuestro sistema la parte que se encarga de las tareas relacionadas con el proceso de negocio es decir,
procesamiento de los datos capturados como entrada en el software, el procesamiento de dichos datos,
y la posterior entrega de resultados al usuario por medio de la interfaz, se ven implementadas en las
siguientes clases a describir y empaquetadas en                   .

CLASE CALCULADORA:

    1) CREANDO LA CLASE: Calculadora.java




    2) IMPORTAMOS

Importando 3 clases:

    1) En la primera importamos la clase “nota” del paquete “Entidades”

IMPORTAMOS 2 CLASES DE LA LIBRERÍA de JAVA QUE USAREMOS EN ESTA CLASE.

   2) Aquí se importa la método ArrayList (Este array se almacenara la lista descrita)

   3) Aquí se importa el método List (Esta lista propiamente dicha)




3) CREACION DE METODOS

Método EsCorrecto

Creamos un método Publico”EsCorrecto” el cual tiene un parámetro llamado “Expresion” de tipo
String, y regresa un valor tipo booleano el cual es Verdadero (True).
Método DeterminarTiposEvaluacion:

-CREAMOS LA FUNCION DeterminarTiposEvaluacion y LE ASIGNAMOS EL PARAMETRO “Expresion” DE
TIPO STRING.

-CREAMOS UN ARRAY, EL CUAL NOS SERVIRA PARA ALMACENAR LA LISTA, Y LLEVA COMO NOMBRE
“RESULTADO”

-PRIMERO UTILIZAMOS LA ESTRUCTURA CONDICIONAL “IF”, se verifica la variable “Expresion” con el
método “EsCorrecto”

-Creamos un objeto de la clase “ClaseParrafo” llamado “obj”

-ASIGNAMOS A LA VARIABLE “EXPRESION”, forzándolos a tener “(” y “)” y dentro de ello, la variable
“Expresion”

-LUEGO APLICAMOS LA ESTRUCTURA REPETITIVA “FOR”

*DECLARAMOS UNA VARIABLE “i” de tipo ENTERO, inicializada en 0, hasta la longitud de la variable
“Expresion”,la cual debe ser mayor que la variable “i”, Incrementando en 1 llamada “postcreciente”-“i++”

Declaramos una variable “YA” la cual es de un tipo “String” y le asignamos palabra “no”

Declaramos una variable “X” la cual es de un tipo “String” y la inicializamos en vacio (” ”)

UTILIZAMOS LA ESTRUCTURA CONDICIONAL “IF”

           o   SI (“if”) Invocamos al método IsLetter del objeto “obj” de la ClaseParrafo y le pasamos el
               parámetro Expresión.substring(i,i+1)
                     Mientras (“while”) el substring sea una digito ,verificado por el método de la
                         clase string matches (d*) ; o una letra hacer lo siguiente:
                         Asignamos a la variable X el mismo valor de X pero agregado el SUBSTRING de la
                         expresión.

                      Si la variable X no es igual al vacio, ingresa a la estructura repetitiva “for”
                      la estructura repetitiva “for” ,INICIALIZAMOS LA VARIABLE J EN 0,DE TIPO
                       ENTERO HASTA EL TAMAÑO DE LA VARIABLE RESULTADO, AUMENTANDO DE
                       1(POSTCRECIENTE)
Si El Resultado En La Posición “J” Es Igual A “X”, Entonces La Variable “Ya” Toma El Valor De “Si”,
Luego Se Hace Un Quiebre (Break)

Si La Variable “Ya” Es Igual A “No” Significa Que “X” No Se Ha Encontrado En La Lista Resultado,
Por Lo Tanto Se Agrega, Y La Variable I Va Disminuyendo En 1

Y Retornamos La Lista “Resultado”
METODO CALCULAR:

-Creamos el método Calcular de tipo Double, que tiene por parámetros Expresion de tipo String,
y una lista llamada Notas, que proviene de la clase “Nota”

-Creamos la variable “resultado” de tipo Double y la inicializamos en 0.0

-Creamos un objeto ”obj” de la clase “ClaseParrafo”

-utilizamos la estructura repetitiva for la cual tiene por valores una variable “i” de tipo entero
que se inicializa en 0 hasta el tamaño de la lista notas que va a ser siempre mayor a dicha
variable “i”, y con postincrementeo de 1

-Mediante un “if” que iguala el valor de la nota en la posición ”i” a “-1.0”

-Mediante el método cambiar String cambiamos el valor “-1.0” por “0” y lo asignamos a la
variable Expresion

-Sino, a la variable Expresion le asignamos EL VALOR DE LA NOTA EN POSICION “i ”

-Creamos un objeto “ob” de la clase “CalculadoraBasica”.

-Mediante el método “MiEcuación”, se desarrolla la variable “Expresion” y se le asigna a la
variable “res” de tipo String

-se redondea mediante el método “redondear”, le asigna a la variable “res”

-cambiamos la variable “res” que es de tipo String a un tipo doublé y se lo asignamos a la
variable “resultado”

-retorna la variable “resultado” de tipo Double
METODO REDONDEAR

-Se crea el método “Redondear” de tipo String, con parámetros “numero” de tipo String

-Inicializamos a la variable “entero” a un vacio

-Inicializamos a la variable “decimal” a un vacio

-UTILIZAMOS EL for DESDE LA VARIABLE “i” DE TIPO ENTERO, INICIALIZADA EN 0, HASTA LA
LONGITUD DE LA VARIABLE NUMERO, AUMENTANDO DE 1

-UTILIZAMOS EL SUBSTRING (i,i+1),de la variable numero, a la variable “x” de tipo “String”

-MEDIANTE LA CONDICIONAL SI , LA CUAL NOS MENCIONADA LA VARIABLE X A “.”

- utilizamos el substring (i+1, numero.length()) de la variable numero, a la variable decimal

-MEDIANTE LA CONDICIONAL SI, LA CUAL NOS MENCIONADA QUE LA LONGITUD DE LA
VARIABLE DECIMAL SEA MENOR A 2

-LA VARIABLE DECIMAL LE AGREAMOS UN 0, A LA MISMA VARIABLE

-SINO LA LONGITUD DE LA VARIABLE “DECIMAL” DIFERENTE A 2
- utilizamos el substring (2,3) de la variable DECIMAL, a la variable “a”

-SI, LA CONVERSION A INTERO DE LA VARIABLE “a” es mayor a 4

-MEDIANTE el substring (0,2), sumado a 1, se transforma a un entero, Y LUEGO SE TRANSFORMA
A UN String, el cual se le asigna a una variable decimal

-Si no se coge el substring (0,2) de la variable decimal, el cual se le asigna a la misma variable

Pero Si la longitud de la variable decimal es mayor a 2

- se coge el substring (1,3) de la variable decimal, el cual se le asigna a la misma variable

-Se transforma la variable “entero” a la un tipo entero, sumando a 1, y luego se cambia un
String, el cual se le asigna a la misma variable

-Se retorno el valor de la variable “entero” mas “.” Mas el valor de la variable “decimal”
CLASE CALCULADORABASICA:

EN ESTA CLASE SE RESOLVERA LA ECUACIÓN QUE SE GENERA, CON RESPECTO HA LA FORMULA QUE
USAREMOS, IMPORTAMOS LAS CLASES DE LA LIBRERÍA JAVA QUE USAREMOS EN ESTA CLASE.




   a) METODO MIECUACION:

ESTE METODO NOS PERMITIRA ENLISTAR LA ECUACION QUE NECESITAREMOS.

CREAMOS EL METODO MiEcuacion CON MODIFICADOR PÚBLICO (“public”), PARA QUE OTRAS CLASES
TAMBIEN PUEDAN ACCEDER A ESTA FUNCION, Y LE ASIGNAMOS EL PARAMETRO “txt” DE TIPO STRING.




   -   CREAMOS UNA VARIABLE DEL TIPO STRING LLAMADA “palabra” Y LE ASIGNAMOS EL VALOR DE
       “txt” PERO LO ENCERRAMOS ENTRE PARENTESIS (“(”+txt+”)”).
EJEMPLO:      (2+ (2+5*4) + (8/2)-3)

-   CREAMOS UNA LISTA “vc”.
-   CREAMOS UNA VARIABLE DEL TIPO STRING LLAMADA “operacion”.
-   RECORREMOS LA LONGITUD DE LA VARIABLE “palabra” MEDIANTE UNA ESTRUCTURA
    REPETITIVA (“for”):
       o CREAMOS UNA VARIABLE DEL TIPO STRING LLAMADA “x” Y LE ASIGNAMOS EL VALOR
           “ya”.
       o SI (“if”) LA SUBCADENA(“i,i+1”) DE LA VARIABLE “palabra” ES IGUAL A “(”:
                AGREGAMOS LA SUBCADENA (“i ,i+1”) A LA LISTA “vc”.
       o SI (“if”) LA SUBCADENA(“i,i+1”) DE LA VARIABLE “palabra” ES IGUAL A “)”:
                AGREGAMOS LA SUBCADENA (“i ,i+1”) A LA LISTA “vc”.
       o SINO(“else”):
                MIENTRAS (“while”) LA SUBCADENA(“i,i+1”) DE LA VARIABLE “palabra” SEA
                   DIFERENTE DE “(” Y “)”:
                           SI LA SUBCADENA SIGUIENTE (“i+1,i+2”)DE LA VARIABLE “palabra” ES
                           IGUAL A “(”:
                               o AGREGAMOS LA VARIABLE “operacion” A LA LISTA “vc”.
                               o AGREGAMOS LA SUBCADENA (“i,i+1”) A LA LISTA “vc”.
                               o A LA VARIABLE “x” LE DAMOS EL VALOR “ok”.
                           SINO (“else”):
                               o A LA VARIABLE “operacion” LE ASIGNAMOS
                                   “operacion+palabra.substring(i,i+1)”.
                LA VARIABLE “i” VA AUMENTANDO SU VALOR DE UNO EN UNO.
                SI (“if”) LA VARIABLE “x” ES IGUAL A “ya”:
                           AGREGAMOS LA VARIABLE “operacion” A LA LISTA “vc”.
                           A LA VARIBLE “operacion” LE ASIGNAMOS UN VALOR EN BLANCO (“ ”).
                SINO (“else”):
                           A LA VARIABLE “x” LE ASIGNAMOS EL VALOR “ya”.
                           A LA VARIBLE “operacion” LE ASIGNAMOS UN VALOR EN BLANCO (“ ”).
                LA VARIABLE “i” VA DISMINUYE UN VALOR.
                CREAMOS UNA VARIABLE “resultado” A LA CUAL LE ASIGNAMOS EL VALOR
                   OBTENIDO AL INVOCAR AL METODO resultadototal Y A ESTE, ENVIARLE COMO
                   PARAMETRO LA LISTA “vc”.
                RETORNAMOS LA VARIABLE “resultado”.
b) METODO RESULTADOTOTAL:

ESTE METODO NOS PERMITIRA SEPARAR LA ECUACION EN PARENTESIS (“(” Y “)”) Y LAS
OPERACIONES DENTRO DE LOS PARENTESIS.

CREAMOS EL METODO resultadototal DEL TIPO DOUBLE, CON MODIFICADOR PUBLICO (“public”),
PARA QUE OTRAS CLASES TAMBIEN PUEDAN ACCEDER A ESTA FUNCION, Y LE ASIGNAMOS EL
PARAMETRO “listaoper” LA CUAL ES UNA LISTA.




-   CREAMOS UNA VARIABLE “resultado” DEL TIPO DOUBLE.
-   CREAMOS UNA VARIABLE TIPO STRING “hallar”.
-   MIENTRAS (“while”) LA POSICION DE LA LISTA “listaoper” EN DONDE SE ENCUENTRE UN CIERRA
    PARENTESIS(“)”):
       o CREAMOS UNA VARIABLE ENTERA LLAMADA “p” Y LE ASIGNAMOS LA POSICION DE LA
          LISTA “listaoper” EN DONDE SE ENCUENTRE EL CIERRA PARENTESIS (“)”).
       o REMOVEMOS DE LA LISTA “listaoper” EL CIERRA PARENTESIS DE LA POSICION “p”.
       o MIENTRAS (“while”) EL VALOR DE LISTA “listaoper” EN LA POSICION “p-1” SEA DIFERENTE
          DE UN ABRE PARENTESIS (“(”):
               A LA VARIABLE “hallar” LE ASIGNAMOS EL VALOR DE LA LISTA EN LA POSICION
                   “p-1” CONCATENADO CON LA VARIABLE “hallar”.
               REMOVEMOS EL VALOR DE LA LISTA “listaoper” EN LA POSICION “p-1”.
               LA VARIBLE “p” DISMINUYE EN UN VALOR.
       o REMOVEMOS EL VALOR DE LA LISTA “listaoper” EN LA POSICION “p-1”.
       o LA VARIBLE “p” DISMINUYE EN UN VALOR.
       o A LA VARIABLE “resultado” LE ASIGNAMOS EL VALOR OBTENIDO AL INVOCAR AL
          METODO Ordenar Y A ESTA, ENVIARLE COMO PARAMETRO LA VARIABLE “hallar”.
       o AGREGAMOS A LA LISTA EN LA POSICION “p” A LA VARIABLE “resultado” CONVERTIDO A
          TIPO STRING.
       o A LA VARIABLE LE ASIGNAMOS UN VALOR VACIO (“ ”).
       o RETORNAMOS EL VALOR DE LA LISTA “listaoper” EN LA POSICION “0”, Y LO
          CONVERTIMOS A TIPO DOUBLE.
c) METODO ORDENAR:

ESTE METODO NOS PERMITIRA OBTENER UNA JERARQUIA DE SIGNOS, ES DECIR ORDENAR LA
ECUACION DE MANERA QUE SE DESARROLLEN LAS OPERACIONES EN ESTE ORDEN:

   1) DIVISION
   2) MULTIPLICACION
   3) SUMA O RESTA

CREAMOS EL METODO Ordenar DEL TIPO DOUBLE, CON MODIFICADOR PUBLICO (“public”), PARA
QUE OTRAS CLASES TAMBIEN PUEDAN ACCEDER A ESTA FUNCION, Y LE ASIGNAMOS EL PARAMETRO
DEL TIPO STRING “ecuacion”.
-   CREAMOS 2 VARIABLES TIPO STRING LLAMADAS “nuevo” Y “dato”.
-   CREAMOS UNA LISTA LLAMADA “list”.
-   RECORREMOS LA LONGITUD DE LA VARIABLE “ecuacion” MEDIANTE UNA ESTRUCTURA
    REPETITIVA (“for”):
        o SI (“if”) LA SUBCADENA (“i, i+1”) DE LA VARIABLE “ecuacion” ES DIFERENTE DE LOS
            VALORES (“/”, “*”, “+”, “-”):
                 A LA VARIABLE “dato” LE ASIGNAMOS LA VARIABLE “dato” CONCATENADA CON
                     LA SUBCADENA “ecuacion.substring(i, i+1)”.
        o SINO(“else”):
                 AGREGAMOS LA VARIABLE “dato” A LA LISTA “list”.
                 AGREGAMOS LA SUBCADENA “ecuacion.substring(i, i+1)” A LA LISTA “list”.
                 A LA VARIABLE “dato” LE ASIGNAMOS UN VALOR VACIO (“ ”).
-   AGREGAMOS LA VARIABLE “dato” A LA LISTA “list”.
-   MIENTRAS (“while”) LA POSICION DE LA LISTA “list” EN DONDE SE ENCUENTRE EL VALOR (“/”) ES
    MAYOR QUE EL VALOR “-1”:
        o CREAMOS UNA VARIABLE ENTERA LLAMADA “j” Y LE ASIGNAMOS LA POSICION DE LA
            LISTA “list” EN DONDE SE ENCUENTRE EL VALOR (“/”).
        o CREAMOS LA VARIABLE “nuevo” LE ASIGNAMOS EL VALOR OBTENIDO AL INVOCAR AL
            METODO Resolver Y A ESTE, ENVIARLE COMO PARAMETRO LOS VALORES
            CONCATENADOS “list.get(j-1)+list.get(j)+list.get(j+1)”.
        o REMOVEMOS LOS VALORES DE LA LISTA “list” EN LAS POSICIONES “j-1”, “j”, “j+1”.
        o AGREGAMOS A LA LISTA “list” LA VARIABLE “nuevo” EN LA POSICION “j-1”.
-   MIENTRAS (“while”) LA POSICION DE LA LISTA “list” EN DONDE SE ENCUENTRE EL VALOR (“*”)ES
    MAYOR QUE EL VALOR “-1”:
        o CREAMOS UNA VARIABLE ENTERA LLAMADA “j” Y LE ASIGNAMOS LA POSICION DE LA
            LISTA “list” EN DONDE SE ENCUENTRE EL VALOR (“*”).
        o CREAMOS LA VARIABLE “nuevo” LE ASIGNAMOS EL VALOR OBTENIDO AL INVOCAR AL
            METODO Resolver Y A ESTE, ENVIARLE COMO PARAMETRO LOS VALORES
            CONCATENADOS “list.get(j-1)+list.get(j)+list.get(j+1)”.
        o REMOVEMOS LOS VALORES DE LA LISTA “list” EN LAS POSICIONES “j-1”, “j”, “j+1”.
        o AGREGAMOS A LA LISTA “list” LA VARIABLE “nuevo” EN LA POSICION “j-1”.
-   MIENTRAS (“while”) LA POSICION DE LA LISTA “list” EN DONDE SE ENCUENTREN LOS VALORES
    (“+” O “-”)SON MAYORES QUE EL VALOR “-1”:
        o CREAMOS UNA VARIABLE ENTERA LLAMADA “j” Y LE ASIGNAMOS LA POSICION DE LA
            LISTA “list” EN DONDE SE ENCUENTRE LOS VALORES (“+” O “-”).
        o CREAMOS LA VARIABLE “nuevo” LE ASIGNAMOS EL VALOR OBTENIDO AL INVOCAR AL
            METODO Resolver Y A ESTE, ENVIARLE COMO PARAMETRO LOS VALORES
            CONCATENADOS “list.get(j-1)+list.get(j)+list.get(j+1)”.
        o REMOVEMOS LOS VALORES DE LA LISTA “list” EN LAS POSICIONES “j-1”, “j”, “j+1”.
        o AGREGAMOS A LA LISTA “list” LA VARIABLE “nuevo” EN LA POSICION “j-1”.
-   RETORNAMOS EL VALOR DE LA LISTA “list” EN LA POSICION “0”, PERO CONVERTIDO EN UN
    VALOR DE TIPO DOUBLE.
d) METODO RESOLVER:

ESTE METODO NOS PERMITE RECONOCER QUE OPERACIONES SE REALIZARAN RESPECTO A SUS
SIGNOS, Y CUALES SERAN LOS VALORES OPERADOS.

CREAMOS EL METODO resolver DEL TIPO DOUBLE, CON MODIFICADOR PUBLICO (“public”), PARA
QUE OTRAS CLASES TAMBIEN PUEDAN ACCEDER A ESTA FUNCION, Y LE ASIGNAMOS EL PARAMETRO
DEL TIPO STRING “ecuacion”.




-   CREAMOS UNA VARIABLE ENTERA “j”.
-   CREAMOS 3 VARIABLES DE TIPO DOUBLE “primero”, “segundo” Y “resultado”.
-   RECORREMOS LA LONGITUD DE LA VARIABLE “ecuacion” MEDIANTE UNA ESTRUCTURA
    REPETITIVA (“for”):
         o SI LA SUBCADENA (i, i+1) DE LA VARIABLE “ecuacion” ES IGUAL A CUALQUIERA DE LOS
              VALORES (“/”, “*”, “+”, “-”):
                   A LA VARIABLE “j” LE ASIGNAMOS LA POSICION EN DONDE SE ENCONTRO A
                     CUALQUIERA DE LOS VALORES (“/”, “*”, “+”, “-”).
                   HACEMOS UN QUIEBRE (“break”).
-   SI (“if”) EL VALOR DE LA VARIABLE “j” ES MAYOR QUE CERO (LO CUAL SIGNIFICA QUE ENCONTRO
    A CUALQUIERA DE LOS VALORES (“/”, “*”, “+”, “-”)):
         o A LA VARIABLE “primero” LE ASIGNAMOS EL VALOR DE LA SUBCADENA (0, j), LO CUAL
              QUIERE DECIR EL DIGITO QUE ESTA ANTES DEL SIGNO.
o    A LA VARIABLE “segundo” LE ASIGNAMOS EL VALOR DE LA SUBCADENA
            (j+1, ecuacion.length()), LO CUAL QUIERE DECIR EL DIGITO QUE ESTA DESPUES DEL
            SIGNO.
       o A LA VARIABLE “operacion” LE ASIGNAMOS LA SUBCADENA (j, j+1), LO CUAL SIGNIFICA
            QUE ES EL SIGNO.
       o SI (“if”) LA VARIABLE “operacion” ES IGUAL AL VALOR (“+”):
                 A LA VARIABLE “resultado” LE ASIGNAMOS EL VALOR OBTENIDO AL INVOCAR AL
                     METODO Sumar A LA CUAL LE ENVIAMOS COMO PARAMETROS LAS VARIABLES
                     “primero” Y “segundo”.
       o SI (“if”) LA VARIABLE “operacion” ES IGUAL AL VALOR (“-”):
                 A LA VARIABLE “resultado” LE ASIGNAMOS EL VALOR OBTENIDO AL INVOCAR AL
                     METODO Restar A LA CUAL LE ENVIAMOS COMO PARAMETROS LAS VARIABLES
                     “primero” Y “segundo”.
       o SI (“if”) LA VARIABLE “operacion” ES IGUAL AL VALOR (“*”):
                 A LA VARIABLE “resultado” LE ASIGNAMOS EL VALOR OBTENIDO AL INVOCAR AL
                     METODO Multiplicar A LA CUAL LE ENVIAMOS COMO PARAMETROS LAS
                     VARIABLES “primero” Y “segundo”.
       o SI (“if”) LA VARIABLE “operacion” ES IGUAL AL VALOR (“/”):
                 A LA VARIABLE “resultado” LE ASIGNAMOS EL VALOR OBTENIDO AL INVOCAR AL
                     METODO Dividir A LA CUAL LE ENVIAMOS COMO PARAMETROS LAS VARIABLES
                     “primero” Y “segundo”.
-   SINO (“else”) A LA VARIABLE “resultado” LE ASIGNAMOS EL VALOR DE LA VARIABLE “ecuacion”,
    PERO CONVERTIDO EN TIPO DOUBLE.
-   RETORNAMOS LA VARIABLE “resultado”.

e) AQUÍ SE DESARROLLARAN LAS OPERACIONES DE SUMA, RESTA, MULTIPLICACION Y DIVISION:
CLASE PARRAFO

    1) CREAMOS LA CLASE PARRAFO:

LA CUAL NOS SERVIRA DE MUCHA AYUDA, YA QUE AQUÍ DECIDIMOS ALMACENAR LAS VALIDACIONES DE
LA FORMULA.

Y lo creamos con su constructor sin parámetros (también llamado constructor por defecto)




    2) Creamos el método “ContarString” el cual nos servirá para validad_formula, teniéndose asi como
       parámetros a la variable “parrafo” y “palabra” las dos de tipo String.
       Entra a una estructura condicional llamado, palabra igual “ ”
       Sino entra a la estructura repetitiva, el cual se inicia en una variable “i” inicializada en 0 de tipo
       entero hasta la longitud de la párrafo menos la longitud de la palabra mas la unidad.en forma
       postcreciente. Llendose luego a la estructura condicional el coge la subcadena, desde la variable i
       hasta la longitud de la palabra ,siendo esta igualada a palabra.Retornando un valor n




    3) Creamos la clase la cual nos servirá para la clase calculadora; y tiene por parámetros la variable
       “Parrafo”,”OldPalabra”,”NewPalabra” de tipos String

Declaramos una variable “NuevoTexto” la cual la inicializamos en vacio.

UTILIZAMOS LA ESTRUCTURA CONDICIONAL “IF”, el cual iguala la variable Parrafo con Vacio.
Y SI CUMPLE ESTA CONDICIONAL NOS MOSTRARA UN “vacio”

Sino cumple esta condicional , nos igualara la “OldPalabra” igual a la NewPalabra y si cumple
esta;igualamos la variable párrafo a la variable NuevoTexto,descrita anteriormente.

Y Si en caso no cumple ninguna de las dos entra a la estructura repetitiva ,la cual nos indica que desde
una variable “i” inicializada en 0 de tipo entero hasta la longitud de la párrafo menos la longitud de la
palabra mas la unidad.en forma postcreciente.Y si cumple esta igualamos la variable “OldPalabra” a la
Subcadena de la variable”Parrafo” desde la “i” hasta la variable “i” aumentada con la longitud de la
variable “OldPalabra”

Y si cumple la anterior condición asignamos la Subcadena desde 0 hasta i aumentada de palabra
“NewPalabra” mas la subcadena de la palabra “Parrafo” que cuenta desde la variable “i“ aumentada en la
longitud de la variable “OldPalabra” hasta la longitud de la variable “Parrafo”

Y después de la estructura repetitiva ,se utiliza el método “TRIM” a la variable “Parrafo”asignándolo asi a
la variable “NuevoTexto”

Retornandose asi la variable “NuevoTexto”

Nota: El método trim() de la clase String en Java, solo elimina los espacios al principio y al final de las
cadenas.
Si nuestra cadena tiene espacios en medio, éstos no serán reemplazados




    4) Creamos el método “IsLetter” el cual tiene como parámetro , la variable x de tipo String

Asignamos a la variable Resultado de tipo boolean un “False”

Y cada vez que llege una letra, será transformada en mayúscula y se le asignara a la misma variable

Luego entrara a la estructura condicional “if”;la cual nos dice que si esa variable es igual a la letra “A” o
letra “B” y asi sucesivamente, y si esto es verdad, le asignamos un valor true a resultado,sino retorna
resultado false
5) Creamos el método IsSign el cual tiene como parámetros x de tipo String

Asignamos a la variable Resultado de tipo boolean un “False”

Y cada vez que llege una letra, será transformada en mayúscula y se le asignara a la misma variable

Luego entrara a la estructura condicional “if”;la cual nos dice que si esa variable es igual al signo “+” o “-
”o “*”o “/” , y si esto es verdad, le asignamos un valor true a resultado, sino retorna resultado false




Nota: Tanto el método IsLetter como el método IsSign, son utilizados en el método “validación_formula”

    6) Creamos la clase Validar_formula , cual lleva por parámetro la variable formula de tipo String;
       Siendo esta una de las partes mas importantes de esta clase.Aqui mostramos en cada imagen la
       explicación de este método, con el compromiso de brindar una mejor comprensión.
Clase GestionNotas

   1) Creamos la clase GestionNotas

El cual va a contener los métodos que se utilizaran para manejar a
Alumno;ConsultarAlumno,RegistrarAlumno,ModificarAlumno,EliminarAlumno y de la misma manera
para Curso




2) Importaciones:

-La primera importación se llama de la misma librería de java

-La segunda y tercera de la clase “Alumno” y “Curso” del paquete “Entidades”

-La cuarta y quinta de la clase “TablaAlumno” y “TablaCurso” del paquete “AccesoDatos”




3) Aquí se ven los cuatro métodos

-Creamos el método “ConsultarAlumnos” el cual lleva por parámetros “codigo” “nombre” “oCurso” el
cual tomara una excepción , el cual ve el “codigo”,”nombre” y “curso”




-Creamos el método “RegistrarAlumno” el cual lleva por parámetros “Alumno” el cual tomara una
excepción , el cual ve el “alumno” y lo Inserta
-Creamos el método “ModificarAlumno” el cual lleva por parámetros “Alumno” el cual tomara una
excepción , el cual ve el “alumno” y actualiza




-Creamos el método “EliminarAlumno” el cual lleva por parámetros “Alumno” el cual tomara una
excepción , el cual ve el “alumno” y Elimina

Más contenido relacionado

Similar a LOGICANEGOCIO

Seminario 4 estadística
Seminario 4 estadísticaSeminario 4 estadística
Seminario 4 estadística
pilarcita95
 
Ejercicio seminario 5 paloma
Ejercicio seminario 5 palomaEjercicio seminario 5 paloma
Ejercicio seminario 5 paloma
mariaguva1703
 
EJERCICIOS SPSS 18 (ESTADÍSTICA ENFERMERÍA)
EJERCICIOS SPSS 18 (ESTADÍSTICA ENFERMERÍA)EJERCICIOS SPSS 18 (ESTADÍSTICA ENFERMERÍA)
EJERCICIOS SPSS 18 (ESTADÍSTICA ENFERMERÍA)
Yanina Anushka
 
Matematicas III. Limites y Continuidad. Derivación de Funciones Multivariables
Matematicas III. Limites y Continuidad. Derivación de Funciones MultivariablesMatematicas III. Limites y Continuidad. Derivación de Funciones Multivariables
Matematicas III. Limites y Continuidad. Derivación de Funciones Multivariables
Orianny Pereira
 
Seminario 4
Seminario 4Seminario 4
Seminario 4
ciscovi
 
Seminario 4
Seminario 4Seminario 4
Seminario 4
lidiagr
 

Similar a LOGICANEGOCIO (20)

Logica de negocios
Logica de negociosLogica de negocios
Logica de negocios
 
Logica de negocios
Logica de negociosLogica de negocios
Logica de negocios
 
ACCESODATOS
ACCESODATOSACCESODATOS
ACCESODATOS
 
Seminario 4 estadística
Seminario 4 estadísticaSeminario 4 estadística
Seminario 4 estadística
 
Ejercicio seminario 5 paloma
Ejercicio seminario 5 palomaEjercicio seminario 5 paloma
Ejercicio seminario 5 paloma
 
Ejercicio seminario 5 paloma
Ejercicio seminario 5 palomaEjercicio seminario 5 paloma
Ejercicio seminario 5 paloma
 
PRESENTACION
PRESENTACIONPRESENTACION
PRESENTACION
 
Seminario 5
Seminario 5Seminario 5
Seminario 5
 
EJERCICIOS SPSS 18 (ESTADÍSTICA ENFERMERÍA)
EJERCICIOS SPSS 18 (ESTADÍSTICA ENFERMERÍA)EJERCICIOS SPSS 18 (ESTADÍSTICA ENFERMERÍA)
EJERCICIOS SPSS 18 (ESTADÍSTICA ENFERMERÍA)
 
Matematicas III. Limites y Continuidad. Derivación de Funciones Multivariables
Matematicas III. Limites y Continuidad. Derivación de Funciones MultivariablesMatematicas III. Limites y Continuidad. Derivación de Funciones Multivariables
Matematicas III. Limites y Continuidad. Derivación de Funciones Multivariables
 
Tarea seminario 4
Tarea seminario 4Tarea seminario 4
Tarea seminario 4
 
Seminario V: SPSS
Seminario V: SPSSSeminario V: SPSS
Seminario V: SPSS
 
Funciones
FuncionesFunciones
Funciones
 
calculo de predicados
calculo  de predicadoscalculo  de predicados
calculo de predicados
 
2 el espacio vectorial
2 el espacio vectorial2 el espacio vectorial
2 el espacio vectorial
 
Librería String, Math de Java (NetBeans)
Librería String, Math de Java (NetBeans)Librería String, Math de Java (NetBeans)
Librería String, Math de Java (NetBeans)
 
Presentaciónseminario5
Presentaciónseminario5Presentaciónseminario5
Presentaciónseminario5
 
Seminario 4
Seminario 4Seminario 4
Seminario 4
 
SEMINARIO 4
SEMINARIO 4SEMINARIO 4
SEMINARIO 4
 
Seminario 4
Seminario 4Seminario 4
Seminario 4
 

Último

2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
RigoTito
 
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfNUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
UPTAIDELTACHIRA
 
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docxTALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
NadiaMartnez11
 
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptxRESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
pvtablets2023
 

Último (20)

La Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración AmbientalLa Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración Ambiental
 
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
 
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfNUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
 
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docxTALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
 
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docxPLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literario
 
semana 4 9NO Estudios sociales.pptxnnnn
semana 4  9NO Estudios sociales.pptxnnnnsemana 4  9NO Estudios sociales.pptxnnnn
semana 4 9NO Estudios sociales.pptxnnnn
 
Revista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdfRevista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdf
 
Biografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdfBiografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdf
 
Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
 
Análisis de los Factores Externos de la Organización.
Análisis de los Factores Externos de la Organización.Análisis de los Factores Externos de la Organización.
Análisis de los Factores Externos de la Organización.
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
 
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSOCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
 
Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
 
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptxRESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
 
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
 
SEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VS
SEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VSSEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VS
SEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VS
 
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxLA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
 

LOGICANEGOCIO

  • 1. PAQUETE LOGICANEGOCIO En nuestro sistema la parte que se encarga de las tareas relacionadas con el proceso de negocio es decir, procesamiento de los datos capturados como entrada en el software, el procesamiento de dichos datos, y la posterior entrega de resultados al usuario por medio de la interfaz, se ven implementadas en las siguientes clases a describir y empaquetadas en . CLASE CALCULADORA: 1) CREANDO LA CLASE: Calculadora.java 2) IMPORTAMOS Importando 3 clases: 1) En la primera importamos la clase “nota” del paquete “Entidades” IMPORTAMOS 2 CLASES DE LA LIBRERÍA de JAVA QUE USAREMOS EN ESTA CLASE. 2) Aquí se importa la método ArrayList (Este array se almacenara la lista descrita) 3) Aquí se importa el método List (Esta lista propiamente dicha) 3) CREACION DE METODOS Método EsCorrecto Creamos un método Publico”EsCorrecto” el cual tiene un parámetro llamado “Expresion” de tipo String, y regresa un valor tipo booleano el cual es Verdadero (True).
  • 2. Método DeterminarTiposEvaluacion: -CREAMOS LA FUNCION DeterminarTiposEvaluacion y LE ASIGNAMOS EL PARAMETRO “Expresion” DE TIPO STRING. -CREAMOS UN ARRAY, EL CUAL NOS SERVIRA PARA ALMACENAR LA LISTA, Y LLEVA COMO NOMBRE “RESULTADO” -PRIMERO UTILIZAMOS LA ESTRUCTURA CONDICIONAL “IF”, se verifica la variable “Expresion” con el método “EsCorrecto” -Creamos un objeto de la clase “ClaseParrafo” llamado “obj” -ASIGNAMOS A LA VARIABLE “EXPRESION”, forzándolos a tener “(” y “)” y dentro de ello, la variable “Expresion” -LUEGO APLICAMOS LA ESTRUCTURA REPETITIVA “FOR” *DECLARAMOS UNA VARIABLE “i” de tipo ENTERO, inicializada en 0, hasta la longitud de la variable “Expresion”,la cual debe ser mayor que la variable “i”, Incrementando en 1 llamada “postcreciente”-“i++” Declaramos una variable “YA” la cual es de un tipo “String” y le asignamos palabra “no” Declaramos una variable “X” la cual es de un tipo “String” y la inicializamos en vacio (” ”) UTILIZAMOS LA ESTRUCTURA CONDICIONAL “IF” o SI (“if”) Invocamos al método IsLetter del objeto “obj” de la ClaseParrafo y le pasamos el parámetro Expresión.substring(i,i+1)  Mientras (“while”) el substring sea una digito ,verificado por el método de la clase string matches (d*) ; o una letra hacer lo siguiente: Asignamos a la variable X el mismo valor de X pero agregado el SUBSTRING de la expresión.  Si la variable X no es igual al vacio, ingresa a la estructura repetitiva “for”  la estructura repetitiva “for” ,INICIALIZAMOS LA VARIABLE J EN 0,DE TIPO ENTERO HASTA EL TAMAÑO DE LA VARIABLE RESULTADO, AUMENTANDO DE 1(POSTCRECIENTE)
  • 3. Si El Resultado En La Posición “J” Es Igual A “X”, Entonces La Variable “Ya” Toma El Valor De “Si”, Luego Se Hace Un Quiebre (Break) Si La Variable “Ya” Es Igual A “No” Significa Que “X” No Se Ha Encontrado En La Lista Resultado, Por Lo Tanto Se Agrega, Y La Variable I Va Disminuyendo En 1 Y Retornamos La Lista “Resultado”
  • 4. METODO CALCULAR: -Creamos el método Calcular de tipo Double, que tiene por parámetros Expresion de tipo String, y una lista llamada Notas, que proviene de la clase “Nota” -Creamos la variable “resultado” de tipo Double y la inicializamos en 0.0 -Creamos un objeto ”obj” de la clase “ClaseParrafo” -utilizamos la estructura repetitiva for la cual tiene por valores una variable “i” de tipo entero que se inicializa en 0 hasta el tamaño de la lista notas que va a ser siempre mayor a dicha variable “i”, y con postincrementeo de 1 -Mediante un “if” que iguala el valor de la nota en la posición ”i” a “-1.0” -Mediante el método cambiar String cambiamos el valor “-1.0” por “0” y lo asignamos a la variable Expresion -Sino, a la variable Expresion le asignamos EL VALOR DE LA NOTA EN POSICION “i ” -Creamos un objeto “ob” de la clase “CalculadoraBasica”. -Mediante el método “MiEcuación”, se desarrolla la variable “Expresion” y se le asigna a la variable “res” de tipo String -se redondea mediante el método “redondear”, le asigna a la variable “res” -cambiamos la variable “res” que es de tipo String a un tipo doublé y se lo asignamos a la variable “resultado” -retorna la variable “resultado” de tipo Double
  • 5. METODO REDONDEAR -Se crea el método “Redondear” de tipo String, con parámetros “numero” de tipo String -Inicializamos a la variable “entero” a un vacio -Inicializamos a la variable “decimal” a un vacio -UTILIZAMOS EL for DESDE LA VARIABLE “i” DE TIPO ENTERO, INICIALIZADA EN 0, HASTA LA LONGITUD DE LA VARIABLE NUMERO, AUMENTANDO DE 1 -UTILIZAMOS EL SUBSTRING (i,i+1),de la variable numero, a la variable “x” de tipo “String” -MEDIANTE LA CONDICIONAL SI , LA CUAL NOS MENCIONADA LA VARIABLE X A “.” - utilizamos el substring (i+1, numero.length()) de la variable numero, a la variable decimal -MEDIANTE LA CONDICIONAL SI, LA CUAL NOS MENCIONADA QUE LA LONGITUD DE LA VARIABLE DECIMAL SEA MENOR A 2 -LA VARIABLE DECIMAL LE AGREAMOS UN 0, A LA MISMA VARIABLE -SINO LA LONGITUD DE LA VARIABLE “DECIMAL” DIFERENTE A 2
  • 6. - utilizamos el substring (2,3) de la variable DECIMAL, a la variable “a” -SI, LA CONVERSION A INTERO DE LA VARIABLE “a” es mayor a 4 -MEDIANTE el substring (0,2), sumado a 1, se transforma a un entero, Y LUEGO SE TRANSFORMA A UN String, el cual se le asigna a una variable decimal -Si no se coge el substring (0,2) de la variable decimal, el cual se le asigna a la misma variable Pero Si la longitud de la variable decimal es mayor a 2 - se coge el substring (1,3) de la variable decimal, el cual se le asigna a la misma variable -Se transforma la variable “entero” a la un tipo entero, sumando a 1, y luego se cambia un String, el cual se le asigna a la misma variable -Se retorno el valor de la variable “entero” mas “.” Mas el valor de la variable “decimal”
  • 7. CLASE CALCULADORABASICA: EN ESTA CLASE SE RESOLVERA LA ECUACIÓN QUE SE GENERA, CON RESPECTO HA LA FORMULA QUE USAREMOS, IMPORTAMOS LAS CLASES DE LA LIBRERÍA JAVA QUE USAREMOS EN ESTA CLASE. a) METODO MIECUACION: ESTE METODO NOS PERMITIRA ENLISTAR LA ECUACION QUE NECESITAREMOS. CREAMOS EL METODO MiEcuacion CON MODIFICADOR PÚBLICO (“public”), PARA QUE OTRAS CLASES TAMBIEN PUEDAN ACCEDER A ESTA FUNCION, Y LE ASIGNAMOS EL PARAMETRO “txt” DE TIPO STRING. - CREAMOS UNA VARIABLE DEL TIPO STRING LLAMADA “palabra” Y LE ASIGNAMOS EL VALOR DE “txt” PERO LO ENCERRAMOS ENTRE PARENTESIS (“(”+txt+”)”).
  • 8. EJEMPLO: (2+ (2+5*4) + (8/2)-3) - CREAMOS UNA LISTA “vc”. - CREAMOS UNA VARIABLE DEL TIPO STRING LLAMADA “operacion”. - RECORREMOS LA LONGITUD DE LA VARIABLE “palabra” MEDIANTE UNA ESTRUCTURA REPETITIVA (“for”): o CREAMOS UNA VARIABLE DEL TIPO STRING LLAMADA “x” Y LE ASIGNAMOS EL VALOR “ya”. o SI (“if”) LA SUBCADENA(“i,i+1”) DE LA VARIABLE “palabra” ES IGUAL A “(”:  AGREGAMOS LA SUBCADENA (“i ,i+1”) A LA LISTA “vc”. o SI (“if”) LA SUBCADENA(“i,i+1”) DE LA VARIABLE “palabra” ES IGUAL A “)”:  AGREGAMOS LA SUBCADENA (“i ,i+1”) A LA LISTA “vc”. o SINO(“else”):  MIENTRAS (“while”) LA SUBCADENA(“i,i+1”) DE LA VARIABLE “palabra” SEA DIFERENTE DE “(” Y “)”: SI LA SUBCADENA SIGUIENTE (“i+1,i+2”)DE LA VARIABLE “palabra” ES IGUAL A “(”: o AGREGAMOS LA VARIABLE “operacion” A LA LISTA “vc”. o AGREGAMOS LA SUBCADENA (“i,i+1”) A LA LISTA “vc”. o A LA VARIABLE “x” LE DAMOS EL VALOR “ok”. SINO (“else”): o A LA VARIABLE “operacion” LE ASIGNAMOS “operacion+palabra.substring(i,i+1)”.  LA VARIABLE “i” VA AUMENTANDO SU VALOR DE UNO EN UNO.  SI (“if”) LA VARIABLE “x” ES IGUAL A “ya”: AGREGAMOS LA VARIABLE “operacion” A LA LISTA “vc”. A LA VARIBLE “operacion” LE ASIGNAMOS UN VALOR EN BLANCO (“ ”).  SINO (“else”): A LA VARIABLE “x” LE ASIGNAMOS EL VALOR “ya”. A LA VARIBLE “operacion” LE ASIGNAMOS UN VALOR EN BLANCO (“ ”).  LA VARIABLE “i” VA DISMINUYE UN VALOR.  CREAMOS UNA VARIABLE “resultado” A LA CUAL LE ASIGNAMOS EL VALOR OBTENIDO AL INVOCAR AL METODO resultadototal Y A ESTE, ENVIARLE COMO PARAMETRO LA LISTA “vc”.  RETORNAMOS LA VARIABLE “resultado”.
  • 9. b) METODO RESULTADOTOTAL: ESTE METODO NOS PERMITIRA SEPARAR LA ECUACION EN PARENTESIS (“(” Y “)”) Y LAS OPERACIONES DENTRO DE LOS PARENTESIS. CREAMOS EL METODO resultadototal DEL TIPO DOUBLE, CON MODIFICADOR PUBLICO (“public”), PARA QUE OTRAS CLASES TAMBIEN PUEDAN ACCEDER A ESTA FUNCION, Y LE ASIGNAMOS EL PARAMETRO “listaoper” LA CUAL ES UNA LISTA. - CREAMOS UNA VARIABLE “resultado” DEL TIPO DOUBLE. - CREAMOS UNA VARIABLE TIPO STRING “hallar”. - MIENTRAS (“while”) LA POSICION DE LA LISTA “listaoper” EN DONDE SE ENCUENTRE UN CIERRA PARENTESIS(“)”): o CREAMOS UNA VARIABLE ENTERA LLAMADA “p” Y LE ASIGNAMOS LA POSICION DE LA LISTA “listaoper” EN DONDE SE ENCUENTRE EL CIERRA PARENTESIS (“)”). o REMOVEMOS DE LA LISTA “listaoper” EL CIERRA PARENTESIS DE LA POSICION “p”. o MIENTRAS (“while”) EL VALOR DE LISTA “listaoper” EN LA POSICION “p-1” SEA DIFERENTE DE UN ABRE PARENTESIS (“(”):  A LA VARIABLE “hallar” LE ASIGNAMOS EL VALOR DE LA LISTA EN LA POSICION “p-1” CONCATENADO CON LA VARIABLE “hallar”.  REMOVEMOS EL VALOR DE LA LISTA “listaoper” EN LA POSICION “p-1”.  LA VARIBLE “p” DISMINUYE EN UN VALOR. o REMOVEMOS EL VALOR DE LA LISTA “listaoper” EN LA POSICION “p-1”. o LA VARIBLE “p” DISMINUYE EN UN VALOR. o A LA VARIABLE “resultado” LE ASIGNAMOS EL VALOR OBTENIDO AL INVOCAR AL METODO Ordenar Y A ESTA, ENVIARLE COMO PARAMETRO LA VARIABLE “hallar”. o AGREGAMOS A LA LISTA EN LA POSICION “p” A LA VARIABLE “resultado” CONVERTIDO A TIPO STRING. o A LA VARIABLE LE ASIGNAMOS UN VALOR VACIO (“ ”). o RETORNAMOS EL VALOR DE LA LISTA “listaoper” EN LA POSICION “0”, Y LO CONVERTIMOS A TIPO DOUBLE.
  • 10. c) METODO ORDENAR: ESTE METODO NOS PERMITIRA OBTENER UNA JERARQUIA DE SIGNOS, ES DECIR ORDENAR LA ECUACION DE MANERA QUE SE DESARROLLEN LAS OPERACIONES EN ESTE ORDEN: 1) DIVISION 2) MULTIPLICACION 3) SUMA O RESTA CREAMOS EL METODO Ordenar DEL TIPO DOUBLE, CON MODIFICADOR PUBLICO (“public”), PARA QUE OTRAS CLASES TAMBIEN PUEDAN ACCEDER A ESTA FUNCION, Y LE ASIGNAMOS EL PARAMETRO DEL TIPO STRING “ecuacion”.
  • 11. - CREAMOS 2 VARIABLES TIPO STRING LLAMADAS “nuevo” Y “dato”. - CREAMOS UNA LISTA LLAMADA “list”. - RECORREMOS LA LONGITUD DE LA VARIABLE “ecuacion” MEDIANTE UNA ESTRUCTURA REPETITIVA (“for”): o SI (“if”) LA SUBCADENA (“i, i+1”) DE LA VARIABLE “ecuacion” ES DIFERENTE DE LOS VALORES (“/”, “*”, “+”, “-”):  A LA VARIABLE “dato” LE ASIGNAMOS LA VARIABLE “dato” CONCATENADA CON LA SUBCADENA “ecuacion.substring(i, i+1)”. o SINO(“else”):  AGREGAMOS LA VARIABLE “dato” A LA LISTA “list”.  AGREGAMOS LA SUBCADENA “ecuacion.substring(i, i+1)” A LA LISTA “list”.  A LA VARIABLE “dato” LE ASIGNAMOS UN VALOR VACIO (“ ”). - AGREGAMOS LA VARIABLE “dato” A LA LISTA “list”. - MIENTRAS (“while”) LA POSICION DE LA LISTA “list” EN DONDE SE ENCUENTRE EL VALOR (“/”) ES MAYOR QUE EL VALOR “-1”: o CREAMOS UNA VARIABLE ENTERA LLAMADA “j” Y LE ASIGNAMOS LA POSICION DE LA LISTA “list” EN DONDE SE ENCUENTRE EL VALOR (“/”). o CREAMOS LA VARIABLE “nuevo” LE ASIGNAMOS EL VALOR OBTENIDO AL INVOCAR AL METODO Resolver Y A ESTE, ENVIARLE COMO PARAMETRO LOS VALORES CONCATENADOS “list.get(j-1)+list.get(j)+list.get(j+1)”. o REMOVEMOS LOS VALORES DE LA LISTA “list” EN LAS POSICIONES “j-1”, “j”, “j+1”. o AGREGAMOS A LA LISTA “list” LA VARIABLE “nuevo” EN LA POSICION “j-1”. - MIENTRAS (“while”) LA POSICION DE LA LISTA “list” EN DONDE SE ENCUENTRE EL VALOR (“*”)ES MAYOR QUE EL VALOR “-1”: o CREAMOS UNA VARIABLE ENTERA LLAMADA “j” Y LE ASIGNAMOS LA POSICION DE LA LISTA “list” EN DONDE SE ENCUENTRE EL VALOR (“*”). o CREAMOS LA VARIABLE “nuevo” LE ASIGNAMOS EL VALOR OBTENIDO AL INVOCAR AL METODO Resolver Y A ESTE, ENVIARLE COMO PARAMETRO LOS VALORES CONCATENADOS “list.get(j-1)+list.get(j)+list.get(j+1)”. o REMOVEMOS LOS VALORES DE LA LISTA “list” EN LAS POSICIONES “j-1”, “j”, “j+1”. o AGREGAMOS A LA LISTA “list” LA VARIABLE “nuevo” EN LA POSICION “j-1”. - MIENTRAS (“while”) LA POSICION DE LA LISTA “list” EN DONDE SE ENCUENTREN LOS VALORES (“+” O “-”)SON MAYORES QUE EL VALOR “-1”: o CREAMOS UNA VARIABLE ENTERA LLAMADA “j” Y LE ASIGNAMOS LA POSICION DE LA LISTA “list” EN DONDE SE ENCUENTRE LOS VALORES (“+” O “-”). o CREAMOS LA VARIABLE “nuevo” LE ASIGNAMOS EL VALOR OBTENIDO AL INVOCAR AL METODO Resolver Y A ESTE, ENVIARLE COMO PARAMETRO LOS VALORES CONCATENADOS “list.get(j-1)+list.get(j)+list.get(j+1)”. o REMOVEMOS LOS VALORES DE LA LISTA “list” EN LAS POSICIONES “j-1”, “j”, “j+1”. o AGREGAMOS A LA LISTA “list” LA VARIABLE “nuevo” EN LA POSICION “j-1”. - RETORNAMOS EL VALOR DE LA LISTA “list” EN LA POSICION “0”, PERO CONVERTIDO EN UN VALOR DE TIPO DOUBLE.
  • 12. d) METODO RESOLVER: ESTE METODO NOS PERMITE RECONOCER QUE OPERACIONES SE REALIZARAN RESPECTO A SUS SIGNOS, Y CUALES SERAN LOS VALORES OPERADOS. CREAMOS EL METODO resolver DEL TIPO DOUBLE, CON MODIFICADOR PUBLICO (“public”), PARA QUE OTRAS CLASES TAMBIEN PUEDAN ACCEDER A ESTA FUNCION, Y LE ASIGNAMOS EL PARAMETRO DEL TIPO STRING “ecuacion”. - CREAMOS UNA VARIABLE ENTERA “j”. - CREAMOS 3 VARIABLES DE TIPO DOUBLE “primero”, “segundo” Y “resultado”. - RECORREMOS LA LONGITUD DE LA VARIABLE “ecuacion” MEDIANTE UNA ESTRUCTURA REPETITIVA (“for”): o SI LA SUBCADENA (i, i+1) DE LA VARIABLE “ecuacion” ES IGUAL A CUALQUIERA DE LOS VALORES (“/”, “*”, “+”, “-”):  A LA VARIABLE “j” LE ASIGNAMOS LA POSICION EN DONDE SE ENCONTRO A CUALQUIERA DE LOS VALORES (“/”, “*”, “+”, “-”).  HACEMOS UN QUIEBRE (“break”). - SI (“if”) EL VALOR DE LA VARIABLE “j” ES MAYOR QUE CERO (LO CUAL SIGNIFICA QUE ENCONTRO A CUALQUIERA DE LOS VALORES (“/”, “*”, “+”, “-”)): o A LA VARIABLE “primero” LE ASIGNAMOS EL VALOR DE LA SUBCADENA (0, j), LO CUAL QUIERE DECIR EL DIGITO QUE ESTA ANTES DEL SIGNO.
  • 13. o A LA VARIABLE “segundo” LE ASIGNAMOS EL VALOR DE LA SUBCADENA (j+1, ecuacion.length()), LO CUAL QUIERE DECIR EL DIGITO QUE ESTA DESPUES DEL SIGNO. o A LA VARIABLE “operacion” LE ASIGNAMOS LA SUBCADENA (j, j+1), LO CUAL SIGNIFICA QUE ES EL SIGNO. o SI (“if”) LA VARIABLE “operacion” ES IGUAL AL VALOR (“+”):  A LA VARIABLE “resultado” LE ASIGNAMOS EL VALOR OBTENIDO AL INVOCAR AL METODO Sumar A LA CUAL LE ENVIAMOS COMO PARAMETROS LAS VARIABLES “primero” Y “segundo”. o SI (“if”) LA VARIABLE “operacion” ES IGUAL AL VALOR (“-”):  A LA VARIABLE “resultado” LE ASIGNAMOS EL VALOR OBTENIDO AL INVOCAR AL METODO Restar A LA CUAL LE ENVIAMOS COMO PARAMETROS LAS VARIABLES “primero” Y “segundo”. o SI (“if”) LA VARIABLE “operacion” ES IGUAL AL VALOR (“*”):  A LA VARIABLE “resultado” LE ASIGNAMOS EL VALOR OBTENIDO AL INVOCAR AL METODO Multiplicar A LA CUAL LE ENVIAMOS COMO PARAMETROS LAS VARIABLES “primero” Y “segundo”. o SI (“if”) LA VARIABLE “operacion” ES IGUAL AL VALOR (“/”):  A LA VARIABLE “resultado” LE ASIGNAMOS EL VALOR OBTENIDO AL INVOCAR AL METODO Dividir A LA CUAL LE ENVIAMOS COMO PARAMETROS LAS VARIABLES “primero” Y “segundo”. - SINO (“else”) A LA VARIABLE “resultado” LE ASIGNAMOS EL VALOR DE LA VARIABLE “ecuacion”, PERO CONVERTIDO EN TIPO DOUBLE. - RETORNAMOS LA VARIABLE “resultado”. e) AQUÍ SE DESARROLLARAN LAS OPERACIONES DE SUMA, RESTA, MULTIPLICACION Y DIVISION:
  • 14. CLASE PARRAFO 1) CREAMOS LA CLASE PARRAFO: LA CUAL NOS SERVIRA DE MUCHA AYUDA, YA QUE AQUÍ DECIDIMOS ALMACENAR LAS VALIDACIONES DE LA FORMULA. Y lo creamos con su constructor sin parámetros (también llamado constructor por defecto) 2) Creamos el método “ContarString” el cual nos servirá para validad_formula, teniéndose asi como parámetros a la variable “parrafo” y “palabra” las dos de tipo String. Entra a una estructura condicional llamado, palabra igual “ ” Sino entra a la estructura repetitiva, el cual se inicia en una variable “i” inicializada en 0 de tipo entero hasta la longitud de la párrafo menos la longitud de la palabra mas la unidad.en forma postcreciente. Llendose luego a la estructura condicional el coge la subcadena, desde la variable i hasta la longitud de la palabra ,siendo esta igualada a palabra.Retornando un valor n 3) Creamos la clase la cual nos servirá para la clase calculadora; y tiene por parámetros la variable “Parrafo”,”OldPalabra”,”NewPalabra” de tipos String Declaramos una variable “NuevoTexto” la cual la inicializamos en vacio. UTILIZAMOS LA ESTRUCTURA CONDICIONAL “IF”, el cual iguala la variable Parrafo con Vacio.
  • 15. Y SI CUMPLE ESTA CONDICIONAL NOS MOSTRARA UN “vacio” Sino cumple esta condicional , nos igualara la “OldPalabra” igual a la NewPalabra y si cumple esta;igualamos la variable párrafo a la variable NuevoTexto,descrita anteriormente. Y Si en caso no cumple ninguna de las dos entra a la estructura repetitiva ,la cual nos indica que desde una variable “i” inicializada en 0 de tipo entero hasta la longitud de la párrafo menos la longitud de la palabra mas la unidad.en forma postcreciente.Y si cumple esta igualamos la variable “OldPalabra” a la Subcadena de la variable”Parrafo” desde la “i” hasta la variable “i” aumentada con la longitud de la variable “OldPalabra” Y si cumple la anterior condición asignamos la Subcadena desde 0 hasta i aumentada de palabra “NewPalabra” mas la subcadena de la palabra “Parrafo” que cuenta desde la variable “i“ aumentada en la longitud de la variable “OldPalabra” hasta la longitud de la variable “Parrafo” Y después de la estructura repetitiva ,se utiliza el método “TRIM” a la variable “Parrafo”asignándolo asi a la variable “NuevoTexto” Retornandose asi la variable “NuevoTexto” Nota: El método trim() de la clase String en Java, solo elimina los espacios al principio y al final de las cadenas. Si nuestra cadena tiene espacios en medio, éstos no serán reemplazados 4) Creamos el método “IsLetter” el cual tiene como parámetro , la variable x de tipo String Asignamos a la variable Resultado de tipo boolean un “False” Y cada vez que llege una letra, será transformada en mayúscula y se le asignara a la misma variable Luego entrara a la estructura condicional “if”;la cual nos dice que si esa variable es igual a la letra “A” o letra “B” y asi sucesivamente, y si esto es verdad, le asignamos un valor true a resultado,sino retorna resultado false
  • 16. 5) Creamos el método IsSign el cual tiene como parámetros x de tipo String Asignamos a la variable Resultado de tipo boolean un “False” Y cada vez que llege una letra, será transformada en mayúscula y se le asignara a la misma variable Luego entrara a la estructura condicional “if”;la cual nos dice que si esa variable es igual al signo “+” o “- ”o “*”o “/” , y si esto es verdad, le asignamos un valor true a resultado, sino retorna resultado false Nota: Tanto el método IsLetter como el método IsSign, son utilizados en el método “validación_formula” 6) Creamos la clase Validar_formula , cual lleva por parámetro la variable formula de tipo String; Siendo esta una de las partes mas importantes de esta clase.Aqui mostramos en cada imagen la explicación de este método, con el compromiso de brindar una mejor comprensión.
  • 17.
  • 18.
  • 19. Clase GestionNotas 1) Creamos la clase GestionNotas El cual va a contener los métodos que se utilizaran para manejar a Alumno;ConsultarAlumno,RegistrarAlumno,ModificarAlumno,EliminarAlumno y de la misma manera para Curso 2) Importaciones: -La primera importación se llama de la misma librería de java -La segunda y tercera de la clase “Alumno” y “Curso” del paquete “Entidades” -La cuarta y quinta de la clase “TablaAlumno” y “TablaCurso” del paquete “AccesoDatos” 3) Aquí se ven los cuatro métodos -Creamos el método “ConsultarAlumnos” el cual lleva por parámetros “codigo” “nombre” “oCurso” el cual tomara una excepción , el cual ve el “codigo”,”nombre” y “curso” -Creamos el método “RegistrarAlumno” el cual lleva por parámetros “Alumno” el cual tomara una excepción , el cual ve el “alumno” y lo Inserta
  • 20. -Creamos el método “ModificarAlumno” el cual lleva por parámetros “Alumno” el cual tomara una excepción , el cual ve el “alumno” y actualiza -Creamos el método “EliminarAlumno” el cual lleva por parámetros “Alumno” el cual tomara una excepción , el cual ve el “alumno” y Elimina