Você está na página 1de 53

TEMA: Fundamento de Información, Representación de

la Información en el Computador y Algoritmos

NOMBRES: Huamaní Córdova Javier Jesús


Francia Dávila André
Reza Huaman Edzon
Cóndor Avellaneda Alberto
Cotrina Saldaña Abel
Ojeda Daga Oscar

PROFESOR: Albert Azabache

FACULTAD: Ingeniería de Electrónica e Informática

ESCUELA: Ingeniería de Telecomunicaciones

CICLO: II

FECHA DE PRESENTACIÓN: 17/10/08


INDICE

Carátula
Índice
Parte I “Fundamento de la Informática”
Capítulo 1
Capítulo 2
Capítulo 3
Capítulo 4
Capítulo 6
Etapa cronológica del procesador
Parte II “Representación de la Información”
Como flotante
Redondeos
Complemento 1
Complemento 2
Máquina de Turing
Caracteres Unicode
Caracteres ASCII
Diagrama de flujo de la serie Fibonacci
Ejercicio con el método con flotante
Cuadro: signo –magnitud, complemento 1, complemento 2
Ejercicios con el Método IEEE754
Parte III “Algoritmos y Diagrama de Flujo”
Diagrama de flujo de la serie aritmética
Diagrama de flujo de un problema
Configuraciones de programas en C++
Conclusiones
Bibliografía
PARTE I:

“FUNDAMENTOS DE
LA
INFORMACIÓN”
CAMINO AL FUTURO
CAPITULO N0 1 : “COMIENZA UNA REVOLUCIÓN”

RESUMEN:

Escribí mi primer programa de software a los trece años. Lo hice por jugar a teclear
tontamente. La computadora que utilicé era enorme, pesada y lenta, y absolutamente
irresistible. Un juego que podría durar 30 segundos con un papel y un lápiz, podía
consumir más tiempo del que dedicábamos al almuerzo. ¿Pero quién se preocupaba por
ello? Había algo de ingenio en la máquina.
Al igual que el resto de los niños, nosotros no sólo nos divertíamos con nuestros
juguetes, sino que los modificábamos. Si alguna vez ha visto los niños con un cartón y
una caja de lápices crear una astronave con paneles de control de frío. O ha escuchado
sus improvisadas reglas tales como los automóviles rojos pueden saltar sobre todos los
demás", usted sabe que este impulso de hacer que un juguete haga más de lo que hace es
el meollo de la innovación. Es también la esencia de la creatividad.
Los niños actuales hacen en el colegio cosas sofisticadas con computadoras personales
que no son mayores que los libros de texto, pero que superan a las computadoras más
grandes de hace una generación.
Ahora que la informática es asombrosamente barata y que las computadoras están en
todos los rincones de nuestras vidas, estamos en el límite de otra revolución. Esta
implicará una comunicación barata que no tiene precedentes; todas las computadoras se
unirán pura comunicarse con nosotros y para nosotros. Interconectadas globalmente,
formarán una gran red interactiva a la que a veces se denomina superautopista de la
información. La precursora directa de esta red es la actual Internet, que está
evolucionando rápidamente en la dirección adecuada. El alcance y uso de la red
interactiva emergente, sus promesas y peligros, son el tema de este libro.
Cuando era adolescente, me di cuenta del impacto de las computadoras de bajo costo.
Pensé que podíamos tener una computadora sobre cada mesa de trabajo y en cada hogar
y esto se convirtió en la misión corporativa de Microsoft. Hemos contribuido a que ello
se haga realidad. Ahora estas computadoras se están conectando unas a oirás, y nosotros
estamos construyendo el software; las instrucciones dicen al hardware qué tiene que
hacer; lo que permitirá en todas partes obtener el poder de comunicación de este
universo conectado-
Es imposible predecir exactamente a que se parecerá utilizar la red interactiva de banda
ancha cuando llegue a su plenitud.
Sin embargo, la metáfora de la autopista no es del lodo acertada. Sugiere paisaje,
geografía, distancia entre puntos, y ello implica que tienes que viajar para ir de un lado
a otro. Pero, de hecho, esta nueva tecnología de las comunicaciones eliminará la
distancia.
El término autopista sugiere también que todo el mundo sigue la misma ruta. Esta red es
más como un sistema de carreteras nacionales. Todos pueden emprender su propia rula,
a su propia velocidad y en su propia dirección. Otra implicación, quizá, de la metáfora
de la autopista es que la tendría que construir el gobierno, lo que constituye
probablemente un gran error en la mayoría de los países. No obstante, el problema real
de la metáfora de la autopista es que se centra en la infraestructura en lugar de sus
aplicaciones. Mi metáfora preferida es el mercado. Se ajusta más a la descripción de
muchas de las actividades que tendrán lugar en la red. La red interactiva será el mercado
final. El mercado de la información global combinará todas las formas de intercambiar
los bienes humanos, los servicios y las ideas. En resumen, casi todo se hará de manera
diferente. Al principio, la bicicleta parecía un artefacto estúpido; el automóvil, un
intruso ruidoso; la calculadora de bolsillo, una amenaza para el estudio de las
matemáticas; y la radio, el final de la cultura.
Con el tiempo, la nueva máquina se hace un lugar en nuestra vida diaria porque no sólo
ofrece comodidades y ahorra trabajo, sino que puede inspirarnos también cosas nuevas
y creativas.
Las computadoras personales han cambiado ya nuestros hábitos de trabajo, pero es la
red Internet que ahora se desarrolla la que cambiará realmente nuestras vidas.
Pienso que como el progreso vendrá de todas formas, necesitamos sacar el mayor
provecho de él y no tratar de impedirlo. Paúl sabía mucho más de hardware que yo. Un
día de verano de l972, cuando yo tenía 16 años y Paúl 19, me enseñó un artículo de diez
párrafos enterrado en la página 143 de la revista Electronics. En el artículo se anunciaba
que una firma nueva denominada Intel había lanzado un chip microprocesador
denominado el 8008.
Un microprocesador es un simple chip que contiene todo el cerebro de una
computadora. Paúl y yo nos dimos cuenta de que este primer microprocesador era muy
limitado, pero él estaba seguro de que los chips iban a ser más potentes y que las
computadoras basadas en el chip mejorarían muy rápidamente. Esta visión de Paúl fue
la piedra angular de todo lo que hicimos junios más tarde, incluida la fundación de
Microsoft.
En la primavera de 1974. Electronics anunció el nuevo chip 8080 Intel, diez veces más
potente que el 8008 insertado en nuestra máquina Traf-0-
Data. El SOSO no era mucho más grande que el 8008, pero conté 2,700 transistores
más. De pronto estábamos contemplando el corazón una computadora real, y el precio
era menor de 200 dólares. Paúl se preguntaba si este chip tenía la potencia suficiente
como para soportar la versión de BASIC. Nos lanzamos sobre el manual y sacamos la
conclusión de que en el 8080 podía correr el BASIC. "DEC no podrá vender mas PDP-8
ahora", dije a Paúl. Nos parecía obvio que si, en el transcurso dos años, podía
incrementarse tanto la potencia de un pequeñísimo chip el final de las grandes y
voluminosas máquinas estaba por llegar. En una triste y fría mañana de Massachusetts,
unos cuantos días antes de que me fuese. Paúl me llevó al quiosco de prensa de Harvard
Square para enseñarme el número de enero de Popular Electronics.
En la portada de la revista había una fotografía de una computadora muy pequeña, no
mucho mayor que un tostador de pan. Su nombre era un poco más llamativo que el de
Traf-0-Data: el Altair 8800 ("Altair" era una estrella alrededor de la cual giraba el
Planeta Prohibido, y en varios episodios de Star Trek figuran varios planetas que
realizan su órbita en torno a Altair).
Lo que tenía la Altair era ese microprocesador Intel 8080 por cerebro.
Cuando vimos eso el pánico se apoderó de nosotros. "¡Oh, no! ¡Está sucediendo sin
nosotros! La gente va a escribir software real para este chip". El futuro nos estaba
mirando a la cara desde la portada de una revista.
No iba a esperarnos. La oportunidad de actuar en los primeros estadios de revolución de
la computadora personal parecía ser la oportunidad de toda una vida, y la agarramos.
Cuando volvemos la vista atrás para contemplar los últimos 20 años, hace evidente que
algunas grandes empresas informáticas tenían costumbres tan arraigadas que no se
adaptaron al cambio y perdieron. Los errores que cometieron las grandes empresas se
derivaron fundamentalmente de incapacidad para moverse rápido y aprovechar una
nueva oportunidad.
Cuando IBM fracasó en la estimación del software y DEC fracasó a la hora adoptar la
computadora personal dejaron sitio para empresas como
Microsoft. En 1975, cuando Paúl y yo decidimos ingenuamente fundar una empresa,
estábamos actuando de la misma manera que los personajes en aquellas películas de
Judy Garland y Mickey Rooney que comienzan por "montaremos un show en el
granero". Pensábamos que no podíamos perder tiempo y nos pusimos manos a la obra.
No había tiempo que perder. Nuestro primer proyecto fue crear una versión de BASIC
para la pequeña computadora Altair.
La gente me pide a menudo que explique el éxito de Microsoft. Quieren conocer el
secreto de cómo se pasa de una actividad que emplea a dos personas y requiere muy
poco dinero a una empresa que tiene más de 21.000 empleados y factura más de 8.000
millones de dólares al año. Por supuesto, no hay una sola respuesta y la suerte ha
influido en parte, pero creo que el elemento más importante fue nuestra visión original.
Nuestra visión original hizo lodo lo demás un poco más fácil.
Estuvimos en el sitio adecuado en el momento justo. Habíamos llegado allí primero y
nuestro temprano éxito nos dio la oportunidad de contratar amuchas personas
inteligentes. Montamos un equipo de venias a nivel mundial y utilizamos los beneficios
que generaba para financiar nuevos productos.
Pero echamos a caminar desde el principio por un camino que llevaba en la dirección
adecuada.
La idea de interconectar lodos los hogares y oficinas a una red interactiva de alta
velocidad ha encendido la imaginación en todo el mundo.
Individuos y empresas de lodo tipo están plantando su futuro en la construcción de
componentes para la red interactiva. Yo califico el fenómeno como la fiebre del oro de
Internet.

COMENTARIO:

• Acerca de este primer capitulo podemos darnos cuenta que si una persona o en
todo caso un niño tiene a su disposición un cierto objeto o maquina donde
pueda desarrollar sus inquietudes o en todo caso donde pueda desarrollar sus
habilidades va a tener una gran ventaja frente a otros de su edad.
• La revolución de las computadoras se da ante la necesidad de que las personas
quieran tener una en su hogar , ya que con el transcurso del tiempo esta se hace
parte de nuestra vida , por las comodidades que brinda el ahorro de trabajo y lo
recreativo que puede ser también.
• Las empresas que se dedican a este a este negocio deben de estar al día con la
tecnología e innovando a cada momento por que podrían derrumbarse de un
momento a otro.

CAPITULO N0 2 : “EL COMIENZO DE LA EDAD DE LA INFORMACIÓN”

RESUMEN:

Me interesé por la "Edad de la Información" la primera vez que oí hablar de ella. Yo


