Tema Series y Sumatorias
Tema Series y Sumatorias
Tema Series y Sumatorias
3.7. Series
En informática, las series son una secuencia de valores que tienen relación entre sí y que se suceden unas a otras, pueden seguir patrón,
repetirse continuamente, estar ordenados ascendentemente o descendentemente, o no estar ordenados.
Nota: En matemática, una serie es la expresión de la suma de los infinitos términos de una sucesión. También es la
generalización de la noción de suma a los términos de una sucesión infinita.
Nota: En matemática, una sucesión es un conjunto ordenado de objetos matemáticos, generalmente números. Sería algo
muy parecido a la definición de serie en informática.
Se pueden tener series simples, múltiples (dobles, triples, etc.) y series ocultas. Algunos ejemplos son:
2,4,8,16,32,64,128,256,512,... Potencias de 2
5,10,15,20,25,30,35,40,45,50,... Múltiplos de 5
0,1,1,2,3,5,8,13,21,34,55,… Fibonacci
Ejemplo
Escribir un algoritmo para generar la serie de Fibonacci hasta el término enésimo.
= 0, 1, 1, 2, 3, 5, 8, 13, 21, … ,
Algoritmo Fibonacci
int N, a, b
Begin
read(N)
a -1
b 1
for(i1, i<=N, ii+1)
c a + b
a b
b c
print(c)
endfor
End
End
Ing. Victor Hugo Ticonipa Ch.
Ejemplo
Escribir un algoritmo para generar los N primeros términos de la serie de 0s y 1s
0, 1, 0, 1, 0, 1, 0, 1, 0,…, a n
Algoritmo SerieCerosUnos
int N
Begin
read(N)
for(i1, i<=N, ii+1)
if((i mod 2) = 0)
print(1)
else
print(0)
endif
endfor
End
End
Ejemplo
Escribir un algoritmo para generar los N primeros términos de la siguiente serie:
Fin
Ing. Victor Hugo Ticonipa Ch.
Ejemplo
Dado un número “n” introducido por teclado generar la serie 1,2,2,3,3,3,4,4,4,4,5,5,5,5,5. . . . . . . . . . ..
Análisis
Para controlar la serie usaremos dos contadores a = 1 y b = 1.
La variable controlara la serie
1,2,3,4,5 … … .
Y la variable se encargará de contar veces:
, , , , … … ….
Ahora se habrá preguntado cómo hago para pasar al siguiente valor, pues usaremos la condición:
( > ) = 1 = + 1
Pero como habrá notado siempre debe ser inicializado en 1 ( = 1).
Diagrama de flujo
Ejemplo
Dado un número “n” introducido por teclado generar la serie 2,2,4,4,4,4,6,6,6,6,6,6,8,8,8. . . . . . . . . . ..
Análisis
Para controlar la serie usaremos dos contadores a = 2 y b = 1.
La variable controlara la serie
2,4,6,8,10 … … .
( > ) = 1 = +2
Diagrama de flujo
Ejemplo
Dado un número “n” introducido por teclado generar la serie 3,3,3,5,5,5,5,5,7,7,7 … … … ….
Análisis
Para controlar la serie usaremos dos contadores a = 3 y b = 1.
( > ) = 1 = +2
Diagrama de flujo
Ing. Victor Hugo Ticonipa Ch.
3.8. Sumatorias
En informática, las sumatorias u operaciones de suma son una acumulación de valores de n sumandos (elementos) y se expresa como:
Algebraicamente Algorítmicamente
= + + +⋯+ = S = S + elemento
Donde elemento puede ser una variable, un contador, una expresión o términos de una o varias series. También pueden incluirse otras
operaciones como la resta, división, producto, potencia, etc.
Ejemplo
Algoritmo que evalúa y visualiza la sumatoria de los cinco primeros números naturales.
Análisis
Algebraicamente se representa como: Algorítmicamente se representa como:
S = S + i
Donde:
= = 1 + 2 + 3 + 4 + 5 = 15 S = 0 cuando se inicializa, e i irá
tomando los valores de los 5 primeros
números naturales i = 1,2,3,4,5
Entonces se debe realizar 5 sumas reiteradamente, actualizando el valor de S en cada suma. Para ello se utiliza
una estructura repetitiva, en este caso un for pues se conoce el tamaño cantidad de sumas repetitivas que es 5.
Prueba de escritorio
S i Salida
0 1 15
1 2
3 3
6 4
10 5
15 6
Ejemplo
Algoritmo que evalúa y visualiza la sumatoria parcial de los N primeros términos de la serie armónica.
1 1 1 1 1 1
= 1 + + + + + +⋯+ +⋯
2 3 4 5 7
Análisis
Generalizando: S = S + 1/k
Se observa que en 1/k el numerador 1 es constante y el denominador k es un número variable que empieza en 1 (1/1
= 1) y se va incrementando de uno en uno hasta llegar al mismo N. Además S debe empezar en 0 pues es un sumador.
Entonces con un for se puede realizar N sumas reiteradas, actualizando el valor de S en cada suma.
Ing. Victor Hugo Ticonipa Ch.
Diagrama de Flujo Pseudocódigo
k Prueba de escritorio
N S k Salida
S 4 0 1 2.083
1 2
1.5 3
Fin 1.83 4
2.083 5
Ejemplo
Algoritmo que evalúa y visualiza la sumatoria de los N primeros términos.
0 1 1 2 3 5
= + + + + + + ⋯+
2 4 8 16 32 64
Análisis
Si N = 6, entonces mostrar:
S = (0^2)/2 + (1^2)/4 + (1^2)/8 + (2^2)/16 + (3^2)/32 + (5^2)/64 = 1.2968
i 1 2 3 4 5 6
Algoritmo SumatoriaFibo_Pot2
float i,a,b,c,s1,s2,S
Begin
read(N)
S0
a-1, b1
for(i1, i<=N, ii+1)
ca+b
s1c^2
ab
bc
s22^i
SS+(s1/s2)
endfor
print(S)
End
End
Prueba de escritorio
N S a b c i s1 s2 Salida
6 0 -1 1 0 1 0 2 1.2968
0.25 1 0 1 2 1 4
0.375 0 1 1 3 1 8
0.625 1 1 2 4 4 16
0.9062 1 2 3 5 9 32
1.2968 2 3 5 6 25 64
3 5
Ing. Victor Hugo Ticonipa Ch.
Ejemplo
Algoritmo que evalúa y visualiza la sumatoria de los N primeros términos.
= − + − + − + − ⋯+
1! 2! 2! 3! 3! 3! 4!
Análisis
Si N = 4, x = 2, entonces mostrar:
S = (2^2)/1! - (2^2)/2! + (2^2)/2! - (2^8)/3! =
i 1 2 3 4
Para la serie s1, hay que evaluar x elevado a la potencia de p (siendo p=2 inicialmente e ir sumando de dos en dos), es decir
x^p, y p = p+2 para siguiente vez.
Para la serie s2, es necesario declarar dos contadores (c=1 y cf=1), donde c será el número del que hay que obtener factorial. Y
cf será el contador que indica cuántas veces se debe repetir en la sumatoria el factorial c. Para ello se deberá preguntar en
cada repetición si (cf <= c) si es verdad se incrementa cf en uno (cf=cf+1), sino c se incrementa en uno (c=c+1) y se
reinicializa cf=1.
Una vez hecho esto se debe obtener el factorial del contador c, y con ello se obtiene la serie s2.
Finalmente se observa que la sumatoria opera intercaladamente con los signos (+/-), para resolver ello se puede utilizar el valor
de i, pues en las posiciones pares se resta y en las posiciones impares se suma. Entonces se debe preguntar si i es par o impar
con un if.
Generalizando cuando i es impar: S = S + (s1 i / s2i)
Generalizando cuando i es par: S = S - (s1 i / s2i)
Entonces con un for se puede realizar N sumas reiteradas del cociente de las dos series, actualizando el valor de S en cada
repetición.
Diagrama de Flujo Pseudocódigo
Inicio Algoritmo SumatoriaPotX_Facto
float N,x,S,p,c,cf,i,j,s1,s2,F
N, x Begin
read(N,x)
S 0 S0
p 2 p2
c 1 c1
cf 1
cf1
for(i1, i<=N, ii+1)
i 1, i <= N, i i+1
s1x^p
pp + 2
s1 x^p if(cf <= c) then
p p+2
cfcf + 1
else
F V cc + 1
cf <= c
cf1
c c+1 cf cf + 1 endif
cf 1
F1
for(j1, j<=c, jj+1)
FF*j
F 1
endfor
S2F
j 1, j <= c, j j+1 if((i mod 2) = 1) then
SS + (s1/s2)
F F*j else
SS - (s1/s2)
j endif
endfor
s2 F
print(S)
End
F V
(i mod 2) = 1 End
Ejemplo
Dados un n y x, números con n>0. Calcular la siguiente función generando y sumando la serie.