Skip to content

Instantly share code, notes, and snippets.

View fgaray's full-sized avatar

Felipe Garay fgaray

  • Google
  • Mountain View
View GitHub Profile
@fgaray
fgaray / gist:3606408
Created September 3, 2012 02:48
Desafio #1
import Control.Monad (liftM)
-- Esto es simplemente una abreviación para no tener que escribir tanto
type Digito = [[Char]]
-- Estas funciones devuelven el esqueleto de un numero
cero = [ ['+', '-', '+']
, ['|', ' ', '|']
@fgaray
fgaray / gist:4646196
Created January 27, 2013 03:59
Convierte entre mayúsculas y minúsculas fácilmente.
#include <stdio.h>
int main(int argc, const char *argv[])
{
char x;
const char magia = 32;
scanf("%c", &x);
x = x | magia;
@fgaray
fgaray / gist:5014306
Last active December 14, 2015 02:29
Solución al problema de ramos en el loa.

El loa eliminó la cátedra de algunos ramos dejando solo el laboratorio. El problema es que no se puede volver a inscribir la cátedra ya que pide que se incluya el laboratorio, pero si se incluye el laboratorio entonces tampoco se puede inscribir dando un error de tope de horario.

¿Como arreglar el problema?

Para desinscribir, el loa numera los ramos del alumno de 0 a n en la lista de

@fgaray
fgaray / gist:5447813
Created April 23, 2013 22:04
Ejemplo de algoritmo de búsqueda en el arbol trinario para el lab de orga
struct Nodo{
Informacion *info;
Nodo *pi, *pd;
};
struct Informacion{
int next_hop;
int interface;
};
data FizzBuzz = Number Int
| Fizz
| Buzz
| FizzBuzz
instance Show FizzBuzz where
show (Number n) = show n
show Fizz = "Fizz"
show Buzz = "Buzz"
show FizzBuzz = "Fizz Buzz"
(defn fizzbuzz
[]
(letfn [(fizzbuzz'
[n]
(cond
(= (mod n 15) 0) "FizzBuzz"
(= (mod n 3) 0) "Fizz"
(= (mod n 5) 0) "Buzz"
:else n))]
(map fizzbuzz' (range 1 100))))
object fizzbuzz{
def main(args: Array[String]){
println(fizzbuzzMap)
}
def fizzbuzzMap: IndexedSeq[String] = {
def fizzbuzz2(x: Int): String = {
if(x % 15 == 0) "FizzBuzz"
else if(x % 3 == 0) "Fizz"
@fgaray
fgaray / xmonad.hs
Created June 8, 2013 17:37
Configuracion de xmonad
--xmonad import
import XMonad
import XMonad.Hooks.ManageDocks
--para las venanas sticky
import XMonad.Actions.CopyWindow
-- StackSet
import qualified XMonad.StackSet as W
import Control.Monad (liftM2)
import qualified Data.Map as M
import System.Hardware.Arduino
import Control.Monad (forever)
import Control.Monad.Trans (liftIO)
main :: IO ()
main = do
putStrLn "Iniciando..."
loop
const char PIN[] = {8, 9, 10, 11, 12, 13};
const char NUMERO_PIN = 6;
void setup()
{
for(char i = 0; i < NUMERO_PIN; i++)
{
pinMode(PIN[i], OUTPUT);