Está en la página 1de 36

UNIVERSIDAD CENTRAL DEL ECUADOR

FACULTAD DE CIENCIAS FISICAS Y MATEMATICAS


INGENIERIA EN DISEO INDUSTRIAL
PROGRAMACION I

TEMA:
Suma y resta de nmeros binarios

Grupo:

Caplicas

Integrantes:

Johana Atiaja
Diego Caguasango
Jorge Cifuentes
Jonathan Delgado
Mauricio Lucero
Vctor Pachar

Tabla de contenido
Objetivos............................................................................................................. 3
Objetivo general.............................................................................................. 3
Marco Terico...................................................................................................... 4
Sistema Binario.................................................................................................... 4
Lenguaje C.......................................................................................................... 8
Visual Basic....................................................................................................... 10
Desarrollo.......................................................................................................... 12
Conceptos fundamentales............................................................................. 12
Anlisis.............................................................................................................. 14
Suma.............................................................................................................. 15
Resta.............................................................................................................. 16
Algoritmo en el lenguaje de Visual Basic..........................................................17
Algoritmo en el lenguaje C................................................................................ 20
Algoritmo en el lenguaje de Java......................................................................24
Conclusiones..................................................................................................... 26
Recomendaciones............................................................................................. 27

C Programming Language (2nd Edition By B. W. Kernighan & D. M. Ritchie)..............28

Anexos.............................................................................................................. 28

Introduccin
A lo largo de la historia el hombre se ha visto en la obligacin de realizar un
nmero de tareas para sus necesidades cotidianas y laborales. Con el tiempo la
tecnologa ha tenido un desarrollo notable donde la programacin tiene un rol
importante para beneficio del hombre, porque? Programar es disear,
codificar, depurar y mantener un proceso llamado algoritmo el cual es una
secuencia de pasos ordenados para realizar una actividad. De tal manera
programar ayuda para la sistematizacin de tareas que el hombre podra
realizarlas de forma manual, pero con un ahorro significativo de tiempo.
La programacin no solo sustituye el trabajo fsico, sino tambin el intelectual
ya que hoy en da existen algoritmos capaces de clculos complejos que tienen
la posibilidad de procesar y generar datos para el beneficio humano.
La facultad de adaptar ese potencial de las computadoras a las necesidades del
hombre, generando distintos procesos automticos que obtienen resultados es
de gran utilidad en campos como laborar, industrial, tecnolgico, esttico,
ldico, etc.
En fin, la programacin est presente en todos los sistemas u objetos
tecnolgicos como por ejemplo robots, celulares, consolas de juegos, etc; ya
que ella es la que se encarga de sistematizar el proceso para que el robot
realice una orden o para que el celular ingrese a una aplicacin e interacte en
la misma.

Objetivos
Objetivo general

Crear una algoritmo, que realice las operaciones de suma y resta en nmeros
binarios usando un algoritmo que controle todos los parmetros que se
necesitan para realizar estas operaciones que son diferentes a los nmeros
normales.
Objetivos especficos
3

Analizar el funcionamiento del programa para plasmarlo en un


pseudocdigo el cual sea til al realizar la programacin.
Usar los conocimientos aprendidos en clase como son ciclos repetitivos,
condicionantes, men de opciones, vectores, etc.
Dominar los tres lenguajes de programacin como son Visual Basic, C
y en Java, los cuales se diferencian principalmente en estructura ms no
en concepto.

Marco Terico
Sistema Binario
El antiguo matemtico indio Pingala present la primera descripcin que se
conoce de un sistema de numeracin binario en el siglo tercero antes de
nuestra era, lo cual coincidi con su descubrimiento del concepto del nmero
cero.

Una serie completa de 8 trigramas y 64 hexagramas (anlogos a 3 bits) y


nmeros binarios de 6 bits eran conocidos en la antigua China en el texto
clsico del I Ching. Series similares de combinaciones binarias tambin han
sido utilizadas en sistemas de adivinacin tradicionales africanos, como el If,
as como en la geomancia medieval occidental.

Un arreglo binario ordenado de los hexagramas del I Ching, representando la


secuencia decimal de 0 a 63, y un mtodo para generar el mismo fue
desarrollado por el erudito y filsofo Chino Adgart en el siglo XI.

En 1605 Francis Bacon habl de un sistema por el cual las letras del alfabeto
podran reducirse a secuencias de dgitos binarios, las cuales podran ser
codificadas como variaciones apenas visibles en la fuente de cualquier texto
arbitrario.

El sistema binario moderno fue documentado en su totalidad por Leibniz, en


el siglo XVII, en su artculo "Explication de l'Arithmtique Binaire". En l se
mencionan los smbolos binarios usados por matemticos chinos. Leibniz
utiliz el 0 y el 1, al igual que el sistema de numeracin binario actual.

En 1854, el matemtico britnico George Boole public un artculo que marc


un antes y un despus, detallando un sistema de lgica que terminara
denominndose lgebra de Boole. Dicho sistema desempeara un papel
fundamental en el desarrollo del sistema binario actual, particularmente en el
desarrollo de circuitos electrnicos.

Lenguaje Java

Java es un lenguaje de programacin orientado a objetos desarrollado por Sun


Microsystems a principio de los aos 90s.

En Diciembre de 1950 Patrick Naughton, ingeniero de Sun Microsystems,


reclut a varios colegas entre ellos James Gosling y Mike Sheridan para
trabajar sobre un nuevo proyecto conocido como "El proyecto verde".

Con la ayuda de otros ingenieros, empezaron a trabajar en una pequea oficina


en Sand Hill Road en Menlo Park, California. Y as interrumpi todas las
comunicaciones regulares con Sun y trabaj sin descanso durante 18 meses.

Intentaban desarrollar una nueva tecnologa para programar la siguiente


generacin de dispositivos inteligentes, en los que Sun vea un campo nuevo a
explorar. Crear un lenguaje de programacin fcil de aprender y de usar.

En un principio se consideraba C++ como lenguaje a utilizar, pero tanto


Gosling como Bill Joy lo encontraron inadecuado. Gosling intent primero
extender y modificar C++ resultando el lenguaje C++ ++ - (++ - porque se
aadan y eliminaban caractersticas a C++), pero lo abandon para crear un
nuevo lenguaje desde cero al que llamo Oak (roble en ingls, segn la versin
ms aceptada, por el roble que vea a travs de la ventana de su despacho).

El resultado fue un lenguaje que tena similitudes con C, C++ y Objetive C y


que no estaba ligado a un tipo de CPU concreta.

Ms tarde, se cambiara el nombre de Oak a Java, por cuestiones de propiedad


intelectual, al existir ya un lenguaje con el nombre de Oak. Se supone que le
pusieron ese nombre mientras tomaban caf (Java es nombre de un tipo de
caf, originario de Asia), aunque otros afirman que el nombre deriva de las
siglas de James Gosling, Arthur Van Hoff, y Andy Bechtolsheim.
En Agosto de 1991Oak ya corra sus primeros programas.

Para 1992, el equipo ya haba desarrollado un sistema en un prototipo llamado


Star7 (*7), dispositivo parecido a una PDA, cuyo nombre vena de la
combinacin de teclas del telfono de la oficina del Proyecto Green que
permita a los usuarios responder al telfono desde cualquier lugar.

Por su parte, el presidente de la compaa Sun, Scott McNealy, se dio cuenta


de forma oportuna y estableci el Proyecto Verde como una subsidiaria de
Sun.

Despus de mostrar a Scott McNealy y Bill Joy los prototipos de bajo nivel
del sistema, continan con el desarrollo, incluyendo sistema operativo, Green
OS; el lenguaje Oak, las libreras, alguna aplicacin bsica y el hardware,
hasta que el 3 de septiembre de 1992 se termina el desarrollo y con ello el
Proyecto Verde.

De 1993 a 1994, el equipo de Naughton se lanz en busca de nuevas


oportunidades en el mercado, mismas que se fueron dando mediante el sistema
operativo base.

La incipiente subsidiaria fracas en sus intentos de ganar una oferta con TimeWarner, sin embargo el equipo concluy que el mercado para consumidores
electrnicos smart y las cajas Set-Up en particular, no eran del todo eficaces.
La subsidiaria Proyecto verde fue amortizada por la compaa Sun a mediados
de 1994.

Afortunadamente, el cese del Proyecto Verde coincidi con el nacimiento del


fenmeno mundial WEB. Al examinar las dinmicas de Internet, lo realizado
por el ex equipo verde se adecuaba a este nuevo ambiente.

Patrick Naughton procedi a la construccin del lenguaje de programacin


Java que se accionaba con un browser prototipo. El 29 de septiembre de 1994
se termina el desarrollo del prototipo de HotJava. Cuando se hace la
demostracin a los ejecutivos de Sun, esta vez, se reconoce el potencial de
Java y se acepta el proyecto.

Con el paso del tiempo HotJava se convirti en un concepto prctico dentro


del lenguaje Java y demostr que podra proporcionar multiplataformas para
que el cdigo pueda ser bajado y corrido del Host del World Wide Web y que
de otra forma no son seguros.

Una de las caractersticas de HotJava fue su soporte para los "applets", que
son las partes de Java que pueden ser cargadas mediante una red de trabajo
para despus ejecutarlo localmente y as lograr soluciones dinmicas en
computacin acordes al rpido crecimiento del ambiente WEB.

El 23 de mayo de 1995, en la conferencia SunWorld `95, John Gage, de Sun


Microsystems, y Marc Andreessen, cofundador y vicepresidente de Netscape,
anunciaban la versin alpha de Java, que en ese momento solo corra en
Solaris, y el hecho de que Java iba a ser incorporado en Netscape Navigator, el
navegador ms utilizado de Internet.

Con la segunda alpha de Java en Julio, se aade el soporte para Windows NT


y en la tercera, en Agosto, para Windows 95.

En enero de 1995 Sun forma la empresa Java Soft para dedicarse al desarrollo
de productos basados en la tecnologa Java, y as trabajar con terceras partes
para crear aplicaciones, herramientas, sistemas de plataforma y servicios para
aumentar las capacidades del lenguaje. Ese mismo mes aparece la versin 1.0
del JDK.

Netscape Communications decide apoyar a Java applet en Netscape Navigator


2.0. Ese fue el factor clave que lanz a Java a ser conocido y famoso.
Y como parte de su estrategia de crecimiento mundial y para favorecer la
promocin de la nueva tecnologa, Java Soft otorg permisos para otras
compaas para que pudieran tener acceso al cdigo fuente y al mismo tiempo
mejorar sus navegadores.

Tambin les permita crear herramientas de desarrollo para programacin Java


y los facultaba para acondicionar mquinas virtuales Java (JVM), a varios
sistemas operativos.

Muy pronto las licencias o permisos contemplaban prestigiosas firmas como:


IBM, Microsoft, Symantec, Silicon Graphics, Oracle, Toshiba y Novell.

Los applets Java (basados en JDK 1.02) son apoyados por los dos ms
populares navegadores web (Nestcape Navigator 3.0 y Microsoft Internet
Explorer 3.0. I.B.M./Lotus, Computer Asociates, Symantec, Informix, Oracle,
9

Sybase y otras poderosas empresas de software estn construyendo Software


100% puro JAVA, por ejemplo el Corel Office que actualmente est en versin
Beta.

Los nuevos proyectos de Java son co-patrocinados por cientos de millones de


dlares en capital disponible de recursos tales como la Fundacin Java, un
fondo comn de capital formado el verano pasado por 11 compaas,
incluyendo Cisco Systems, IBM, Netscape y Oracle.

Hoy en da, puede encontrar la tecnologa Java en redes y dispositivos que


comprenden desde Internet y superordenadores cientficos hasta porttiles y
telfonos mviles; desde simuladores de mercado en Wall Street hasta juegos
de uso domstico y tarjetas de crdito: Java est en todas partes. (Adelfa 213A, Villa de las Flores, Len Guanajuato, 16 de agosto de 2013)

Lenguaje C
El lenguaje C es un lenguaje de propsito general desarrollado en los
laboratorios Bell en 1972. Sus creadores son Dennis Ritchie y Ken Thompson,
surge para cubrir las carencias del lenguaje B desarrollado en 1967 por Martin
Richards, el lenguaje B tena un manejo de tipos muy dbil. C entonces
incorpora algunas ideas de B pero hace ms fuerte el control de tipos le agrega
definiciones de estructura y algunos operadores extra entre otras cosas. Los
cambios efectuados fueron utilizados por los primeros usuarios de UNIX.
Luego con el lenguaje C se desarrollaron el kernel y otras aplicaciones de
UNIX. En 1980 C cobra mayor popularidad gracias al surgimiento de
versiones comerciales del lenguaje. En 1980 el grupo ANSI desarrolla ANSI C
que es la versin estndar de C propuesta por el grupo. C se convierte en el
lenguaje de mayor aceptacin por parte de los programadores por que hace
una conjugacin en lenguaje de alto nivel y lenguaje mquina. Posteriormente
10

ANSI desarrolla C++ es un lenguaje de programacin diseado a mediados de


los aos 1980 por Bjarne Stroustrup. La intencin de su creacin fue el
extender al exitoso lenguaje de programacin C con mecanismos que permitan
la manipulacin de objetos. El lenguaje C++ es un lenguaje hbrido.
Posteriormente se aadieron facilidades de programacin genrica, que se
sum a los otros dos paradigmas que ya estaban admitidos (programacin
estructurada y la programacin orientada a objetos). Por esto se suele decir
que el C++ es un lenguaje de programacin multiparadigma. Actualmente
existe un estndar, denominado ISO C++, al que se han adherido la mayora
de los fabricantes de compiladores ms modernos. Existen tambin algunos
intrpretes, tales como ROOT.
Una particularidad del C++ es la posibilidad de redefinir los operadores, y de
poder crear nuevos tipos que se comporten como tipos fundamentales.
Actualmente muchas empresas se dedican a vender el compilador del lenguaje
C, dos de estos imperios son: Microsoft visual C++, Borland C++, Builder .La
mayora de los compiladores actuales soportan la programacin en C Estndar,
C Orientado a objetos y La Programacin Visual. Algunos de las C existentes
son: Quick C, C++, Turbo C, Turbo C ++, Borland C, Borland C++, Microsoft
C aplicaciones creadas en el lenguaje C++.Existen muchas aplicaciones
desarrolladas en el lenguaje C++. Entre las cuales podemos mencionar
Facebook, Google, Unix, Office, Mac, YouTube, AutoCAD.
Entre otras aplicaciones que se han realizado en el lenguaje de programacin
C++ IDs ms utilizados para programar en el lenguaje C++, Ultimate++,
RAD multiplataforma para C++. Para Windows y Linux. Zinjai hecho en
castellano para Windows y Linux. CodeLite es una solucin ligera y
compatible con Windows, Linux y Mac OS X. Code Blocks es otra completa
solucin gratis para Windows, Linux y Mac OS X. Anjuta DevStudio es un
IDE para C/C++ especialmente para Gnome en Linux. Eclipse famoso por su
creacin como entorno por excelencia para Java, pero que tambin soporta C y
C++ adems funciona en Linux, Windows y Mac Os X gracias que est hecho
en Java. Geany un entorno GTK2 para Windows. GNAT Programming
Studio es multiplataforma para Windows, Linux, Solaris y Mac Os X. Adems
de gratis hace uso de los compiladores de GNU. Kdevelop es el entorno IDE
para KDE por excelencia con soporte para muchos lenguajes de
programacin. MonoDevelop aunque est pensado para .NET y C# soporta
C++ y funciona en Linux, Windows y Mac OS X. Pelles C es un entorno para
programar en C que es freeware y pensado para desarrollar para Windows y
Pocket PC. Qt Creator es un IDE multiplataforma para C++ que utiliza los
11

compiladores GNU en Linux y Mac OS X, MinGW en Windows. Ahora lo


controla Nokia. Sun Studio Express pensado para C, C++ y Fortran y
compatible con Solaris, Open Solaris y Linux. Microsoft Visual Studio
Express es una versin de desarrollo y gratis del IDE de Bill Gates para
programar en sus lenguajes Visual Basic, C#, C++, Solo para Windows. Sharp
developes un IDE de cdigo abierto para C# y VB.NET. wxDev, C++ es un
IDE gratis para el lenguaje Dev-C++, para Windows.
NetBeans IDE tambin soporta C y C++ adems de Java, Ruby, PHP entre
otros. RELO C/C++ es un IDE de cdigo abierto para desarrollo en Windows
con MingW32 y compiladores Borland C++. Quincy es un sencillo entorno
de desarrollo gratis para C y C++ en Windows. Borland C++ versin 5.5 del
compilador disponible para descargar gratis para Windows. Solo el
compilador no el IDE, pero merece la pena. BVRDE es un entorno de
desarrollo para C y C++ para Windows NT. Un poco antiguo. SallyIDE es un
sencillo IDE para C++ bajo Windows. SmallIDE es un entorno de desarrollo
fcil para usar con el compilador Borland C++. Xcode es el conjunto de
utilidades de desarrollo para Mac OS X con IDE y versiones modificadas de
los compiladores GNU GCC y soporte para C, C++, Fortran, Objetive-C,
Objetive C++, Java, Apple Script, Python y Ruby, entre otros lenguajes con
mdulos adicionales.(Mc. Ricardo Acosta Das, 02 de Abril de 2003)

Visual Basic
B.A.S.I.C. significa: Beginners All-purpose Symbolic Instruction Code,
traduciendo esto sera: Cdigo de instrucciones de uso universal para
principiantes. Basic es un lenguaje de programacin que acta como un
intermediario entre el operador y el computador. Mediante el vocabulario y las
reglas Basic, se le ordena al computador lo que se quiere que haga y el PC
transforma estas instrucciones para poder ejecutarlas. Otros lenguajes de
programacin que pueden emplearse son el Pascal, Fortan y Ensamblador.
12

BASIC es traducido a cdigo binario, tambin se puede escribir programas en


cdigo binario pero es muy difcil por eso crearon el Basic.

BASIC es un lenguaje de programacin desarrollado por los estadounidenses


John Kemeny y Thomas Kurtz en el Dartmouth College. La versin original
del lenguaje Basic fue creada en el ao 1964, ganndose una enorme
popularidad gracias sobre todo a dos implementaciones, Tiny BASIC y
Microsoft BASIC, que convirtieron a este lenguaje en la primera lengua franca
de los microordenadores. Otras importantes implementaciones han sido
CBASIC (BASIC Compilado), Integer y Applesoft BASIC (para el Apple II),
GW-BASIC (para computadoras personales), Turbo BASIC (de Borland) y
Microsoft QuickBASIC. El lenguaje ha cambiado en el transcurso de los aos
pues naci con el objetivo de servir como lenguaje para aquellas personas que
deseaban introducirse por primera vez en el mundo de la programacin, y
luego fue sufriendo modificaciones, hasta que en 1978 se estableci el Basic
estndar.

Ms adelante, en 1987, lleg una de las versiones ms populares del lenguaje:


el viejo y querido QuickBasic, una joya de oro de los tiempos del MS-DOS,
con la cual muchos se develaron ms de una noche. Las primeras versiones
eran interpretadas y no estructuradas. Las ms recientes son estructuradas y, a
menudo, compiladas. En esos tiempos, BASIC sola ensearse a los
programadores principiantes porque era fcil de utilizar y de comprender, y
adems porque contiene los mismos conceptos fundamentales que muchos
otros lenguajes considerados ms difciles, como Pascal, C y COBOL, las
cuales a su vez, eran muy populares entre los programadores, mientras que
haba una especie de desprecio hacia Basic, por tratarse de un lenguaje para
principiantes.

13

En contraste, hace poco ms de 26 aos, el proceso de construir una sencilla


aplicacin basada en Microsoft Windows sola ser algo complicado, difcil y
largo. Hasta aqu, todo eran oscuras pantallas de texto y aplicaciones de
consola. Con la llegada de Windows, todo resulto muy diferente. Es as que,
construir estas aplicaciones ricas en grficos no era un proceso trivial antes de
la introduccin de Visual Basic 1.0 en mayo de 1991. Las antiguas
aplicaciones de MS-DOS mucho distaban ya de las modernas y visuales de
Windows, pero, claro, hacer aplicaciones para ese nuevo sistema operativo era
un real privilegio, que muy pocos estudiosos de la programacin en C podan
experimentar.

Ese ao, Visual Basic 1.0 vio la luz, y revolucion el desarrollo de


aplicaciones para Windows, especialmente por su facilidad y por la rapidez
con la que permite crearlas. Siempre escucho comentar que desde esos
tiempos, usando Visual Basic, los programadores podamos, por primera vez,
implementar aplicaciones de Windows en un ambiente intuitivo y grfico,
simplemente arrastrando controles sobre un formulario. Si bien muchas
personas hicieron de Visual Basic una realidad, un empelado de Microsoft,
llamado Alan Cooper, fue considerado el verdadero padre del lenguaje. Hoy
con ms de 14 aos del lenguaje en el mercado, Alan es considerado una
eminencia.

Inicialmente, Visual Basic fue pensado para ser un producto muy tctico.
Microsoft tena varias iniciativas en el desarrollo que lideraba Visual Basic
1.0, todas fueron pensadas para convertirse en las herramientas de
programacin a largo plazo, estratgicas, grficas y orientadas a objetos.
Como siempre ocurre con los productos en su versin 1.0, el equipo de Visual
Basic 1.0 fue forzado a cortar caractersticas de su larga lista de ideas para
entregar realmente el producto al mercado. Consecuentemente, la primera
versin incluy poco ms que la tecnologa Embedded Basic que haba sido
desarrollada originalmente en Microsoft QuickBasic 4.0 (el cdigo p y
compilador de Microsoft) y una herramienta compiladora de diseo simple
14

originalmente diseada para Windows 3.0 pero que nunca fue utilizada para
tal fin. Aproximadamente 12 meses despus, el desarrollo y mejora de la
versin 1.0 comenz, Microsoft sac al mercado una herramienta
desarrolladora para cubrir la exigencia en ese momento del mercado cuyo
nombre en clave fue Thunder (Trueno).

Desde este inicio bastante desfavorable vino un resultado igualmente difcil de


comprender: un impacto en la industria informtica tan profundo que cambi
para siempre el curso del desarrollo del software y cre una explosin en el
mercado de las aplicaciones de Windows. Diez aos ms tarde, parece muy
obvio-pero en esa poca, cuando solamente un pequeo y selecto grupo de
personas, era capaz de desarrollar aplicaciones para Windows, Visual Basic
1.0 represent un cambio gigantesco en el diseo de aplicaciones.

Innegablemente radical en su puesta en prctica, implementacin y


capacidades, Visual Basic 1.0 se propag a travs de la comunidad en cuestin
de pocos meses. Poco despus del shock inicial de fiebre por Visual Basic,
un pequeo pero fuerte grupo de seguidores comenz a transformar las
bibliotecas de cdigo que tenan con sus caractersticas, mtodos y eventos, y
a exponerlos como componentes de Visual Basic llamados VBXs, o los
controles personalizados. Despus de poco tiempo, la produccin de estos
componentes reutilizables creci de una comunidad especializada a una
industria que creca de vendedores de controles, y ayud a Visual Basic a
pasar de ser un logro de software a convertirse en un descubrimiento
tecnolgico. (Dulmar Torrado, UFPSO, 06 de abril de 2011)

Desarrollo
Conceptos fundamentales

15

Visual Basic. Es una aplicacin y un lenguaje de programacin desarrollados


por Alan Cooper para Microsoft. Facilita la creacin de programas grficos.
Visual Basic, como su nombre lo indica, utiliza una interfaz totalmente visual,
permite crear aplicaciones de forma rpida, especialmente para prototipos.
(Definicin ABC, 24 de agosto de 2007)
Visual Studio. Es un lenguaje de programacin diseado para crear diversas
aplicaciones, se trata de lenguajes eficaces, que presentan seguridad de tipos y
estn orientados a objetos. Permiten a los desarrolladores crear aplicaciones
Windows, web y mviles. (Zator System, 02 de julio de 2013)
Java NetBeans IDE. Es un entorno de desarrollo integrado (IDE), modular,
de base estndar (normalizado), escrito en el lenguaje de programacin Java.
El proyecto NetBeans consiste en un IDE de cdigo abierto y una plataforma
de aplicacin, las cuales pueden ser usadas como una estructura de soporte
general para compilar cualquier tipo de aplicacin. (Oracle, 24 de Enero de
2006)
Tipo de dato. Es un atributo de una parte de los datos que indica al ordenador
(y/o al programador) algo sobre la clase de datos sobre los que se va a
procesar. Esto incluye imponer restricciones en los datos, como qu valores
pueden tomar y qu operaciones se pueden realizar. Los tipos de datos
comunes son: enteros, nmeros de coma flotante (decimales), cadenas
alfanumricas, fechas, horas, colores, etc. (Fernando Berzal, 19 de Mayo de
2014)
Condicionante. En programacin, a la expresin lgica de una instruccin
alternativa doble, o simple, tambin se le denomina condicin. Las
condiciones tambin se utilizan en los bucles. (Mario R. Rancel, 16 de Enero
de 2010)
Bucle. Tambin llamado instruccin de control repetitiva(o iterativa) permite
ejecutar una o ms instrucciones varias veces, es decir, permite ejecutar un
bloque de instrucciones repetidamente, escribindolas una sola vez en el
algoritmo (o programa), reduciendo de este modo el cdigo del mismo. A los
bucles tambin se los conoce como ciclos o lazos. (Diccionario Manual de la
Lengua Espaola Vox. 2007 Larousse Editorial, S.L.)

16

Arreglo. Es una coleccin de datos del mismo tipo. Sirve para manejar un
nmero n de elementos en comn, ya sea de tipos definidos por el lenguaje,
(int,float,String, etc) as como aquellos definidos por el programador.
(Victor Minango, 15 de Octubre de 2011)
Switch case. Es una estructura de control empleada en programacin, se
utiliza para agilizar la toma de decisiones mltiples, trabaja de la misma
manera que lo haran sucesivos if, if else o until anidados, as como
combinaciones propias de determinados lenguajes de programacin. El switch
favorece la legibilidad y rapidez en la programacin. (Fernando Valdivia, 18
de Septiembre de 2003)
Cadena de caracteres. En programacin, una cadena de caracteres, palabras,
ristra de caracteres o frase (string en ingls) es una secuencia ordenada de
longitud arbitraria (aunque finita) de elementos que pertenecen a un cierto
lenguaje formal o alfabeto anlogas a una frmula o a una oracin. En general,
una cadena de caracteres es una sucesin de caracteres (letras, nmeros u otros
signos o smbolos). (Oscar Cajamarca, 30 de Febrero de 2008)
Librera. Es un conjunto de subprogramas utilizados para desarrollar
software. Las bibliotecas contienen cdigo y datos, que proporcionan servicios
a programas independientes, es decir, pasan a formar parte de stos. Esto
permite que el cdigo y los datos se compartan y puedan modificarse de forma
modular. Algunos programas ejecutables pueden ser a la vez programas
independientes y bibliotecas, pero la mayora de stas no son ejecutables.
Ejecutables y bibliotecas hacen referencias (llamadas enlaces o LINK) entre s
a travs de un proceso conocido como enlace (o link), que por lo general es
realizado por un software denominado enlazador o linker. (Steven Vera, 22 de
Abril de 2009)

El programa
Sistema Binario. Sistema numrico que slo utiliza dos dgitos diferentes, 0 y
1, en lugar de diez en el sistema decimal. Es la base en los campos de ciencia
de las computadoras y en electrnica, ya que los dispositivos electrnicos
pueden representar fcilmente dos estados distintos, en lugar de diez estados.
Los dgitos 0 y 1 se pueden representar por condiciones encendido/apagado en
un circuito de conmutacin electrnica, o por ausencia/presencia de
magnetizacin de un "chip" de memoria, un disco, o una cinta.
17

Anlisis
Los nmeros binarios se ingresan por medio de cadenas las cuales hay que
tener en cuenta el nmero de bits (dgitos del nmero binario) de un nmero es
mayor al otro, de tal manera que se rellene de ceros el nmero de menor
nmero de bits, desde izquierda a derecha para que no se altere el valor del
nmero. Una vez igualados los dos nmeros binarios se procede a hacer la
comparacin de derecha a izquierda depende si la operacin es suma o resta.

Suma

En la suma de nmeros binarios tenemos la siguiente tabla:

Como en los nmeros binarios no se puede colocar nmeros mayores a uno,


de esta manera cuando se suma 1 + 1 colocamos como resultado el 0 y
18

tenemos un acarreo con el nmero uno que se lo toma en cuenta en la


siguiente comparacin.
Ejemplo:

Resta

En la resta de los nmeros binarios tenemos la siguiente tabla:

De igual manera que en la suma tenemos un acarreo, pero esta vez cuando
tenemos 0-1 el resultado es 1 pero tenemos un acarreo de 1 que lo llevamos a
restar a la siguiente comparacin.
19

Ejemplo:

Algoritmo en el lenguaje de Visual


Basic
Sub Calculadora()
Dim cadena2 As String
Dim ch As String
Dim cadena3 As String
Dim ch2 As String
Dim i As Integer
Dim vector(10) As Integer
Dim vector2(10) As Integer
Dim vector2md(10) As Integer
Dim result(20) As Integer
Dim j As Integer
Dim dim1 As Integer
20

Dim dim2 As Integer


Worksheets("Hoja1").Cells(1, 1).Value = ("Calculadora Numeros
Binarios")
Worksheets("Hoja1").Cells(2, 1).Value = ("Numero 1")
Worksheets("Hoja1").Cells(3, 1).Value = ("Numero 2")
Worksheets("Hoja1").Cells(4, 1).Value = ("Resultado Suma")
Worksheets("Hoja1").Cells(5, 1).Value = ("Resultado Resta")
MsgBox ("SUMA Y RESTA DE NUMEROS BINARIOS")
cadena2 = InputBox("Ingrese el numero:")
For i = 1 To Len(cadena2)
ch = Mid(cadena2, i, 1)
vector(i) = Val(ch)
Next i
dim1 = i
cadena3 = InputBox("Ingrese el numero:")
For i = 1 To Len(cadena3)
ch = Mid(cadena3, i, 1)
vector2(i) = Val(ch)
Next i
dim2 = i
j=0
For i = 0 To dim1 - 1
If (i < (dim1 - dim2)) Then
vector2md(i) = 0
Else
vector2md(i) = vector2(j)
j=j+1
End If
Next
For i = 1 To Len(cadena2)
Worksheets("Hoja1").Cells(2, i + 1).Value = ("" & vector(i))
Next i
For i = 1 To Len(cadena2)
Worksheets("Hoja1").Cells(3, i + 1).Value = ("" & vector2md(i))
21

Next i
Dim acarreo As Integer
acarreo = 0
For i = dim1 - 1 To o Step -1
If (acarreo = 1) Then
vector(i) = vector(i) + acarreo
If (vector(i) = 2) Then
acarreo = 1
vector(i) = 0
End If
End If
result(i + 1) = vector(i) + vector2md(i)
If (result(i + 1) = 2) Then
acarreo = 1
result(i + 1) = 0
Else
acarreo = 0
End If
Next
If (acarreo = 1) Then
result(0) = 1
Else
result(0) = 0
End If
For i = 1 To dim1
Worksheets("Hoja1").Cells(4, i + 1).Value = ("" & result(i))
Next i
Dim acarreo2 As Integer
Dim result2(20) As Integer
acarreo2 = 0
For i = dim1 - 1 To o Step -1
If (acarreo2 = 1) Then
vector(i) = vector(i) - acarreo2
If (vector(i) = 0) Then
vector(i) = 0
22

Else
If (vector(i) <> 0) Then
vector(i) = 1
End If
End If
End If
result2(i + 1) = vector(i) - vector2md(i)
If (result2(i + 1) = -1) Then
acarreo2 = 1
result2(i + 1) = 1
Else
If (result2(i + 1) = 1) Then
acarreo2 = 0
result2(i) = 1
Else
If (result2(i + 1) = 0) Then
acarreo2 = 0
result2(i) = 0
End If
End If
End If
Next
If (acarreo2 = 1) Then
result2(0) = 0
Else
result(0) = 0
End If
For i = 1 To dim1
Worksheets("Hoja1").Cells(5, i + 1).Value = ("" & result2(i))
Next i
End Sub

Algoritmo en el lenguaje C
23

// ConsoleApplication10.cpp : Defines the entry point for the console


application.
//
#include "stdafx.h"
#include "cstdlib"
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int _tmain(int argc, _TCHAR* argv[])
{
char cadena2[30], cadena3[20];
int cadena[20], cdena[20], cdenamd[20], result[50],i,j,dim
0,dim2,dim3 = 0,dim4;
printf("SUMA Y RESTA DE NUMERO BINARIOS");
printf("\n");
printf("--------------------------------");
printf("\n");
printf("Porfavor ingrse el primer numero a operar \n");
gets_s(cadena2);
dim = strlen(cadena2);
for ( i = 0; i < dim ; i++)
{
if (cadena2[i] == 48)
{
cadena[i] = 0;
}
else
{
cadena[i] = 1;
}
}
dim2 = i;
printf("Porfavor ingrse el segundo numero a operar \n");
gets_s(cadena3);
dim3 = strlen(cadena3);
for ( i = 0; i < dim3 ; i++)
{
if (cadena3[i] == 48)
24

{
cdena[i] = 0;
}
else
{
cdena[i] = 1;
}
}
dim4 = i;
j = 0;
for ( i = 0; i < dim2; i++)
{
if (i < (dim2 - dim4))
{
cdenamd[i] = 0;
}
else
{
cdenamd[i] = cdena[j];
j++;
}
}
for (i = 0; i < dim; i++)
{
printf("%d", cadena[i]);
}
printf("\n");
for ( i = 0; i < dim2; i++)
{
printf("%d", cdenamd[i]);
}
printf("\n");
int acarreo = 0;
for (i = (dim2 - 1); i >= 0; i--)
{
if (acarreo == 1)
{
cadena[i] = cadena[i] + acarreo;
if (cadena [i] ==2)
{
25

acarreo = 1;
cadena[i] = 0;
}
}
result[i + 1] = cadena[i] + cdenamd[i];
if (result[i+1] == 2)
{
acarreo = 1;
result[i + 1] = 0;
}
else
{
acarreo = 0;
}
}
if (acarreo == 1)
{
result[0] = 1;
}
else
{
result[0] = 0;
}
for ( i = 0; i < dim2+1; i++)
{
printf("%d", result[i]);
}
printf("\n");
int acarreo2 = 0;
int result2[50];
for (i = (dim2 - 1); i >= 0; i--)
{
if (acarreo2 == 1)
{
cadena[i] = cadena[i] - acarreo2;
if (cadena[i] == 0)
{
cadena[i] = 0;
}
else
26

{
cadena[i] = 1;
}
}
result2[i + 1] = cadena[i] - cdenamd[i];
if (result2[i + 1] == -1)
{
acarreo2 = 1;
result2[i + 1] = 1;
}
else
{
acarreo2 = 0;
}
}
if (acarreo2 == 1)
{
result2[0] = 0;
}
else
{
result2[0] = 0;
}
for (i = 0; i < dim2+1; i++)
{
printf("%d", result2[i]);
}
getchar();
getchar();
return 0;
}

Algoritmo en el lenguaje de Java


public static void main(String[] args)
{
String cadena2 = new String();
String cadena3 = new String();
int cadena[] = new int [20];
27

int cdena[] = new int [20];


int cdenamd[] = new int [20];
int result[] = new int [20];
int i, dim, dim2;
Scanner dato = new Scanner(System.in);
System.out.print("ingrese el nmero");
cadena2 = dato.nextLine();
for (i=0; i < cadena2.length(); i++ )
{
if (cadena2.charAt(i)== 48)
{
cadena[i]=0;
}
else
{
cadena[i]=1;
}
}
dim=i;
System.out.print("ingrese el nmero");
cadena3 = dato.nextLine();
for (i=0; i < cadena3.length(); i++ )
{
if (cadena3.charAt(i)== 48)
{
cdena[i]=0;
}
else
cdena[i]=1;
}
dim2=i;
int j=0;
for (i=0;i<dim;i++)
{
if (i<(dim-dim2))
{
cdenamd[i]=0;
}
else
{
cdenamd[i]=cdena[j];
j++;
}
}
28

for (i=0; i < dim; i++ )


{
System.out.print(cdenamd [i]+ " ");
}
System.out.println();
//aqui el mayor
int acarreo=0;
for (i=dim-1; i >=0; i-- )
{
if(acarreo==1)
{
cadena[i]=cadena[i]+acarreo;
if (cadena[i]==2)
{
acarreo=1;
cadena[i]=0;
}
}
result[i+1]=cadena[i]+cdenamd[i];
if (result[i+1]==2)
{
acarreo=1;
result[i+1]=0;
}
else
{
acarreo =0;
}
}
if (acarreo==1)
result[0]=acarreo;
for (i=0; i < dim+1; i++ )
{
System.out.print(result [i]+ " ");
}
}
}
29

Conclusiones
Concluimos que se puede transformar de una cadena de caracteres a un
arreglo unidimensional con valores en cada una de sus posiciones.
Determinamos que para igualar la dimensin de dos arreglos y operarlos
en el sistema binario se colocan ceros antes de la posicin inicial.
Confirmamos que los cdigos en los tres diferentes lenguajes de
programacin cambian solo en su nomenclatura y no en el concepto como
tal.

Recomendaciones
Es necesario hacer un anlisis previo a la programacin ya que de esta
manera podemos adquirir una visin ms clara del algoritmo.
En los programas de C y Java se debe colocar las respectivas libreras para
usar ciertas funciones que se necesite.
El algoritmo es necesario que este identado, es decir, cuando se use ciclos
repetitivos, condicionantes, funciones de opcin, lo que se encuentre
dentro de estos procesos debe estar a otra altura para que de esta manera el
cdigo sea ms entendible.

Bibliografa
http://www.importancia.org/programacion-informatica.php
Recuperado (17 de Julio de 2015)
http://yeyoserrano.blogspot.com/2013/04/importancia-de-laprogramacion-primero.html
Recuperado (19 de Julio de 2015)
http://www.taringa.net/posts/apuntes-ymonografias/8717309/Conceptos-Fundamentales-de-Programacion.html
30

Recuperado (22 de Julio de 2015)


http://www.carlospes.com/minidiccionario/condicion.php
Recuperado (22 de Julio de 2015)
Thomas: Clculo infinitesimal y geometra analtica, Aguilar, Madrid.
Recuperado (23 de Julio de 2015)
C Programming Language (2nd Edition By B. W. Kernighan & D. M.
Ritchie)
Recuperado (19 de Julio de 2015)
https://jorgesaavedra.wordpress.com/2008/04/16/historia-de-visualbasic/
Recuperado (24 de Julio de 2015)
https://jorgesaavedra.wordpress.com/2006/12/09/breve-historia-de-c-cc/
Recuperado (24 de Julio de 2015)
http://www.cad.com.mx/historia_del_lenguaje_java.htm
Recuperado (22 de Julio de 2015)
https://www.youtube.com/watch?v=MFG7bsuj_ks
Recuperado (21 de Julio de 2015)

Anexos

Tabla de los nmeros binarios y su respectivo numero decimal.

31

Mensaje de presentacin de programa en Visual Basic al ejecutar el algoritmo.

Se ingresa el primer nmero binario.

32

Se ingresa el segundo nmero binario.

Se imprimen los dos nmeros ingresados, el de menor dimensin se completa


con ceros y tenemos los resultados de la suma y la resta en nmeros binarios.

Mensaje de presentacin en el programa de Java al ejecutar el algoritmo.

33

Se ingresa los dos nmeros binarios a operar.

Se imprimen los dos nmeros ingresados el de menor dimensin se completa


con ceros al principio, se imprime la suma y la resta en nmeros binarios.

Mensaje de presentacin en el programa C al ejecutar el algoritmo.

34

Se ingresa los dos nmeros binarios a operar.

Se imprime los dos nmeros ingresados, el de menor dimensin se completa


con ceros al principio, se imprime la suma y resta en nmeros binarios.

35

36

También podría gustarte