Está en la página 1de 16

IMPLEMENTACIÓN DE ALGORITMOS

PARA RESOLVER SUMATORIAS Y


PRODUCTORIAS

Algoritmos y programación

08/03/2023

Facultad de Instrumentación Electrónica


Prof. Luis Julián Varela Lara

Equipo: Crustáceo Cascarudo


Campos Hernández Mirian Concepción
Castellanos Gómez Ivonne América
Ciriaco Tejeda Monserrat
Díaz Marín Kevin Moises
Martínez Ubaldo Julián Alberto
➢ Introducción
Implementación de algoritmos para resolver sumatorias y productorias
Es común que se presenten situaciones que requieran la suma o la multiplicación de un
conjunto grande de términos, dificultando así su operación y su escritura, de esta forma nace
la necesidad de implementar algoritmos para resolver tanto sumatorias como productorias.
Podemos definir a una sumatoria como un operador matemático que permite representar
muchos sumandos; por otro lado, la productoria es el operador que posibilita representar
multiplicaciones de términos finitos o infinitos; representados gráficamente se ven de la
siguiente forma:
𝑛 𝑛
Donde: n= Límite superior
∑𝑥 ∏𝑥 i= Límite inferior
𝑖=1 𝑖=1
x= Expresión

En el diseño de estos algoritmos, es importante utilizar estructuras de control iterativas o


repetitivas, las cuales realizan la repetición o iteración de acciones. El lenguaje C soporta tres
tipos de estructuras de control: los bucles while, for y do-while, pero, en esta sección, nos
enfocaremos en el bucle for, este contiene cuatro partes: inicialización, condición,
incremento y sentencias; es utilizado cuando el número de repeticiones se conoce por
anticipado y puede ser controlado por un contador; también es adecuado para bucles que
implican control no contable del bucle con simples etapas de inicialización y de
actualización.
Es importante resaltar lo que dice Luis Joyanes Aguilar en su libro Programación en C, C++,
Java y UML: “Un bucle for se debe construir con precaución, asegurándose que la expresión
de inicialización, la condición del bucle y la expresión de incremento harán que la condición
de este se convierta en false (falso) en algún momento. En particular: si el cuerpo de un bucle
de conteo modifica los valores de cualquier variable implicada en la condición del bucle,
entonces el número de repeticiones se puede modificar”.
Esta regla es importante, puesto que su aplicación es considerada una mala práctica de
programación; no se recomienda modificar el valor de cualquier variable de la condición del
bucle dentro del cuerpo de un bucle for de conteo, ya que puede producir resultados
imprevistos.
➢ Desarrollo de la actividad
a)∑15
𝐾=10 𝐾
2

• Línea 1-3: Declaración de bibliotecas a utilizar.


• Línea 5: Punto de partida para ejecución del programa.
• Línea 6: Se declaras la variable k y suma como enteras; se indica que el valor inicial
de suma será 0.
• Línea 8: Se imprime el nombre del ejercicio/ecuación.
• Línea 10: Se inicia un ciclo for especificando que k inicia valiendo 10, que el ciclo se
repetirá hasta que k sea menor o igual a 15, y que k irá aumentando de 1 en 1.
• Línea 11: Dentro del ciclo for, se especifica que suma será igual a su valor inicial más
el resultado de la multiplicación de k por k.
• Línea 12-13: Se imprimen los valores que va adquiriendo suma respecto al valor de
k; se concluye el ciclo.
• Línea 15: Se imprime el resultado final de la sumatoria.
• Línea 17: Se da la indicación para que el ejecutable no se cierre de forma automática.
b) ∑7𝑚=3(𝑚 − 2)(𝑚 + 5)

• Línea 1-3: Declaración de bibliotecas a utilizar.


• Línea 5: Punto de partida para ejecución del programa.
• Línea 6: Se declaras la variable m y suma como enteras; se indica que el valor inicial
de suma será 0.
• Línea 8: Se imprime el nombre del ejercicio/ecuación.
• Línea 10: Se inicia un ciclo for especificando que m inicia valiendo 3, que el ciclo se
repetirá hasta que m sea menor o igual a 7, y que m irá aumentando de 1 en 1.
• Línea 11: Dentro del ciclo for, se especifica que suma será igual a su valor inicial más
el resultado de la multiplicación de m-2 por m+5.
• Línea 12-13: Se imprimen los valores que va adquiriendo suma respecto al valor de
k; se concluye el ciclo.
• Línea 15: Se imprime el resultado final de la sumatoria.
• Línea 17: Se da la indicación para que el ejecutable no se cierre de forma automática.
5
c) ∑5𝑖=3 2𝑖−1

