Вы находитесь на странице: 1из 13

DEPARTAMENTO

Tabla de contenido DE ELECTRICA Y


ELECTRONICA
1. CARRERA DE ING.
Tema: Programa Divisin en Base r..........................................................................

2. MECATRNICA
Objetivos:..........................................................................................................

3.
SISTEMAS
Mapa conceptual.................................................................................................
DIGITALES
4. Diagrama de bloques............................................................................................
NRC:
5.
2162
Desarrollo del programa.......................................................................................

6. Anlisis del programa..........................................................................................


INFOR
7. Dificultades......................................................................................................
ME
8. Solucin de las dificultades..................................................................................

9. Conclusiones....................................................................................................
TEMA: DIVISION EN
10. BASE r
Recomendaciones...........................................................................................

11. Bibliografa...................................................................................................

NOMBRE: VINICIO
CHUQUI

PPROFESOR: ING.
MIROSLAVA ZAPATA

14/11/201
6
1
1. Tema: Programa Divisin en Base r

2. Objetivos:

General:

Desarrollar un programa para realizar la operacin de divisin en base r,

hasta r =16.

Especficos:

Utilizar un IDE (Entorno de Desarrollo Integrado) de programacin para

compilar el cdigo.
Validar la entrada de datos en el IDE de programacin
Buscar el algoritmo para dar solucin al programa.

3. Mapa conceptual

2
Figura 1. Mapa conceptual sobre la divisin en base r

4. Diagrama de bloques

Figura 2. Diagrama de bloques para dar solucin al problema

Entrada de datos: El bloque entrada de datos recibe los datos por consola, estos

datos tienen los (r-1) dgitos permitidos, que incluyen nmeros del cero al nueve y letras

de la A la G, esto debido a que solo tenemos una base mxima de r =16. Los dgitos
3
permitidos son solo para el dividendo y el divisor, tambin recibir un dato numrico

entero para la base este valor ayudara a validar los datos de entrada que se ejecuta en el

siguiente bloque.

Validacin: El bloque validacin recibe los datos ingresados, los procesa y los

compara, por ejemplo al ingresar una base 16, el usuario ingresa el divisor una letra J

los compara con un arreglo de trminos r =16, y al no constar en el arreglo enva un

mensaje, devolviendo al inicio del bloque ingreso de datos, un ciclo que termino hasta

que el usuario ingrese trminos correctos.

Conversin: Despus que el usuario haya ingresado los datos correctos para el

dividendo y divisor, para al bloque conversin en el cual los datos son separados la

parte numrica y la parte algbrica, el IDE no realiza operaciones con letras por lo que

es necesario este procedimiento, este bloque asigna los valores que son para las letras

como A =10, B =11, C=12, etc.

Resolucin: El bloque resolucin recoge los datos del dividendo y divisor para

realizar las operaciones, tanto resta como multiplicacin, estos datos son analizados y

puestos en diferentes arreglos, en el dividendo cada termino est asignado una posicin

en un arreglo, estos datos son llamados para realizar la operacin resta, los datos son

llamados en forma individual tanto para el dividendo como el divisor. Posteriormente

los resultados son puestos en otros nuevos arreglos para el cociente y residuo.

Salida de datos: Los resultados obtenidos en el bloque anterior son llamados por el

bloque salida de datos, el cual toma los arreglos donde se guardaron los resultados del

cociente y residuo y son visualizados mediante la consola del IDE que estemos

utilizando en este caso IntellJ IDEA.

4
5. Desarrollo del programa

El programa se ha dividido en tres clases diferentes estas son: clase Main o conocida

como clase principal en java, la clase Ingreso Datos y la clase Validacin. En la figura 3

se muestra las tres clases tomas captura de pantalla de software IntelliJ IDEA.

Figura 3. Clases utilizadas en el programa

En la siguiente seccin se explicara cada clase y su funcin en el programa, se

realizara capturas de pantallas para mayor comprensin.

6. Anlisis del programa

Cada clase tiene su funcin especfica en el programa, empezaremos con la clase

Ingreso Datos continuando con la clase Validacin y finalmente con la clase Main.

Clase Ingreso Datos: Esta clase se centra fundamentalmente en la adquisicin de

datos por consola, los dgitos escritos son enviados a esta clase el cual los procesa, y los

enva a la clase Validacin que analizaremos posteriormente, en esta clase tenemos un

funcin (realiza operaciones especificas en la clase) para ingresar el valor de la base,

como se puede observar en la figura 4.

Figura 4. Funcin para ingresar el valor entero de la base

5
Tambin creo un funcin privada para el ingreso de los trminos para el dividendo,

como los dgitos de dividendo pueden incluir nmeros y letras, es recomendable recoger

estos datos en String (recibe datos concatenados), la funcin se puede visualizar en la

figura 5a, de la misma manera se cre una funcin para recibir los datos para el divisor

figura 5b.

a)

a)

b)

Figura 5. a) Funcin ingreso dividendo, b) Funcin ingreso divisor

Estos datos se guardaron en diferentes variables y se enviaron a la clase validacin,

como los datos fueron un entero y dos Strings se necesita una conversin.

Clase Validacin: En esta clase se valida los datos recibidos por la clase ingreso de

datos, en esta misma clase se realiz en procedimiento para dar solucin al programa

planteado anteriormente. En la figura 6 se puede observar la funcin ocupada para la

validacin del dividendo, de la misma forma se hizo para el divisor, la funcin me

retorna un dato en este caso es un valor booleano (valor verdadero true o falso

false).

6
Figura 6. Funcin pblica valida los datos ingresados, segn la base r

Los datos ingresados son separados por la clase interna Split esta clase ayuda a

separar valores String y los convierte en arreglos, en la figura 6, se observa que el

dividendo se ha convertido en un array y los empieza a comparar mediante una clase

interna equals, estos datos individuales son comparados dependiendo la base que se

haya dado.

Luego de haber validado el dividendo y divisor estos valores son enviados a la

funcin transformacin, la cual se encarga de asignar y convertir los valores String en

enteros, como IDE no resuelve operaciones con letras los valores son asignados ejemplo

la letra A toma en valor de 10 en entero la B el valor de 11 y as hasta la letra G. En la

figura 7 se observa la funcin la cual nos ayuda a realizar este procedimiento. Private

void significa que esta funcin solo se ocupa en esta clase y no devuelve ningn valor,

la funcin se utiliz para el dividendo y divisor.

Figura 7. Funcin private void asigna valores a las letras A, C etc

Se cre la funcin multiplicacin la cual se enfoca en multiplicar dgito por digito y

cada resultado asignarle a un arreglo, esta funcin se realiz para el dividendo, para

7
encontrar el valor del cociente en la figura 8 se puede ver de que est compuesta esta

funcin.

Figura 8. Funcin Multiplicacin

Luego de haber multiplicado y encontrado el cociente, los valores de los cocientes se

guardan en un arreglo, en el cual se transforma de enteros a String, al momento de la

multiplicacin se utiliz valores como 10,11, 12, etc., los valores son asignados en su

forma String prximos para ser llamados por la funcin imprimir, en la figura 9 se

puede observar la sintaxis de la funcin, de la misma forma se aplic el proceso para el

residuo

Figura 9. Funcin transformacin

Finalmente se desarroll la funcin imprimir, tanto la el cociente como el residuo, la

funcin tiene como objetivo visualizar los datos guardados en los diferente arreglos que

8
contienen los resultados del cociente y residuo. El la figura 10. Se observa la sintaxis el

algoritmo, se utiliz un for para ir por cada posicin del arreglo. La clase interna print

ayuda a visualizar los datos por consola.

Figura 10. Funcin imprimir, da visualizacin de los resultados

Clase Main: Finalmente la clase Main, esta clase recoge todos los objetos creados en

las diferentes clases del IDE, como l programacin en Java es orientada a objetos, se

necesita crear un objeto de la clase ingreso de datos, y esta crea un objeto de la clase

validacin. Al momento de crear el objeto como se visualiza en la figura 11, primero se

ejecuta la clase ingreso de datos y posteriormente la clase validacin, pasado por todas

las funciones mencionadas anteriormente.

Figura 11. Clase Main, objeto creado

Ejecucin del programa: se realiz capturas del programa en el momento de la

ejecucin, primero se ingres valores errados, en la figura 12, se observa que se vuelve

a pedir el ingreso de datos al encontrar el error. Si ingresamos valores correctos como se

muestra en la figura 13, veremos que nos da el resultado del cociente y residuo. Hemos

dado solucin al programa.

9
Figura 12. Ingreso de valores errneos

Figura 13. Ingreso de valores correctos

7. Dificultades

Se present diferentes dificultades en el desarrollo del programa, debido a que se utiliz

diferentes mtodos presentes en algunas libreras extra para la programacin en java.

Tales inconvenientes se mencionan a continuacin.

Separacin de Datos: Los datos que ingresan en el programa son de forma String eso

quiere decir que incluyen tanto nmeros como letras al mismo tiempo, por lo que fue la

