Está en la página 1de 13

PROGRAMA QUE CALCULA LA SUMA Y RESTA DE NUMEROS EN BASE N

Santiago Enrique Torres Alvarez


Código 20202578044

Andrés Fabian Rueda Contreras


Código 20211578059

Laboratorio No. 2

Universidad Distrital Francisco José de Caldas


Facultad Tecnológica

Sistematización De Datos
Diseño Lógico
Gerardo Alberto Castang Montiel

Bogotá D.C
2023
INTRODUCCION

El presente informe tiene como objetivo el desarrollo de un programa que realiza


operaciones de suma y resta en bases numéricas arbitrarias, con un límite máximo
de base 1024. A través de la modularización del código en funciones y el uso de
variables globales para mantener los resultados y las operaciones, se logra una
estructura organizada y eficiente.
Para llevar a cabo estas operaciones en bases numéricas específicas, el programa
permite al usuario ingresar dos números en la base seleccionada. Luego, utiliza las
funciones disponibles para realizar la suma y la resta en esta base en particular. Las
funciones se encargan de manipular los números en la base ingresada, realizando
las operaciones necesarias entre la base de entrada. Esto se logra mediante la
descomposición y recomposición de los números en sus dígitos correspondientes.
El uso de variables globales para mantener los resultados y las operaciones facilita
la comunicación entre las diferentes partes del código y permite que el programa
conserve su estado a lo largo de múltiples operaciones.

OBJETIVOS

Objetivo General:

El objetivo del programa es realizar operaciones de suma y resta entre dos


números que se encuentren en la misma base numérica, con un límite
máximo de base 1024.

Objetivos Específicos:

• Implementar una función que realice la operación de suma entre dos


números en la misma base, utilizando listas para representar los dígitos y
gestionando adecuadamente el acarreo cuando sea necesario, almacenando
el resultado en la variable global valor_suma.

• Desarrollar una función que realice la operación de resta entre dos números
en la misma base, manejando el prestatario cuando sea necesario y
utilizando listas para representar los dígitos, almacenando el resultado en la
variable global valor_resta.
DESARROLLO

Diagrama De Flujo:

Código:

asignar_numeros (num1, num2)

Esta función asigna los valores de los números a ser operados. Los
números deben estar en la misma base y se almacenan en las variables
globales `numero1` y `numero2`.
realizar_operacion_suma (nume, nume2, tam)

Esta función realiza la operación de suma entre dos números en la misma base.
Los números se pasan como listas, donde cada elemento de la lista representa un
dígito en la base. El resultado se almacena en la variable global `valor_suma`. El
proceso involucra la suma de los dígitos en cada posición, manejando el acarreo
cuando es necesario.
realizar_operacion_resta (num, num2, tam)

Esta función realiza la operación de resta entre dos números en la misma base. Al
igual que en la función de suma, los números se pasan como listas. El resultado
se almacena en la variable global `valor_resta`. La función maneja el prestatario
cuando es necesario y realiza la resta en cada posición.

comparar_listas_numeros (lista1, lista2)

Esta función compara dos listas de números para determinar cuál de ellas es
mayor. Esto es útil para decidir qué número se resta de qué durante la operación
de resta.
operar()

Esta función llama a las funciones de suma y resta utilizando los números
asignados y la base especificada. Los resultados de ambas operaciones se
almacenan en las variables globales `valor_suma` y `valor_resta`.

Consideraciones:

• La base máxima permitida es 1024, como se especifica en el código. Esto


significa que los números en la entrada y los resultados deben estar en la
misma base.

• Las operaciones de suma y resta se realizan en el lugar y se almacenan en


las variables globales `valor_suma` y `valor_resta`.

• Los números se representan como listas de dígitos en orden inverso, lo que


significa que el dígito menos significativo está en la primera posición de la
lista.
RESULTADOS
CONCLUSIONES

1. La limitación de una base máxima de 1024 en el programa es una


consideración importante, sin embargo, es relevante destacar que el enfoque
modular empleado en el desarrollo permite que el programa pueda adaptarse
para operaciones de suma y resta en bases numéricas de cualquier valor 'n'.
Con algunas modificaciones, este programa podría extender su capacidad
para manejar bases numéricas personalizadas, lo que aumentaría su
versatilidad y aplicabilidad en un amplio rango de contextos.

2. La estructura modular y el uso de variables globales han demostrado ser


estrategias efectivas para crear un programa que realice operaciones de
suma y resta en bases numéricas arbitrarias, lo que ha contribuido a un
código más organizado y eficiente.

3. A pesar de las dificultades iniciales en la implementación del algoritmo de la


resta, el programa finalmente logró realizar esta operación de manera
adecuada bajo los requerimientos establecidos, destacando la importancia
de la resolución de problemas en el desarrollo de software.

BIBLIOGRAFÍA

Operaciones aritméticas en otras bases. (s. f.).

https://proyectodescartes.org/Prometeo/materiales_didacticos/_Un_151_Operacione

sAritmeticasEnOtrasBases/content/index.html

Siirl. (2023). Disenio/segundo_lab at main · Siirl/disenio. GitHub.

https://github.com/Siirl/disenio/tree/main/segundo_lab

W3Schools online web tutorials. (s. f.). http://w3schools.com/

También podría gustarte