había oído hablar de la Edad del hierro y de la Edad del bronce, periodos de la historia
humana denominados de acuerdo con los metales que los hombres habían descubierto
para fabricar sus herramientas y armas. Por supuesto había estudiado en el colegio la
Edad industrial, pero cuando leí las predicciones eruditas de que los países lucharían por
el control de la información y no de los recursos naturales, no estaba seguro del
significado que se le daba al término información.
Puede ser que me sintiera intrigado porque la información se encontraba en el punto de
intersección de varias de las cosas que me interesaban en la Universidad. Yo soy bueno
en la parte de la matemática que se llama Combinatoria, me fascinaba verdaderamente
la utilización de las matemáticas para codificar y decodificar información.
La idea de utilizar un instrumento para manipular números no es nueva.
Los asiáticos habían estado utilizando el ábaco durante casi cinco mil años, cuando, en
1642, el científico francés de 19 anos, Blaise Pascal inventó una calculadora mecánica.
Hace más de un siglo y medio, un visionario matemático inglés vislumbró la posibilidad
de la computadora y esa percepción le hizo famoso incluso en su época. Charles
Babbage era profesor de matemáticas en la Universidad de Cambridge y concibió la
posibilidad de un dispositivo mecánico que sería capaz de efectuar una cadena de
cálculos relacionados. En una época tan temprana como la de 1S30, concibió la idea de
que la información podía manipularse mediante una máquina, si se convertía primero en
números- La máquina que Babbage soñaba, movida por vapor, podía utilizar clavijas,
ruedas dentadas, cilindros y oirás parles mecánicas que eran los aparatos de la entonces
nueva edad industrial, Babbage creyó que su "ingenio analítico" desterraría del cálculo
la pesadez y la imprecisión. A lo largo de los cien años siguientes, los matemáticos
trabajaron con ideas derivadas de las de Babbage y, finalmente, a mediados de los años
cuarenta de este siglo, construyeron una computadora electrónica basada en los
principios de su máquina analítica. Al final de los años treinta, cuando Claude Shannon
era todavía estudiante, demostró que una máquina que ejecutase instrucciones lógicas
podía manipular información. El descubrimiento de Shannon. Que fue el tema de su
tesis para la maestría, consistía en que los circuitos de la computadora (cerrados para
verdadero y abiertos para falso) podían realizar operaciones lógicas utilizando el
número uno para representar verdadero y el cero para representar falso.
Esto es un sistema binario, un código. La expresión binaria es el alfabeto de las
computadoras electrónicas, la base de la traducción, el almacenamiento y el manejo de
toda la información que se contiene en la computadora.
Cada uno o cada cero es un bit de información. El sistema binario es sencillo, pero es
tan vital entender el modo como trabajan las computadoras, que vale la pena detenerse a
explicarlo mas extensamente. El sistema binario hace posible la utilización de los
circuitos eléctricos para fabricar calculadoras. Durante la Segunda guerra mundial, un
grupo de matemáticos dirigidos por J, Presper Eckert y John Mauchiy en la Moore
School of Eléctrica! Engineering de la Universidad de Pennsylvania, comenzaron a
desarrollar una máquina informática electrónica, la Electronics Numerical Integrator
and Calculator, llamada ENIAC- Su fin era acelerar los cálculos para los disparos de
artillería. ENIAC se parecía más a una calculadora electrónica que a una computadora,
pero en lugar de representar un número binario con las secuencias encendido y apagado
sobre ruedas como lo hacía una calculadora mecánica, utilizaba "conmutadores" de
válvulas de vacío.
En un artículo de Scientific American de 1977, Bob Noyce, uno de los fundadores de
Intel, comparó el microprocesador de trescientos dólares con ENIAC, la máquina
infestada de mariposas de la aurora de la edad informática. El delgadísimo procesador
no sólo era más poderoso, sino que, como decía Noyce, "es veinte veces más rápido,
tiene una memoria mayor, es miles de veces más fiable, consume la energía de una
bombilla en lugar de la de una locomotora, ocupa 1/30.000 veces el volumen de la
misma y cuesta 1/10.000 veces lo que ella. Se puede conseguir mediante un pedido
efectuado por correo o en la tienda local de aficionados".
Los números binarios se utilizan para almacenar texto en una computadora personal,
música en un disco compacto y dinero en una red bancaria de cajeros automáticos.
Antes de introducir la información en un computador tiene que convertírsela en
números binarios. Podemos imaginarnos que cada dispositivo conecta interruptores -en
respuesta a los números binarios que controlan el flujo de electrones. Pero los
interruptores implicados, que por lo general están fabricados de silicio, son
extremadamente pequeños y pueden conectarse aplicándoles de forma
extraordinariamente rápidas cargas eléctricas para producir texto en la pantalla de un
computador personal, música en un reproductor de discos compactos y las instrucciones
de un cajero automático para dispensar dinero.
Es muy conveniente que pueda convertirse todo tipo de información en representaciones
digitales pero el número de bits puede aumentar rápidamente. Si hay demasiados bits de
información, pueden superar la memoria de la computadora o hacer que se larde mucho
tiempo en transmitirlos de una computadora a otra. Por esto resulta tan útil, y lo será
cada vez más, la capacidad de la computadora para comprimir los datos digitales,
almacenarlos o transmitirlos y luego expandirlos para devolverlos a su forma original.
Por decirlo de manera rápida, he aquí cómo realiza estas proezas la computadora. Hay
que remontarse, para explicarlo, a Claude Shannon, el matemático que descubrió en los
años treinta de este siglo que la información podía expresarse en forma binaria. Durante
la Segunda guerra mundial, Shannon comenzó a desarrollar una descripción matemática
de la información y fundó un campo de conocimiento que después ha llegado a
conocerse como Teoría de la información. Shannon definió la información como la
reducción de la incertidumbre. De acuerdo con esta definición, si sabemos ya que es
sábado y alguien nos dice que es sábado, no hemos conseguido ninguna información
nueva. Y al contrario, si no estamos seguros del día que es y alguien nos dice que es
sábado, se nos ha dado información porque se ha reducido nuestra incertidumbre.
Los trabajos de Shannon sobre la teoría de la información condujeron finalmente a otros
adelantos. Uno fue el de la eficaz compresión de datos, vital tanto para la informática
como para las comunicaciones. En el medio siglo transcurrido desde que Shannon
presentó la teoría de la información e ideó uno de los primeros esquemas de
compresión, los ingenieros han inventado métodos brillantes para eliminar la
redundancia de la información. No es raro que el tamaño de un texto quede reducido a
la mitad mediante la compresión. Esto permite transmitirlo con el doble de rapidez.
La red Internet actual hace uso de la compresión principalmente para transmitir
gráficos, audio y vídeo en la Word Wide Web; pero la compresión por sí misma no
satisfará la enorme necesidad de capacidad para las comunicaciones. Necesitamos
transmitir cada vez más cantidad de bits de un lado a otro. Los bits viajan a través del
aire. De cables de cobre y cables de fibra óptica.
En 1965, Gordon Moore, que después fundaría Intel junto con Bob Noyce, predijo que
la capacidad de la computadora se duplicaría anualmente. Dijo esto después de haber
examinado la relación precio/rendimiento de los chips de computadora durante los tres
anos anteriores y proyectando este examen hacia el futuro. El mismo Moore no creyó
que esta tasa de mejora durase mucho. Pero diez años más larde su predicción ha
demostrado ser cierta, y entonces predijo que la capacidad se duplicaría cada dos años.
Hasta hoy sus predicciones se han mantenido, y los ingenieros llaman Ley de Moore al
índice medio de incremento de la capacidad, que SL- duplica cada 18 meses.
Es probable que la Ley de Moore se mantenga durante otros veinte años. Si esto es así,
un cálculo que ahora tarda un día se podrá hacer diez mil veces más rápidamente, con lo
cual se tardará poco menos de diez segundos.
Los laboratorios están ya operando transistores "balísticos" que tienen tiempos de
conmutación del orden de un segundo. Es decir,1/1000.000.00O.O0O.OO0 de segundo,
unos diez millones de veces más rápidos que los transistores en los microprocesadores
actuales. El reto es reducir el tamaño de los circuitos del chip y el flujo actual, de modo
que los electrones al moverse no choquen con nada, ni siquiera con los demás
electrones. La próxima etapa es el "transistor de electrón simple", en el cual un simple
bit de información se representa por un único electrón. Esto sería lo último en la
computación de bajo poder, al menos de acuerdo con nuestros conocimientos actuales
de la física. Con el fin de utilizar las increíbles ventajas de velocidad a nivel molecular,
las computadoras tendrán que ser muy pequeñas, incluso microscópicas. Ya conocemos
la ciencia que nos permitiría construir estas computadoras súper rápidas.
Lo que necesitamos ahora es un progreso de la ingeniería, y este progreso suele venir
rápidamente. A medida que la tecnología de las comunicaciones se digitaliza. Se
encuentra sujeta a las mismas mejoras exponenciales que han hecho que una
computadora portátil de 2.0ÜO dólares actual tenga más capacidad que una
computadora mainframe de IBM de 10 millones de dólares de hace veinte años.

COMENTARIO:

• Acerca de la edad de la información, en el mundo en el que vivimos la


información es muy importante, para entender que tan vital es la información,
es importante conocer el modo como la tecnología esta cambiando las formas de
utilizar la información.
• La mayor parte de este capitulo esta dedicado a darnos a conocer la historia de
la informática los principios en los que se basan las computadoras para manejar
la información.

CAPITULO N0 3: “LECCIONES DE LA INDUSTRIA INFORMATICA”

RESUMEN:

Pues ahora veremos que las redes interactivas trataran de no repetir los errores que se
han cometido en la industria informática: las espirales negativas y las positivas, la
necesidad de iniciar tendencias en lugar de seguirlas, la importancia del software como
opuesto al hardware y el papel de la compatibilidad y de la retroalimentación positiva
que puede generar. Durante las ultimas tres décadas el comportamiento industrial del
hardware y del software informáticos ha sido definitivamente no convencionales.
Grandes empresas bien situadas hicieron ventas por valor de miles de millones de
dólares estos éxitos se debieron en parte a lo que yo llamo una espiral positiva.
En mi juventud, la firma informática mas importante era Digital Equipment Corporation
pues su espiral positiva parecía imparable.
Ken Olsen, fue un legendario diseñador de hardware, creando la industria de la mini
computadora otro visionario fue An Wang, Pues este personaje es el principal
proveedor de calculadoras electrónicas hizo su propia empresa era líder de las
maquinas de proceso de texto Si Wang hubiera previsto la importancia de las
aplicaciones de software ampliamente compatible y de las computadoras de propósito
general podría no existir Microsoft hoy.
IMB es otra gran empresa que entendió mal los cambios tecnológicos Tomas Watson
domino el mercado de las maquinas registradoras gracias a su estilo de gestión agresiva
a principios de los años treinta. IMB tenía su diseño único y requerían su propio sistema
operativo y su software de aplicación, el sistema operativo es una plataforma sobre la
que se construye todos los programas de software para las aplicaciones, cambiar el
software de un modelo de computadora a otro requería un trabajo significativo, como
descubrí el escribir el BASIC para varias computadoras personales, el sucesor de
Watson el joven Tom, los modelos que el construyo lo hizo con una tecnología
deferente, pues podía funcionar con el mismo sistema operativo.
En 1977 DEC introdujo su propia plataforma de arquitectura escalar, la VAX, otro
personaje aparece su nombre es Gene Amdahi pues el tenia un nuevo plan de negocios
construiría computadoras totalmente compatibles con el software 360 de IMB, pronto,
Control Data, Hilachi e Intel hicieron compatibles con IMB terminaron con ese dominio
total sobre el cliente. Microsoft comenzó en 1975 en Alburquerque, Nuevo México,
porque ahí era donde estaba MITS , la pequeña compañía cuya computadora personal
Alatair 8800 había aparecido en la portada de Popular Electronic , pues Microsoft ha
tenido siempre un flujo de efectivo positivo también podemos decir que Microsoft
proporciono BASIC para la mayor parte de las computadoras personales, el lenguaje
BASIC era el ingrediente de software crucial en aquel momento, porque los usuarios
escribían sus propias aplicaciones en BASIC.
La naturaleza global del mercado de los PCS será también un elemento vital en el
desarrollo de la autopista de la información, la colaboración entre las empresas
americanas, europeas, y asiáticas ha de ser más importante incluso de lo que lo ha sido
en el campo de la computadora personal.
Mi principal temor en los primeros años se cifraba en que otra la empresa irrumpiera el
mercado y nos quitara, había varias empresas pequeñas que hicieron tantos chips de
microprocesadores como software y que me tenían bastante ocupado pero, por suerte
para nosotros, ningunas de ellas vio el mercado del software de la manera como lo vi.
yo., nuestro objetivo era escribir y suministrar software para la mayor parte de las
computadoras personales sin implicarse directamente en la fabricación o la venia de
hardware informático, concedíamos licencias de utilización del software a precios
extremadamente reducidos porque creíamos que el dinero se tenía que hacer apostando
por el volumen.
Una de las lecciones mas importante que aprendió temprano la industria informática
fue la que una gran parte del valor de la computadora de propósito general tiene para
sus usuarios, depende de la calidad y de la variedad del software de aplicación que hay
disponible par ella. Un ciclo de retroalimentación comenzó a impulsar el mercado de las
PCS, una vez que empezó a funcionar, aparecieron miles de aplicaciones de software y
un numero incalculable de empresas comenzaron a fabricar tarjetas adicionales o
accesorios lo cual amplio las capacidades de hardware de la PC.
Las primeras decisiones comerciales de IMB, originadas por su prisa sacar la PC al
mercado, hicieron muy fácil a otras empresas fabricar maquinas compatibles, la
arquitectura estaba en venta, los chips microprocesadores de Intel y el sistema operativo
de Microsoft estaban a disposición de todo el que empezara.
Algunos críticos les gusta concluir que IMB cometió un error trabajando con Intel y
Microsoft a la hora de crear su PC, pero en realidad IMB se convirtió en la fuerza
central de la industria de la PC precisamente porque fue capaz de aprovechar una
increíble cantidad de talento innovador y de energía emprendedora, y utilizarla para
promover su arquitectura abierta. Pensé que el próximo paso de Microsoft seria
desarrollar un sistema operativo grafico, si queríamos llevar la practica nuestra visión
sobre la amplitud de so de la computadora personal, las PC tenían que ser mas fáciles de
utilizar.
No solo tenia que ayudar a los clientes actuales, sino también atraer a otros nuevos que
no tomarían el tiempo en aprender atrabajar con una interfaz complicada., también
anuncio que planeaba aportar informática grafica a las PC de IMB con un producto
llamado Windows, nuestro objetivo era crear un software que pudiese ampliar el MS-
DOS y permitir a la gente utilizar un ratón. Compaq Computers fue la empresa produjo
máquinas que hacían todo lo que las PC de IBM y que eran también más fáciles de
transportar, adoptaron el estándar IBM y lo ampliaron. .
Esto le dio un aura de prestigio y de liderazgo que sólo había tenido IBM. Nuestra
relación comercial con IBM era vital para nosotros- En 1986 habíamos puesto a la venia
acciones de Microsoft con el fin de proporcionar liquidez a aquellos empleados a los
que se les había dado opción de adquirir acciones.
Trabajamos muchísimo para conseguir que nuestra colaboración con IBM para el
sistema operativo tuviese éxito. IBM era una gran empresa. ¿Por qué tenía tantos
problemas con el desarrollo del software para las PC? Una de las respuestas es que IBM
tendía a promover a todos sus buenos programadores a puestos de dirección y dejaba
rezagados a los que tenían menos talento.
La Open Software Foundation fue el más prometedor de los varios intentos que se
realizaron para "unificar" UNIX, creando una arquitectura de software común que
corriera en el hardware de varios fabricantes, Cada una de las empresas de UNIX trató
de sugerir que su sistema era superior. Windows continúa evolucionando, al igual que la
PC. Microsoft continúa mejorándolo y cualquiera puede desarrollar software para el
sistema operativo de Windows, sin tener que notificar nada ni pedir permiso a
Microsoft. De hecho, en la actualidad hay en el comercio decenas de miles de paquetes
de software para Windows. Sony está introduciendo en el mercado un sistema operativo
dirigido a productos que combinen la informática con los equipos de electrónica de
consumo y también el Internet está cambiando las reglas para todo el mundo en la
industria del software .En los últimos años, Microsoft ha contratado deliberadamente a
unos cuantos directivos con experiencia en empresas que han fracasado.

COMENTARIO:

Como todos bien sabemos la ciencia y la tecnología han tenido un avance impresionante
en los últimos años, pero la tecnología es el que ha cambiado más a la humanidad pues
ahora gracias a ese gran cambio vivimos en un mundo globalizado y muy competitivo,
la vida para nosotros se hizo de alguna forma mas sencilla ahora nos podemos
comunicar con nuestros seres queridos, ya sea por el celular y por el Internet, y todo
esto es gracias a la tecnología.
Ahora partiremos de lo q hizo a la tecnología jugar un papel muy importante en nuestras
vidas, el mayor invento que realizo el hombre fue la computadora, este gran maquina
hizo de la humanidad una revolución total.
En este capitulo del libro “Camino hacia el futuro” vemos un relato de aquellos
personajes que de una u otra manera aportaron en la creación de la computadora ahora
daré una pequeña lista de esos personajes: Digital Equipment Corporation. Ken Olsen,
fue un legendario diseñador de hardware, creando la industria de la mini computadora,
otro visionario fue An Wang este personaje es el principal proveedor de calculadoras
electrónicas, Tomas Watson domino el mercado de las maquinas registradoras, Gene
Amdahi pues el tenia un nuevo plan de negocios construiría computadoras totalmente
compatibles con el software 360 de IMB, estos personajes hicieron posible la creación
de la computadora.
Me parece muy interesante saber las etapas que paso las computadora actual si bien es
importante para nuestra cultura también es importante especialmente para nosotros
porque es parte de nuestra vida profesional, pero hay algunas cosas que en este capitulo
me parece intrascendente como cuando cuenta que jugaba póker o cuando deja la
universidad son cosas que no es de importancia.
CAPITULO N0 4 : “APLICACIONES Y DISPOSITIVOS”

RESUMEN:

Para los americanos, incluso para el mismo autor (cuando era niño) un domingo a las
ocho era la hora para ver el programa Show Ed Suilivan y ver a sus artistas favoritos,
pero para el autor no era sencillo pues a veces iba de regreso a casa después de visitar
a sus abuelos o regreso de una excursión y se perdía dicho programa.

La televisión convencional es “síncrono”, pues nos permite que ver, pero no cuando.
Pero a principios de los años ochenta, el video cassete fue más flexible, ya que lo
podíamos ver cuando quisiéramos, es decir, era “asíncrono”. Antiguamente el único
medio de comunicación era la palabra, esto se modifico y se uso el mensaje, una forma
asíncrona. La televisión y la radio eran en su época, buenos medio de comunicación
pero no se compara cuando el Internet evolucione.
La banda ancha será ilimitadada que nos servirá para buscar cualquier información, la
banda estrecha y media son buenas pero para juegos, correos electrónicos y banca
electrónica; esto conllevaría a que el Internet sea indispensable en los hogares.
Toda información se almacena en los llamados “servidores” que son computadoras de
gran capacidad para así poder navegar en Internet a través de los conmutadores, esto
sucede también en la televisión, teléfonos y otros dispositivos de comunicación.
La tecnología de los aparatos electrónicos poco a poco se va desarrollando hasta que se
convierten en “aplicación estrella” y posteriormente su valor económico baja y sea
admisible para toda persona.
En el campo de las computadoras una aplicación estrella fue el software, ya que en los
teléfonos tendrán pantalla para ver información, en los celulares y buscapersonas se
harán mas potentes; en el caso de las máquinas poco a poco se van mejorando y será
portátil y se llamará “PC portátil” el cual será una mini computadora, e indispensable
para toda persona y que estará equipadas con todo tipo de adminículos, incluyendo
cámaras, escáner que podrá leer texto impreso o escrito a mano y receptores con
capacidad para recibir la situación geográfica, además la mayor parte de ellas tendrán un
bolón de emergencia para el caso en que necesitemos ayuda urgente.
La precursora más sencilla de la PC monedero, que ya es popular en Europa, es la
llamada "tarjeta inteligente", se parece a una tarjeta de crédito, pero tiene un
microprocesador insertado en su plástico esta tarjeta inteligente del futuro identificará a
su propietario y almacenará dinero digital, tiquetes e información médica, será
manejable para viajar y será suficiente para atender las necesidades de algunas personas.
En la Word Wide Web de Internet se han hecho populares ayudas de navegación con
aproximaciones a la tabla de contenido y al índice de materias; un servicio como Yahoo
(http://www.yahoo,ctím) hace el papel de una gran labia de contenido para los miles de
sitios Web en lodo el mundo.
Un servicio como Alta Vista (http://altavisia.digilal.com) ofrece un índice de los
contenidos de la Web, las computadoras que están a su servicio, gestionadas por Digital
Equipment Corporation, exploran sistemática y continuamente millones de páginas
Web, que archivan en un gran índice de información formado por los términos
interesantes hallados en cada una de ellas.
La navegación espacial, que se utiliza ya en algunos productos de software, nos
permitirá ir donde esté la información, capacitándonos para interactuar con un modelo
visual de un mundo real o simulado. Podemos concebir tal modelo como un mapa: una
tabla de contenidos ilustrada y tridimensional.
La navegación espacial será particularmente importante para interactuar con televisores
y con las PC portátiles y pequeñas, que no es probable que estén dotadas de teclados
convencionales además, en la futura red de banda ancha, los enlaces nos permitirán
encontrar respuestas a las preguntas cuando se formulan y en el momento en el que
estamos interesados.
Por otro lado un agente sabrá como ayudarnos parcialmente, porque la computadora
recordará nuestras actividades pasadas, será capaz de encontrar pautas de uso que le
ayudarán a trabajar para nosotros con más eficacia, a través de la magia del software,
parecerá que las aplicaciones de información conectadas a la red aprenden de nuestras
interacciones y nos harán sugerencias; a esto lo llamo "softer software".
Cuando utilizamos un agente, dialogamos con un programa que se comporta, hasta
cierto punto, como una persona; podría ocurrir que el software imitara, al asistirnos, el
comportamiento de una persona célebre, o a un personaje de cómics. Un agente que
adquiere una personalidad proporciona una "interfaz de usuario social".
Unas cuantas empresas, incluida Microsoft, están desarrollando agentes con
capacidades de interfaz de usuario social. Inclusive los agentes necesitarán "saber"
sobre nosotros para poder ayudarnos; con tanta información sobre nosotros y nuestras
preferencias almacenadas en la red, serán esenciales fuertes medidas que garanticen la
intimidad y la seguridad. Afortunadamente, la tecnología hace posible conseguir fuertes
medidas de seguridad, de hecho, la tecnología que trata de salvaguardar el ámbito
privado.
Las capacidades de navegación, la interfaz de usuario y las facilidades de codificación
son componentes de software que no tienen aplicaciones en si o fuera de si mismos, son
servicios estándares que un sistema operativo proporciona a todas las aplicaciones que
se construyen sobre él; no todas las aplicaciones que circulen en una red interactiva
sacarán partido de todos los servicios disponibles, y muchas aplicaciones pueden
ampliar los servicios básicos del sistema operativo añadiéndole características nuevas,
sin embargo, los servicios de base son vitales.

COMENTARIO:

El avance tecnológico es un ámbito que poco a poco va evolucionando, ya que esto


conlleva al desarrollo de la humanidad, además ah satisfacer nuestras necesidades y nos
brindarnos servicios. En este capitulo he podido comprender, cómo las computadoras de
ser máquinas enormes y usadas solo por sus creadores, van modificándose en tamaño y
sobre todo que va siendo una herramienta indispensable para toda persona. Además la
evolución de las conexiones en red para poder comunicarnos, transmitirnos
información, jugar, etc.
En el caso del software son como un boom, ya que estas herramientas lógicas son
capaces de reemplazar a maquinas para minimizar su precio de fabricación, incluso en
el caso de los programas de ejecución son muy usado en las empresas puesto que
mejoran su administración.
Vale decir que la tecnología no solo es de hoy sino del futuro ya que en cada instante
que el tiempo avanza la tecnología también lo hace y esto lo podremos apreciar al pasar
del tiempo con aparatos o software sofisticados que mejorar nuestro vida.
Describa brevemente en orden de aparición cronológica los procesadores Intel para
computadoras personales aparecidos desde el año 2005 hasta julio del 2008.
Incluya por cada procesador: Nombre del procesador, Fecha de aparición, Número de
núcleos, Velocidad del reloj, tamaño del Cache de primer nivel o L1, Tamaño del
Cache de segundo nivel o L2, placa(s) (mainboard) sobre las que puede ser soportado.

Familia del procesador Pentium D: estos procesadores se crearon del año del 2005
hasta el 03/09/2007.

Nombre del procesador: Pentium D 805


Numero de núcleos: posee dos núcleos
Velocidad del reloj: 2,66 GHz a 3,73 GHz
Tamaño del cache de primer nivel: 16KB
Tamaño del cache de segundo nivel: 1MB por cada núcleo.

Nombre del procesador: Pentium D 820


Numero de núcleos: posee dos núcleos
Velocidad del reloj: 2.8 GHz
Tamaño del cache de primer nivel: 32 KB
Tamaño del cache de segundo nivel: 2 MB ( 2 x 1 MB ) por núcleo.

Nombre del procesador: Pentium D 830


Numero de núcleos: tiene dos núcleos
Velocidad del reloj: 3 GHz
Tamaño del cache de primer nivel: 32 KB
Tamaño del cache de segundo nivel: 2 MB

Nombre del procesador: Pentium D 840


Numero de núcleos: dos núcleos
Velocidad del reloj: 3.2 GHz
Tamaño del cache de primer nivel: 32KB
Tamaño del cache de segundo nivel: 2 MB

Nombre del procesador: Pentium D Extreme Edition


Numero de núcleos: dos núcleos
Velocidad del reloj: 3.2 GHz
Tamaño del cache de primer nivel: 32KB
Tamaño del cache de segundo nivel: 2MB

Nombre del procesador: Pentium D 915


Numero de núcleos: posee dos núcleos Cedar Mill
Velocidad del reloj: 2,8 GHz
Tamaño del cache de primer nivel: 64KB
Tamaño del cache de segundo nivel: 4 KB

Nombre del procesador: Pentium D 920


Numero de núcleos: posee dos núcleos
Velocidad del reloj: 2.8 GHz
Tamaño del cache de primer nivel: 64KB
Tamaño del cache de segundo nivel: 4 MB
Nombre del procesador: Pentium D 925
Numero de núcleos: posee dos núcleos
Velocidad del reloj: 3 GHz
Tamaño del cache de primer nivel: 64KB
Tamaño del cache de segundo nivel: 4 MB

Nombre del procesador: Pentium D 930


Numero de núcleos: posee dos núcleos
Velocidad del reloj: 3 GHz
Tamaño del cache de primer nivel: 64KB
Tamaño del cache de segundo nivel: 4 MB

Nombre del procesador: Pentium D 935


Numero de núcleos: posee dos núcleos
Velocidad del reloj: 3.2 GHz
Tamaño del cache de primer nivel: 64KB
Tamaño del cache de segundo nivel: 4 MB

Nombre del procesador: Pentium D 940


Numero de núcleos: posee dos núcleos
Velocidad del reloj: 3.2 GHz
Tamaño del cache de primer nivel: 64KB
Tamaño del cache de segundo nivel: 4 MB

Nombre del procesador: Pentium D 945


Numero de núcleos: posee dos núcleos
Velocidad del reloj: 3,4 GHz
Tamaño del cache de primer nivel: 64KB
Tamaño del cache de segundo nivel: 4MB

Nombre del procesador: Pentium D 950 3,4 Ghz


Números de núcleos: posee dos núcleos
Velocidad del reloj: 3,4 Ghz
Tamaño del cache del primer nivel: 64KB
Tamaño del cache del segundo nivel: 4 MB

Nombre del procesador: Pentium D 960 3,6 Ghz


Números de núcleos: posee dos núcleos
Velocidad del reloj: 3,6 Ghz
Tamaño del cache del primer nivel: 64KB
Tamaño del cache del segundo nivel: 4MB

Familia de los procesadores Pentium Core 2 dúo; la fecha de aparición va desde el


2006 – 2008.

Nombre del procesador: Intel Core 2 Duo E4300


Números de núcleos: posee dos núcleos
Velocidad del reloj: 1.80 GHz
Tamaño del cache del primer nivel: 64Kb
Tamaño del cache del segundo nivel: 2 Mb
Nombre del procesador: Core 2 Duo E4400
Numeros de núcleos: posee dos nucleos
Velocidad del reloj: 2.00 GHz
Tamaño del cache del primer nivel: 64Kb
Tamaño del cache del segundo nivel 2Mb

Nombre del procesador: Core 2 Duo E4500


Numeros de núcleos: posee dos nucleos
Velocidad del reloj: 2.20 GHz
Tamaño del cache del primer nivel: 64Kb
Tamaño del cache del segundo nivel: 2Mb

Nombre del procesador: Core 2 Duo E4600


Numeros de núcleos: posee dos nucleos
Velocidad del reloj: 2.40 GHz
Tamaño del cache del primer nivel: 64Kb
Tamaño del cache del segundo nivel: 2Mb

Nombre del procesador: Core 2 Duo E4700


Numeros de núcleos: posee dos núcleos.
Velocidad del reloj: 2.60 GHz
Tamaño del cache del primer nivel: 64Kb
Tamaño del cache del segundo nivel: 2Mb

Nombre del procesador: Core 2 Duo E6300


Numeros de núcleos: posee dos núcleos.
Velocidad del reloj: 1.86 GHz
Tamaño del cache del primer nivel: 64Kb
Tamaño del cache del segundo nivel: 2Mb

Nombre del procesador: Core 2 Duo E6320


Numeros de núcleos: posee dos núcleos.
Velocidad del reloj: 1.86 GHz
Tamaño del cache del primer nivel: 64Kb
Tamaño del cache del segundo nivel: 4Mb

Nombre del procesador: Core 2 Duo E6400


Numeros de núcleos: posee dos núcleos.
Velocidad del reloj: 2.13 GHz
Tamaño del cache del primer nivel: 64Kb
Tamaño del cache del segundo nivel: 2Mb

Nombre del procesador: Core 2 Duo E6420


Numeros de núcleos: posee dos núcleos.
Velocidad del reloj: 2.13 GHz
Tamaño del cache del primer nivel: 64Kb
Tamaño del cache del segundo nivel: 4Mb

Nombre del procesador: Core 2 Duo E6540


Numeros de núcleos: posee dos núcleos.
Velocidad del reloj: 2.33 GHz
Tamaño del cache del primer nivel: 64Kb
Tamaño del cache del segundo nivel: 4Mb

Nombre del procesador: Core 2 Duo E6550


Numeros de núcleos: posee dos núcleos.
Velocidad del reloj: 2.33 GHz
Tamaño del cache del primer nivel: 64Kb
Tamaño del cache del segundo nivel: 4Mb

Nombre del procesador: Core 2 Duo E6600


Numeros de núcleos: posee dos núcleos.
Velocidad del reloj: 2.40 GHz
Tamaño del cache del primer nivel: 64Kb
Tamaño del cache del segundo nivel: 4Mb

Nombre del procesador: Core 2 Duo E6700


Numeros de núcleos: posee dos núcleos.
Velocidad del reloj: 2.66 GHz
Tamaño del cache del primer nivel: 64Kb
Tamaño del cache del segundo nivel: 4Mb

Nombre del procesador: Core 2 Duo E6750


Numeros de núcleos: posee dos núcleos.
Velocidad del reloj: 2.66 GHz
Tamaño del cache del primer nivel: 64Kb
Tamaño del cache del segundo nivel: 4Mb

Nombre del procesador: Core 2 Duo E6800E


Numeros de núcleos: posee dos núcleos.
Velocidad del reloj: 2.93 GHz
Tamaño del cache del primer nivel: 64Kb
Tamaño del cache del segundo nivel: 4Mb

Nombre del procesador: Core 2 Duo E6850


Numeros de núcleos: posee dos núcleos.
Velocidad del reloj: 3.00 GHz
Tamaño del cache del primer nivel: 64Kb
Tamaño del cache del segundo nivel: 4Mb

Nombre del procesador: Core 2 Duo E7200 (45nm)


Numeros de núcleos: posee dos núcleos.
Velocidad del reloj: 2.53 GHz
Tamaño del cache del primer nivel: 64Kb
Tamaño del cache del segundonivel: 3Mb

Nombre del procesador: Core 2 Duo E8190 (45 nm)


Numero de núcleos: posee dos núcleos.
Velocidad del reloj: 2.66 GHz
Tamaño del cache del primer nivel: 64Kb
Tamaño del cache del segundo nivel: 6Mb

Nombre del procesador: Core 2 Duo E8200 (45nm)


Numero de núcleos: posee dos núcleos.
Velocidad del reloj: 2.66 GHz
Tamaño del cache del primer nivel: 64Kb
Tamaño del cache del segundo nivel: 6Mb

Nombre del procesador: Core 2 Duo E8300 (45nm)


Numero de núcleos: posee dos núcleos.
Velocidad del reloj: 2.83 GHz
Tamaño del cache del primer nivel: 64Kb
Tamaño del cache del segundo nivel: 6Mb

Nombre del procesador: Core 2 Duo E8400 (45nm)


Numero de núcleos: posee dos núcleos.
Velocidad del reloj: 3.00 GHz
Tamaño del cache del primer nivel: 64Kb
Tamaño del cache del segundo nivel: 6Mb

Nombre del procesador: Core 2 Duo E8500 (45nm)


Numero de núcleos: posee dos núcleos.
Velocidad del reloj: 3.16 GHz
Tamaño del cache del primer nivel: 64Kb
Tamaño del cache del segundo nivel: 6Mb

Nombre del procesador: Core 2 Duo E8600 (45nm)


Numero de núcleos: posee dos núcleos.
Velocidad del reloj: 3.33 GHz
Tamaño del cache del primer nivel: 64Kb
Tamaño del cache del segundo nivel: 6Mb.

Familia de procesadores Pentium Core 2 Quad; la fecha de aparición varía del año
2006 – 2008

Nombre del procesador: Core 2 Quad Q6600


Numero de núcleos: posee cuatro núcleos.
Velocidad del reloj: 2,40 GHz
Tamaño del cache del primer nivel: 128Kb
Tamaño del cache del segundo nivel: 8MB

Nombre del procesador: Core 2 Quad Q(X) 6700


Numero de núcleos: posee cuatro núcleos.
Velocidad del reloj: 2,67 GHz
Tamaño del cache del primer nivel: 64Kb
Tamaño del cache del segundo nivel: 8 Mb

Nombre del procesador: Core 2 Quad QX6800


Numero de núcleos: posee cuatro núcleos.
Velocidad del reloj: 2,93 GHz
Tamaño del cache del primer nivel: 64Kb
Tamaño del cache del segundo nivel: 8 Mb

Nombre del procesador: Core 2 Quad QX6850


Numero de núcleos: posee cuatro núcleos.
Velocidad del reloj: 3,00 GHz
Tamaño del cache del primer nivel: 64Kb
Tamaño del cache del segundo nivel: 16 Mb

Nombre del procesador: Core 2 Quad Q8200


Numero de núcleos: posee cuatro bits.
Velocidad del reloj: 2.33 GHz
Tamaño del cache del primer nivel: 64Kb
Tamaño del cache del segundo nivel: 3MB

Nombre del procesador: Core 2 Quad Q9300


Numero de núcleos: posee cuatro núcleos.
Velocidad del reloj: 2.50 GHz
Tamaño del cache del primer nivel: 64Kb
Tamaño del cache del segundo nivel: 6MB

Nombre del procesador: Core 2 Quad Q9450


Numero de núcleos: posee cuatro núcleos.
Velocidad del reloj: 2,66 GHz
Tamaño del cache del primer nivel: 64Kb
Tamaño del cache del segundo nivel: 12 Mb

Nombre del procesador: Core 2 Quad Q9550


Numero de núcleos: posee cuatro bits
Velocidad del reloj: 2,83 GHz
Tamaño del cache del primer nivel: 64Kb
Tamaño del cache del segundo nivel: 12 Mb

Nombre del procesador: Core 2 Quad QX9650


Numero de núcleos: cuatro núcleos.
Velocidad del reloj: 3,00 GHz
Tamaño del cache del primer nivel: 64Kb
Tamaño del cache del segundo nivel: 12Mb

Nombre del procesador: Core 2 Quad QX9770


Numero de núcleos: cuatro núcleos.
Velocidad del reloj: 3,20 GHz
Tamaño del cache del primer nivel: 64Kb
Tamaño del cache del segundo nivel: 12Mb

Nombre del procesador: Core 2 Quad QX9771


Numero de núcleos: cuatro núcleos.
Velocidad del reloj: 3,40 GHz
Tamaño del cache del primer nivel: 64Kb
Tamaño del cache del segundo nivel: 16 Mb
PARTE II:

“REPRESENTACIÓN DE
LA
INFORMACIÓN”
1.- Describa los casos Especiales del Estándar IEEE754 (Método de la coma flotante) y

consideraciones sobre redondeo.

COMA FLOTANTE

Coma flotante o punto flotante es un método de representación de números reales que


se puede adaptar al orden de magnitud del valor a representar, usualmente trasladando
la coma decimal —mediante un exponente— hacia la posición de la primera cifra
significativa del valor.

De esta forma, con un número dado de dígitos representativos se obtiene mayor


precisión que con la coma fija, debido a que el valor de estos dígitos es siempre
significativo sea el que sea el orden de magnitud del número a representar. Debido a
esta adaptación, permite representar un rango mucho mayor de números (determinado
por los valores límite que puede tomar el exponente).

Su uso es especialmente interesante en la informática pues permite trabajar con números


decimales en rangos amplios, aunque también se usa el truncado de decimales.

Representación

Representación binaria de números en coma flotante de doble precisión.

*Una representación en coma flotante se compone de tres números (campos) que


siguen el siguiente patrón:

r = m.be

r: valor real del número a representar.


m: mantisa o significando, dígitos significativos del número. El tamaño
máximo de este campo, usualmente fijo y limitado, determina la precisión de la
representación. Este campo está usualmente normalizado, es decir, su parte
entera sólo consta de un dígito (que será la primera cifra significativa del
número a representar).
b: base del sistema de representación (10 en sistema decimal, 8 en sistema octal,
2 en sistema binario, etc.)
e: exponente, orden de magnitud del significando. El mínimo y máximo valor
posible del exponente determinan el rango de valores representables. Cabe
añadir que cuando e vale cero el valor real coincide con el significando.

En ciertos casos se usa como , con un cuarta mantisa, s, que tiene el


valor de 1 ó -1 según el signo del número (que se extrae del significando).

Sistema Decimal:
Con el fin de optimizar la notación de cifras de numerosos dígitos, se acude al uso de
unidades múltiplos en el caso de ser un valor métrico o a la coma flotante en los demás.
Su uso es común en la física por los valores amplios e imprecisos que se acostumbran a
obtener. Por esta razón también se incluye cierta permisividad con la inexactitud del
valor. El error que puede surgir del empleo de este método se suele combinar al error
calculado de los resultados.

El método utilizado es mover la coma a la parte más significativa de la cifra, es decir,


variando el peso aritmético de los dígitos que lo componen. Para entender el significado
de los números en coma flotante, acudimos a ejemplos más evidentes del sistema
decimal:

• Supongamos que tenemos los siguientes números reales: 3135,07; 0,04576 y


69233704,063.
• Tomando de éstos sus 6 dígitos significativos, su conversión a notación de coma
flotante normalizada, en donde la coma decimal se sitúa a la derecha del primer
dígito, se escribirán 3,13507×103; 4,57600×10-2 y 6,92337×107.

Como se observa en estos ejemplos, la coma decimal se ha desplazado hacia la derecha


o hacia la izquierda para obtener la misma estructura en la notación. La pérdida de
información en el tercer caso es potencialmente negligible, su error es del 0,001%.

En notación de coma fija, con 4 dígitos para los enteros y 2 dígitos, para los decimales
se obtendría 3135,07; 0,04 y 3704,06 pudiendo perder información importante en
entornos no controlados de uso.

Sistema Binario:

Un valor real se puede extender a la izquierda o a la derecha de forma arbitraria. En la


informática se dispone de una cantidad limitada de dígitos para representar un valor, un
número real puede rebasar este rango con facilidad.

La coma flotante proporciona un cambio de ponderación que en este entorno técnico


permite almacenar valores con partes significativas de peso alejado a 0, esto es alejadas
de la coma a su derecha o a su izquierda. La limitación se halla cuando existe
información de peso mucho menor al de la parte significativa que es necesariamente
truncado. Sin embargo, y según el uso, la relevancia de esos datos puede ser
despreciable, razón por la cual el método es interesante pese a ser una potencial fuente
de error.

Técnicamente no se puede colocar una coma en una cifra puesto que sólo se pueden
manejar valores de 0 y 1. Para resolver el problema se fuerza que la mantisa esté
normalizada, con lo cual se conoce la posición de la coma.El bit de mayor peso define si
hay signo negativo o no lo hay. Le siguen una serie de bits que definen el exponente en
defecto a la mitad del rango de dichos bits. El resto de bits son la mantisa.

Emplearemos varios ejemplos en una notación de 16 bit para describir el método usado:
En este caso, el exponente ocupa 6 bits capaces de representar de 0 a 63, por lo
tanto, al exponente se le suma 31 en esta notación. La mantisa, al ser
normalizada, tendrá siempre un 1 en su parte entera. Este bit redundante se
denomina bit oculto o implícito y no se incluye en esta notación.

La notación genérica mencionada arriba para la coma flotante es pues respectivamente:

(con todos los valores expresados en representación binaria)

La notación en coma flotante es más lenta de procesar y menos precisa que la notación
en coma fija, pero dado un tamaño fijo de dígitos, permite un mayor rango en los
números que se pueden representar con ellos. Debido a que las operaciones aritméticas
que se realizan con números en coma flotante son muy complejas de realizar, muchos
sistemas destinan un procesador especial para la realización específica de este tipo de
operaciones, denominado Unidad de Coma Flotante.

En ordenadores y calculadoras los números en coma flotante se suelen representar de


forma distinta. Donde se debería escribir se suele escribir (por ejemplo
, también escrito y ; otro ejemplo:
) o incluso, sobre todo en calculadoras científicas: , aunque
técnicamente es incorrecto (por ejemplo ).

REDONDEOS:

A diferencia de los números enteros, es difícil que un número real pueda ser
representado exactamente con un número fijo de cifras binarias significativas en su
mantisa (nm + 1). Para solucionar este problema debemos aplicar algún tipo de
aproximación o redondeo. El formato IEEE754 utiliza el denominado redondeo al par
que consiste en redondear a un número par en el caso en que el error sea igual si se
aproxima al número representable inmediatamente superior y al inmediatamente
inferior. Si no se da esta igualdad, obviamente, y como es lógico, simplemente se
redondea al número representable más cercano. Para decir si se suma uno o se trunca es
necesario utilizar el bit menos significativo (que se encuentra en la posición nm del
campo de la mantisa) y dos bits adicionales no pertenecientes al numero final,
denominados bit de redondeo y bit retenedor; el bit de redondeo es aquel como
resultado de una operación y después de normalizar el resultado de una operación y
después de normalizar el resultado, se encuentra en la posición mn +1.
El bit retenedor es, en iguales circunstancias, el que esta a su derecha, en la posición nm
+ 2. Veamos como se realiza el redondeo al par con un ejemplo: supongamos que la
mantisa de los datos se almacena en 5 bits (nm = 5). L os redondeos al par que se
obtendrían de las operaciones de la ALU que siguen son los que se indican:

Resultado ALU Acción Mantisa redondeada


(normalizado)
1.0110110 Sumar 1 1.01110
1.0110010 Truncar 1.01100
1.0110011 Sumar 1 1.01101
1.0110001 Truncar 1.01100
1.0110000 Truncar 1.01100

Donde los dos bits que se añaden al calcular el resultado de la ALU son el redondeo
(segundo por la derecha), y el bit retenedor (el de más a la derecha). Mirando estos dos
bits, tomaremos la decisión del redondeo (truncar o sumar uno). Cada combinación nos
llevara a lo siguiente:

 El 10 de la primera fila es como un redondeo decimal de 0.5; esta igual de cerca


el numero resultante de sumar uno que de truncar. Por tanto, redondeamos al
numero par más cercanos: por eso sumamos un uno, para obtener un numero
binario acabado en cero (todos los números binarios que acaban en cero son
pares, y los que acaban en uno, impares).
 En la segunda fila ocurre lo contrario: seguimos teniendo 10 (como 0.5), pero
para obtener un número binario par ahora hay que truncar.
 En los otros tres casos no hay duda: siempre que hay un 00, se redondeara
truncando (es como el redondeo en decimal al encontrar 0.0); cuando hay un 01,
también se truncara es como un redondeo decimal al encontrar 0.25) ; y cuando
haya un 11, se sumara uno (como un redondeo decimal al encontrar 0.75).

2.-Qué hacer si en los métodos de complemento a dos y a uno no hay un bit sobrante
que desechar o agregar. Coloque un ejemplo por cada caso.

COMPLEMENTO A UNO:

El complemento a uno de un número binario es una operación matemática muy


importante en el campo de la computación, ya que nos permite la representación binaria
de números negativos. Se obtiene al cambiar cada uno de los dígitos del número binario
N por su complementario, esto es, cambiar los unos por ceros y los ceros por unos.

Por ejemplo:

Número binario = (1010110)2 = (86)10


Complemento a uno = (0101001)2 = (− 87)10

Podemos referirnos al complemento a uno como la función complemento a uno ,


que también se puede definir como el complemento a dos menos una unidad, es decir:
.Es trivial a partir de la definición anterior, que el complemento a dos
se puede definir como .

Por ejemplo, vamos a calcular el complemento a 1 del número (45)10 que, expresado en
binario (101101)2 tiene 6 dígitos:

N = 45; n = 6; 26 = 64

Su complemento a dos es: y, su


complemento a uno es una unidad más pequeño:

010011
-000001
-----------
010010

ALGORITMO EN UN COMPUTADOR:
El C (-x) consiste en encontrar la representación signo-magnitud (x) y negarla.

Ejemplo: utilizando 5 bits.


R=30-25
R=30+C (-25)
30------ 11110+ El primer del
00110 resultado se desecha.
100100 + 1 = 00101

NOTA: Si no se hubiese producido el acarreo final, entonces no hay que sumar nada al
resultado, pero este lo interpretamos como negativo y por tanto debemos
complementarlo a uno para interpretarlo.
Ejemplo:
R= 20-26 10100+
R= 20+C (-26) 00101
11001
R= C1 (-11001) = 00110=-6

COMPLEMENTO A DOS:

El complemento a dos de un número N que, expresado en el sistema binario está


compuesto por n dígitos, se define como:

Veamos un ejemplo: tomemos el número N = 45 que, cuando se expresa en binario es


N = 1011012, con 6 dígitos, y calculemos su complemento a dos:

Cabe señalar que en este ejemplo se ha limitado el número de bits a 6, por lo que no
sería posible distinguir entre el -45 y el 19 (el 19 en binario es 10011). En realidad, un
número en complemento a dos se expresa con una cantidad arbitraria de unos a la
izquierda, de la misma manera que un número binario positivo se expresa con una
cantidad arbitraria de ceros. Así, el -45, expresado en complemento a dos usando 8 bits
sería 11010011, mientras que el 19 sería 00010011; y expresados en 16 bits serían
1111111111010011 y 0000000000010011 respectivamente. Se presenta la tabla de
verdad del complemento a 2 para cuatro dígitos.

Cálculo del complemento a dos:

El cálculo del complemento a dos es muy sencillo y muy fácil de realizar mediante
puertas lógicas, donde reside su utilidad. Para comenzar los números positivos se
quedarán igual en su representación binaria. Los números negativos deberemos invertir
el valor de cada una de sus cifras, es decir realizar el complemento a uno, y sumarle 1 al
número obtenido. Podemos observar esto en la tabla de ejemplo. Cabe recordar que
debido a la utilización de un bit para representar el signo, el rango de valores será
diferente al de una representación binaria habitual; el rango de valores decimales para 'n'
bits será:

Conversión rápida

Una forma de hallar el opuesto de un número binario positivo en complemento a dos es


comenzar por la derecha (el dígito menos significativo), copiando el número original
(de derecha a izquierda) hasta encontrar el primer 1, luego de haber copiado el 1, se
niegan (complementan) los dígitos restantes (es decir, copia un 0 si aparece un 1, o un 1
si aparece un 0). Este método es mucho más rápido para las personas, pues no utiliza el
complemento a uno en su conversión.

Por ejemplo, el complemento a dos de: "0011 11010" es "1100 00110".

ALGORITMO DE CALCULO DE C2 EN EL COMPUTADOR:

Para obtener en C2 directamente sin pasar por restas de (-x), hallamos la representación
de “x” en signo-magnitud, y negamos todos sus bits, después del primer bits
significativo, lo obtenido es el C2 de (-x).

Ejemplo: trabajamos con 4 bits.

R=7-2 =5 R=signo-magnitud (7) +C2 (-2) 0111+1111= 10101

El primer uno del resultado es un acarreo, es un bit que no se puede almacenar.

Ejemplo: ahora trabajamos en 5 bits

.Sº=-25+18= -7 Sº=C2 (-25)+signo-magnitud (18) 10010+00111= --11001

Donde esta -- significa que no hay acarreo, en este caso interpretamos el resultado como
negativo, pero que hay que complementar el resultado previo de la siguiente manera.

Sº= 11001 C(Sº) = 11001= 00110=-7.


3.- Qué es la Máquina de Turing. Cuales son sus características técnicas de la Máquina
de Turing.

MÁQUINA DE TURING

La máquina de Turing es un modelo computacional


introducido por Alan Turing en el trabajo “On computable
numbers, with an application to the Entscheidungsproblem”,
publicado por la Sociedad Matemática de Londres, en el cual
se estudiaba la cuestión planteada por David Hilbert sobre si
las matemáticas son decidibles, es decir, si hay un método
definido que pueda aplicarse a cualquier sentencia
matemática y que nos diga si esa sentencia es cierta o no.
Turing construyó un modelo formal de computador, la
de una máquina de máquina de Turing, y demostró que existían problemas que
Turing. una máquina no podía resolver. La máquina de Turing es un
modelo matemático abstracto que formaliza el concepto de
algoritmo.
En realidad la máquina de Turing es más una abstracción matemática que un dispositivo
físico o mecánico. El hecho que se le denomine "máquina" se debe a que su
funcionamiento puede ser descrito en términos de operaciones individuales muy
sencillas que sugieren una implementación real muy simple, lo que ha motivado que
existan muchas versiones prácticas del mismo.
Existen diversas "variedades" de una máquina de Turing, pero la más simple puede ser
descrita diciendo que es cualquier dispositivo que cumple las siguientes condiciones:

1. Tiene una cinta sobre la que puede desplazarse a izquierda y derecha un cabezal de
lectura/escritura. La cinta contiene una serie de celdas, y en cada una de ellas puede
escribirse un símbolo de un conjunto finito; este conjunto de símbolos se denomina
el alfabeto de la máquina. En principio todas las celdas que no se hayan escrito
antes contienen un carácter especial nulo o vacío (que se representa por 0 o #). La
cinta puede contener tantas celdas a derecha e izquierda del cabezal como sean
necesarias para el funcionamiento de la máquina.
2. El cabezal puede moverse a derecha (R) a izquierda (L) de su posición actual, así
como leer el contenido de una celda o escribir en ella cualquier carácter de su
alfabeto.
3. Existe un registro de estado que almacena el estado de la máquina. El número de
estados posibles es finito, y no se exige ningún estado especial con el que sea
iniciada la máquina.
4. Existe una tabla de acción, que contiene las instrucciones de lo que hará el
autómata. Estas instrucciones representan en cierta forma el "programa" de la
máquina. Las ejecución de cada instrucción de la tabla de acción incluye cuatro
pasos:
 Leer un carácter en la posición actual.
 Escribir un nuevo símbolo en esta posición (puede ser el mismo que había). El
símbolo a escribir es alguno del alfabeto de la máquina, y depende del carácter
leído y del estado actual.
 Desplazar el cabezal una celda a derecha o izquierda (R/L); en algunos modelos
el desplazamiento puede ser nulo (detener H).
 Decidir cual será el nuevo estado en función del carácter que se acaba de leer y
del estado actual. Si la tabla de acción no contiene ninguna correspondencia con
el estado actual y el símbolo leído, entonces la máquina detiene su
funcionamiento.
En los modelos didácticos computarizados la tabla suele definirse mediante una matriz
de cinco columnas que contiene:
Estado/Carácter-leído/Carácter-a-escribir/Movimiento/Nuevo-estado

En el recuadro se incluye una muestra de una de +---+---++---+---+---+


estas tablas. Representa el comportamiento de | S | R || W | M | N |
una máquina de turing que es capaz de sumar 1 a +---+---++---+---+---+
cualquier número unario. El alfabeto solo tiene | 0 | 0 || 0 | R | 0 |
dos símbolos: Vacío (0) y valor (1). La máquina | 0 | 1 || 1 | R | 1 |
puede adoptar tres estados diferentes numerados | 1 | 0 || 1 | R | 2 |
del 0 al 2 (es costumbre señalar el estado inicial | 1 | 1 || 1 | R | 1 |
con 0). El movimiento H ("Halt") significa no | 2 | 0 || 0 | H | 2 |
| 2 | 1 || 0 | H | 2 |
desplazar el cabezal. En este caso la máquina se
+---+---++---+---+---+
detiene (o entra en un bucle sin fin)
S = Estado actual
R = Carácter leído
W = Carácter escrito
M = Dirección del movimiento
N = Nuevo estado

También es posible representar la tabla de


acción mediante un grafo. Los diferentes
estados internos se representan por
círculos. Los cambios de estado con flechas
a las que se añaden una leyenda.
Es notable Generalmente
que el diseño se contiene
de Turing utiliza una flecha para
de forma implícita la idea de que elEn la figura 1 se
señalar el estado inicial.
muestra el grafo correspondiente a la tabla
autómata puede alterar su propio programa,
pero el punto más significativo de su filosofía de funcionamiento es que se comporta
como la mente, en el sentido que la configuración interna de la máquina establece el
entorno en el que se toman las decisiones, de forma que la acción depende de dos
factores: el estado interno y la información externa que puede "ver" a través de su
cabezal. La consecuencia es que es imposible predecir su comportamiento de la simple
inspección de su tabla de acción, ya que el comportamiento depende también de la
entrada recibida.
Es significativo que la cinta puede extenderse indefinidamente a derecha e izquierda, lo
que hace que en la práctica sea imposible construir un modelo real de lo que se
denomina un sistema de Turing completo. Es también destacable que la máquina da a la
cinta tres utilizaciones distintas:

 Como elemento de almacenamiento de los datos de entrada (de capacidad


potencialmente ilimitada)
 Como elemento de salida (de cualquier cantidad de datos)
 Como almacenamiento de información intermedia durante el proceso (puede
ser de cualquier tamaño).

Aunque tanto el alfabeto utilizado como el número de estados son finitos, lo que
confiere su potencia a la máquina de Turing (además de su diseño genial) es su
almacenamiento ilimitado. Turing probó que este autómata es también un computador
universal. Es decir, que puede emular el
comportamiento de cualquier dispositivo cuyo S R W M N
comportamiento pueda ser expresado e0 1 0 R e1
simbólicamente mediante un algoritmo. e1 1 1 R e1
e1 0 0 R e2
Ejemplo e2 0 1 L e3
e2 1 1 R e2
Supongamos una máquina de Turing con un alfabeto
e3 1 1 L e3
unario, en la que el nulo (ausencia de dato) lo señalamos
e3 0 0 L e4
con 0. La máquina puede tener cinco estados que
e4 1 1 L e4
denominamos {e0, e1, e2, e3, e4}. El estado inicial es
e0; su tabla de acción se muestra a la derecha. Observe e4 0 1 R e0
que la tabla debe contener al menos tantas filas como
S: Estado anterior
estados distintos. La primera columna representa lo que R: Símbolo leído
podíamos denominar "estado mental" de la máquina. La W: Símbolo a escribir
segunda columna indica el carácter leído; representa la M: Movimiento (R, L).
entrada (input) al autómata. Las siguientes (en otro N: Nuevo estado.
color) representan el comportamiento o respuesta de la
máquina para la combinación estado/carácter-leído. Esta respuesta tiene tres componentes:

• Una salida (escribir en la cinta). Indicado en la columna W.


• Un movimiento de avance o retroceso del cabezal sobre la cinta (indicado en la
columna M).
• Un cambio del estado interno actual del autómata a otro nuevo (columna N).

Observe que las filas pueden repetir el primer elemento; significan las acciones a tomar en cada
estado según el carácter leído. Cada vez que se alcanza un estado para el que no exista una
entrada para el carácter leído, la máquina se detiene. En nuestro autómata la tabla señala
acciones concretas para cualquier carácter leído (0 o 1) en cualquiera de los estados e1, e2, e3 y
e4, pero si en el estado e0 se lee un 0, la máquina se detiene. La sucesión de pasos de cómputo
es la siguiente (suponemos un estado inicial cualquiera ex):

1.- Se lee un carácter c (en nuestro caso es necesariamente 0 o 1)


2.- Se mira en la tabla que fila corresponde a la combinación ex/c.
3a.- Si no existe entrada la máquina se detiene.
3b.- Si existe entrada se ejecuta la instrucción (columnas en marrón claro) en el siguiente
orden:
3b.1.- Se escribe en la posición actual el carácter señalado (puede ser el mismo que
había).
3b.2.- Se mueve el cabezal una posición a izquierda o derecha.
3b.3.- Se pasa al estado señalado en la última columna (puede implicar no cambiar
de estado).
3b.4.- Se repite el ciclo desde el punto 1.
4.-Que son los caracteres Unicote, que diferencia hay con los caracteres ASCII.

CARACTERES UNICODE

Es un estándar industrial cuyo objetivo es proporcionar el medio por el cual un texto en


cualquier forma e idioma pueda ser codificado para el uso informático. El
establecimiento de Unicode ha involucrado un ambicioso proyecto para reemplazar los
esquemas de codificación de caracteres existentes, muchos de los cuales están muy
limitados en tamaño y son incompatibles con entornos plurilingües. Unicode se ha
vuelto el más extenso y completo esquema de codificación de caracteres, siendo el más
dominante en la internacionalización y adaptación local del software informático. El
estándar ha sido implementado en un número considerable de tecnologías recientes, que
incluyen XML, Java y sistemas operativos modernos.

El almacenamiento de esos números en el procesamiento de textos es otro tema; los


problemas surgen del hecho que mucho del software escrito puede manejar solamente
codificación de caracteres de 8 bits, con respaldo a Unicode agregado recientemente de
forma lenta. De manera similar en cuanto a la representación de caracteres de Asia, los
caracteres de doble byte no pueden codificar más que 65.536 caracteres, y en la practica
las arquitecturas elegidas imponen límites muy pequeños. Tales límites no son
suficientes ni siquiera para las necesidades escolares del lenguaje Chino.

La lógica interna de la mayoría del software de 8 bits permite de forma típica solamente
8 bits para cada carácter, haciendo imposible utilizar más de 256 puntos en código sin
procesamiento especial. El software de 16 bits solamente puede guardar poco más de 6
decenas de miles de caracteres. Unicode, por otro lado ha definido más de 90.000
caracteres codificados. Los diseñadores de los sistemas entonces han tenido que sugerir
muchos métodos y mecanismos para implementar Unicode; el método implementado
depende del espacio de almacenamiento disponible, la compatibilidad de los códigos
fuentes y la inter-operatividad con otros sistemas.

Unicode define dos métodos de "mapeo" o de localización de caracteres:

• La codificación UTF (Unicode Transformation Format) Formato de


Transformación Unicode.
• La codificación UCS (Universal Character Set) Juego de Caracteres Universal.

Las codificaciones incluyen:

• UTF-7 — una codificación relativamente poco popular de 7 bits, a menudo


considerada obsoleta.
• UTF-8 — una codificación de 8 bits de longitud variable
• UCS-2 — una codificación de 16 bits de longitud fija que solamente permite el
"mapeo" o la búsqueda en la Plana Básica Multilingüe.
• UTF-16 — una codificación de 16 bits de longitud variable.
• UCS-4 y UTF-32 — un par de codificaciones de 32 bits de longitud fija que son
funcionalmente idénticas.
• UTF-EBCDIC — una codificación poco difundida creada para sistemas basados
en EBCDIC.
*Los números en los nombres de los códigos indican la cantidad de bits de cada carácter
(para las codificaciones UTF) o el número de bytes por carácter (para las UCS).

Código ASCII (Código Normalizado Americano para el Intercambio de Información)

En computación, un esquema de codificación que asigna valores numéricos a las letras,


números, signos de puntuación y algunos otros caracteres. Al normalizar los valores
utilizados para dichos caracteres, ASCII permite que los ordenadores o computadoras y
programas informáticos intercambien información. ASCII incluye 256 códigos
divididos en dos conjuntos, estándar y extendido, de 128 cada uno. Estos conjuntos
representan todas las combinaciones posibles de 7 u 8 bits, siendo esta última el número
de bits en un byte.

El conjunto ASCII básico, o estándar, utiliza 7 bits para cada código, lo que da como
resultado 128 códigos de caracteres desde 0 hasta 127 (00H hasta 7FH hexadecimal). El
conjunto ASCII extendido utiliza 8 bits para cada código, dando como resultado 128
códigos adicionales, numerados desde el 128 hasta el 255 (80H hasta FFH extendido).
En el conjunto de caracteres ASCII básico, los primeros 32 valores están asignados a los
códigos de control de comunicaciones y de impresora -caracteres no imprimibles, como
retroceso, retorno de carro y tabulación- empleados para controlar la forma en que la
información es transferida desde una computadora a otra o desde una computadora a
una impresora. Los 96 códigos restantes se asignan a los signos de puntuación
corrientes, a los dígitos del 0 al 9 y a las letras mayúsculas y minúsculas del alfabeto
latino. Los códigos de ASCII extendido, del 128 al 255, se asignan a conjuntos de
caracteres que varían según los fabricantes de computadoras y programadores de
software. Estos códigos no son intercambiables entre los diferentes programas y
computadoras como los caracteres ASCII estándar. Por ejemplo, IBM utiliza un grupo
de caracteres ASCII extendido que suele denominarse conjunto de caracteres IBM
extendido para sus computadoras personales. Apple Computer utiliza un grupo similar,
aunque diferente, de caracteres ASCII extendido para su línea de computadoras
Macintosh. Por ello, mientras que el conjunto de caracteres ASCII estándar es universal
en el hardware y el software de los microordenadores, los caracteres ASCII extendido
pueden interpretarse correctamente sólo si un programa, computadora o impresora han
sido diseñados para ello.

5.- Haz un diagrama de flujo para sumar los 20 primeros de la serie de Fibonacci.

SERIE FIBONACCI

En matemáticas, la sucesión de Fibonacci es la siguiente


sucesión infinita de números naturales:

El primer elemento es 0, el segundo es 1 y cada elemento Gráfica de la sucesión


restante es la suma de los dos anteriores. A cada elemento de Fibonacci hasta f10
de esta sucesión se le llama número de Fibonacci. Esta
sucesión fue descrita en Europa por Leonardo de Pisa, matemático italiano del siglo
XIII también conocido como Fibonacci. Tiene numerosas aplicaciones en ciencias de la
computación, matemáticas y teoría de juegos.
*Diagrama de flujo para los primeros 20 términos de la serie Fibonacci:

Ingresar la cantidad de números que se


van a sumar

Leer el número para saber cuantos sumandos hay

f ( 0) = 0 f ( 1) = 1 f ( n ) = f ( n −1) + f ( n −2 )

f ( 0) = 0 f (10 ) = 34 f ( 0 ) + 55 f (1)
f ( 1) = 1 f (11 ) = 55 f ( 0 ) + 89 f (1)
f ( 2 ) = f ( 0 ) + f ( 1) f (12 ) = 89 f ( 0 ) +144 f (1)
f ( 3 ) = f ( 0 ) + 2 f ( 1) f (13 ) = 144 f ( 0 ) + 233 f (1)
f ( 4 ) = 2 f ( 0 ) + 3 f ( 1) f (14 ) = 233 f ( 0 ) + 377 f (1)
f ( 5 ) = 3 f ( 0 ) + 5 f (1) f (15 ) = 377 f ( 0 ) + 610 f (1)
f ( 6 ) = 5 f ( 0 ) + 8 f ( 1) f (16 ) = 610 f ( 0 ) + 987 f (1)
f ( 7 ) = 8 f ( 0 ) +13 f (1) f (17 ) = 987 f ( 0 ) +1597 f (1)
f ( 8 ) = 13 f ( 0 ) + 21 f (1) f (18 ) = 1597 f ( 0 ) + 2584 f (1)
f ( 9 ) = 21 f ( 0 ) + 34 f (1) f (19 ) = 2584 f ( 0 ) + 4181 f (1)

19

∑f
i =o
(i ) = f ( 0) + f (1) + ... + f (19 ) = 6765 f ( 0 ) + 10945 f (1)= 10945

Imprimir el resultado

La suma es:
….

FIN
6.- Represente 533.56789 X 10-24 con el método de la coma flotante, use 32bits: 1bit
para el signo., 8 para el exponente y los restantes para la mantisa. (Decodifique el
número obtenido para apreciar la aproximación – error por defecto o por exceso-)

533.56789 X 10-24 e=E+s

0.53356789 X 10-21 e = -69 + 127

10-21 = 2x e = 58 )10

Log 10-21 = log2x e = 4A )H

