SlideShare una empresa de Scribd logo
Universidad Francisco Marroquín
F.I.S.I.C.C.
Programación III
1er semestre 1992
Prof. : Egdares Futch H.


                                       Proyecto #4
                 BigNum - paquete de manejo de enteros de precisión infinita

Motivación
         El lenguaje C++ permite crear fácilmente nuevos tipos de datos, que el usuario de éstos
puede manipular naturalmente como si fueran parte del lenguaje. Uno de los problemas que se
tienen en sistemas de computación es la precisión finita de los números que se manejan; por
ejemplo, si se tiene una variable de tipo int, se limita al rango -32,768..32,767, y si se tiene una
variable de tipo long, se limita al rango -4,294,967,296..4,294,967,295. En algunos casos, esto no
es suficiente, por lo que se plantea como problema el diseño de números enteros de precisión
infinita, y su manejo. Cuando se dice precisión infinita no quiere decir que sean números
infinitos, sino que el usuario puede definir la precisión que se desea, la que usualmente será
mayor que un long.

Descripción
        Este proyecto está orientado a poner en práctica el lenguaje C++ en la construcción de
clases que definen sus propias operaciones.

        BigNum, entonces, es un módulo de manejo de enteros de precisión infinita, el cual
permitirá expresar operaciones como 123456789823642384234 + 2346891790891235, las
cuales ningún lenguaje soporta hasta ahora. Aunque se especifica que es infinito, el límite
máximo deberá ser de 1024 dígitos. El nombre BigNum fue tomado del New Hacker's Dictionary
(MIT Press, 1991) el cual provee una nota histórica del nombre.

      El proyecto consiste entonces en diseñar una clase de C++ que permita el manejo de estos
números, y permita hacer operaciones con ellos. Como existe el límite de 1024 dígitos como
máximo, la clase BigNum deberá tener chequeo de overflow.

        Las operaciones disponibles deben ser :
               - suma (+,+=)
               - resta (-,-=)
               - multiplicación (*,*=)
               - división (/,/=)
               - incremento/decremento (++,--)
               - complemento (- unario)
               - output (salida a cout sobrecargada)

Requerimientos
        El programa a entregar debe cumplir con los siguientes requerimientos :
                - Escrito en lenguaje C++
                - No debe desperdiciar espacio y debe destruir su almacenamiento interno
                - Modular, capaz de ser utilizado en varios programas (hacer .h y .cpp)
                - Chequeo de errores (overflow, mal formato, etc.)
                - Programas de prueba, según lo descrito posteriormente.
Programas de prueba
        Para la entrega de este proyecto, se deberán entregar los siguientes programas de prueba:
        a) powerof2.cpp          calcula el valor de 2^128
        b) trek.cpp              calcula la distancia recorrida, en metros, por el Enterprise
                                  a warp 9 (warp 9 = 1516c ) durante una temporada de Star Trek
                                 normal (20 episodios de 4 "días" de duración c/u)
        c) fib.cpp               calcula el valor de fib(30)

Fecha de entrega y documentación a entregar
        La fecha de entrega será el día jueves 9 de abril. NO habrán prórrogas de tiempo puesto
que éstas atrasan el curso. La documentación a entregar consistirá en (no folders, no clips) :

                - Diskette con el proyecto (.CPP,.H, .OBJ y .EXE, 5.25" o 3.5" sin virus)
                - Carátula con nombre, carnet y nombre de proyecto
                - Descripción del proyecto (1 hoja máx.)
                - Funcionamiento del proyecto (1 hoja máx.)
                - Manual de uso del proyecto (lo necesario)
                - Descripción de rutinas y procedimientos usados
                - Comentarios de implementación (opcional, puede mejorar nota)
                - Listados de programa

Hints
        Como un ejemplo de uso, podría tomarse el siguiente :

        main()
        {
              BigNum a("1231242342124124124124124"),b;

              b = a;      // asignamos
              b++;        // incremento en 1
              b += a;     // b = b + a
              cout << b; // imprimimos el contenido de b
              a *= 4567; // ojo
              a+=BigNum("29038401275230927345072309455273458923
        cout << a; // este si es un BigNum
              return 0;   // salimos
        }

Más contenido relacionado

La actualidad más candente

Caract
CaractCaract
Tema 2 - Programación básica en C (I)
Tema 2  - Programación básica en C (I)Tema 2  - Programación básica en C (I)
Tema 2 - Programación básica en C (I)
Pablo Haya
 
Tema 2 - Programación básica en C (II)
Tema 2  - Programación básica en C (II)Tema 2  - Programación básica en C (II)
Tema 2 - Programación básica en C (II)
Pablo Haya
 
Optimización global
Optimización globalOptimización global
Optimización global
Saory Rma
 
Microcontroladores
MicrocontroladoresMicrocontroladores
Microcontroladores
joselin33
 
Funciones con retorno en lengaje c utp ejemplos
Funciones con retorno en lengaje c utp ejemplosFunciones con retorno en lengaje c utp ejemplos
Funciones con retorno en lengaje c utp ejemplos
Home
 
Programas 11 20
Programas 11 20Programas 11 20
Programas 11 20
Ali VB
 
Leccion06 rsa crypt4you
Leccion06 rsa crypt4youLeccion06 rsa crypt4you
Leccion06 rsa crypt4you
Alfonso Muñoz, PhD
 
Programación matématica (optimización) con Python - Ingeniería Química - PyConES
Programación matématica (optimización) con Python - Ingeniería Química - PyConESProgramación matématica (optimización) con Python - Ingeniería Química - PyConES
Programación matématica (optimización) con Python - Ingeniería Química - PyConES
CAChemE
 
programación
programaciónprogramación
programación
julio valverde cruz
 
Compa de lengu pas c javi
Compa de lengu pas c javiCompa de lengu pas c javi
Compa de lengu pas c javiJavier Torres
 
Eficiencia en uso de recursos memoria 1a parte
Eficiencia en uso de recursos memoria 1a parteEficiencia en uso de recursos memoria 1a parte
Eficiencia en uso de recursos memoria 1a parte
UVM
 

La actualidad más candente (12)

Caract
CaractCaract
Caract
 
Tema 2 - Programación básica en C (I)
Tema 2  - Programación básica en C (I)Tema 2  - Programación básica en C (I)
Tema 2 - Programación básica en C (I)
 
Tema 2 - Programación básica en C (II)
Tema 2  - Programación básica en C (II)Tema 2  - Programación básica en C (II)
Tema 2 - Programación básica en C (II)
 
Optimización global
Optimización globalOptimización global
Optimización global
 
Microcontroladores
MicrocontroladoresMicrocontroladores
Microcontroladores
 
Funciones con retorno en lengaje c utp ejemplos
Funciones con retorno en lengaje c utp ejemplosFunciones con retorno en lengaje c utp ejemplos
Funciones con retorno en lengaje c utp ejemplos
 
Programas 11 20
Programas 11 20Programas 11 20
Programas 11 20
 
Leccion06 rsa crypt4you
Leccion06 rsa crypt4youLeccion06 rsa crypt4you
Leccion06 rsa crypt4you
 
Programación matématica (optimización) con Python - Ingeniería Química - PyConES
Programación matématica (optimización) con Python - Ingeniería Química - PyConESProgramación matématica (optimización) con Python - Ingeniería Química - PyConES
Programación matématica (optimización) con Python - Ingeniería Química - PyConES
 
programación
programaciónprogramación
programación
 
Compa de lengu pas c javi
Compa de lengu pas c javiCompa de lengu pas c javi
Compa de lengu pas c javi
 
Eficiencia en uso de recursos memoria 1a parte
Eficiencia en uso de recursos memoria 1a parteEficiencia en uso de recursos memoria 1a parte
Eficiencia en uso de recursos memoria 1a parte
 

Similar a BigNum - Programación 3 - UFM - FISICC

Portable ARchiver - Programación 3 - UFM - FISICC
Portable ARchiver - Programación 3 - UFM - FISICCPortable ARchiver - Programación 3 - UFM - FISICC
Portable ARchiver - Programación 3 - UFM - FISICC
Egdares Futch H.
 
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacion
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacionIng. Mecatrónica, Prog. Básica, U2 intro a la programacion
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacion
José Antonio Sandoval Acosta
 
Fundamentos de Programación - Unidad II: Introducción a la Programación
Fundamentos de Programación - Unidad II: Introducción a la ProgramaciónFundamentos de Programación - Unidad II: Introducción a la Programación
Fundamentos de Programación - Unidad II: Introducción a la Programación
José Antonio Sandoval Acosta
 
Fundamentos de Programacion - Unidad 3 Introduccion a la programacion
Fundamentos de Programacion - Unidad 3 Introduccion a la programacionFundamentos de Programacion - Unidad 3 Introduccion a la programacion
Fundamentos de Programacion - Unidad 3 Introduccion a la programacion
José Antonio Sandoval Acosta
 
Lenguaje c 2_neo
Lenguaje c 2_neoLenguaje c 2_neo
Lenguaje c 2_neo
estefania loredo cortes
 
Ensamblador y lenguaje c
Ensamblador y lenguaje cEnsamblador y lenguaje c
Ensamblador y lenguaje c
Anthonys Ordoñez
 
Sesion 02 c++
Sesion 02   c++Sesion 02   c++
Sesion 02 c++imagincor
 
Algoritmos - Funciones C++
Algoritmos - Funciones C++ Algoritmos - Funciones C++
Algoritmos - Funciones C++ Ronal Palomino
 
Guia 5 dev c++
Guia 5 dev c++Guia 5 dev c++
Guia 5 dev c++
María C. Plata
 
Fundamentos de programacion ss14
Fundamentos de programacion ss14Fundamentos de programacion ss14
Fundamentos de programacion ss14
Educaciontodos
 
CURSO C ++ (1).pdf
CURSO C ++ (1).pdfCURSO C ++ (1).pdf
CURSO C ++ (1).pdf
EdilbertoEstrada1
 
CURSO C ++ (1).pdf
CURSO C ++ (1).pdfCURSO C ++ (1).pdf
CURSO C ++ (1).pdf
EdilbertoEstrada1
 
mprogintc++.pdf
mprogintc++.pdfmprogintc++.pdf
mprogintc++.pdf
AngeleliecerChireoje2
 
Instituto tecnológico particular
Instituto tecnológico particularInstituto tecnológico particular
Instituto tecnológico particularCarlota Guzman
 
Programación c++forcsma
Programación c++forcsmaProgramación c++forcsma
Programación c++forcsma
Carlos Avila
 
C(++) programacion en c y c++
C(++)   programacion en c y c++C(++)   programacion en c y c++
C(++) programacion en c y c++
Leandro Baldomero Callupe Santiago
 
Mprogintc++ prog(3)
Mprogintc++ prog(3)Mprogintc++ prog(3)
Mprogintc++ prog(3)
desi2907
 
Manual de programacion en lenguaje c++
Manual de programacion en lenguaje c++Manual de programacion en lenguaje c++
Manual de programacion en lenguaje c++
Samuel Ballén
 

Similar a BigNum - Programación 3 - UFM - FISICC (20)

Portable ARchiver - Programación 3 - UFM - FISICC
Portable ARchiver - Programación 3 - UFM - FISICCPortable ARchiver - Programación 3 - UFM - FISICC
Portable ARchiver - Programación 3 - UFM - FISICC
 
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacion
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacionIng. Mecatrónica, Prog. Básica, U2 intro a la programacion
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacion
 
Informatica
InformaticaInformatica
Informatica
 
Fundamentos de Programación - Unidad II: Introducción a la Programación
Fundamentos de Programación - Unidad II: Introducción a la ProgramaciónFundamentos de Programación - Unidad II: Introducción a la Programación
Fundamentos de Programación - Unidad II: Introducción a la Programación
 
Fundamentos de Programacion - Unidad 3 Introduccion a la programacion
Fundamentos de Programacion - Unidad 3 Introduccion a la programacionFundamentos de Programacion - Unidad 3 Introduccion a la programacion
Fundamentos de Programacion - Unidad 3 Introduccion a la programacion
 
Lenguaje c 2_neo
Lenguaje c 2_neoLenguaje c 2_neo
Lenguaje c 2_neo
 
Ensamblador y lenguaje c
Ensamblador y lenguaje cEnsamblador y lenguaje c
Ensamblador y lenguaje c
 
Sesion 02 c++
Sesion 02   c++Sesion 02   c++
Sesion 02 c++
 
Algoritmos - Funciones C++
Algoritmos - Funciones C++ Algoritmos - Funciones C++
Algoritmos - Funciones C++
 
Guia 5 dev c++
Guia 5 dev c++Guia 5 dev c++
Guia 5 dev c++
 
C
C C
C
 
Fundamentos de programacion ss14
Fundamentos de programacion ss14Fundamentos de programacion ss14
Fundamentos de programacion ss14
 
CURSO C ++ (1).pdf
CURSO C ++ (1).pdfCURSO C ++ (1).pdf
CURSO C ++ (1).pdf
 
CURSO C ++ (1).pdf
CURSO C ++ (1).pdfCURSO C ++ (1).pdf
CURSO C ++ (1).pdf
 
mprogintc++.pdf
mprogintc++.pdfmprogintc++.pdf
mprogintc++.pdf
 
Instituto tecnológico particular
Instituto tecnológico particularInstituto tecnológico particular
Instituto tecnológico particular
 
Programación c++forcsma
Programación c++forcsmaProgramación c++forcsma
Programación c++forcsma
 
C(++) programacion en c y c++
C(++)   programacion en c y c++C(++)   programacion en c y c++
C(++) programacion en c y c++
 
Mprogintc++ prog(3)
Mprogintc++ prog(3)Mprogintc++ prog(3)
Mprogintc++ prog(3)
 
Manual de programacion en lenguaje c++
Manual de programacion en lenguaje c++Manual de programacion en lenguaje c++
Manual de programacion en lenguaje c++
 

Más de Egdares Futch H.

FIT 2018 - Malware Avanzado y Respuesta a Incidentes
FIT 2018 - Malware Avanzado y Respuesta a IncidentesFIT 2018 - Malware Avanzado y Respuesta a Incidentes
FIT 2018 - Malware Avanzado y Respuesta a Incidentes
Egdares Futch H.
 
FIT 2020 - Artificial Life
FIT 2020 - Artificial LifeFIT 2020 - Artificial Life
FIT 2020 - Artificial Life
Egdares Futch H.
 
Blockchain - Una mirada técnica y aplicaciones
Blockchain - Una mirada técnica y aplicacionesBlockchain - Una mirada técnica y aplicaciones
Blockchain - Una mirada técnica y aplicaciones
Egdares Futch H.
 
Digital forensics SIFT como herramienta
Digital forensics  SIFT como herramientaDigital forensics  SIFT como herramienta
Digital forensics SIFT como herramienta
Egdares Futch H.
 
Machine Learning: ¿Caminos? A donde vamos, no necesitamos caminos
Machine Learning: ¿Caminos? A donde vamos, no necesitamos caminosMachine Learning: ¿Caminos? A donde vamos, no necesitamos caminos
Machine Learning: ¿Caminos? A donde vamos, no necesitamos caminos
Egdares Futch H.
 
Herramientas de Pen Testing de redes y aplicaciones web
Herramientas de Pen Testing de redes y aplicaciones webHerramientas de Pen Testing de redes y aplicaciones web
Herramientas de Pen Testing de redes y aplicaciones web
Egdares Futch H.
 
El "Internet de Todo" (IoT)
El "Internet de Todo" (IoT)El "Internet de Todo" (IoT)
El "Internet de Todo" (IoT)
Egdares Futch H.
 
BPMS vs. workflow
BPMS vs. workflowBPMS vs. workflow
BPMS vs. workflow
Egdares Futch H.
 
El “Internet de Todo” (IoT) y lo que lo hace posible
El “Internet de Todo” (IoT) y lo que lo hace posible El “Internet de Todo” (IoT) y lo que lo hace posible
El “Internet de Todo” (IoT) y lo que lo hace posible
Egdares Futch H.
 
MGTI: Tendencias de Tecnología 2015 - Campus Tegucigalpa
MGTI: Tendencias de Tecnología 2015 - Campus TegucigalpaMGTI: Tendencias de Tecnología 2015 - Campus Tegucigalpa
MGTI: Tendencias de Tecnología 2015 - Campus Tegucigalpa
Egdares Futch H.
 
MGTI: Tendencias de Tecnología 2015 y su aplicación en el país Campus La Ceiba
MGTI: Tendencias de Tecnología 2015 y su aplicación en el país Campus La CeibaMGTI: Tendencias de Tecnología 2015 y su aplicación en el país Campus La Ceiba
MGTI: Tendencias de Tecnología 2015 y su aplicación en el país Campus La Ceiba
Egdares Futch H.
 
Introducción a la Teoría de Juegos con aplicación a las Ciencias de la Comput...
Introducción a la Teoría de Juegos con aplicación a las Ciencias de la Comput...Introducción a la Teoría de Juegos con aplicación a las Ciencias de la Comput...
Introducción a la Teoría de Juegos con aplicación a las Ciencias de la Comput...
Egdares Futch H.
 
The Hour of Code - Presentación Diciembre 2014
The Hour of Code - Presentación Diciembre 2014The Hour of Code - Presentación Diciembre 2014
The Hour of Code - Presentación Diciembre 2014
Egdares Futch H.
 
Unitec virtualización
Unitec   virtualizaciónUnitec   virtualización
Unitec virtualización
Egdares Futch H.
 
Criptografía para las masas
Criptografía para las masasCriptografía para las masas
Criptografía para las masas
Egdares Futch H.
 
Más sobre el Algoritmo de Peterson
Más sobre el Algoritmo de PetersonMás sobre el Algoritmo de Peterson
Más sobre el Algoritmo de Peterson
Egdares Futch H.
 
Análisis de ataques a un sistema de correo electrónico por medio de mensajes ...
Análisis de ataques a un sistema de correo electrónico por medio de mensajes ...Análisis de ataques a un sistema de correo electrónico por medio de mensajes ...
Análisis de ataques a un sistema de correo electrónico por medio de mensajes ...
Egdares Futch H.
 
Apuntes de clase Sistemas Operativos: Administración de Memoria
Apuntes de clase Sistemas Operativos: Administración de MemoriaApuntes de clase Sistemas Operativos: Administración de Memoria
Apuntes de clase Sistemas Operativos: Administración de Memoria
Egdares Futch H.
 

Más de Egdares Futch H. (20)

FIT 2018 - Malware Avanzado y Respuesta a Incidentes
FIT 2018 - Malware Avanzado y Respuesta a IncidentesFIT 2018 - Malware Avanzado y Respuesta a Incidentes
FIT 2018 - Malware Avanzado y Respuesta a Incidentes
 
FIT 2020 - Artificial Life
FIT 2020 - Artificial LifeFIT 2020 - Artificial Life
FIT 2020 - Artificial Life
 
Blockchain - Una mirada técnica y aplicaciones
Blockchain - Una mirada técnica y aplicacionesBlockchain - Una mirada técnica y aplicaciones
Blockchain - Una mirada técnica y aplicaciones
 
Digital forensics SIFT como herramienta
Digital forensics  SIFT como herramientaDigital forensics  SIFT como herramienta
Digital forensics SIFT como herramienta
 
Machine Learning: ¿Caminos? A donde vamos, no necesitamos caminos
Machine Learning: ¿Caminos? A donde vamos, no necesitamos caminosMachine Learning: ¿Caminos? A donde vamos, no necesitamos caminos
Machine Learning: ¿Caminos? A donde vamos, no necesitamos caminos
 
Herramientas de Pen Testing de redes y aplicaciones web
Herramientas de Pen Testing de redes y aplicaciones webHerramientas de Pen Testing de redes y aplicaciones web
Herramientas de Pen Testing de redes y aplicaciones web
 
El "Internet de Todo" (IoT)
El "Internet de Todo" (IoT)El "Internet de Todo" (IoT)
El "Internet de Todo" (IoT)
 
BPMS vs. workflow
BPMS vs. workflowBPMS vs. workflow
BPMS vs. workflow
 
El “Internet de Todo” (IoT) y lo que lo hace posible
El “Internet de Todo” (IoT) y lo que lo hace posible El “Internet de Todo” (IoT) y lo que lo hace posible
El “Internet de Todo” (IoT) y lo que lo hace posible
 
MGTI: Tendencias de Tecnología 2015 - Campus Tegucigalpa
MGTI: Tendencias de Tecnología 2015 - Campus TegucigalpaMGTI: Tendencias de Tecnología 2015 - Campus Tegucigalpa
MGTI: Tendencias de Tecnología 2015 - Campus Tegucigalpa
 
MGTI: Tendencias de Tecnología 2015 y su aplicación en el país Campus La Ceiba
MGTI: Tendencias de Tecnología 2015 y su aplicación en el país Campus La CeibaMGTI: Tendencias de Tecnología 2015 y su aplicación en el país Campus La Ceiba
MGTI: Tendencias de Tecnología 2015 y su aplicación en el país Campus La Ceiba
 
Introducción a la Teoría de Juegos con aplicación a las Ciencias de la Comput...
Introducción a la Teoría de Juegos con aplicación a las Ciencias de la Comput...Introducción a la Teoría de Juegos con aplicación a las Ciencias de la Comput...
Introducción a la Teoría de Juegos con aplicación a las Ciencias de la Comput...
 
The Hour of Code - Presentación Diciembre 2014
The Hour of Code - Presentación Diciembre 2014The Hour of Code - Presentación Diciembre 2014
The Hour of Code - Presentación Diciembre 2014
 
Unitec virtualización
Unitec   virtualizaciónUnitec   virtualización
Unitec virtualización
 
Criptografía para las masas
Criptografía para las masasCriptografía para las masas
Criptografía para las masas
 
Más sobre el Algoritmo de Peterson
Más sobre el Algoritmo de PetersonMás sobre el Algoritmo de Peterson
Más sobre el Algoritmo de Peterson
 
Análisis de ataques a un sistema de correo electrónico por medio de mensajes ...
Análisis de ataques a un sistema de correo electrónico por medio de mensajes ...Análisis de ataques a un sistema de correo electrónico por medio de mensajes ...
Análisis de ataques a un sistema de correo electrónico por medio de mensajes ...
 
Apuntes de clase Sistemas Operativos: Administración de Memoria
Apuntes de clase Sistemas Operativos: Administración de MemoriaApuntes de clase Sistemas Operativos: Administración de Memoria
Apuntes de clase Sistemas Operativos: Administración de Memoria
 
Memoria virtual
Memoria virtualMemoria virtual
Memoria virtual
 
Deadlocks
DeadlocksDeadlocks
Deadlocks
 

Último

Horarios Exámenes EVAU Ordinaria 2024 de Madrid
Horarios Exámenes EVAU Ordinaria 2024 de MadridHorarios Exámenes EVAU Ordinaria 2024 de Madrid
Horarios Exámenes EVAU Ordinaria 2024 de Madrid
20minutos
 
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNETPRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
CESAR MIJAEL ESPINOZA SALAZAR
 
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdfAsistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Demetrio Ccesa Rayme
 
FICHA DE EJERCICIOS GRECIA 1º DE LA ESO HISTORIA
FICHA DE EJERCICIOS GRECIA 1º DE LA ESO HISTORIAFICHA DE EJERCICIOS GRECIA 1º DE LA ESO HISTORIA
FICHA DE EJERCICIOS GRECIA 1º DE LA ESO HISTORIA
JavierMontero58
 
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdfUn libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
sandradianelly
 
1º GRADO CONCLUSIONES DESCRIPTIVAS PRIMARIA.docx
1º GRADO CONCLUSIONES DESCRIPTIVAS  PRIMARIA.docx1º GRADO CONCLUSIONES DESCRIPTIVAS  PRIMARIA.docx
1º GRADO CONCLUSIONES DESCRIPTIVAS PRIMARIA.docx
FelixCamachoGuzman
 
CUENTO EL TIGRILLO DESOBEDIENTE PARA INICIAL
CUENTO EL TIGRILLO DESOBEDIENTE PARA INICIALCUENTO EL TIGRILLO DESOBEDIENTE PARA INICIAL
CUENTO EL TIGRILLO DESOBEDIENTE PARA INICIAL
DivinoNioJess885
 
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernándezPRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
Ruben53283
 
CLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptx
CLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptxCLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptx
CLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptx
LilianaRivera778668
 
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIACONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
BetzabePecheSalcedo1
 
Examen Lengua y Literatura EVAU Andalucía.pdf
Examen Lengua y Literatura EVAU Andalucía.pdfExamen Lengua y Literatura EVAU Andalucía.pdf
Examen Lengua y Literatura EVAU Andalucía.pdf
20minutos
 
El lugar mas bonito del mundo resumen del libro
El lugar mas bonito del mundo resumen del libroEl lugar mas bonito del mundo resumen del libro
El lugar mas bonito del mundo resumen del libro
Distea V región
 
Fase 3; Estudio de la Geometría Analítica
Fase 3; Estudio de la Geometría AnalíticaFase 3; Estudio de la Geometría Analítica
Fase 3; Estudio de la Geometría Analítica
YasneidyGonzalez
 
Libro infantil sapo y sepo un año entero pdf
Libro infantil sapo y sepo un año entero pdfLibro infantil sapo y sepo un año entero pdf
Libro infantil sapo y sepo un año entero pdf
danitarb
 
PPT: El fundamento del gobierno de Dios.
PPT: El fundamento del gobierno de Dios.PPT: El fundamento del gobierno de Dios.
PPT: El fundamento del gobierno de Dios.
https://gramadal.wordpress.com/
 
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdfFORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
El Fortí
 
Mapa_Conceptual de los fundamentos de la evaluación educativa
Mapa_Conceptual de los fundamentos de la evaluación educativaMapa_Conceptual de los fundamentos de la evaluación educativa
Mapa_Conceptual de los fundamentos de la evaluación educativa
TatianaVanessaAltami
 
Semana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptxSemana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptx
LorenaCovarrubias12
 
Educar por Competencias GS2 Ccesa007.pdf
Educar por Competencias GS2 Ccesa007.pdfEducar por Competencias GS2 Ccesa007.pdf
Educar por Competencias GS2 Ccesa007.pdf
Demetrio Ccesa Rayme
 
CALENDARIZACION DEL MES DE JUNIO - JULIO 24
CALENDARIZACION DEL MES DE JUNIO - JULIO 24CALENDARIZACION DEL MES DE JUNIO - JULIO 24
CALENDARIZACION DEL MES DE JUNIO - JULIO 24
auxsoporte
 

Último (20)

Horarios Exámenes EVAU Ordinaria 2024 de Madrid
Horarios Exámenes EVAU Ordinaria 2024 de MadridHorarios Exámenes EVAU Ordinaria 2024 de Madrid
Horarios Exámenes EVAU Ordinaria 2024 de Madrid
 
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNETPRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
 
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdfAsistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
 
FICHA DE EJERCICIOS GRECIA 1º DE LA ESO HISTORIA
FICHA DE EJERCICIOS GRECIA 1º DE LA ESO HISTORIAFICHA DE EJERCICIOS GRECIA 1º DE LA ESO HISTORIA
FICHA DE EJERCICIOS GRECIA 1º DE LA ESO HISTORIA
 
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdfUn libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
 
1º GRADO CONCLUSIONES DESCRIPTIVAS PRIMARIA.docx
1º GRADO CONCLUSIONES DESCRIPTIVAS  PRIMARIA.docx1º GRADO CONCLUSIONES DESCRIPTIVAS  PRIMARIA.docx
1º GRADO CONCLUSIONES DESCRIPTIVAS PRIMARIA.docx
 
CUENTO EL TIGRILLO DESOBEDIENTE PARA INICIAL
CUENTO EL TIGRILLO DESOBEDIENTE PARA INICIALCUENTO EL TIGRILLO DESOBEDIENTE PARA INICIAL
CUENTO EL TIGRILLO DESOBEDIENTE PARA INICIAL
 
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernándezPRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
 
CLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptx
CLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptxCLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptx
CLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptx
 
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIACONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
 
Examen Lengua y Literatura EVAU Andalucía.pdf
Examen Lengua y Literatura EVAU Andalucía.pdfExamen Lengua y Literatura EVAU Andalucía.pdf
Examen Lengua y Literatura EVAU Andalucía.pdf
 
El lugar mas bonito del mundo resumen del libro
El lugar mas bonito del mundo resumen del libroEl lugar mas bonito del mundo resumen del libro
El lugar mas bonito del mundo resumen del libro
 
Fase 3; Estudio de la Geometría Analítica
Fase 3; Estudio de la Geometría AnalíticaFase 3; Estudio de la Geometría Analítica
Fase 3; Estudio de la Geometría Analítica
 
Libro infantil sapo y sepo un año entero pdf
Libro infantil sapo y sepo un año entero pdfLibro infantil sapo y sepo un año entero pdf
Libro infantil sapo y sepo un año entero pdf
 
PPT: El fundamento del gobierno de Dios.
PPT: El fundamento del gobierno de Dios.PPT: El fundamento del gobierno de Dios.
PPT: El fundamento del gobierno de Dios.
 
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdfFORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
 
Mapa_Conceptual de los fundamentos de la evaluación educativa
Mapa_Conceptual de los fundamentos de la evaluación educativaMapa_Conceptual de los fundamentos de la evaluación educativa
Mapa_Conceptual de los fundamentos de la evaluación educativa
 
Semana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptxSemana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptx
 
Educar por Competencias GS2 Ccesa007.pdf
Educar por Competencias GS2 Ccesa007.pdfEducar por Competencias GS2 Ccesa007.pdf
Educar por Competencias GS2 Ccesa007.pdf
 
CALENDARIZACION DEL MES DE JUNIO - JULIO 24
CALENDARIZACION DEL MES DE JUNIO - JULIO 24CALENDARIZACION DEL MES DE JUNIO - JULIO 24
CALENDARIZACION DEL MES DE JUNIO - JULIO 24
 

BigNum - Programación 3 - UFM - FISICC

  • 1. Universidad Francisco Marroquín F.I.S.I.C.C. Programación III 1er semestre 1992 Prof. : Egdares Futch H. Proyecto #4 BigNum - paquete de manejo de enteros de precisión infinita Motivación El lenguaje C++ permite crear fácilmente nuevos tipos de datos, que el usuario de éstos puede manipular naturalmente como si fueran parte del lenguaje. Uno de los problemas que se tienen en sistemas de computación es la precisión finita de los números que se manejan; por ejemplo, si se tiene una variable de tipo int, se limita al rango -32,768..32,767, y si se tiene una variable de tipo long, se limita al rango -4,294,967,296..4,294,967,295. En algunos casos, esto no es suficiente, por lo que se plantea como problema el diseño de números enteros de precisión infinita, y su manejo. Cuando se dice precisión infinita no quiere decir que sean números infinitos, sino que el usuario puede definir la precisión que se desea, la que usualmente será mayor que un long. Descripción Este proyecto está orientado a poner en práctica el lenguaje C++ en la construcción de clases que definen sus propias operaciones. BigNum, entonces, es un módulo de manejo de enteros de precisión infinita, el cual permitirá expresar operaciones como 123456789823642384234 + 2346891790891235, las cuales ningún lenguaje soporta hasta ahora. Aunque se especifica que es infinito, el límite máximo deberá ser de 1024 dígitos. El nombre BigNum fue tomado del New Hacker's Dictionary (MIT Press, 1991) el cual provee una nota histórica del nombre. El proyecto consiste entonces en diseñar una clase de C++ que permita el manejo de estos números, y permita hacer operaciones con ellos. Como existe el límite de 1024 dígitos como máximo, la clase BigNum deberá tener chequeo de overflow. Las operaciones disponibles deben ser : - suma (+,+=) - resta (-,-=) - multiplicación (*,*=) - división (/,/=) - incremento/decremento (++,--) - complemento (- unario) - output (salida a cout sobrecargada) Requerimientos El programa a entregar debe cumplir con los siguientes requerimientos : - Escrito en lenguaje C++ - No debe desperdiciar espacio y debe destruir su almacenamiento interno - Modular, capaz de ser utilizado en varios programas (hacer .h y .cpp) - Chequeo de errores (overflow, mal formato, etc.) - Programas de prueba, según lo descrito posteriormente.
  • 2. Programas de prueba Para la entrega de este proyecto, se deberán entregar los siguientes programas de prueba: a) powerof2.cpp calcula el valor de 2^128 b) trek.cpp calcula la distancia recorrida, en metros, por el Enterprise a warp 9 (warp 9 = 1516c ) durante una temporada de Star Trek normal (20 episodios de 4 "días" de duración c/u) c) fib.cpp calcula el valor de fib(30) Fecha de entrega y documentación a entregar La fecha de entrega será el día jueves 9 de abril. NO habrán prórrogas de tiempo puesto que éstas atrasan el curso. La documentación a entregar consistirá en (no folders, no clips) : - Diskette con el proyecto (.CPP,.H, .OBJ y .EXE, 5.25" o 3.5" sin virus) - Carátula con nombre, carnet y nombre de proyecto - Descripción del proyecto (1 hoja máx.) - Funcionamiento del proyecto (1 hoja máx.) - Manual de uso del proyecto (lo necesario) - Descripción de rutinas y procedimientos usados - Comentarios de implementación (opcional, puede mejorar nota) - Listados de programa Hints Como un ejemplo de uso, podría tomarse el siguiente : main() { BigNum a("1231242342124124124124124"),b; b = a; // asignamos b++; // incremento en 1 b += a; // b = b + a cout << b; // imprimimos el contenido de b a *= 4567; // ojo a+=BigNum("29038401275230927345072309455273458923 cout << a; // este si es un BigNum return 0; // salimos }