jueves, 23 de abril de 2015

QUIZ 10

QUIZ 10

1) Hacer una lista que recibe cierta cantidad de números y que se sumen solo los que son divisibles entre 3. Aquí las fotografías del programa principal y el resultado en la terminal:


2) Utilizar el algoritmo del producto escalar. Hay un link para más información sobre este algoritmo en http://es.wikipedia.org/wiki/Producto_escalar. Hay 2 condiciones para esto: si ambos vectores(listas) no tienen la misma cantidad de números, el programa te responderá ERROR u otra advertencia y un -1. La otra es que si los vectores tienen la misma cantidad de números para seguir con el algoritmo. La cantidad de números que quieras poner en los vectores depende ti si es que quieres seguir. Aquí las fotografías del programa principal y los 2 resultados de acuerdo con la condición establecida:




ECOS

ECOS

Encuesta a profesores. El tiempo que se utiliza no es mucho digamos. 10 o 15 minutos, tal vez. 
Aquí tome fotos de las encuestas a diferentes profesores de este semestre y de que ya están hechos. Para respetar la privacidad de otros, no publicaré nombres u datos personales.





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:

WSQ11 YO SOY 196

YO SOY 196

Un palíndromo es cuando una serie de caracteres se puede leer así mismo al revés. Un ejemplo sería: "BOB", al revés "BOB". Tomando con números sería esto: "121", al revés "121". Los números así se llaman palíndromos naturales. De lo contrario, se hará un proceso de iteración hasta que pueda convertirse en un palíndromo: "19". "19", al revés "91". 19 + 91 = 110. "110", al revés "011". 110 + 011 = 121. "121!, al revés "121". En caso de que no se pueda llegar luego de varias vueltas a ese número se le conoce como Número de Lychrel. Un ejemplo sería 196.

Para entender cómo hacer un código con este método es muy complicado. La verdad, yo me quedé en algunas partes que todavía no me queda claro. En el output tiene que salir el rango, la cantidad palíndromos naturales, número no Lychrel y candidatos a ser números Lychrel luego de 30 iteraciones. Aquí fotos del código y del output:



Aquí el link en GitHub: