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

miércoles, 6 de mayo de 2015

MASTERY 25 Creation and use of ranges

CREACIÓN Y USO DE RANGOS

Habíamos visto el uso de rangos en un loop hace tiempo. Primero que nada, el comido "range"trata de establecer límites dentro de una secuencia de valores. La estructura principal de "range" es la cantidad de parámetros que se van a utilizar. Solo se puede hasta 3 parámetros y cada uno trabaja de una forma diferente.
Vamos con el primer parámetro utilizando el ejemplo del Mastery 20 acerca de las potencias:
Vemos que en la línea 3 se utiliza un loop con un rango y el único parámetro es "b". Esto es (0, b), o para ser un poco más claro, se hará la multiplicación hasta "b"· veces. Si la potencia es 5, se hará hasta 5 veces la misma operación.

Utilizaremos 2 parámetros con esto:

 1 está en el primer parámetro y es donde empieza el límite y "n" sería el segundo límite, donde se acaba. Ponemos 5  y nos dará esto:
Sin embargo, solo se llega hasta 4. Es debido a la posición de los valores "x". Empiezan desde 0 y este número se toma en cuenta. Si queremos solucionar esto, habría que utilizar 3 parámetros. Utilizaremos el mismo ejemplo:
El 3ª parámetro se utiliza cuántas unidades tomaré y cuántas se saltará. En este caso, el parámetro es 1 y se tomará cada variable en 1 en 1 y el resultado sería esto:


Si ponemos 2, tomaría cada valor de "x" en 2 en 2 y esto sucedería:
Hay que recordar que solo se pueden utilizar 3 parámetros. 4 o más y se producirá un error.

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í.

MASTERY 20 Use of loops with "for"

Uso de ciclos con "for"

Y hemos visto cómo funciona con "while", ahora hay que ver cómo funciona con "for". El "for", en mi opinión, tiene más usos que el "while". En una parte hay casos en donde se debe de utilizar "range" para poder determinar los límites y el número de veces que se contarán. Aquí un ejemplo:
Antes de irnos a los argumentos dentro del rango, "for" siempre utiliza una segunda variable que sería como cada valor dentro de un rango o una lista. También siempre se debe de utilizar "in" que se refiere a irse dentro del rango o lista determinada. En el "range" tiene 3 parámetros: el límite donde empezará, el otro límite donde terminará y la cantidad de valores que tomara. Si en el último parámetro se pone 1, se tomará cada valor en 1 en 1. Si es 2, se tomará los valores en 2 en 2 y así sucesivamente. Luego esta la operación que deseas poner y que se volverá a repetir hasta que llegue a cierto límite. Aquí saldría en el output:
Sin embargo, NO SIEMPRE SE UTILIZAN ESO 3 PARÁMERTROS. Aquí tengo un gran ejemplo de ello:
Hay que declarar una variable para el loop primero. Aquí vemos que solo se utilizó el "range" en solo en "b". Lo que quiere decir es que se tomará cada valor para poder multiplicar 2 variables hasta que llegué a la cantidad de "b", es decir, se hará la multiplicación "b" veces. Aquí en el output:

Otro uso del "for" sería en las listas. No es necesario poner un "range" para este tipo de cosas. Lo que hará "for" es tomar cada valor que está dentro de la lista para su operación hasta que ya no haya valores ahí. Aquí el código:
Aquí sería tomar tomar un valor, sumarlo, volver a la lista y volver a sumarlo con la respuesta anterior hasta llegar al límite. Aquí en el output: