Está en la página 1de 7

Universidad Nacional de San Cristóbal de Huamanga

Escuela Profesional de Ingeniería Civil


Programación Digital (IC246)

Implementación de Algoritmos para Determinar el Número


de Euler (e)

Autor: MSc. Ing. Edmundo Canchari Gutiérrez


Comentarios: edmundo.canchari@unsch.edu.pe
Visite: http//cgedmundo.wordpress.com
11 de septiembre de 2019

Índice general

Índice general 1

Índice de cuadros 1

Índice de figuras 1

1 Definición del número e 1

2 El número e aproximado mediante sumatorias 2


2.1 Diagrama de flujo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.2 Pseudocódigo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

3 Código fuente Python 5

4 Expresado mediante fracciones continuas 6

Índice de cuadros

Índice de figuras
1 Aproximación de e - instrucciones f or y while . . . . . . . . . . . . . . 2
2 Aproximación de e - instrucción do ´ while . . . . . . . . . . . . . . . 3

1 Definición del número e


Está definido mediante la ecuación 1.
 n
1
e = lim 1 + (1)
nÑ8 n

1
Figura 1: Aproximación de e - instrucciones f or y while

De la misma forma, e toma el valor de la potencia (1 + 1/n)n cuando n tiende al


infinito. El Número de Euler representado con sus primeras cifras a partir del punto
decimal: 2.7182818284590452353602874713527 . . .
Para su aproximación se encontraron diversas relaciones basado a sumatorias, pro-
ductos infinitos, fracciones continuas, etc.

2 El número e aproximado mediante sumatorias


Aproximar el valor de la base del logaritmo natural e mediante la Ecuación 2
8
k5
(2)
ÿ
e=
k=1
52(k!)
para aproximar el valor de e se utilizarán las instrucciones iterativas: for, while,
do-while

2.1 Diagrama de flujo


Teniendo en cuenta la Ecuación 2 y considerando las instrucciones iterativas dispo-
nibles, se tiene dos alternativas para aproximar el valor de e, y son:

• Conociendo previamente el número de iteraciones a ejecutar(instrucción f or) y


cuando el procedimiento iterativo depende de una condición evaluado al inicio
del proceso(instrucción while), mostrado en la Figura 1

• Cuando el procedimiento iterativo depende de una condición evaluado al final


del proceso(instrucción do ´ while), mostrado en la Figura 2

2
Figura 2: Aproximación de e - instrucción do ´ while

2.2 Pseudocódigo
El pseudocódigo se desarrolla para las tres alternativas disponibles en el tratamiento
de proceso iterativos en Visual C#, estas son:

• Conociendo previamente el número de iteraciones a ejecutar(instrucción f or),


mostrado en el Pseudocódigo 1

• Cuando el procedimiento iterativo depende de una condición evaluado al inicio


del proceso(instrucción while), mostrado en el Pseudocódigo 2

3
Algoritmo 1: Pseudocódigo para obtener e conociendo el número de ciclos a
ser ejecutado
Datos: Ingresar un número n entero positivo
Resultado: Aproximación de la base del logaritmo neperiano e hasta el
número n, cuanto mayor sea n la aproximación para e será mejor
1 inicio;
2 /* Ingresar valor para n */
3 n Ð 8;
4 /* inicializar variables */
5 e =Ð 0, f actorial Ð 1;
6 para k Ð 1 a n hacer
7 /* obtiene factorial para k */
8 f actorial Ð f actorial ˚ k;
9 /* aproxima e hasta k */
10
k5
e Ð e + 52(f actorial) ;
11 fin
12 imprimir e;
13 fin;

Algoritmo 2: Pseudocódigo para obtener e evaluando la condición de finali-


zación al inicio del proceso iterativo
Datos: Ingresar un número n entero positivo
Resultado: Aproximación de la base del logaritmo neperiano e hasta el
número n, cuanto mayor sea n la aproximación para e será mejor
1 inicio;
2 /* Ingresar valor para n */
3 n Ð 8;
4 /* inicializar variables */
5 e =Ð 0, f actorial Ð 1, k Ð 1;
6 mientras k ď n hacer
7 /* obtiene factorial para k */
8 f actorial Ð f actorial ˚ k;
9 /* aproxima e hasta k */
10
k5
e Ð e + 52(f actorial) ;
11 /* actualiza valor de k */
12 k Ð k + 1;
13 fin
14 imprimir e;
15 fin;

• Cuando el procedimiento iterativo depende de una condición evaluado al final


del proceso(instrucción do ´ while), mostrado en el Pseudocódigo 3

4
Algoritmo 3: Pseudocódigo para obtener e evaluando la condición de finali-
zación al final del proceso iterativo
Datos: Ingresar un número n entero positivo
Resultado: Aproximación de la base del logaritmo neperiano e hasta el
número n, cuanto mayor sea n la aproximación para e será mejor
1 inicio;
2 /* Ingresar valor para n */
3 n Ð 8;
4 /* inicializar variables */
5 e =Ð 0, f actorial Ð 1, k Ð 1;
6 repetir
7 /* obtiene factorial para k */
8 f actorial Ð f actorial ˚ k;
9 /* aproxima e hasta k */
10
k5
e Ð e + 52(f actorial) ;
11 /* actualiza valor de k */
12 k Ð k + 1;
13 hasta que k ą n;
14 imprimir e;
15 fin;

3 Código fuente Python

1 import math
2

3 def eSumFor(n):
4 # función para apriximar e mediante sumatorias, conociendo el
ãÑ número de iteraciones
5 e=0; fac=1
6 for k in range(1,n+1,1):
7 fac=fac*k
8 e = e + math.pow(k, 5) / (52 * fac)
9 return e
10

11 print(eSumFor(20))

Listing 1: Código fuente Python para el Algoritmo 1

5
1 import math
2

3 def eSumWhile(n):
4 # función para apriximar e mediante sumatorias, el proceso
ãÑ iterativo culmina cuando deja de cumplirse la condición
5 e=0;fac=1;k=1
6 while k<=n:
7 fac=fac*k
8 e = e + math.pow(k, 5) / (52 * fac)
9 k=k+1
10 return e
11

12 print(eSumWhile(20))

Listing 2: Código fuente Python para el Algoritmo 2

4 Expresado mediante fracciones continuas


La base del logaritmo natural está expresada mediante la fracción continua gene-
ralizada, ecuación 3
? 1
e=1+ (3)
1
1+
1
1+
1
1+
1
5+
1
1+
1
1+
1
9+
1
1+
.
1 + ..

6
Algoritmo 4: Pseudocódigo para obtener e mediante la ecuación 3
Datos: Ingresar un número n entero positivo
Resultado: Aproximación de la base del logaritmo neperiano e
1 inicio;
2 /* Ingresar valor para n */
3 n Ð 8;
4 /* Inicializar variables */
5 ep =Ð 1, e Ð 0;
6 /* Aproxima e hasta n */
7 para k Ð n a 1 hacer
8 /* Bloque seleccionada de la fracción continua */
1
9 ep Ð 1 + ;
1
4˚k´3+
1
1+
ep
10 fin
11 /* Obtiene e */
12 e Ð e2p ;
13 imprimir e;
14 fin;

Algoritmo 5: Pseudocódigo para obtener e mediante la ecuación 3


Datos: Ingresar un número n entero positivo
Resultado: Aproximación de la base del logaritmo neperiano e
1 inicio;
2 /* Ingresar valor para n */
3 n Ð 8;
4 /* Inicializar variables */
5 ep =Ð 1, e Ð 0;
6 /* Aproxima e hasta n */
7 para k Ð n a 1 hacer
8 /* Bloque seleccionada de la fracción continua */
1
9 ep Ð 4 ˚ k ´ 3 + ;
1
1+
1
1+
ep
10 fin
11 /* Obtiene e */
12 e Ð (1 + 1/ep)2 ;
13 imprimir e;
14 fin;

También podría gustarte