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

miércoles, 6 de mayo de 2015

WSQ16 CARS

CARROS

Para trabajar en este código se debe de usar un archivo con el sufijo que dice ".txt". Un archivo como estos podrías modificar los contenidos en estos, cerrar dlm archivo y a la hora de abrirlos, te muestran la última vez que modificaste. Aquí una imagen de un archivo .txt:
En Python, se debe utilizar el comando "open" para poder abrir el texto y utilizar los contenidos que tiene adentro. Aquí tuve que declarar una variable para usarlo en la función.
El objetivo de esto es sacar el promedio de 3 cifras relacionado con el uso de la gasolina con los autos utilizando el archivo .txt. Hay que poner la variable que abre el texto ("x" en este caso) dentro del parámetro de una función, declarar otras variables dentro de la función, tener que utilizar un loop para poder leer cada línea y considerar que cada línea es como una lista, es decir, cada caracter que hay están posisionados desde 0 (el primer carácter de la línea) hasta donde termine. Además, cada carácter es un "string", por lo que hay que convertirlos en integers o floats. También hay que buscar en qué posición quedan esas cifras. Aquí el código principal:
Para poder imprimir las variables con los resultados ya afuera de la función, se debe de poner esas variables separadas por comas dentro de un paréntesis, poner "=" con el nombre de la función y su argumento ( en este caso el texto). Aquí en el output:

Aquí el link con el código en GitHub: https://github.com/YeshuaAguilar02/PYTHON/blob/master/WSQ16

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:




miércoles, 8 de abril de 2015

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:

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

WSQ10 LISTS

LISTAS

La lista es una sequencia de valores y esos valores son llamados como elementos. Esos elementos pueden ser de cualquier tipo. En este ejercicio  nos piden hacer un programa que muestra el total, el promedio y la desviación estándar con listas. Hay que utilizar loops para esto.

Aquí el código en fotos:



Una forma fácil de sacar la suma total es poner "sum()", pero aquí decidí utilizar un "for in range" para declarar una variable a 0, tomar cada valor de la lista y sumarlas con la variable ya declarada hasta que termine con todos. Para el promedio fue sencillo, solo llamas la función con los valores ya resueltos y dividirlas por el número de valores que hay en la lista: para eso se utiliza "len()". Para la desviación estándar es algo complicado de expliar. Declaras una variable con la función del promedio con los resultados ya resueltos, declaras 3 variables (t, d, o) a 0 y utilizas un "while"para declarar que el loop se romperá si "t" llegara a "len(n)". Pon "d" para que toma la fórmula de la desviación estándar tomando cada valor dentro de la lista, cada vez que realiza un valor se suma a 1 con "t" hasta llegar a "len(n)", luego declara "o" para que cada valor de "d" sea sacado se sume con "o" hasta llegar al límite de acuerdo a la variable "t". Por último, dividir "o" entre "len(n)" y sacar raíz cuadrada.

Para poner valores dentro de la lista se puede utilizares 2 cosas: o puedes poner valores determinados dentro de la lista o ponerlas cuando el programa te lo pregunte. Si eliges la segunda opción, debes de primer declarar otra variable (s) a 0 y utilizar un "while" que se rompe si "s" llegue a 10. Para cada valor puesto se agregará a la lista con "append". Llamas el nombre de la lista con punto, pon "append" y entre paréntesis será cada valor agregado hasta llegar al límite propuesto por "s" porque "s" llegó a su límite (10) para que rompa el loop. Aquí el output:


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

domingo, 5 de abril de 2015

MASTERY 18 Nesting of conditionals statements

CONDICIONALES NESTING

Utilizare el ejemplo de la Mastery anterior.
Tal vez se habrán preguntado en la Mastery anterior de las condiciones DENTRO de otras condiciones. La clave de esta Mastery es esto, "nesting" condicionales: condiciones que están dentro de otra condición. Una variable o valor cumple con las características de una condición y se lo lleva hacia ese camino para encontrase con otras condiciones diferentes a la anterior y llevarlo hacia otro camino si es que cumple con una de esas condiciones. Hay que recabar que "if" se puede utilizar otra vez si es que está dentro de una condición.

En el ejemplo sería esto: "Sacas 70 o más quedas aprobado, pero solo puedes sacar Beca si sacas 85 o más". Para eso tuve que declarar "z" y determinar su valor para poder utilizarlo en la siguiente condición. "Sacas menos de 70, pero sacas 40 o más repruebas, pero con otra oportunidad para sacra el curso. Sin embargo, te tomarás un nivel grande y grave de advertencia si sacas menos de 55". Al igual como el caso anterior, se declara una variable para poder utilizarlo en la condición. "Sacas menos de 40, quedas expulsado". Esto ya lo expliqué en la Mastery anterior.
Aquí un ejemplo en la terminal:
Aquí les dejo el link del código en GitHub: https://github.com/YeshuaAguilar02/PYTHON/blob/master/MASTERY18

MASTERY 16 Use of "else" with a conditional

USO DE "else" CON UNA CONDICIONAL

Seguimos con el ejemplo de la WSQ05.
Nos damos cuenta que "if" no es la única condición. El comando "else" se utiliza para determinar una condición que es lo contrario totalmente de la condición o las condiciones anteriores. Es decir, si no se cumple la primera condición, se pasa hacia la otra condición. En este ejemplo sería que si la temperatura del agua en ºC no es mayor o igual a 100, se pasa a la segunda condición, es decir, la temperatura del agua es menor a 100 y el agua no se evaporará. Aquí entra la segunda condicional después de poner la primera y se bede poner así: "else:". La estructura de "else" es lo mismo que el de la "if, obviamente. Tomaré un ejemplo en la terminal de la foto: "El agua está a 205ºC. En ºC está a 96ºC. El agua para evaporarse debe ser igual o mayor a 100ºC y a la temperatura que nos dio está menor que 100ºC, por lo tanto, el agua a esta temperatura no se evaporará."

Aquí les dejo el link del código en GitHub: https://github.com/YeshuaAguilar02/PYTHON/blob/master/WSQ05.py

viernes, 3 de abril de 2015

WSQ12 GREATEST COMMON DIVISOR

Gran Común Divisor

Sabemos como está el asunto ¿no? Digo, el gran común divisor sería el número máximo que pueda dividir 2 números. Por ejemplo, el GCD de 16 y 24 es 8. Otro sería el GCD de 30 y 80 es 10. Hay un algoritmo que pueda resolverlo: el método de Éuclides. 

El método de Éuclides sería algo así como:

GCD(a, a) = a
GCD(a, b) = gcd(a - b, b) si a > b
GCD(a, b) = gcd(a, b - a) si a < b

El método es sencillo. Solo hay que usar condicionales, sin loops o recursiones y utilizar la fórmula del algoritmo así como está arriba.

El output sería así:


WSQ09 FACTORIAL CALCULATOR

Calculador Factorial

La fórmula para calcular la factorial sería esto: 
   n! =
   1 \times 2 \times 3 \times 4 \times ... \times (n-1) \times n
.
También está esto: 
   n! =
   \prod_{k=1}^n k
.
Hay 2 formas diferentes hacer la factorial: con un loop y con una recursión.

Recursión

La fórmula en recursión sería esta: 
   n! =
   \begin{cases}
      1              & \text{si, } n = 0 \\
      (n-1)!\times n & \text{si, } n > 0
   \end{cases}
Hay que definir primero el algoritmo antes de llevarlo al programa principal:

0 y 1darán valores a 1. Desde 2 hasta más adelante se hará como en la fórmula.
Ahora a utilizar for "x" i  range:

"y" sería todos los valores dentro de un rango hasta cierto límite. Para esos límites sería dentro del paréntesis. El primer valor sería en donde comienza; el segundo, donde termina y el tercero sería el número de intervalos que va a tomar. En el segundo valor dentro del paréntesis( el rango) está sumado con 1 debido a que si no lo está, el programa terminará a un intervalo atrás del valor del límite final, en este caso x. Por ejemplo, si x es 6 y en el segundo valor del paréntesis solo pongo x, llegará hasta 5.

Para no dar más rodeos, aquí sería en el output:

Loop

Es parecido al de recursión, esta vez con while. Hay que definir el algoritmo así:


Esto hará que el valor que pusimos multiplique "respuesta" y luego se le resta el valor a 1 para multiplicar de nuevo "respuesta" hasta llegar a 1. 

En caso de que el valor sea negativo, hay que decirle al usuario que cambie de valor a uno positivo.
Utilizamos de nuevo while, pero afuera de la función del algoritmo. 
Cada vez que mando un valor para que el programa lo calcule, este me pregunta si deseo continuar. Para continuar, pon "y" en la terminal de acuerdo con esta foto. Para salir, pon "n" u otro carácter. Además, si pongo un valor negativo, el programa no me lo permitirá y me hará la misma pregunta si es que quiero continuar. Así quedaría en el output:

viernes, 20 de febrero de 2015

MASTERY 4 Submit work via Blog RSS and GitHub

SUBIR TRABAJOS DESDE BLOG RSS Y GITHUB
Es lo que exactamente estoy haciendo ahorita mismo. Empiezo con Blogger:

Me voy al blog correspondiente y le doy clic. En este caso, "Programming 2015".



Me aparece esta ventana siguiente. Los trabajos que realizo lo subo como "Entradas". Le doy clic en "Crear entrada".


Me abre a una página que contiene una página en blanco parecida a la de Word y algunas funciones que puedo realizar. Aquí pongo cualquier contenido o los trabajos que debo de subir.


Antes de publicarla, me voy a "Etiquetas" que son como una forma simplificada de identificar las entradas, le doy clic y escribo el nombre de estas. Ya todo terminado, le doy en "Finalizado" y le doy en el botón naranja en donde dice "Publicar". Blogger ya tiene ese ícono de RSS, la cuál significa que se puede difundir y compartir información actualizada en otras páginas web.


Para GitHub:

En el signo de más con una flecha dirigiéndose hacia abajo, donde está en la parte superior derecha, dale clic y luego en "New repositorio".


Te muestra esta página y pon lo que se te pide. En donde dice "Add  .gitignore: None" dale clic y luego clic en "Python" o "C++" para establecer el sistema de archivos que se van a trabajar. Finalmente, dale clic en "Create reposoitory".



Te aparece esta página. Para poder hacer los códigos debes darle clic en el signo de + que está al lado derecho del nombre del repositorio.


Te lleva a una página que contiene algo parecido a lo que utilizas para escribir los códigos. Al terminar de escribirlas, dale clic en "Commit new file".