-21/log2 = x e = 01001010 )2

X = -69.76048999

0.533356789 X 2-69.76048999

0.533356789/20.76048999 X 2-69.76048999

0.31496289 X 2-69

Luego:
N = 0.31496289)10 a base 2

0.31496289 X 16 = 5.03940624 = 5)10 = 5)H


0.03940624 X 16 = 0.63049984 = 0)10 = 0)H
0.63049984 X 16 = 10.08799744 = 10)10 = A)H
0.08799744 X 16 = 1.40795904 = 1)10 = 1)H
0.40795904 X 16 = 6.52734464 = 6)10 = 6)H
0.52734464 X 16 = 8.43751424 = 8)10 = 8)H
0.43751424 X 16 = 7.00022784 = 7)10 = 7)H
0.00022784 X 16 = 0.00364544 = 0)10 = 0)H

N = 0.50A16870 ) H X 2-69

En binario:
N = 0.010100001010000101110100001110000)2 X 2-69

Normalizado:
N = 1.010000101000010110100001110000)2 X 2-69

Redondeando:
N = 1.01000010100001011010001

s e m
0 01001010 01000010100001011010000

RPTA: Esta palabra de 32 bits, expresada en forma hexadecimal para abreviar quedaría
como: 252142D0) H

7.- Escribir todas las representaciones posibles de números enteros con los métodos de
signo-magnitud, complemento a uno y a dos de números enteros usando 8 bits. Haga un
cuadro desde el menor hasta el mayor número que se puede representar.

