Informe Calculadora Hexagesimal

27
UNIVERSIDAD CENTRAL DEL ECUADOR FACULTAD DE INGENIERÍA CIENCIAS FÍSICAS Y MATEMÁTICAS INGENIERÍA EN DISEÑO INDUSTRIAL PROGRAMACIÓN I AUTORES: MICHELLE CEVALLOS CECIBEL MOREIRA ALEX RODRIGUEZ PEDRO TAIPE KIMBERLY TULCAN PROFESOR: ING.WAGNER LUCERO AÑO LECTIVO: !"#

description

informe

Transcript of Informe Calculadora Hexagesimal

UNIVERSIDAD CENTRAL DEL ECUADOR

FACULTAD DE INGENIERA CIENCIAS FSICAS Y MATEMTICAS

INGENIERA EN DISEO INDUSTRIAL

PROGRAMACIN I

AUTORES:

MICHELLE CEVALLOSCECIBEL MOREIRAALEX RODRIGUEZPEDRO TAIPEKIMBERLY TULCAN

PROFESOR: ING.WAGNER LUCERO

AO LECTIVO: 2015

NDICE

INTRODUCCIN3OBJETIVOS4OBJETIVO GENERAL4OBJETIVOS ESPECFICOS4FUNDAMENTACIN TERICA5LENGUAJES PROGRAMACIN.-5LENGUAJE VISUAL BASIC:5LENGUAJE C:6LENGUAJE JAVA:6CICLOS REPETITIVOS.-6FUNCIONES.-7DECLARACIN FUNCIONES:7PROCEDIMIENTOS (SUBRUTINAS)8PROCEDIMIENTO VS. FUNCIN8CADENA DE CARACTERES.-9SISTEMA HEXADECIMAL9CONVERSIN DE DECIMAL A HEXADECIMAL9DESARROLLO DEL PROYECTO10LENGUAJE VISUAL BASIC10LENGUAJE C14LENGUAJE JAVA19CONCLUSIONES25RECOMENDACIONES26BIBLIOGRAFIA27TRABAJOS CITADOS27

INTRODUCCIN

Se conoce como programacin a los pasos que se abordan para crear el cdigo fuente de un programa informtico. De acuerdo con estos pasos, el cdigo se escribe, se prueba y se perfecciona. Un algoritmo es una secuencia no ambigua, finita y ordenada de instrucciones que han de seguirse para resolver un problema. Un programa normalmente implementa un algoritmo.

El presente proyecto tiene como objetivo realizar un algoritmo claro y entendible, luego programarlo en varios lenguajes.El programa que se presenta a continuacin es una calculadora bsica, realiza las operaciones como suma, resta multiplicacin y divisin de nmeros hexadecimales, con la realizacin de este programa se quiere llegar a facilitar la realizacin de operaciones que usualmente pueden ser muy largas hacerlas a mano, simplificando procesos y ahorrando tiempo.

A continuacin se presenta la descripcin del proyecto, es decir de que se trata el programa, su realizacin, cdigo, lenguajes de programacin en los cuales se trabaj y algunos otros puntos ms que ser importante analizarlos.

OBJETIVOS

OBJETIVO GENERAL

Realizar un programa de una calculadora hexadecimal, utilizando los diferentes lenguajes programacin como visual basic, C y java, para facilitar la realizacin de operaciones bsicas como suma, resta multiplicacin y divisin.

OBJETIVOS ESPECFICOS

Investigar mediante libros e internet informacin relacionada con el tema para poder realizar el marco terico.

Realizar el programa en diferentes lenguajes para un mayor entendimiento.

Explicar y socializar el algoritmo con nuestros compaeros para reforzar los conocimientos adquiridos en clase.

FUNDAMENTACIN TERICA

La programacin es sin duda un tema clave en la construccin moderna de programas. El elevado tamao de la memoria central de las computadoras junto con las grandes capacidades de almacenamiento de los discos externos de las mismas ha conducido a considerar el estilo de programacin como uno de los factores clave en el desarrollo de programas. (Luis, Segunda Edicion).

La principal razn para que las personas aprendan lenguajes y tcnicas de programacin es utilizar la computadora como una herramienta para resolver problemas. La resolucin de problemas exige al menos los siguientes pasos:

1. Definicin o anlisis del problema2. Diseo algoritmo3. Transformacin algoritmo en un programa4. Ejecucin validacin del programa (Luis, Segunda Edicion)

En cuanto a las caractersticas que debe tener un algoritmo estn:

Debe ser preciso e indicar orden de realizacin de cada pasoDebe estar definido. Si se sigue un algoritmo dos veces, se debe obtener el mismo resultado cada vezDebe ser finito. Si se sigue un algoritmo se debe terminar en algn momento; o sea, debe tener un numero finito de pasos. Es decir entrada, proceso, salida (Luis, Segunda Edicion)