• Línea 1-3: Declaración de bibliotecas a utilizar.


• Línea 5: Punto de partida para ejecución del programa.
• Línea 6: Se declaras la variable i y r como flotantes; se indica que el valor inicial de
r será 0.
• Línea 7: Se inicia un ciclo for especificando que i inicia valiendo 3, que el ciclo se
repetirá hasta que i sea menor o igual a 5, y que i irá aumentando de 1 en 1.
• Línea 8: Dentro del ciclo for, se especifica que r será igual a su valor inicial más cinco
sobre el resultado de la multiplicación de 2 por i-1.
• Línea 9-10: Se imprimen los valores que va adquiriendo r respecto al valor de i; se
concluye el ciclo.
• Línea 11: Se imprime el resultado final de la sumatoria.
• Línea 12: Se da la indicación para que el ejecutable no se cierre de forma automática.
4
d) ∑10
𝑛=0 2𝑛+1 (−1)
𝑛

• Línea 1-3: Declaración de bibliotecas a utilizar.


• Línea 5: Punto de partida para ejecución del programa.
• Línea 7: Se declara la variable n como entero.
• Línea 8: Se declara sumatoria como double y se indica que su valor inicial será 0.
• Línea 10: Se inicia un ciclo for especificando que n inicia valiendo 0, que el ciclo se
repetirá hasta que n sea menor o igual a 10, y que n irá aumentando de 1 en 1.
• Línea 12: Dentro del ciclo for, se crea una nueva variable termino de tipo flotante que
será igual a 4 entre 2 por n más 1, multiplicado por -1 elevado al valor de n.
• Línea 13: Se declara que sumatoria es igual a su valor inicial más el valor calculado
en termino, y que sus resultados se irán guardando para reasignar su valor inicial.
• Línea 14-15: Se imprimen los valores que va adquiriendo sumatoria respecto al valor
de n; se concluye el ciclo.
• Línea 16: Se declara resultado como una variable tipo double, que será equivalente
al valor de sumatoria.
• Línea 17: Se imprime el resultado final de la sumatoria.
• Línea 19: Se da la indicación para que el ejecutable no se cierre de forma automática.
4
e) 3 + ∑10
𝑛=1 (2𝑛)(2𝑛+1)(2𝑛+2) (−1)
𝑛−1

• Línea 1-3: Declaración de bibliotecas a utilizar.


• Línea 5: Punto de partida para ejecución del programa.
• Línea 7: Se declara la variable n como entero.
• Línea 8: Se declara sumatoria como double y se indica que su valor inicial será 0.
• Línea 10: Se inicia un ciclo for especificando que n inicia valiendo 1, que el ciclo se
repetirá hasta que n sea menor o igual a 10, y que n irá aumentando de 1 en 1.
• Línea 12: Dentro del ciclo for, se crea una nueva variable termino de tipo double que
será igual a 4 entre, 2 multiplicado por n, multiplicado por 2 por n más 1, multiplicado
por 2 por n más 2, multiplicado por -1 elevado al valor de n menos 1.
• Línea 13: Se declara que sumatoria es igual a su valor inicial más el valor calculado
en termino, y que sus resultados se irán guardando para reasignar su valor inicial.
• Línea 14-15: Se imprimen los valores que va adquiriendo sumatoria respecto al valor
de n; se concluye el ciclo.
• Línea 17: Se declara resultado como una variable tipo double, que será equivalente a
3 más al valor de sumatoria.
• Línea 18: Se imprime el resultado final de la sumatoria.
• Línea 20: Se da la indicación para que el ejecutable no se cierre de forma automática.
f) ∏10
𝐾=1 𝐾

• Línea 1-3: Declaración de bibliotecas a utilizar.


• Línea 5: Punto de partida para ejecución del programa.
• Línea 7: Se declara la variable k como entero.
• Línea 8: Se declara prod como double y se indica que su valor inicial será 1.
• Línea 9: Se imprime el título del código.
• Línea 11: Se inicia un ciclo for especificando que k inicia valiendo 1, que el ciclo se
repetirá hasta que k sea menor o igual a 10, y que k irá aumentando de 1 en 1.
• Línea 12: Dentro del ciclo for, se indica que prod será igual al valor inicial de prod
multiplicado por el valor correspondiente de k.
• Línea 14-15: Se imprimen los valores que va adquiriendo prod respecto al valor de k;
se concluye el ciclo.
• Línea 16: Se imprime el resultado final de la productoria.
• Línea 18: Se da la indicación para que el ejecutable no se cierre de forma automática.
g) ∑4𝑖=2 ∑5𝑗=3(4𝑗 − 𝑖)