NÚMERO SIGNO- COMPLEMENTO COMPLEMENTO


MAGNITUD 1 2
-127 11111111 10000000 10000001
-126 11111110 10000001 10000010
-125 11111101 10000010 10000011
-124 11111100 10000011 10000100
-123 11111011 10000100 10000101
-122 11111010 10000101 10000110
-121 11111001 10000110 10000111
-120 11111000 10000111 10001000
-119 11110111 10001000 10001001
-118 11110110 10001001 10001010
-117 11110101 10001010 10001011
-116 11110100 10001011 10001100
-115 11110011 10001100 10001101
-114 11110010 10001101 10001110
-113 11110001 10001110 10001111
-112 11110000 10001111 10010000
-111 11101111 10010000 10010001
-110 11101110 10010001 10010010
-109 11101101 10010010 10010011
-108 11101100 10010011 10010100
-107 11101011 10010100 10010101
-106 11101010 10010101 10010110
-105 11101001 10010110 10010111
-104 11101000 10010111 10011000
-103 11100111 10011000 10011001
-102 11100110 10011001 10011010
-101 11100101 10011010 10011011
-100 11100100 10011011 10011100
-99 11100011 10011100 10011101
-98 11100010 10011101 10011110
-97 11100001 10011110 10011111
-96 11100000 10011111 10100000
-95 11011111 10100000 10100001
-94 11011110 10100001 10100010
-93 11011101 10100010 10100011
-92 11011100 10100011 10100100
-91 11011011 10100100 10100101
-90 11011010 10100101 10100110
-89 11011001 10100110 10100111
-88 11011000 10100111 10101000
-87 11010111 10101000 10101001
-86 11010110 10101001 10101010
-85 11010101 10101010 10101011
-84 11010100 10101011 10101100
-83 11010011 10101100 10101101
-82 11010010 10101101 10101110
-81 11010001 10101110 10101111
-80 11010000 10101111 10110000
-79 11001111 10110000 10110001
-78 11001110 10110001 10110010
-77 11001101 10110010 10110011
-76 11001100 10110011 10110100
-75 11001011 10110100 10110101
-74 11001010 10110101 10110110
-73 11001001 10110110 10110111
-72 11001000 10110111 10111000
-71 11000111 10111000 10111001
-70 11000110 10111001 10111010
-69 11000101 10111010 10111011
-68 11000100 10111011 10111100
-67 11000011 10111100 10111101
-66 11000010 10111101 10111110
-65 11000001 10111110 10111111
-64 11000000 10111111 11000000
-63 10111111 11000000 11000001
-62 10111110 11000001 11000010
-61 10111101 11000010 11000011
-60 10111100 11000011 11000100
-59 10111011 11000100 11000101
-58 10111010 11000101 11000110
-57 10111001 11000110 11000111
-56 10111000 11000111 11001000
-55 10110111 11001000 11001001
-54 10110110 11001001 11001010
-53 10110101 11001010 11001011
-52 10110100 11001011 11001100
-51 10110011 11001100 11001101
-50 10110010 11001101 11001110
-49 10110001 11001110 11001111
-48 10110000 11001111 11010000
-47 10101111 11010000 11010001
-46 10101110 11010001 11010010
-45 10101101 11010010 11010011
-44 10101100 11010011 11010100
-43 10101011 11010100 11010101
-42 10101010 11010101 11010110
-41 10101001 11010110 11010111
-40 10101000 11010111 11011000
-39 10100111 11011000 11011001
-38 10100110 11011001 11011010
-37 10100101 11011010 11011011
-36 10100100 11011011 11011100
-35 10100011 11011100 11011101
-34 10100010 11011101 11011110
-33 10100001 11011110 11011111
-32 10100000 11011111 11100000
-31 10011111 11100000 11100001
-30 10011110 11100001 11100010
-29 10011101 11100010 11100011
-28 10011100 11100011 11100100
-27 10011011 11100100 11100101
-26 10011010 11100101 11100110
-25 10011001 11100110 11100111
-24 10011000 11100111 11101000
-23 10010111 11101000 11101001
-22 10010110 11101001 11101010
-21 10010101 11101010 11101011
-20 10010100 11101011 11101100
-19 10010011 11101100 11101101
-18 10010010 11101101 11101110
-17 10010001 11101110 11101111
-16 10010000 11101111 11110000
-15 10001111 11110000 11110001
-14 10001110 11110001 11110010
-13 10001101 11110010 11110011
-12 10001100 11110011 11110100
-11 10001011 11110100 11110101
-10 10001010 11110101 11110110
-9 10001001 11110110 11110111
-8 10001000 11110111 11111000
-7 10000111 11111000 11111001
-6 10000110 11111001 11111010
-5 10000101 11111010 11111011
-4 10000100 11111011 11111100
-3 10000011 11111100 11111101
-2 10000010 11111101 11111110
-1 10000001 11111110 11111111
-0 10000000 - -
+0 00000000 00000000 00000000
1 00000001 00000001 00000001
2 00000010 00000010 00000010
3 00000011 00000011 00000011
4 00000100 00000100 00000100
5 00000101 00000101 00000101
6 00000110 00000110 00000110
7 00000111 00000111 00000111
8 00001000 00001000 00001000
9 00001001 00001001 00001001
10 00001010 00001010 00001010
11 00001011 00001011 00001011
12 00001100 00001100 00001100
13 00001101 00001101 00001101
14 00001110 00001110 00001110
15 00001111 00001111 00001111
16 00010000 00010000 00010000
17 00010001 00010001 00010001
18 00010010 00010010 00010010
19 00010011 00010011 00010011
20 00010100 00010100 00010100
21 00010101 00010101 00010101
22 00010110 00010110 00010110
23 00010111 00010111 00010111
24 00011000 00011000 00011000
25 00011001 00011001 00011001
26 00011010 00011010 00011010
27 00011011 00011011 00011011
28 00011100 00011100 00011100
29 00011101 00011101 00011101
30 00011110 00011110 00011110
31 00011111 00011111 00011111
32 00100000 00100000 00100000
33 00100001 00100001 00100001
34 00100010 00100010 00100010
35 00100011 00100011 00100011
36 00100100 00100100 00100100
37 00100101 00100101 00100101
38 00100110 00100110 00100110
39 00100111 00100111 00100111
40 00101000 00101000 00101000
41 00101001 00101001 00101001
42 00101010 00101010 00101010
43 00101011 00101011 00101011
44 00101100 00101100 00101100
45 00101101 00101101 00101101
46 00101110 00101110 00101110
47 00101111 00101111 00101111
48 00110000 00110000 00110000
49 00110001 00110001 00110001
50 00110010 00110010 00110010
51 00110011 00110011 00110011
52 00110100 00110100 00110100
53 00110101 00110101 00110101
54 00110110 00110110 00110110
55 00110111 00110111 00110111
56 00111000 00111000 00111000
57 00111001 00111001 00111001
58 00111010 00111010 00111010
59 00111011 00111011 00111011
60 00111100 00111100 00111100
61 00111101 00111101 00111101
62 00111110 00111110 00111110
63 00111111 00111111 00111111
64 01000000 01000000 01000000
65 01000001 01000001 01000001
66 01000010 01000010 01000010
67 01000011 01000011 01000011
68 01000100 01000100 01000100
69 01000101 01000101 01000101
70 01000110 01000110 01000110
71 01000111 01000111 01000111
72 01001000 01001000 01001000
73 01001001 01001001 01001001
74 01001010 01001010 01001010
75 01001011 01001011 01001011
76 01001100 01001100 01001100
77 01001101 01001101 01001101
78 01001110 01001110 01001110
79 01001111 01001111 01001111
80 01010000 01010000 01010000
81 01010001 01010001 01010001
82 01010010 01010010 01010010
83 01010011 01010011 01010011
84 01010100 01010100 01010100
85 01010101 01010101 01010101
86 01010110 01010110 01010110
87 01010111 01010111 01010111
88 01011000 01011000 01011000
89 01011001 01011001 01011001
90 01011010 01011010 01011010
91 01011011 01011011 01011011
92 01011100 01011100 01011100
93 01011101 01011101 01011101
94 01011110 01011110 01011110
95 01011111 01011111 01011111
96 01100000 01100000 01100000
97 01100001 01100001 01100001
98 01100010 01100010 01100010
99 01100011 01100011 01100011
100 01100100 01100100 01100100
101 01100101 01100101 01100101
102 01100110 01100110 01100110
103 01100111 01100111 01100111
104 01101000 01101000 01101000
105 01101001 01101001 01101001
106 01101010 01101010 01101010
107 01101011 01101011 01101011
108 01101100 01101100 01101100
109 01101101 01101101 01101101
110 01101110 01101110 01101110
111 01101111 01101111 01101111
112 01110000 01110000 01110000
113 01110001 01110001 01110001
114 01110010 01110010 01110010
115 01110011 01110011 01110011
116 01110100 01110100 01110100
117 01110101 01110101 01110101
118 01110110 01110110 01110110
119 01110111 01110111 01110111
120 01111000 01111000 01111000
121 01111001 01111001 01111001
122 01111010 01111010 01111010
123 01111011 01111011 01111011
124 01111100 01111100 01111100
125 01111101 01111101 01111101
126 01111110 01111110 01111110
127 01111111 01111111 01111111

8.- Cómo representaría con el método de la IEEE 754 los números dados en la base10:

a) 0.00000000000001 X 10255

0.00000000000001 X 10255 e=E+s


e = 803+127
0.1 X 10242

10242 = 2x e = 930 )10

Log 10242 = log2x e = 3A2 )H


242/log2 = x e = 001110100010 )2

X = 803.906599

0.1 X 2803.906599
0.1 X 2803 X 20.906599
0.187462106 X 2803

Luego:
N = 0.187462106)10 a base 2

0.187462106 X 16 = 2.999393696 = 2)10 = 2)H


0.999393696 X 16 = 15.99029914 = 15)10 = F)H
0.990299136 X 16 = 15.84478618 = 15)10 = F)H
0.844786176 X 16 = 13.51657882 = 13)10 = D)H
0.516578816 X 16 = 8.265261056 = 8)10 = 8)H
0.265261056 X 16 = 4.244176896 = 4)10 = 4)H
0.244176896 X 16 = 3.906830336 = 3)10 = 3)H
0.906830336 X 16 = 14.50928538 = 14)10 = E)H

N = 0.2FFD843E)H X 2803

En binario:
N = 0.00101111111111011000010000111110)2 X 2803

Normalizado:
N = 1.01111111111011000010000111110 )2 X 2-69

Redondeando:

N = 1.01111111111011000010001

s e m
0 001110100010 0111111111101100001

RPTA:
Expresada en forma hexadecimal para abreviar quedaría como: 1D13FF61)H

b) 0.00000000000001 X 10256

0.00000000000001 X 10256 e=E+s


e = 807+127
0.1 X 10243
10243 = 2x e = 934 )10

Log 10243 = log2x e = 3A6 )H

243/log2 = x e = 001110100110 )2

X = 807.2285271

0.1 X 2807.2285271
0.1 X 2807 X 20.2285271
0.117163813 X 2807