LENGUAJES PROGRAMACIN.-

LENGUAJE VISUAL BASIC:

Visual Basic es una aplicacin y un lenguaje de programacin Alan Cooper lo desarrollo para Microsoft, se origina del lenguaje clsico BASIC. La primera versin sali en 19991 en un entorno relativamente sencillo para facilitar la creacin de programas grficos, utiliza una interfaz totalmente visual. (Alegsa, s.f.)Nosotros aplicamos este lenguaje al trabajar en macros de excel.LENGUAJE C:

Visual Studio es el programa en el cual trabajamos el lenguaje C, C es un lenguaje de programacin de propsito general asociado, de modo universal, al sistema operativo UNIX. Este lenguaje no est prcticamente asociado a ningn sistema operativo, ni a ninguna mquina en especial. (Kervin, 2007)

LENGUAJE JAVA:

Para trabajar con este lenguaje usamos un programa que nos permite desarrollar programas java llamado Netbeans .Java es un lenguaje de programacin con el que podemos realizar cualquier tipo de programa. Actualmente es un lenguaje muy completo que cada vez cobra importancia en los mbitos internet e informtica.Est desarrollado por la compaa Sun Microsystems con gran dedicacin enfocado a cubrir las necesidades tecnolgicas. Una ventaja de Java es que presenta un lenguaje independiente de la plataforma, es decir si hacemos un programa en java podr funcionar en cualquier ordenador del mercado.

CICLOS REPETITIVOS.-

Un bucle o lazo (loop) es un segmento de un algoritmo o programa, cuyas instrucciones se repiten un nmero determinado de veces mientras se cumple una determinada condicin.

Un bucle consta de tres partes:

1. Decisin2. Cuerpo del bucle3. Salida del bucle

Ilustracin 1.-Bucle infinito (Luis, Segunda Edicion).En la ilustracin nmero 1 se puede ver un ciclo infinito, ya que las instrucciones (1), (2) y (3) se ejecutan indefinidamente, pues no existe salida del ciclo repetitivo, al no cumplirse una determinada condicin.

FUNCIONES.-

La resolucin de problemas complejos se facilita considerablemente si se dividen en problemas ms pequeos (subproblemas).Matemticamente una funcin es una operacin que toma uno o ms valores llamados argumentos y produce un valor denominado resultado.

DECLARACIN FUNCIONES:

La declaracin de funciones requiere una serie de pasos que la definen. Una funcin como tal subalgoritmo o subprograma tiene una constitucin similar a los algoritmos, por consiguiente constara de una cabecera que comenzara con el tipo de valor devuelto por la funcin, seguido de la funcin, que ser una serie de acciones o instrucciones cuya ejecucin har que se asigne un valor al nombre de la funcin. Esto determina el valor particular del resultado que ha de devolverse al programa llamador.

Para que las acciones descritas en un subprograma funcin sean ejecutadas, se necesita que este sea invocado desde un programa principal Cada vez que se llama a una funcin desde el algoritmo principal se establece automticamente una correspondencia entre parmetros formales y parmetros actuales. Los dos tipos de parmetros mencionados anteriormente deben estar en igual nmero en la declaracin de la funcin y se presupone una correspondencia uno a uno de izquierda a derecha.Una llamada de funcin implica los siguientes pasos:

1. A cada parmetro formal se le asigna el valor real de su correspondiente parmetro actual.

2. Se ejecuta el cuerpo de acciones de la funcin.

3. Se devuelve el valor de la funcin al nombre de la funcin y se retorna al punto de llamada.

PROCEDIMIENTOS (SUBRUTINAS)

Aunque las funciones son herramientas de programacin muy tiles para la resolucin de problemas su alcance est muy limitado, con frecuencia se requieren subprogramas que calculen varios resultados a la vez.

PROCEDIMIENTO VS. FUNCIN

Los procedimientos y funciones son subprogramas cuyo diseo y misin son similares, sin embargo, existen unas diferencias esenciales entre ellos1. Las funciones devuelven un valor, los procedimientos pueden devolver 0,1 o n valores y en forma de lista de parmetros.2. El procedimiento se declara igual que la funcin, pero su nombre no est asociado a ninguno de los resultados que se obtiene. (Luis, Segunda Edicion)

CADENA DE CARACTERES.-

