Agitame :x

miércoles, 21 de enero de 2015

Python III: Libreria Turtle

Hoy descubrí algo asombroso que se puede hacer en Python. En esta entrada me limitare a hablar de solamente una libreria de las cientas que tiene Python, pero que da mucho para hablar.

Libreria Turtle

La libreria Turtle, son una serie de comandos completamente dedicados a una acción especifica.

Esta libreria puede crear una "Tortuga robot" que crea trazos dentro de un plano cartesiano determinado.

Esta tortuga comienza en el punto (0,0) del plano cartesiano y camina a travez de este plano dejando un rastro por donde pasa, lo cual puede ser muy util para graficar ciertos valores y funciones.

La tortuga tiene una cabeza, la cual apunta a una dirección (inicialmente hacia la derecha). Esta dirección se puede establecer y cambiar en grados de 0 a 360, o en radianes.

Tomemos por ejemplo el siguiente codigo:


>>import turtle #aqui importamos la libreria.

>>turtle.setup(800, 600) #aqui establecemos los parametros del plano cartesiano.
>>vent = turtle.Screen() #definimos vent al objeto de ventana
>>alex = turtle.Turtle() #definimos a nuestra tortuga robot, se llamará Alex.
>>alex.forward(300) #le decimos a Alex que camine hacia el frente 300px.
>>alex.left(90)  #Le decimos que gire 90 grados hacia SU izquierda. (un cuarto de giro)
>>alex.forward(200)  #Le decimos que avanze hacia el frente 200px.

>>#Y como no tiene mas instrucciones, terminará de moverse en ese punto.

>>vent._root.mainloop() #Finalmente, este comando termina de ejecutar la ventana donde esta la tortuga.
Si todo sale bien, deberias ver una animación que haga el siguiente dibujo:


Una tortuga puede moverse por el plano con los siguientes comandos:

nombre.forward(d) : Avanza d pasos hacia la dirección donde mire tu tortuga.
nombre.backward(d) : Retrocede d pasos pasos hacia la dirección donde mire tu tortuga.
nombre.left (g): Gira a la izquierda g grados desde la dirección donde mire tu tortuga.
nombre.right (g) : Gira a la derecha g grados desde la dirección donde mire tu tortuga.
nombre.penup() :El trazo dejará de marcar el plano, no obstante podrás seguir moviendo la tortuga por este.
nombre.pendown(): El trazo volverá a marcar el plano si utilizaste el comando penup. 

Una tortuga tambien se puede personalizar, con colores y formas, un ejemplo de esto puede ser:
>>import turtle
 

>>turtle.setup(800, 600) # establecemos el tamaño de la ventana de 800 por 600 píxeles
>>vent= turtle.Screen() # establecemos vent al objeto de la ventana

>>spade= turtle.Turtle() #establecemos a nuestra tortuga.
 

>>vent.bgcolor("black”) # esto establece el color de fondo de la ventana, sea negro.
>>vent.title("Este es Spade”) # esto establece el título de la ventana.
>>spade.color("white”) # Esto hace que el color del trazo sea de color blanco.
>>spade.pensize(5) # establece el ancho del trazo.

>>spade.shape("turtle") #Esto establece la forma de nuestra tortuga, en este caso, resulta tener la forma de una tortuga real en lugar de una flecha.
 

>>spade.forward(300) #Empezemos a darle instrucciones. pidamos que haga un "8".
>>spade.left(120)
>>spade.forward(300)

>>spade.left(120)
>>spade.forward(600)
>>spade.right(120)
>>spade.forward(300)
>>spade.right(120)
>>spade.forward(300)

>>vent.exitonclick() #finalmente este es como el comando termina el codigo, pero a diferencia del anterior, lo hace cuando se da click en la pantalla.
Ahora que establecimos el titulo, el color, el ancho y la forma de nuestra tortuga, se veria algo como esto:


Ahora empezaremos a combinar conocimientos de la clase anterior: Deberemos definir una función que tenga una tortuga que dibuje un poligono regular de n lados, y que cada lado mida un tamaño m:
>>import turtle

>>def polygon(n,m):
    >>angulos = (360/n)
    >>tamano = m

    >>turtle.setup(800,600)
    >>vent = turtle.Screen()
    >>vent.bgcolor("lightblue")
    >>vent.title("Polygon Maker")
    >>poly = turtle.Turtle()
    >>poly.shape("turtle")
    >>poly.color("black")
    >>poly.pensize(3)

    >>while n>0:
        >>poly.forward(tamano)
        >>poly.left(angulos)
        >>n=n-1

    >>vent._root.mainloop()

Al ejecutar el codigo, lo siguiente que tendriamos que hacer es llamar a nuestra función en ventana.
Si lo hacemos, por ejemplo, con polygon(5,100), nos saldria esto:


Como desafio final para terminar con turtle, intentaremos dibujar un fractal. un fractal es un dibujo que tiene una estructura auto-similar, que és definida en términos de ella misma, es decir, que es Recursiva.

Para ser mas especifico, deberemos definir una función que grafique el Fractal curvo de koch en orden n, con una longitud m desde el punto inicial hasta el final.

>>import turtle

>>def koch(n,m):

    >>kochy = turtle.Turtle()
    >>vent = turtle.Screen()
    >>vent.setup(800,200)
    >>kochy.penup()
    >>kochy.backward(m/2)
    >>kochy.pendown()

    >>def koch2(n,m):
       
        >>if n==0:
            >>kochy.forward(m)

        >>else:
            >>koch2(n-1,m/3)
            >>kochy.left(60)
            >>koch2(n-1,m/3)
            >>kochy.right(120)
            >>koch2(n-1,m/3)
            >>kochy.left(60)
            >>koch2(n-1,m/3)

    >>koch2(n,m)

    >>vent.exitonclick()

Explico basicamente lo que hice: Empezé a definir la función koch. definí la ventana y tortuga. Tambien  le dije que iniciara el trazo m/2 pixeles mas atras del eje 0. Dentro de Koch empezé a definir otra función llamada koch2. En esta use un comando base (el primer if), e instrucciones recursivas del movimiento de la tortuga en el else. Termine de definir esa función, la llamo en la linea siguiente, pongo que termine de dibuja una vez haga click, y finalmente termino de definir la funcion inicial.

La razon por la cual definí una función mas pequeña dentro de la inicial, fue para que los parametros de mi tortuga no se repitieran una y otra vez a la hora de que la función se repitiera en sí misma. por lo cual las excluí, y los valores que si debian repetirse, los ejecute en una funcion propia.

y finalmente mi resultado fue el siguiente: koch(5,500)


Y poco mas se puede decir de la libreria Turtle, disfrute bastante esta materia en particular, y espero que lo hayan hecho tanto como a mi.

Me despido, C'YA~

martes, 20 de enero de 2015

Python II: Repetición y Recursión

Siguiendo con Python, hoy comenzamos a ver nuevo contenido, esta vez no tan pesado como la introducción. Les contaré lo que vimos hoy.

Repetición y Recursión

Comando while: puedes repetir eso por favor?.


Comenzando con el contenido de hoy, hablamos del comando while, que en español vendria siento la palabra "mientras".

Este comando es bastante util, ya que lo que hace es repetir una instrucción ante una determinada condición.

tomemos por ejemplo el siguiente codigo:

>>cuentaregresiva = 10
>>while cuentaregresiva > 0:
        >>print (cuentaregresiva),
        >>cuentaregresiva = cuentaregresiva - 1
>>print ("Feliz Año Nuevo!!!")

tenemos una variable que es igual a 10, luego, con el comando while, le indicamos que mientras que esta variable sea mayor que cero, enplee un print de la variable, y que le reste a esta variable una unidad. como nuestra variable es ahora 9, es decir, sigue siendo mayor a 0, el comando while volvera a repetir los comandos indentados debajo de esta, y cuando llege el momento de que nuestra variable sea 0, es decir, que no cumple el requisito del while, el comando dejara de accionarse, lo que dara paso a el print advirtiendo que terminó la cuenta.

nota: Tanto el comando if como el comando while, pertenece a la familia de los comandos pronombre. estos comandos contienen una instrucción seguida de dos puntos (:) que de ser verdadera (true), ejecutan lineas de comandos posteriores. Estas lineas de comandos deben estar indentadas para ser tomadas en cuenta como instruccion de estos comandos (para indentar una linea, simplemente debes presionar TAB (↹) al principio de una linea de codigo.)

Una vez que ya conocemos los comandos pronombres como if y  while, podemos hacer el siguiente ejercicio:

crear un juego de adivinanzas, donde el jugador tiene un máximo de 6 jugadas para adivinar un numero al azar del 1 al 20, y que en cada intento fallido, mencione si el numero es muy alto o muy bajo.



Primero nesecitamos un numero al azar, por ello, importamos la libreria random. (ignoren las siguientes 4 lineas de codigo que vimos en la entrada anterior.)

le mostramos las instrucciones a nuestro usuario, luego tomamos un numero aleatorio del 1 al 20 con random.randint(). Lo guardamos en una variable.

le pedimos al jugador que introduzca un numero con un imput(). Lo guardamos en otra variable.

introducimos en otra variable el numero de oportunidades (del 0 al 5 hay 6 pasos de diferencia.)

en un comando while, ponemos la condicion de que si la jugada no es igual al numero elegido por la cpu, y que las oportunidades son mayores a cero:

si el numero es mas bajo que el elegido por la cpu, se te informa, se te resta una oportunidad, y se repite el comando imput() para volverlo a intentarlo, y si el numero es mas alto, se te informa, se te resta una oportunidad, y se repite el comando imput() para volverlo a intentarlo.

El comando while terminará una vez que una de sus condiciones sea falsa. Si el numero es igual a la jugada, o si el numero no es igual a la jugada, se imprimira su respectivo mensaje.

Comando def: Estoy pensando en pensar sobre el pensamiento.


Ahora que ya sebemos repetir comandos, comenzaremos a hacer nuestras propias recursiones.

La recursión es definir algo en terminos de sí mismo.

un ejemplo de esto puede ser la palabra "Directorio" o "Árbol genealogico".
  • un directorio es una estructura que contiene los archivos y directorios (más pequeños).
  • un árbol genealógico comienza con una pareja que tiene hijos, cada uno con su propio sub-árbol genealogio.
Los lenguajes de programación (incluyendo Python) usan la recursividad muy a menudo, lo que significa que, con el fin de resolver un problema, las funciones pueden llamarse a sí mismas para resolver sub-problemas más pequeños.

Una vez que ya entendemos la recursión, podemos empezar a ver el comando def.

El comando def se utiliza para definir una función creada por nosotros.

Para ver como funciona la recursión, definiremos la función factorial en Python.

Sabemos que la regla de la función factorial es n! = n * (n-1)!, por lo tanto definiremos la siguiente función:

>>def factorial(n):
        >>if n == 0 or n ==1:
                >>resultado = 1
        >>if n>1:
                >>resultado = n * factorial(n - 1)
        >>return resultado


Empezamos a definir la función factorial(n), en la que si n es 0 o 1, la variable resultado será 1. Pero en el caso de que sea mayor que 1, el resultado sera n * la funcion factorial de n-1. Es entonces que la función internamente actua dentro de si misma,  tantas veces como sea nesesario.

Finalmente se ocupa el comando return que te devuelve el resultado ya calculado en ventana.

Tarea y Desafio.

Ahora les mostraré una pequeña tarea que tuve que hacer para hoy: Tuve que crear un juego de Cachipún en el que el usuario compite con mi codigo, usando comando if y while.

Pueden probar mi codigo online haciendo click aquí.
Y para que puedan saber si de verdad estan aprendiendo algo, les daré un pequeño desafio: Desde la segunda, hasta la siguiente ronda, hay 100% de probabilidad de ganar en la siguiente, solo si sabes como funciona el codigo. Porque?

Dejen su respuesta en los comentarios :3

Aqui me despido, cualquier duda consulten, y ojala que mañana pueda explicarles mucho mas.

C'YA~

lunes, 19 de enero de 2015

Phyton I: Introducción y conceptos basicos.

Ok, tal como dije ayer, hoy comenzamos a estudiar el lenguaje de programación conocido como Phyton. Desde ahora explicaré con mayor detalle estos ultimos dias.

INTRODUCCION

 

Un poquito de historia...


Python, bautizado así por la serie de peliculas "Monty Python" es uno de los lenguajes de programación mas usados en todo el mundo.

Fue creado por Guido van Rossum en los años 90:
"Estaba buscando un projecto de programación como "pasatiempo" que me mantubiera ocupado durante las semanas navideñas"
Python se puede considera el lenjuage de programación ideal para los principiantes, ya que este puede "escribir" un Software en una linea de codigo en lo que Java se nesecitarian unas 5 aproximandamente.

 

Como funciona Python?


Python funciona a base de comandos y lineas de programación. Un comando indica una acción especifica que Python debe ejercer en una linea.

Python interpreta tu entrada, y el el caso de que haya un error o incoherencia, este te explica que es lo lo que no cuadra en tu codigo para corregirlo.

 

Variables y almacenamiento de datos.


En python, existen variables, en la cuales puedes almacenar datos y darles un nombre especifico.

La sintaxis para estas variables es:
Variable = Dato

Existen 2 tipos de datos clave para almacenar: los numeros y las strings.

Los numeros son autoexplicativos, simplemente se almacena un valor numerico y se les da un nombre, por ejemplo >>x = 3

Tambien puedes emplear operaciones aritmeticas si lo deseas, como >>x = 2+3

Las strings, o cadenas en español, puede contener letras, números, y símbolos, en forma de una expresión. es importante que la string este expresada entre "comillas", para ser considerada como tal.

un ejemplo seria >>y = "niggación Barria" (chiste interno.)

Cabe destacar que las cadenas se pueden "sumar" con el signo "+", esto es util para unir diferentes tipos de datos, que veremos mas adelante.

es algo asi como >>y = "niggación " + "Barria"

 

Operaciones logicas y Booleanas.


True y False ,o verdadero y falso en español resultan ser otros tipos de datos utiles a la hora de programar. y si bien puedes almacenarlo directamente dentro de una variable, tambien puedes obtenerlo calculandolo con otros datos usando operaciones logicas.

Las operaciones logicas son comparaciones entre 2 datos que pueden ser verdaderas o falsas. se usan operadores logicos para obtener el resultados. estos operadores son:
  • < (Menor que)
  • > (Mayor que)
  • <= (Menor o igual que)
  • >= (Mayor o igual que)
  • == (Igual a)
  • != (Diferente de)
Un ejemplo de esto seria:

>> x = 0 < 6
x = false

>> y = 5 != 3
y = true

 

Comandos importantes


Python cuenta con una infinidad de comandos , pero por ahora veremos solo 2 que me parecen los mas importantes:

 El comando mas usado en Python podria considerarse el comando print, su utilidad es escribir en pantalla una variable, un dato o un mensaje que pueda ser visto por el usuario de nuestro codigo.

Otro comando bastante usado es el comando if, es una sentencia condicional que ejecuta un código específico después de controlar si la expresión es verdadera, y caso contrario si es falsa.

 

Help(), import y muchas cosas mas.


Python esta lleno de comandos, tantos que explicarlos llevaria mucho tiempo. Los invito a investigar tambien por su cuenta, y ver los comandos que se pueden ejecutar en python, y por si no entienden alguno, pueden usar el comando help(comando) en Python para encontrar ayuda acerca de ello.

y por si los comando que hay en Python no son suficientes, o por lo menos no los nesecitados, Python cuenta con muchas librerias con comandos mas especificos, como por ejemplo la libreria random, dedicada a los numeros pseudo-aleatorios. Para usar comandos de estas librerias, pueden usar import.nombre_de_la_libreria para usar comandos.

Pongamonos manos a la obra!


Armate con un Python Scripter, y pongamonos a escribir lineas de codigo. Uno de los codigos mas simples de programar es la de preguntar tu nombre:

>>print ("Hola!")
>>print ("Cual és su nombre?")
>>miNombre = raw_input()
>>print (miNombre + "?, que nombre mas extraño.")


Al correr este codigo, primero se mostrar'a en pantalla un saludo, y luego una pregunta que incita a introducir un nombre en la pantalla de comando. Luego, el comando raw_imput toma lo escrito por el usuario y lo almacena en la variable "miNombre", para luego mostrar un mensaje que confirma que recibio el valor, mas una "opinión" acerca de este.

Ahora probemos con algo mas complicado:

>>print ("Cual és tu nota?")
>>nota = input()
>>nota = int(nota)
>>if nota >= 4:
>>print ("Estas Aprobado, felicidades!")

>>if nota < 4:
>>print ("Estas Reprobado, esfuerzate mas.")


Esto es casi lo mismo que el ejercicio anterior, solo que ahora, lo que te piden que introduzcas es un valor numerico entero. al tomar este valor, se utiliza unos operadores logicos, junto con el comando if. Gracias a esto, si la nota es mayor o igual a 4, Python escribe la felicitación, pero si es menor a 4, el codigo te informa de que fuiste reprobado por el programa.

Finalmente, les mostrare un pequeño desafio que tuve que hacer hoy en clase: crea un juego de "Piedra, papel y tijeras", en el que compita con una computadora.



Primero, importe de la libreria random, para randomizar los movimientos de la computadora. Luego, pedi que se introdujera el movimiento a base de un numero (piedra era 1, papel 2, y tijera 3) y que almacenara el dato en la variable "jugada".

dependiendo de la jugada, y de la de la coputadora, se mostrarian 2 mensajes diciendo nuestros movimientos.

luego, con comandos if, puse en una linea los casos en la  que la computadora ganara, para que si eso fuera verdad, se mostraria un mensaje recalcando esto.  Los mismo para los casos en los que el jugador ganara.

 

Opinion personal


Bueno, puedo decir que utilizar Python es bastante simple, te da bastante libertad, esta super  simplificado. Ojalá que pueda seguir aprendiendo mas acerca de esto los siguientes dias, y poder darles mas info al respecto. Siganme esta semana, porque voy a seguir actualizando esto, y si todo sale bien, el viernes les tendré una sorpresa :D

C'YA~ (y mesa tambien.)


domingo, 18 de enero de 2015

Matlab V (Final): Simulacion y visualizacion y juego de la vida

Hoy es el ultimo dia de Matlab, y como ultimo contenido terminamos de ver la visualizacion de graficos tipo "pcolor" y simulaciones a travez del tiempo con el comando "pause".
Supongamos que tenemos una barra metálica inicialmente a 0º. El extremo izquierdo siempre se mantiene a 0º, pero el extremo derecho se sube a 100º y el calor empieza a propagarse hacia la izquierda.
 

Para simular esto, supondremos que la barra estácompuesta por segmentos, y que a cada paso, un segmento pasa a tener la temperatura promedio con los que lo rodean. 
Grafico longitud de la barra X tiempo, donde el color azul representa la temperatura 0º, y el rojo 100º.
Con estos comandos, tuvimos que recrear el juego de la vida de John Horton Conway, nombre que me sonó, ya que era un comando que estaba en el sandbox "The Powder Toy" que solia jugar unos años atras (altamente recomendado.)

Las reglas de este juego son simples:

Se juega sobre un tablero infinito de celdas. Inicialmente algunas celdas están vivas, y el resto muertas.
 
En cada jugada, para cada celda se calcula el número de vecinos vivos que la rodean (v) y se aplica el siguiente algoritmo para calcular el nuevo estado para esa celda:
  • žSi la celda está viva y v<2, muere por soledad.
  • žSi la celda está viva y v≥4, muere por sobrepoblación.
  • žSi la celda está muerta y v=3, pasa a estar viva.
  • žEn cualquier otro caso, mantiene su estado.



una vez calculadas todas las celdas afectadas, se pasa a la siguiente generación, y el ciclo se repite una y otra vez hasta el infinito.

"Glider" (cuerpo que se mueve de manera infinita) programado en Matlab por mi (y mis profes,claro).
Y con esta ultima actividad, terminamos la semana de Matlab y abrimos paso a la semana de Python (Yay!).

Esten atentos a mas actualizaciones del blog en esta ultima semana, porque empezaré a entregar muchisimo mas detalle en estas proximas entradas xD

CYA (y mesa tambien).


jueves, 15 de enero de 2015

Juego Flash #2: A dance of fire and ice

http://fizzd.itch.io/a-dance-of-fire-and-ice

Dia 9: Matlab IV: Matrices, Cuadrado magico y sistema de ecuaciones.

Hoy en clase vimos lo que eran las matrices. Las matrices son el almacenamiento bidimensional de numeros a travez de filas y columnas.

Usando matrices tuvimos que programar un Cuadrado magico. Un cuadrado magico es una tabla que al sumar sus filas, columnas y diagonales por separado, todas dan el mismo resultado.


Tambien vimos como escribir sistemas de ecuaciones como si de matrices se tratara, y asi poder trabajar con ellas en MatLab.


miércoles, 14 de enero de 2015

Dia 8: Matlab III: scripts, funciones y el problema del granizo.

hoy en Matlab comenzamos a ver como hacer scripts o M-files, algo bastante util para definir funciones personalizadas, y simplificar ciertas acciones a la hora de utilizar el programa.

Tambien observamos una situacion matematica un poco extraña.
Un granizo cae desde altura n y sigue las siguientes reglas:
ž-Si está a una altura n par, baja a altura n/2
ž-Si está a altura n impar, sube a altura 3n+1
Algo importante de destacar es que para toda altura inicial que sea mayor que 1, el granizo llega eventualmente al suelo, que es la altura 1.

Dada esta información, y atravez de los scripts, debiamos escribir una función “demora(n)” que entregara el
número de pasos que demora la caída desde altura n, y despues utilizar la función "Scatter" (graficador de puntos) para visualizar esta demora dependiendo de n a medida que ganara altura.
 La secuencia  es aleatoria?
Esto fue lo que visualizamos.

Al parecer, la secuencia sigue un patron con diferentes curvaturas, algunas que van de manera ascendente, y otras decendientes.

martes, 13 de enero de 2015

Juego flash #1: Rhythm Doctor

http://uploads.ungrounded.net/608000/608878_RhythmDoctor.swf?1396661516

Dia 7: Matlab II: Vectores, Notas y Tiro al blanco

Hoy comenzamos a ver Vectores y matrices en MatLab. Los vectores son secuencias de numeros ordenados en filas o en columnas.

Los vectores pueden ser utiles para englobar muchos numeros de manera continua, y hacer operaciones de manera mas eficiente. Como por ejemplo, almacenar las alternativas respondidas en un examen, calcular el numero de Preguntas correctas, y a la vez restarle 1/4 por cada respuesta incorrecta.


Tambien hicimos un pequeño ejercicio de probabilidad, llamado "Tiro al blanco".

Supongamos que tenemos un cuadrado de 1cm de lado, y dentro contiene un circulo tangente a todos sus lados.
Se toman X numero de dardos y se lanzan de manera aleatoria, y solo pueden caer dentro del cuadrilatero. Si cae dentro del circulo, se cuenta como un punto, y si cae fuera, no hay puntaje.

dado esta situación, nos dieron como ejercicio programar una suma continua de los acciertos de los dardos, y despues dividirla por el total de dardos lanzados cada vez.

Lo que nos genero, fue el siguiente grafico.


Podemos notar de que la preccicion a travez del tiempo oscila de manera errarica, pero a cada dardo que se lanza, la linea empieza a estabilizarse alrededor de un numero.

es 0,7853. y eso no es mas que π/4. curioso :P

lunes, 12 de enero de 2015

Dia 6: Matlab, Introducción y Numero Φ

Nueva semana en la EdV, y Comenzamos a ver un programa llamado Mathlab.

Mathlab es básicamente un programa, y a la vez lenguaje utilizados para fines matemáticos y científicos, como forma de una calculadora interactiva. Cuenta con un sinfín de funciones, como la "plot" (graficadores),  o la "roots", que sacan las raíces de ecuaciones cuadráticas y cubicas.

Tambien vimos lo que era el numero "Phi" o "numero Aureo"(Φ), que se repite en varios patrones de la matematica. Phi se define como:

Φ = (1+√5)/2=1.6190
 

Eso es todo, esta entrada fue un poco mas corta de lo habitual ya que todavia estamos en lo basico, y mañana comenzamos a verlo con mas profundidad :3

sábado, 10 de enero de 2015

Dia 5: Excel Avanzado, Formulas y Macros D:

Hoy cruzé el umbral al lado oscuro de Excel.

Hoy, (Mas bien anteayer porque soy un pajero qlo un sujeto que no actualiza diariamente sus blogs) Hemos
visto la segunda parte de lo que era Excel. y tengo que decir que no me esperaba para nada lo que se venia.

Primero vimos como ocupar formulas, principalmente la formula BUSCARV,  que busca valores en una columna, para devolverla a otra con datos específicos. Hasta allí todo bien... luego vino Macros...

Lo que teníamos que hacer era crear un Formulario (o un "Userform", dicho de otra manera) para que la receta de la entrada anterior se le pudiera cambiar de manera simple el numero de comensales que esta tuviera.

Suena facil? no lo es (o por lo menos no lo fue.)


Comprender el mecanismo y la metodología de esto fue complicadisimo, y me tomo varios intentos fallidos.

Por suerte logre dar con el código, e insertar el formulario en mi receta ^^


     (aguante paint)


jueves, 8 de enero de 2015

Dia 4: Excel basico.

Hoy en la EdV empezamos a ver las herramientas básicas de Excel. Mas que nada como hacer tablas dinámicas (aunque es difícil aprender a pedirle lo que realmente quieres a veces) , y un poco mas. Hoy nos hicieron tomar una de las comidas favoritas chilenas que hicimos ayer, y darle el formato de receta en Excel.

Y como soy ese tipo de gente que quiere ver el mundo arder, hice una receta de como preparar un Completo chileno. 


Supongo que eso es todo :P
Ojala que los que estén leyendo esto, se hagan un completito (y me lo den a mi >:D)

-Felipe "AnotherYoshi" Fernandez :D

miércoles, 7 de enero de 2015

Dia 3: Herramientas de Blogs.

Como he dicho antes, Estoy en un Curso de verano sobre herramientas computacionales, y hoy nos ha tocado ver como hacer un Blog (osea, este mismo), y las opciones y herramientas que te puede brindar esta pagina.

Nos han dado unos cuantos ejercicios que debemos realizar antes del final del dia:

  • Poner una biografia con 5 hitos importantes en tu vida con un post en tu Blog. (Ya hecho en la entrada pasada)
  • Poner una imagen sobre una tabla de tus " 3 comidas favoritas chilenas" en tu Blog. (¿Porque exactamente? No lo se xD. Pero aqui esta de todas maneras:)
  •  Reportar lo que estamos haciendo en el curso de tu Blog. (El motivo de esta entrada.)
  • Publicar un post donde hables de tus expectativas con el curso y tu familiaridad con herramientas computacionales.
Les seré sincero: estoy aqui porque lo que mas me interesa es aprender el lenguaje Phyton (o por lo menos profundizarlo un poco), aun estando perfectamente consiente de que primero deberé pasar por Office y Mathlab. Pero hasta ahora, he aprendido un monton de cosas que nunca hubiera pensado que se le podian sacar provecho, tanto en Word como en Blog. Asi que ya no solo es Phyton, si no ver todo lo que se puede hacer en programas que la gente utiliza el dia a dia, y sin embargo, se sabe tan poco acerca de su maximo potencial.

Eso es todo. Espero que me sigan en esta experiencia y que tenga un buen dia.

-Felipe "AnotherYoshi" Fernandez :3 

Un poco sobre mí :3

Hola.

Esta es la primera entrada de el Blog que ocuparé durante la Escuela de Verano del año 2015, y quizá le de otro uso despues de terminar el curso.

En la primera entrada, me pidieron que enumere y describa 5 momentos de mi vida que han sido importantes para mi, o que han separado un ciclo de mi vida de otro.

Me llamo Felipe Fernández Céspedes.
  • Mudanza de Cerro Moreno a Antofagasta.
     Desde que nací, viví en un pequeño pueblo dentro de un complejo Militar llamado Cerro Moreno.  Allí pase la mayor parte de mi infancia hasta los 8 años. Al mudarme a Antofagasta –Un lugar mucho más grande y “peligroso” que Cerro Moreno- Tuve que dar un cambio radical a mi estilo de vida, siendo mucho más precavido en todos los sentidos.
  • Muerte de Ana María Guerra.
     El Febrero del 2007, Falleció mi Abuela materna Ana María Guerra. Fue un Hecho que me marcó bastante ya que era una de las pocas personas que le quedaban a mi madre como familia, y sufrió mucho por ello.
  • Asistir al grupo Scout Tamarugal.
     Pese a vivir en Antofagasta, aún era un lugar al que no estaba acostumbrado salir a la calle ni ubicarme dentro de esta de manera eficiente. Eso cambió en los días cuando me uní al Grupo Scout Tamarugal. Conocer a una diversidad inmensa de Personas, que vivían en una realidad diferente a la mía, y sumado a tener que movilizarme mucho más para ciertos eventos y reuniones, me hacen recordar cuanto he evolucionado desde el día que entre hasta el día que salí.
  • Nacimiento de Nicolás Mendoza Salinas.
     En Enero de 2011, Nació mi Sobrino Nicolás Mendoza Salinas. El, pese a que no pasa conmigo su mayor parte del tiempo, me enseñó a tener un tipo diferente de responsabilidad: de cuidar a alguien que necesita de mí de vez en cuando.
  • Asistir a la EdV 2015.
     Antofagasta es grande. Pero al lado de Santiago, es equivalente a comparar un ratón con un elefante.  Movilizarse aquí es todavía toda una odisea para mí: Levantarse a las 5:30 de la mañana, tomar 2 buses distintos, andar en Metro, y hacer esto durante 3 semanas seguidas... espero poder acostumbrarme a todo esto.

Eso es todo, espero que esten todos bien y que pasen un buen dia.

-Felipe "AnotherYoshi" Fernandez :3