Luego:
N = 0.117163813)10 a base 2

0.117163813 X 16 = 1.874621008 = 1 )10 = 1 )H


0.874621008 X 16 = 13.99393613 = 13 )10 = D )H
0.99393613 X 16 = 15.90297805 = 15 )10 = F )H
0.90297805 X 16 = 14.44764877 = 14 )10 = E )H
0.44764877 X 16 = 7.162380288 = 7 )10 = 7 )H
0.162380288 X 16 = 2.598084608 = 2 )10 = 2 )H
0.598084608 X 16 = 9.569353728 = 10 )10 = A )H

N = 0.1DFE72A )H X 2807

En binario:
N = 0.0001110111111110011100101010)2 X 2807
Normalizado:
N = 1.110111111110011100101010)2 X 2807
Redondeando:

N = 1.1101111111100111001

s e m
0 001110100110 1101111111100111001

RPTA:
Expresada en forma hexadecimal para abreviar quedaría como: 1D36FF39)H

9.- Obtener el valor decimal correspondiente al siguiente número representado en


IEEE754: IEEE754=1001111100011110

Suponiendo n=16 bits y ne=8, obtener el valor decimal correspondiente a un número


NIEEE754 = 1001111100011110.
- Signo: es un número negativo, ya que el primer bit es un uno que indica el signo
menos.

- Exponente: como dice el enunciado, el número de bits del exponente son 8, luego:
e =00111110 = 62, pero este número es con el sesgo incluido. Para obtener el exponente
E verdadero: e = E + S Þ E = e - S, como S = 2ne-1 - 1 = 127 tenemos E = 62 - 127 = -65.
- Mantisa: Serían los bits restantes. Siendo m = 0011110, nos quedaría M=1.0011110,
que haciendo la siguiente operación quedaría como:
M = 20 + 2-3 + 2-4 + 2-5 + 2-6 =1,234375.

- Es decir, el resultado final es:


N = - 1,234375×2 elevado a menos 65 =-3,345780142×10 elevado a la menos 20.
Ahora para calcular en base 2 seria de la siguiente manera:
-20log(10)=x Log(2) despejando x= -66.438556118

Entonces -3.345780142 x 2 elevado a -66.438556118, ahora multiplicamos


3.345780142 x -1.355247286= -4.5343594 x 2 elevado a la -66.

∴N = -3,345780142x10-20 = -4,5343495x2-66
10- Obtener la representación interna, NIEEE754, del número decimal
N= -543,7×10-17, según la norma IEEE 754 para datos de simple precisión.

Como sabemos, en los datos de simple precisión tenemos 32 bits, de los cuales 8 son
para el campo del exponente, 23 para la mantisa y 1 para el del signo.
Lo primero que haremos será ajustar el número para que aparezca un cero coma y pico
como mantisa inicial, lo que nos facilitará las cosas para pasos posteriores (aunque esto
no sea completamente necesario): N=-543,7×10 elevado a la menos 17= 0,5437×10
elevado a la menos 14.

Ahora tenemos que cambiar de base 10 a base 2; lo haremos por medio de logaritmos en
base diez: 10 elevado a la menos 14 =2 elevado a la x entonces Log (10 elevado a la
menos 14 )=Log(2 elevado a la x) entonces -14·log(10)=x·log 2 entonces es igual -14=x*Log
2. Despejando la x obtenemos:
x =-14/Log(2) = -14/ 0.301029996 = -46.50699333

Es decir, que ahora podemos reescribir N como:


N= -0,5437×2-46,50699333 = 0,5437×2-0,50699333×2-46 = 0,382594862×2-46.

Ahora vamos a pasar la mantisa a hexadecimal, para después pasarlo todo a binario.
Pero antes decidamos las cifras que necesitaremos. Tenemos 23 bits asignados al campo
de la mantisa y sabemos que cada cifra hexadecimal se corresponde con 4 bits; como
23/4=5,6...»6, con seis dígitos hexadecimales parece que hay bastante. Pero como
después tendremos que truncar o sumar uno, al hacer el redondeo, cogeremos algunos
bits de más. Dos dígitos hexadecimales más valen de sobra.

Aplicamos, pues, el método de las multiplicaciones:


0,382594862×16 = 6,121517792 Þ 6)10 = 6)H
0,121517792×16 = 1,944284672 Þ 1)10 = 1)H
0,944284672×16 = 15,108554752 Þ 15)10 = F)H
0,108554752×16 = 1,736876032 Þ 1)10 = 1)H
0,736876032×16 = 11,790016512 Þ 11)10 = B)H
0,790016512×16 = 12,640264192 Þ 12)10 = C)H
0,640264192×16 = 10,244227072 Þ 10)10 = A)H
0,244227072×16 = 3,907633152 Þ 4)10 = 4)H (Al ser el último, es mejor redondear).

Ahora el número en hexadecimal sería: N=-0,61F1BCA4)H×2-46 .En binario quedaría:


N=0.0110
0001 1111 0001 1011 1100 1010 0100)2×2-46, que normalizado con parte entera uno es:
N=1.100001111100011011110010100100)2×2-48.

Como el campo de la mantisa tiene reservados 23 bits, cogemos los primeros 23 valores
binarios de la parte fraccionaria (puesto que el 1 de la parte entera no se pone, se supone
siempre implícito), siendo los bits 24 y 25 los que deciden si truncamos o sumamos uno
(bits para redondear); esos bits son en este caso 01 (bit de redondeo=0, bit de guarda=1),
lo que, como vimos, corresponde a una acción de truncar. Luego N, ya redondeado,
sería: N=1.10000111110001101111001×2-48.

Ahora solo queda rellenar los campos para ajustarse al formato: s=1 (puesto que N es
negativo), e=E+S=-48+127=79)10=4F)H=0100 1111)2, y
m=10000111110001101111001.
La solución final es, por tanto:
1 0100 1111 10000111110001101111001

Esta palabra de 32 bits, expresada en hexadecimal para abreviar, quedaría como


A7C3E379)H.
PARTE III:

“ALGORITMO Y

DIAGRAMA DE FLUJO”
1.- Has un diagrama de flujo para determinar la suma de los 20 primeros términos de
una serie aritmética, cuyo primer término a es 1 y su razón r es 1, son datos de entrada.

Inicio

Declarar variables a, r, s

Ingrese el valor del primer


término de la serie aritmética

Guarda en memoria el primer termino de la


sucesión aritmética con la variable “a”

Ingrese el valor de la razón


aritmética de la serie

Guarda en memoria la razón aritmética de la


sucesión con la variable “r”

Suma de
20 primeros = 20*a + 190*r
Términos (s)

s = 20*1 + 190*1 = 210

Imprimir Valor de Suma, s

Fin
3.2.- Realice un Diagrama de Flujo y un algoritmo que usara un programa de
computadora para decodificar un número entero de 4 dígitos con el procedimiento
descrito arriba.

INICIO

Ingrese el número a
Decodificar

Intercambiar las unidades por las


decenas y las decenas por las centenas

Seguir el procedimiento invertido a:


(Cifra+6)%10=cifra → cifra= 10q + cifra-6

q=0 V cifra=cifra-6
Cifra>=6 u=u-6
d=d-6
c=c-6
m=m-6
F

Cifra=cifra+4

u=u+4
d=d+4
c=d+4
m=m+4

El numero es n= u+d*10+c*100+m*1000

“imprimir resultado”

FIN
ALGORITMO:

1.- Leer el número a codificar


2.-Intercambiar las cifra como se indica
3.- Seguir el procedimiento:
3.1.- Si cifra>=6 → cifra=cifra-6
3.2.- Si cifra<6 → cifra=cifra+4
4.- Imprimir el número codificado

3.3.- Cree un programa de computadora en C o en C++ que implemente los algoritmos


de los casos 1 y 2 de estos ejercicios.

Parte A :

Void main ()
{ int n,u,d,c,m,aux;
printf(“Ingrese un numero de cuatro digitos”);
scanf(“%d,&n”);

u=n%10 ; n=n/10;
d=n%10 ; n=n/10;
c=n%10 ; n=n/10;
m=n%10;

u=(u+7)%10;
d=(d+7)%10;
c=(c+7)%10;
m=(m+7)%10;

//intercambio//
aux=u;
u=c ; c=aux;
aux=d ;
d=m ; m=aux ;

//formamos el numero codificado//


n=u+d*10+c*100+m*1000

//Imprimir//
printf(“El numero codificado es %d”,n);

//fin//
}

Parte B:

Void main ()
{ int n,u,d,c,m,aux;
printf(“Ingrese un numero de cuatro digitos”);
scanf(“%d,&n”);
//intercambio//
aux=u;
u=c ; c=aux;
aux=d ;
d=m ; m=aux ;

if (u>=6)
u=u-6;
else
u=u+4;

if (d>=6)
d=d-6;
else
d=d+4;

if (c>=6)
c=c-6;
else
c=c+4;

if (m>=6)
m=m-6;
else
m=m+4;

//formamos el numero decodificado//


n=u+d*10+c*100+m*1000

//imprimir//
printf(“El numero decodificado e %d”,n)

//fin//

3.4.- Dado un entero de 4 dígitos ingresados por la tecla. Se pide hacer un programa
en C/C++ que lea el número e imprima su valor en español.

main()

{
int num[10];
int i,j=1,p;
printf("Ingrese un numero de cuatro digitos");
for(i=0;(num[i]=getchar()) != 'n';i++);

if(i>6&&i<=9) p=6;
else if(i>3&&i<=6){ p=3; j++; }
else if(i>0&&i<=3){ p=0; j+=2; }
for(j=j;j<=3;j++)

{
/*centenas*/

if((i==3 || i==6)||(num[0]!='' || num[3]!='' || num[6]!='') )


switch(num[i-(3+p)])
{
case'1':if((num[(i-(3+p))+1]!='0') || (num[(i-(3+p))+2]!='0'))
printf("ciento ");
else
printf("cien ");
break;

case'2':printf("doscientos ");break;
case'3':printf("trescientos ");break;
case'4':printf("cuatrocientos ");break;
case'5':printf("quinientos ");break;
case'6':printf("seiscientos ");break;
case'7':printf("setecientos ");break;
case'8':printf("ochocientos ");break;
case'9':printf("novecientos ");break;
}

/*decenas*/

switch(num[i-(p+2)])
{
case'1':switch(num[(i-(p+2))+1])

{
case'0':printf("diez ");break;
case'1':printf("once ");break;
case'2':printf("doce ");break;
case'3':printf("trece ");break;
case'4':printf("catorce ");break;
case'5':printf("quince ");break;
case'6':printf("diesciseis ");break;
case'7':printf("diescisiete ");break;
case'8':printf("diesciocho ");break;
case'9':printf("diescinueve ");break;
}break;

case'2':if(num[(i-(p+2))+1]=='0') printf("veinte ");


else printf("veinti"); break;

case'3':printf("treinta "); if(num[(i-1)-p]!='0') printf("y "); break;


case'4':printf("cuarenta "); if(num[(i-1)-p]!='0') printf("y "); break;
case'5':printf("cincuenta "); if(num[(i-1)-p]!='0') printf("y "); break;
case'6':printf("secenta "); if(num[(i-1)-p]!='0') printf("y "); break;
case'7':printf("setenta "); if(num[(i-1)-p]!='0') printf("y "); break;
case'8':printf("ochenta "); if(num[(i-1)-p]!='0') printf("y "); break;
case'9':printf("noventa "); if(num[(i-1)-p]!='0') printf("y "); break;
}
/*unidades*/

if(num[i-(p+2)]!='1')
switch(num[(i-1)-p])

{
case'1':if(p>=3) printf("un ");
else printf("uno");
break;
case'2':printf("dos ");break;
case'3':printf("tres ");break;
case'4':printf("cuatro ");break;
case'5':printf("cinco ");break;
case'6':printf("seis ");break;
case'7':printf("siete ");break;
case'8':printf("ocho ");break;
case'9':printf("nueve ");break;
getchar();
return 0;

}
CONCLUSIONES

Al hacer el presente trabajo en grupo nos ayudo bastante en lo que


practica de por ejemplo: cambio de base, complemento 1,
complemento 2, IEEE754, etc.; esto conlleva a que poco a poco
vamos aprendiendo, cómo la computadora lee las ordenes que le
damos ya sea en valor numérico o de texto.
Vale decir que además de hemos aprendido como hacer programas
básicos en C y C++ ya que al principio nos hacia un poco complicado
pero con la practica todo se puede, pero ayudo bastante la información
indagada, las páginas Web, los apuntes que dio el profesor; para que
así podamos hacer y comprender el trabajo mostrado
BIBLIOGRAFÍAS

 Grupo yahoo. (informatica_villarreal)


 Copias de estudio y lo hecho en clase con el ingeniero
Albert Azabache
 Página web www.google.com
 Página web www.altavista.com
 El programa dev.C++
 La obra “camino al futuro” de Will Gates

Você também pode gostar