parte fundamental del programa ya que el software no realiza operaciones con letras, y

si intentamos resolver de esta forma IntelliJ IDEA toma el valor binario de cualquier

letra, por lo que fue necesario encontrar un mtodo que nos facilite la separacin de

datos. Los valores que se ingresaron por consola son te tipo String.

Transformacin de String a int: Otro de los grandes inconvenientes fue la

transformacin de una variable del tipo String a un entero int, cuando los datos de

ingreso fueron separados en forma individual cada uno de estos valores son de tipo

10
String por lo que fue necesario transformarlos al tipo int. Se busc diferentes mtodos

existentes en las libreras de Java para poder transformar al tipo entero.

8. Solucin de las dificultades

Despus de realizar una investigacin se encontr los dos diferentes mtodos que nos

ayudaran a dar solucin al programa, estos mtodos redujeron el tiempo de desarrollo

del programa, a continuacin se explica cada los dos mtodos utilizados.

Metodo String.split(): Este mtodo se utiliza para la manipulacin de cadenas es decir

cada frase que se escriba por consola es separada letra por letra y puesta en un arreglo.

Este mtodo tambin nos ayuda a separar trminos dependiendo de las ocurrencias que

se presente, por ejemplo si escribimos un nmero M separados por la ocurrencia coma

, los valores sern separados cada vez que se encuentre una coma. Pero para el

desarrollo de nuestro programa se utiliz la ocurrencia la no separacin esto quiere decir

que los trminos se encuentran uno a lado del otro, toma cada valor y los asigna a un

arreglo o matriz.

Metodo Integer.parseInt(): El mtodo completo es lo que se observa en la parte

izquierda, pero el mtodo sale de la clase Ingeter una clase desarrollada por la propia

compaa Oracle, este tipo de clase tiene muchos mtodos que ayudan a facilitar el

desarrollo del cdigo, en este caso se utiliz en mtodo parseInt(), el mtodo tiene como

funcin principal pasar de un valor tipo String a un tipo entero int, se utiliz este

mtodo debido que el IDE no puede realizar operaciones con caracteres de letras, un

ejemplo de este mtodo cuando un trmino es tipo String 1, este valor se transforma al

tipo entero 1, conservando su valor decimal.

11
9. Conclusiones

Se desarroll el programa que tena como parte fundamental realizar la

operacin de divisin en una base r, base mxima es 16 es decir tenia r-1

trminos individuales, siendo su ultimo termino G.


El IDE de programacin utilizado es el IntelliJ IDEA software desarrollado por

la compaa JetBrains, este software facilita la creacin de cdigo ya que tiene la

sobre escritura implementada en la interfaz, esto quiere decir que recuerda lo

que hemos escrito anteriormente, reduciendo el tiempo de desarrollo.


La entrada de datos para el dividendo y divisor fueron validados cada uno de

ellos, ya que no se puede operar con datos errores o con caracteres que no estn

dentro del rango r-1.


En el algoritmo para dar solucin el programa, se utiliz una gran cantidad de

funciones, ya sean estn privadas o pblicas, de esta manera se logra reducir

errores presentes en el cdigo, y si se presenta uno es ms fcil ubicar dicho

error.
Se eligi la programacin orientada a objetos JAVA ya que es el lenguaje de

programacin ms destacado a nivel mundial por su fcil sintaxis, y por la

creacin de objetos de cada clase existente.

10. Recomendaciones

El programa de desarrollo con el IDE IntelliJ IDEA, basado en la programacin

orientada a objetos, se recomienda utilizar otro tipo de IDE o lenguaje, para

comparar la reduccin de cdigo en cada uno de ellos.


Las funciones fueron la parte central de cada clase, ya que estas dividen una

instruccin en pequeas funciones, por lo que es necesario crear la mayor

cantidad de funcin para reducir errores en el programa, divide y vencers.


Es necesario la utilizacin de mtodos ya existentes en java como es la clase

Interger, que tiene un sin nmero de mtodos que ayudan a reducir el tiempo en

el desarrollo de cdigo.

12
Crear la funcin imprimir ya sea para visualizar los resultados o visualizar lo

que esta ejecutando una funcin especfica, esto ayuda a corregir errores en

tiempo real.

11. Bibliografa
Deitel, P y Deitel H. (2012). Como programar en Java. Mxico: Pearson
Education
Morris, M. (2003). Diseo digital. Mxico: Pearson Education
Tocci, R y Neal, S. (2007). Sistemas digitales. Principios y aplicaciones.
Mexico: Pearson Education

13

Вам также может понравиться