Los lenguajes de programacin utilizan juegos de caracteres alfabeto para comunicarse con las computadoras. Existen dos cdigos los cuales son frecuentemente usados en computadoras, ASCII (American Standard Code for Information Interchange Code). El cual en su cdigo bsico de 7 bits utiliza (dgitos binarios.El cdigo ASCII se compone de los siguientes tipos de caracteres:1.-alfabeticos (a, b.z/A,B,.Z),2.-numericos (0, 1, 2,3, 8,9),3.-especiales (+,-,*, /, {,}, , etc.)EBCDIC utiliza 8 bits por carcter y, por consiguiente, consta de 256 caracteres distintos. Por lo general, un carcter ocupar un Byte de memoria. (Luis, Segunda Edicion)

SISTEMA HEXADECIMAL

Utiliza 16 dgitos y letras para representar para representar cifras y cantidades numricas. Los smbolos son {0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,},la base del sistema es el 16. (Agustn, 2002).

CONVERSIN DE DECIMAL A HEXADECIMAL

Se divide el nmero decimal para 16 por ser una conversin al sistema hexadecimal, realizamos divisiones sucesivas mientras dividendo sea mayor que divisor.Ejemplo:

1869 / 16 = 116 Resto 13 equivale a la letra D116 / 16 = 7 Resto 4 su equivalente es el 4

Como el ltimo cociente no es divisible entre 16, este pasa a formar parte del nmero que se forma en la notacin hexadecimal, dando como resultado el numero hexadecimal 74D. (Marlene, 2012)

DESARROLLO DEL PROYECTO

Para realizar una calculadora que haga las siguientes operaciones: suma, resta, multiplicacin y divisin y muestre el resultado en el sistema hexadecimal se proceder de la siguiente manera:

LENGUAJE VISUAL BASIC

Para realizar nuestro programa en visual basic primero vamos a crear dos funciones.La primera funcin convierte un nmero hexadecimal a decimal, definimos las respectivas variables de tipo double y string. Luego creamos un for para las diferentes condiciones que debe tener esta funcin.

La segunda funcin convierte un nmero decimal a hexadecimal, definimos las variables y utilizamos la instruccin Do...Loop para las condiciones que debe tener la funcin.

Para realizar el main se definen las siguientes variables de tipo string e integer.

Se pedir al usuario que ingrese los nmeros hexadecimales con los que va a trabajar:

Crearemos un men de opciones y un Select Case para realizar cada caso de las operaciones: suma, resta, multiplicacin y la divisin con su restriccin para cero.

Pondremos las condiciones como la inexistencia de nmeros hexadecimales negativos y la divisin para cero, tambin el proceso para transformar de decimal a hexadecimal.

EJEMPLOS:

Ejemplo 1.-Suma de dos nmeros hexadecimales.

Ejemplo 2.-Multiplicacin de dos nmeros hexadecimales.

Ejemplo 3.-Division para cero.

Ejemplo 4.-Inexistencia de hexadecimales negativos.LENGUAJE C

Se usaran las siguientes libreras:

La librera stdafx.h, se genera automtica mente al empezar un proyecto.La librera string.h,contiene la definicin demacros, constantes, funciones ytiposy algunas operaciones de manipulacin de memoria. La librera stdlib.h, contiene los prototipos de funciones de C para gestin de memoria dinmica, control de procesos y otras.La librera math.h,es un archivo diseado para operaciones matemticas bsicas. Muchas de sus funciones incluyen el uso de nmeros encoma flotante.

Se usaran cadenas para almacenar y mostrar los hexadecimales:

Se usaran las variables de tipo entero:

Se pedir que ingrese el primer nmero hexadecimal con el cual se va a trabajar:

Utilizamos un ciclo repetitivo while para poner todas las condiciones que conlleva un numero hexadecimal.

*Repetimos el mismo ciclo para ingresar el segundo nmero.

Aparecer un men de opciones para realizar la operacin deseada

Se escoge una opcin, se usa un while y dentro de l un switch que tendr como variable operaciones y contendr 5 casos, 4 para las operaciones de la calculadora y una opcin para salir.

En los casos del 1 al 3. El resultado ser la suma, resta o multiplicacin de los dos valores ingresados previamente.

Para el caso 4 la divisin de los valores tendr una condicin si denominador=0, en nuestro caso sumatoria2. La divisin no ser posible.

Al terminar de usar Switch, tendremos algunas condiciones para mostrar en pantalla los errores como nmeros negativos en hexadecimal o divisin para cero.Tambin ayudndonos de ciclos repetitivos incluiremos un proceso para transformar de decimal a hexadecimal, conversin a carcter, y por ultimo imprimiremos el resultado de la operacin.

Ejemplos:

Ejemplo 1.-Suma de dos nmeros hexadecimales cuyo resultado se muestra tambin en hexadecimal.

Ejemplo 2.-Producto de dos nmeros hexadecimales cuyo resultado se muestra tambin en hexadecimal.

Ejemplo 3.-Division de dos nmeros hexadecimales cuyo resultado se muestra tambin en hexadecimal.

LENGUAJE JAVA

Para realizar la calculadora hexadecimal crearemos una funcin que nos ayude a convertir nuestro nmero en hexadecimal a decimal.

El nombre de la funcin ser hexa ser de tipo long y tendr un solo parmetro de tipo string.

Se ingresara una variable de tipo long llamada suma que se inicializara en 0.

Se ingresa un for para realizar las condiciones que se necesitan para realizar la conversion.

En la parte del else de nuestra condicin realizamos otra condicin con la letra B y el numero 10 cambia por 11 , asi sucesivamente hasta llegar al else con el nmero 16 y la letra F. el smbolo ms menos se usa para poner suma=suma+10*.

Se cierra el primer if donde realizamos la condicion con la letra A y para finalizar el valor que retorna la funcion es : suma de tipo long.

Para el main se definen las siguientes variables de tipo long e int.

Usamos la funcin de scanner luego de haber importado java.util.scanner, usamos system.out.print para pedir que se ingresen los nmeros con los cuales se va a realizar la operacin.

Realizamos la conversin de hexadecimal a decimal mediante la funcin creada anteriormente.

Mostramos en pantalla un men de cinco opciones que nos permitir escoger la opcin con la que queremos trabajar.

Creamos un ciclo repetitivo en este caso usamos while el cual nos permitir seguir realizando las operaciones con los nmeros ingresados hasta presionar 5 y salir.

Usamos un switch de cuatro casos que tendr como variable operaciones en el caso 1 se realizara la suma, en el caso 2 la resta, en el caso 3 el producto y en el caso 4 la divisin de los nmeros ingresados anteriormente.

Al terminar el switch hacemos la condicin para nmeros negativos y la condicin que diga que 99999 salga en pantalla un mensaje diciendo que la divisin para cero o es posible.

Transformamos el resultado decimal a hexadecimal nuevamente y mostramos en pantalla el resultado.

Escribimos el men de opciones nuevamente y cerramos el while y el programa est listo y terminado para empezar a ejecutarlo.

Ejemplos.-

Ejemplo 1.-Suma y producto de dos nmeros hexadecimales.

Ejemplo 2.-Suma y divisin de dos nmeros hexadecimales.

CONCLUSIONES

Con las habilidades adquiridas para la programacin realizamos un programa sobre una calculadora hexadecimal, apoyndonos en los conocimientos de programacin y en libros investigados, utilizando declaracin de variables, salida y entrada de datos al programa, operadores matemticos, condicionantes, seleccin mltiple, ciclos repetitivos.

Con la calculadora hexadecimal ayudaremos a facilitar la transformacin de nmeros y posteriormente las operaciones que el usuario necesite realizar sin complicaciones.

El programa de la calculadora remplaza una tarea que puede ser muy larga para la tabla hexadecimal simplificando unos procesos de operacin a mano y tiempo que esto demora realizar, facilitando todo esto realizamos la calculadora hexadecimal.

RECOMENDACIONES

Este sistema Hexadecimal puede ser utilizado para el procesamiento de datos, tiene la ventaja de simplificacin de nmeros decimales para los nmeros binarios que puede simplificar 4 cifras de este sistema.

El programa es muy til para las personas que deben utilizar este sistema hexadecimal para la simplificacin de nmeros y adems puede realizar operaciones bsicas con este sistema facilitando el uso de este sistema.

No conformarnos con la informacin que tengamos, buscando nuevas fuentes de consulta para tener un mejor desenvolvimiento en la realizacin del programa.

BIBLIOGRAFIA

Agustn, O. A. (2002). Electrnica Digital Combinacional (Diseo, teora, prctica).

Luis, J, A. (Segunda Edicin). Fundamentos de programacin algoritmos y estructura de datos. Madrid: McGraw-Hill. Pg. XIII, 1 y 5.

Richard L. Halterman (2015). Fundamentals of C++ Programming. Editorial (Southern Adventist University)

TRABAJOS CITADOS

Agustn, O. A. (2002). Electronica Digital Combinacional (Diseo,teora,practica). Alegsa. (s.f.). ALEGSA.com.ar. Obtenido de http://www.alegsa.com.ar/Dic/visual%20basic.phpKervin, V. (06 de 07 de 2007). Blog Informtico. Obtenido de http://www.bloginformatico.com/lenguaje-de-programacion-c.phpLuis, J. A. (Segunda Edicion). Fundamentos de programacin algoritmos y estructura de datos. Madrid: McGraw-Hill.Marlene, B. (29 de 06 de 2012). Representacion Informacion. Obtenido de http://representacioninformacion.wikispaces.com/wiki/members

3