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

miércoles, 6 de mayo de 2015

MASTERY 22 When to use what type of repetition in a program

CUANDO UTILIZAR QUE TIPO DE REPETICIÓN USAR EN UN PROGRAMA

Ya hemos visto todos los tipos de repetición de un programa. Eso de cuando utilizarlos va depende del tipo del algoritmo que quieras utilizar. También es posible combinarlos para un código más grande. Pero OJO, no todos los tipos puedan funcionar. Hay que dejar claro los 3 tipos de repetición y con sus ejemplos debido a que ya se había explicado anteriormente en algunos WSQ y Masteries.

El uso de "while" se utiliza para que una operación se haga una y otra vez hasta que la condición se rompa. Un ejemplo sería el Método Babilónico. La variable "z" se rompe cuando este es igual a la variable "y".

El uso de "for" tiene muchos usos, pero lo principal es que establece ciertos límites y se hará la operación tantas veces hasta llegar a ese límite. Un ejemplo sería el de la Mastery 20 con el de las potencias. Se establece un límite en "b", es decir, se hará "b" la misma operación.

Y el uso de la recursión algorítmica  que se define la función a sí misma, es decir, se llama la función dentro de su misma función. El ejemplo sería el del Gran Común Divisor de la WSQ12. Dependiendo de los valores de "a" y "b", se restará esos argumentos dependiendo de la condición llamando la función en sí.

miércoles, 8 de abril de 2015

WSQ13 BABYLONIAN METHOD

MÉTODO BABILÓNICO

Sabemos cómo utilizar raiz cuadrada ¿no?. En programación es fácil sacarla si utilizamos "import math" y ponemos el "math.sqrt()" para poder sacar el resultado. Pero, ¿cómo vamos a sacar raíz cuadrada sin el módulo? Hay que utilizar el Método Babilónico.

El Método Babilónico consiste en achicar un rectángulo hasta que todos sus lados miden iguales sin que el área sea modificada. De un rectángulo determinado se toma su ancho y su largo para sumarlos y luego dividirlos entre 2. El resultado que sea en esa división será el largo de otro rectángulo que todavía tiene la misma área. Hay que despejar el ancho como en las ecuaciones. De ahí se repite el  procedimiento una y otra vez hasta que el ancho y el largo midan lo mismo. 


Aquí el código con foto:
Hay que declarar la variable "z" que sea igual a "n" y que "y" sea 0. Poner un loop que se rompa cuando "z" sea igual a "y". Se empezará que "y" no sea igual a "z" por el valor de "n", pero cuando "z" realizara el método babilónico, "y" tomará el valor de "z" anterior y se repetirá el procedimiento hasta que "y" sea igual a "z". Eso es lo que yo entendí de acuerdo al código aquí, no sé ustedes. El output sería esto:

Aquí el link en GitHub:
https://github.com/YeshuaAguilar02/PYTHON/blob/master/WSQ13