• Línea 2-5:
Declaración de
bibliotecas a utilizar.
• Línea 7: Punto de
partida para ejecución
del programa.
• Línea 8:
“Configurar” el idioma a
español para respetar los
acentos.

• Línea 9: Se declaran las variables i, j y G como enteros, se indica que el valor inicial
de g será 0.
• Línea 11: Se inicia un ciclo for especificando que i inicia valiendo 2, que el ciclo se
repetirá hasta que i sea menor o igual a 4, y que i irá aumentando de 1 en 1.
• Línea 12: Dentro del ciclo for, se inicia otro ciclo for representando la dependencia
con la segunda sumatoria, j inicia valiendo 3, el ciclo se repite hasta que j sea menor
o igual a 5, y j irá aumentando de 1 en 1.
• Línea 13: Se define una nueva variable tipo entera llamada S, la cual es igual a 4 por
j menos i.
• Línea 14: Se indica que G será igual a la suma de los valores que vaya almacenando
S.
• Línea 15-16: Se imprimen los valores calculados al tener los valores correspondientes
a i y j. Se usa getchar para indicar una pausa para permitir ver el término calculado.
• Línea 17-18: Se muestran las repeticiones completas para cada valor de i. Se usa
getchar para indicar una pausa para permitir ver la repetición completa.
• Línea 22: Se imprime el resultado final de la doble sumatoria.
• Línea 24: Se da la indicación para que el ejecutable no se cierre de forma automática.
h) ∑5𝑖=3 ∏3𝑘=1(2𝑖 − 𝑘)

• Línea 1-3: Declaración de


bibliotecas a utilizar.
• Línea 5: Punto de partida para
ejecución del programa.
• Línea 6: Se declaran las variables
i y k como enteros.
• Línea 7: Se declara la variable P
como entera.
• Línea 8: Se declara la variable H
y se indica que su valor inicial será
0.
• Línea 10: Se inicia un ciclo for
especificando que i inicia valiendo
3, que el ciclo se repetirá hasta que
i sea menor o igual a 5, y que i irá
aumentando de 1 en 1.
• Línea 11: Se declara que el neutro multiplicativo (P) valdrá 1.
• Línea 12: Se imprime con qué valor asignado a i se está trabajando.
• Línea 13: Dentro del ciclo for, se inicia otro ciclo for representando la dependencia
de la sumatoria con la segunda productoria, k inicia valiendo 1, el ciclo se repite hasta
que k sea menor o igual a 3, y k irá aumentando de 1 en 1.
• Línea 14: Se indica que P será igual al resultado de la productoria acumulada de 2
por i menos k.
• Línea 15-16: Se imprimen los valores calculados al tener los valores correspondientes
a k, de la primera productoria y de P. Se usa getchar para indicar una pausa para
permitir ver el término calculado.
• Línea 18: Se indica que H será igual a las productorias guardadas en P.
• Línea 19-20: Se imprime el resultado de cada H. Se usa getchar para indicar una
pausa entre cada resultado.
• Línea 23: Se imprime el resultado final de la sumatoria por la productoria.
• Línea 25: Se da la indicación para que el ejecutable no se cierre de forma automática.
I) ∏3𝑘=1 𝑘

• Línea 1-3: Establecimiento de


librerías
• Línea 6-8: Definición de
variables
• Línea 9-14: Primer bucle,
correspondiente a la sumatoria; se
inicializa la variable S en 0, se define
el límite superior e inferior de dicha
operación y se especifica mediante
operadores, la expresión.
• Línea 17-19: Definición de la
expresión, impresión de las
iteraciones y del resultado.
1
J) 2 + ∑9𝑛=3 ∏𝑛
𝑘=1(𝑘)

• Línea 1-3: Establecimiento de las


librerías necesarias para la ejecución
del código.
• Línea 7-8: Definición de las
variables.
• Línea 10-14: Bucle utilizado para
resolver la productoria de la expresión
proporcionada en los ejercicios.
• Línea 18-23: Impresión de las
iteraciones y del resultado.
• Línea 24: System Pause para
permitir la visualización del valor
obtenido en el ejecutable sin que este
se cierre.
➢ Conclusiones Individuales
Conclusión (Alumno: Campos Hernández Mirian Concepción)
Considero que esta actividad fue una forma precisa y a la vez sencilla de enseñarnos a usar
los ciclos dentro del lenguaje C; también nos proporcionó herramientas para comprender el
cómo un ciclo puede depender de otro. La parte que considero más significativa fue que se
aplicó en un enfoque cotidiano dentro del área técnica al resolver problemas de productorias
y sumatorias. En mi opinión, el nivel de aprendizaje obtenido fue completo, ya que, al menos
dentro de nuestro equipo, siento que todos entendimos cómo realizar los códigos de acuerdo
con lo solicitado.

Conclusión (Alumno: Castellanos Gómez Ivonne América)


De forma personal considero que esta actividad es primordial y muy relevante para el
desarrollo de las habilidades en lo que concierne a la programación y la ejecución de
procedimientos cíclicos. Es un ejercicio básico pero que sienta bases muy significativas para
progresar en el ámbito, al poder observar de forma visual la expresión de un problema
(realizarlo a mano) y luego llevarlo al lenguaje de programación, somos capaces de
comprender mejor el problema, su ejecución y todos los aspectos que lo conforman, lo que
vuelve mucho más sencilla la tarea a realizar. Este modelo de resolución puede ser fácilmente
trasladarle a otro tipo de problemáticas que pudiéramos enfrentar en el desarrollo de
aplicaciones.

Conclusión (Alumno: Ciriaco Tejeda Monserrat)


Durante esta actividad aprendí que los ciclos de repetición son una herramienta útil en el
lenguaje de programación C por que permiten realizar una tarea repetitiva varías veces con
un código compacto y fácil, pues de otra manera serían muy tediosas y requieren mucho
código para hacerlas manualmente. En lugar de escribir el mismo código varías veces, se
puede usar un bucle para realizar la misma tarea una y otra vez. La relación que tienen las
sumatorias y productorias con estos ciclos es muy estrecha ya que nos permiten realizar
operaciones aritméticas de manera repetitiva y procesar grandes cantidades de datos. La
dificultad que presenté es el manejo de las variables de bucle, ya que cualquier error me
generaba resultados incorrectos y de compilación.

Conclusión (Alumno: Díaz Marín Kevin Moisés)


El diseño de algoritmos se puede aplicar a distintos retos que se presenten a lo largo de la
vida estudiantil y profesional; su aplicación a sumatorias y productorias es un gran ejemplo
en el que la programación ayuda tanto a facilitar como optimizar operaciones matemáticas.
Estos ejercicios son de gran ayuda para seguir en la formación como estudiantes de
ingeniería, pues nos permite fomentar el pensamiento crítico, analítico y creativo.
Conclusión (Alumno: Martínez Ubaldo Julián Alberto)
Finalmente concluyo en qué los objetivos de estos códigos fueron en su mayoría
completados, inicialmente tuvimos algunas problemáticas con analizar el problema, ya que
lo tuvimos que desglosar en solución básicas, simplificar algunos términos o agregar
variables, y dentro de ello agregar la multiplicidad o sumatoria que se quería calcular.
Concluyó con que nuestros códigos cumplen con la solución de cada uno de los problemas,
la importancia de saber dividir cada parte del problema es muy importante ya que así logré
desarrollar una mejor metodología para codificar el código.

➢ Conclusión general
La programación es una habilidad importante para cualquier estudiante universitario,
independientemente de su campo de estudio. Entre los muchos lenguajes de programación
disponibles, el lenguaje C es ampliamente utilizado.
En términos de operaciones de tipo sumatoria y productoria, el lenguaje C nos fue útil debido
a su capacidad para trabajar con ciclos de repetición, como: “for” y “while” que nos permiten
repetir una tarea un número determinado de veces o mientras se cumpla una condición
específica.
Estas características del lenguaje C hacen que sea muy eficiente para realizar cálculos
matemáticos y sumatorias.

➢ Bibliografía
J. (2023). Programacion En C/C++ Java Y Uml (2.a ed.). MCGRAW HILL

EDDUCATION.

Udearroba. (2022, 24 agosto). Sumatoria y productoria [Vídeo]. YouTube.

https://www.youtube.com/watch?v=lNGOMwv84lY

También podría gustarte