Mostrando las entradas con la etiqueta WSQ14. Mostrar todas las entradas
Mostrando las entradas con la etiqueta WSQ14. Mostrar todas las entradas

miércoles, 8 de abril de 2015

MASTERY 19 Use of loops with "while"

USO DE CICLOS CON "while"

Un ciclo es proceso que se repite. En programación hay ciclos y se utilizan muchísimo de acuerdo de cómo se va utilizar el programa. Para definir un ciclo hay 2 formas de hacerlo: "while" y "for". Sin embargo, solo tomaré el de "while". "while" funciona algo similar que una condicional, es decir, debe tener una condición y tiene la misma estructura: un "header" y un "body". Las diferencias están que en el loop el programa hará varias iteraciones cuando todavía se cumple con la condición establecida y cuando esa condición no se cumple más, el loop se romperá y mostrará el último valor que se sacó. Aquí un ejemplo de la WSQ14:

"x" es igual a 0 y "y" es igual a 0. Luego se pone "while" y la condición sería que el valor "x" sea igual o menor a el valor de "precision". Quiere decir que el programa seguirá corriendo hasta que "x" sea mayor a "precision". Luego le sigue el proceso: "y" tendrá un nuevo valor de acuerdo a la operación luego de haber utilizado su valor anterior, 0. La clave para romper el ciclo sería que "x" se sumara con 1. Si no se hace esto, el programa quedaría en un loop infinito. Es por esto que debemos establecer un límite a estos loops. Cuando "x" se sumó con 1, "y" hará de nuevo el proceso, pero con el nuevo valor obtenido del proceso anterior y "x" se sumará de nuevo con 1 con el nuevo valor obtenido hasta que sobrepasa el límite. Por ejemplo, cuando se declaró el límite hasta 10, "y" hará su proceso y "x" se sumará con 1 hasta que esa misma variable sea mayor a 10, en este caso, 11. Aquí como quedaría el output de este ejemplo:


WSQ14 ESTIMATING "e"

ACERCÁNDOSE A "e"

El valor constate de e o el constante de Euler es igual a 2.718281828. Al parecer hay algunos métodos que se pueda sacar el valor de e, bueno, no exactamente, pero un aproximado de acuerdo al número de decimales que se quiera establecer.

La fórmula sería esta: 

Nos damos cuenta que cada valor que se suma está dividido por un valor factorial. Podríamos escribir de nuevo la fórmula de la factorial para poder usarlo en este programa; sin embargo, hay un modo más sencillo de hacerlo. Importar su módulo y llamarlo. Pero antes, voy a tener que quitar una parte del código de la WSQ09 para hacerla menos enredada a la hora del input y output. Aquí la versión modificada de esta:


 Aquí una foto del código actual:

Utilizamos un loop que se rompe cuando "x" es igual al número de decimales que se va usar. Declarar "x" y "y" a 0 para que se vuelva a repetir hasta el límite establecido. Aquí se puede ver que se llamó la función del módulo "Fact" y que dentro "x" sea afectada por esa función. No hay que olvidar que se debe de importar el módulo o el archivo primero antes de realizar la operación. El output sería esto:
Se ve que cuando más decimales se pone, más aproximado se acerca a e.
Aquí el link en GitHub: