Академический Документы
Профессиональный Документы
Культура Документы
2. MECATRNICA
Objetivos:..........................................................................................................
3.
SISTEMAS
Mapa conceptual.................................................................................................
DIGITALES
4. Diagrama de bloques............................................................................................
NRC:
5.
2162
Desarrollo del programa.......................................................................................
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:
hasta r =16.
Especficos:
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
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
mensaje, devolviendo al inicio del bloque ingreso de datos, un ciclo que termino hasta
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
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
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
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.
Ingreso Datos continuando con la clase Validacin y finalmente con la clase Main.
datos por consola, los dgitos escritos son enviados a esta clase el cual los procesa, y los
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
figura 5a, de la misma manera se cre una funcin para recibir los datos para el divisor
figura 5b.
a)
a)
b)
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
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
interna equals, estos datos individuales son comparados dependiendo la base que se
haya dado.
enteros, como IDE no resuelve operaciones con letras los valores son asignados ejemplo
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,
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.
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
residuo
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
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
ejecuta la clase ingreso de datos y posteriormente la clase validacin, pasado por todas
ejecucin, primero se ingres valores errados, en la figura 12, se observa que se vuelve
muestra en la figura 13, veremos que nos da el resultado del cociente y residuo. Hemos
9
Figura 12. Ingreso de valores errneos
7. Dificultades
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 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
Despus de realizar una investigacin se encontr los dos diferentes mtodos que nos
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
, los valores sern separados cada vez que se encuentre una coma. Pero para el
que los trminos se encuentran uno a lado del otro, toma cada valor y los asigna a un
arreglo o matriz.
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
11
9. Conclusiones
ellos, ya que no se puede operar con datos errores o con caracteres que no estn
error.
Se eligi la programacin orientada a objetos JAVA ya que es el lenguaje de
10. Recomendaciones
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